@charset "UTF-8";
/* sp(320px) */

/* アメリカの個人年金が選ばれる3つの理由 */
#reason2 .msg_top {
	margin-block-start: 1.4em;
	text-align: center;
}
#reason2 .msg_top br.ssbr {
	display: inline-block;
}
#reason2 .msg_top br.sbr {
	display: none;
}
#reason2 ol {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto;
	column-gap: 0;
	row-gap: 1em;
}
#reason2 ol li figure {
	max-inline-size: 75%;
	margin-inline: auto;
}
#reason2 ol li .no {
	font-family: "Manrope", sans-serif;
	font-size: 40px;
	font-weight: bold;
	line-height: 1;
	color: #173185;
	text-align: center;
	margin-block-start: .6em;
}
#reason2 ol li .ttl {
	font-size: 19px;
	font-weight: bold;
	line-height: 1.4;
	color: var(--fcolor);
	text-align: center;
	margin-block-start: .6em;
}
#reason2 ol li p {
	margin-block-start: 1.0em;
}

/* こんな人にオススメ */
#osusume {
	background-color: #e1f0ff;
}
#osusume ul {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto;
	column-gap: 0;
	row-gap: 1em;
}
#osusume ul li {
	display: grid;
	grid-template-columns: 128px auto;
	grid-template-rows: max-content 1fr;
	column-gap: 2em;
	row-gap: 0;
	grid-template-areas:
	"areaB areaA"
	"areaB areaC";
	align-items: start;
}
#osusume ul li .bubble {
	grid-area: areaA;
}
#osusume ul li figure {
	grid-area: areaB;
}
#osusume ul li p {
	grid-area: areaC;
}
#osusume ul li .bubble {
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	background-color: #fff;
	border-radius: .5em;
	padding: 1.1em .5em;
	position: relative;
}
#osusume ul li .bubble::before {
	content: "";
	position: absolute;
	top: 50%;
	bottom: auto;
	left: 0;
	right: auto;
	border-style: solid;
	border-width: .6em .8em .6em 0;
	border-color: transparent #fff transparent transparent;
	translate: -100% -50%;
}
#osusume ul li .bubble span {
	color: var(--fcolor);
}
#osusume ul li figure {
	max-inline-size: 170px;
	margin-inline: auto;
	margin-block: 0em 0em;
}
#osusume ul li p {
	text-align: center;
	margin-block-start: .5em;
}
#osusume ul li p br {
	display: none;
}


/* 押さえておきたいリスクや諸費用 */
#risk {
	background-color: #f6f6f6;
}
#risk .hl {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	color: #173185;
	text-align: center;
}

#risk dl {
	background-color: #fff;
	padding: 1.5em 1.5em;
	margin-block-end: 1em;
}

#risk dl dt {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #000;
	padding-inline-start: .3em;
	padding-block-end: .4em;
	border-block-end: 1px solid var(--fcolor);
}
#risk dl dt span {
	display: inline-block;
	color: var(--fcolor);
	padding-inline-end: .7em;
}
#risk dl dd {
	padding-block: 1.6em 1.4em;
	position: relative;
}
#risk dl dd p:last-of-type {
	margin-block-end: 0;
}
#risk dl dt span.sbr {
	display: block;
}

/* お手続きの流れ */
#flow li {
	display: grid;
	grid-template-columns: 60px auto;
	grid-template-rows: auto;
	column-gap: 0;
	row-gap: 0;
}
#flow li .step {
	padding-block-start: 1em;
}
#flow li .step > div {
	display: grid;
	place-items: center;
	font-family: "Manrope", sans-serif;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;

	background-color: var(--fcolor);
	border-radius: 50%;
	line-height: 1.1;
	inline-size: 60px;
	block-size: 60px;
	position: relative;
	z-index: 2;
}
#flow li .step > div span {
	display: block;
	font-size: 14px;
	font-weight: normal;
}
#flow li .step > div > div {
	position: relative;
	inset-block-start: .1em;
}

#flow li .step {
	position: relative;
	block-size: 100%;
}
#flow li:not(:last-of-type) .step::before {
	content: '';
	border-inline-start: 2px solid var(--fcolor);
	/*border-inline-start: 2px solid red;*/
	block-size: 100%;
	position: absolute;
	inset: 1em auto auto 50%;
	z-index: 1;
}


#flow li .txt {
	padding-inline-start: 1em;
}
#flow li .txt .enc {
	border: 4px solid #e8f4ff;
	margin-block-end: 1.5em;
	padding: .8em 1.5em;
	position: relative;
}
#flow li .txt .enc::before {
	content: "";
	position: absolute;
	top: 2.7em;
	left: 0;
	border-style: solid;
	border-width: 10px 12px 10px 0;
	border-color: transparent #e8f4ff transparent transparent;
	translate: -100% -50%;
}

#flow li .txt .enc::after {
	content: "";
	position: absolute;
	top: 2.7em;
	left: 0;
	border-style: solid;
	border-width: 6.1px 7.3px 6.1px 0;
	border-color: transparent #fff transparent transparent;
	translate: -100% -50%;
}

#flow li .txt .enc .ttl {
	display: grid;
	grid-template-columns: 28px auto;
	grid-template-rows: auto;
	column-gap: .6em;
	row-gap: 0;
}
#flow li .txt .enc .ttl .hl {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	color: var(--fcolor);
}
#flow li .txt .enc p {
	padding-block-start: .4em;
	margin-block-end: 0;
}

/* よくあるご質問 */
#faq {
	background-color: #e1f0ff;
}
#faq dl dt,
#faq dl dd {
	position: relative;
}
#faq dl dt {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	background-color: #3c92f2;
	padding-block: .6em;
	padding-inline-end: 3em;
	cursor: pointer;
}
#faq dl dt:not(:first-of-type) {
	margin-block-start: 1.0em;
}
#faq dl dd {
	display: none;
	background-color: #fff;
	padding-block: 1.4em 1.8em;
	padding-inline-end: 2em;
}
#faq dl dt,
#faq dl dd {
	padding-inline-start: 42px;
	position: relative;
}
#faq dt::before,
#faq dd::before {
	font-family: "Manrope", sans-serif;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	position: absolute;
}
#faq dt::before {
	content: 'Q';
	color: #173185;
	inset: .1em auto auto .5em;
}
#faq dd::before {
	content: 'A';
	color: var(--fcolor);
	inset: .5em auto auto .5em;
}
#faq dl dt span {
	display: inline-block;
	text-align: center;
	color: #fff;
	background-color: #173185;
	border-radius: 50%;
	inline-size: 1.3em;
	block-size: 1.3em;
	line-height: 1.3em;
	position: absolute;
	inset: .7em 1.0em auto auto;
}

/* 会社概要 */
#company .hl {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #000;
	text-align: center;
}
#company dl {
	display: grid;
	grid-template-columns: 5em auto;
	grid-template-rows: auto;
	column-gap: 0;
	row-gap: 0;
	max-inline-size: 34em;
	margin-inline: auto;

}
#company dt,
#company dd {
	padding: .2em 0;
}










@media handheld, print, screen and (min-width: 390px) {
/* iphone6 */

/* アメリカの個人年金が選ばれる3つの理由 */
#reason2 .msg_top br.ssbr {
	display: none;
}
#reason2 .msg_top br.sbr {
	display: inline-block;
}
#osusume ul li p br {
	display: inline-block;
}



/* end of media query(iphone6) */	
}



@media handheld, print, screen and (min-width: 414px) {
/*  iPhone6 Plus */

/* end of media query(iPhone6 Plus) */	
}



@media handheld, print, screen and (min-width: 480px) {
/* tablet */

/* アメリカの個人年金が選ばれる3つの理由 */
#reason2 ol li figure {
	max-inline-size: 280px;
}
#reason2 ol li .no {
	font-size: 42px;
}
#reason2 ol li .ttl {
	font-size: 22px;
}

/* こんな人にオススメ */
#osusume ul li {
	display: grid;
	grid-template-columns: 160px auto;
}

/* 押さえておきたいリスクや諸費用 */
#risk .hl {
	font-size: 26px;
}
#risk dl {
	padding: 1.8em 2.0em;
	margin-block-end: 2em;
}

#risk dl dt {
	font-size: 18px;
	padding-inline-start: .3em;
	padding-block-end: .4em;
}
#risk dl dt span {
	padding-inline-end: .7em;
}
#risk dl dd {
	padding-block: 1.6em 1.4em;
}

/* お手続きの流れ */
#flow li .txt .enc .ttl {
	grid-template-columns: 32px auto;
}
#flow li .txt .enc .ttl .hl {
	font-size: 20px;
}

/* よくあるご質問 */
#faq dl dt {
	font-size: 18px;
	padding-block: .6em;
	padding-inline-end: 3em;
}
#faq dl dt:not(:first-of-type) {
	margin-block-start: 1.0em;
}
#faq dl dd {
	padding-block: 1.4em 1.8em;
	padding-inline-end: 2em;
}
#faq dl dt,
#faq dl dd {
	padding-inline-start: 54px;
}
#faq dt::before,
#faq dd::before {
	font-size: 26px;
}
#faq dt::before {
	inset: .2em auto auto .8em;
}
#faq dd::before {
	inset: .5em auto auto .8em;
}
#faq dl dt span {
	inset: .7em 1.4em auto auto;
}

/* 会社概要 */
#company .hl {
	font-size: 24px;
}
#company dl {
	grid-template-columns: 8em auto;
}
#company dt,
#company dd {
	padding: .4em 0;
}









/* end of media query(tablet) */	
}



@media handheld, print, screen and (min-width: 620px) {
/* iPad */

/* アメリカの個人年金が選ばれる3つの理由 */
#reason2 .msg_top br.sbr {
	display: none;
}
#reason2 ol {
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 4%;
	row-gap: 0;
}
#reason2 ol li figure {
	max-inline-size: 303px;
}
#reason2 ol li .no {
	font-size: 46px;
}
#reason2 ol li .ttl {
	font-size: 20px;
}

/* こんな人にオススメ */
#osusume ul {
	grid-template-columns: repeat(4, 1fr);
	column-gap: 2%;
	row-gap: 0;
}
#osusume ul li {
	grid-template-columns: auto;
	grid-template-rows: max-content max-content auto;
	grid-template-areas:
	"areaA"
	"areaB"
	"areaC";
	align-items: start;
}
#osusume ul li .bubble {
	border-radius: .5em;
	padding: 1em 0em;
}
#osusume ul li .bubble::before {
	top: auto;
	bottom: 0;
	left: 50%;
	right: auto;
	border-width: .6em .8em 0 .8em;
	border-color: #fff transparent transparent;
	translate: -50% 100%;
}
#osusume ul li figure {
	max-inline-size: 170px;
	margin-block: 1.5em 1em;
}
#osusume ul li p {
	margin-block-start: 0;
}
#osusume ul li p br {
	display: none;
}

/* 押さえておきたいリスクや諸費用 */
#risk .hl {
	font-size: 30px;
}
#risk dl {
	padding: 2.2em 2.5em;
	margin-block-end: 2em;
}

#risk dl dt {
	font-size: 20px;
	padding-inline-start: .3em;
	padding-block-end: .4em;
}
#risk dl dt span {
	padding-inline-end: .7em;
}
#risk dl dd {
	padding-block: 1.6em 1.4em;
}
#risk dl dt span.sbr {
	display: inline-block;
}

/* お手続きの流れ */
#flow li {
	grid-template-columns: 100px auto;
}
#flow li .step {
	padding-block-start: 1em;
}
#flow li .step > div {
	font-size: 24px;
	inline-size: 90px;
	block-size: 90px;
}
#flow li .step > div span {
	font-size: 19px;
}
#flow li:not(:last-of-type) .step::before {
	border-inline-start: 2px solid var(--fcolor);
	inset: 1em auto auto 50%;
}


#flow li .txt {
	padding-inline-start: 1.0em;
}
#flow li .txt .enc {
	border: 4px solid #e8f4ff;
	padding: 1.2em 2.0em;
	margin-block-end: 1.5em;
}
#flow li .txt .enc::before {
	top: 3.5em;
	border-width: 15px 18px 15px 0;
}

#flow li .txt .enc::after {
	top: 3.5em;
	border-width: 9.8px 11.8px 9.8px 0;
}

#flow li .txt .enc .ttl {
	grid-template-columns: 37px auto;
}
#flow li .txt .enc .ttl .hl {
	font-size: 22px;
}
#flow li .txt .enc p {
	padding-block-start: .6em;
}

/* よくあるご質問 */
#faq dl dt {
	font-size: 20px;
	padding-block: .6em;
	/*padding-inline-end: 1em;*/
}
#faq dl dt:not(:first-of-type) {
	margin-block-start: 1.0em;
}
#faq dl dd {
	padding-block: 1.4em 1.8em;
	/*padding-inline-end: 1em;*/
}
#faq dl dt,
#faq dl dd {
	padding-inline-start: 58px;
}
#faq dt::before,
#faq dd::before {
	font-size: 30px;
}
#faq dt::before {
	inset: .14em auto auto .8em;
}
#faq dd::before {
	inset: .3em auto auto .8em;
}
#faq dl dt span {
	inset: .7em 1.4em auto auto;
}

/* 会社概要 */
#company .hl {
	font-size: 26px;
}
#company dl {
	grid-template-columns: 8em auto;
}
#company dt,
#company dd {
	padding: .4em 0;
}



/* end of media query(iPad) */	
}



@media handheld, print, screen and (min-width: 900px) {
/* pc */

/* アメリカの個人年金が選ばれる3つの理由 */
#reason2 ol {
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 4%;
	row-gap: 0;
}
#reason2 ol li figure {
	max-inline-size: 303px;
}
#reason2 ol li .no {
	font-size: 50px;
}
#reason2 ol li .ttl {
	font-size: 26px;
}

/* こんな人にオススメ */
#osusume ul li p br {
	display: inline-block;
}

/* 押さえておきたいリスクや諸費用 */
#risk .hl {
	font-size: 36px;
}

#risk dl {
	padding: 2.2em 2.5em;
	margin-block-end: 2em;
}

#risk dl dt {
	font-size: 22px;
	padding-inline-start: .3em;
	padding-block-end: .4em;
}
#risk dl dt span {
	padding-inline-end: .7em;
}
#risk dl dd {
	padding-block: 1.6em 1.4em;
}


/* お手続きの流れ */
#flow li {
	grid-template-columns: 100px auto;
}
#flow li .step {
	padding-block-start: 1em;
}
#flow li .step > div {
	font-size: 30px;
	inline-size: 100px;
	block-size: 100px;
}
#flow li .step > div span {
	font-size: 22px;
}
#flow li:not(:last-of-type) .step::before {
	border-inline-start: 2px solid var(--fcolor);
	inset: 1em auto auto 50%;
}


#flow li .txt {
	padding-inline-start: 2em;
}
#flow li .txt .enc {
	border: 5px solid #e8f4ff;
	padding: 1.2em 2.5em;
	margin-block-end: 1.5em;
}
#flow li .txt .enc::before {
	top: 3.6em;
	border-width: 20px 24px 20px 0;
}

#flow li .txt .enc::after {
	top: 3.6em;
	border-width: 13.5px 16.2px 13.5px 0;
}

#flow li .txt .enc .ttl {
	grid-template-columns: 46px auto;
}
#flow li .txt .enc .ttl .hl {
	font-size: 24px;
}
#flow li .txt .enc p {
	padding-block-start: .8em;
}


/* よくあるご質問 */
#faq dl dt {
	font-size: 22px;
	padding-block: .6em;
}
#faq dl dt:not(:first-of-type) {
	margin-block-start: 1.0em;
}
#faq dl dd {
	padding-block: 1.4em 1.8em;
}
#faq dl dt,
#faq dl dd {
	padding-inline-start: 70px;
}
#faq dt::before,
#faq dd::before {
	font-size: 36px;
}
#faq dt::before {
	inset: .1em auto auto .8em;
}
#faq dd::before {
	inset: .2em auto auto .8em;
}
#faq dl dt span {
	inset: .7em 1.4em auto auto;
}

/* 会社概要 */
#company .hl {
	font-size: 30px;
}
#company dl {
	grid-template-columns: 8em auto;
}
#company dt,
#company dd {
	padding: .4em 0;
}







/* end of media query(pc) */
}