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

/* おすすめの個人年金プラン */
#plan {
	padding-block: 40px 0px;
}
#plan.show {
	padding-block: 40px 40px;
}

/* タブ */
#plan .tab {
	border-block-end-width: 2px;
	border-block-end-style: solid;
	border-block-end-color: var(--fcolor);
	position: relative;
}
#plan .tab:has(.tab_type2.selected) {
	border-block-end-color: #7d6ce4;
}

#plan .tab .enc {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 3%;
	row-gap: 0;
	inline-size: 90%;
	margin-inline: auto;
}
#plan .tab .enc > div {
	border-width: 0px 0px 2px 0px;
	border-style: solid;
	border-color: var(--fcolor) var(--fcolor) var(--fcolor) var(--fcolor);
	border-top-left-radius: .4em;
	border-top-right-radius: .4em;
	padding: .5em .5em .3em .5em;
	background-color: #d8d3f7;
	
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #173185;
	text-align: center;
	cursor: pointer;

	position: relative;
	inset-block-start: 2px;
}
#plan .tab .enc > div.selected {
	border-width: 2px;
	border-color: var(--fcolor) var(--fcolor) transparent var(--fcolor);
	background-color: #fff;
}
#plan .tab .enc > div.tab_type2.selected {
	border-color: #7d6ce4 #7d6ce4 transparent #7d6ce4;
}
#plan .tab .enc:not(:has(.tab_type1.selected)) .tab_type1 {
	border-color: var(--fcolor) var(--fcolor) #7d6ce4 var(--fcolor);
}
#plan .tab .enc:has(.tab_type2.selected) .tab_type1 {
	background-color: #c4defb;
}

/* type */
#plan .type {
	margin-block-start: 1.6em;
	position: relative;
}
#plan .type > div {
	padding: 2em 1.2em;
}



#plan .type div#type1 {
	display: block;
	background-color: #eef6ff;
}
#plan .type div#type2 {
	/*display: none;*/
	background-color: #eeebfe;

	visibility: hidden;
	opacity: 0;
	block-size: 0;
}

#plan .type div#type2.show {
	visibility: visible;
	opacity: 1;
	block-size: auto;
}


#plan .type .splide li.splide__slide {
	background-color: #fff;
	border-width: 2px;
	border-style: solid;
	padding: 1.2em 1.2em;
}
#plan .type #type1 .splide li.splide__slide {
	border-color: #e1f0ff;
}
#plan .type #type2 .splide li.splide__slide {
	border-color: #ddd8fb;
}

#plan .type .splide li.splide__slide .case {
	font-family: "Manrope", sans-serif;
	font-size: 27px;
	font-weight: normal;
	line-height: 1.4;
	color: var(--fcolor);
	text-align: center;
	padding-block-end: .4em;
	border-block-end: 1px solid var(--fcolor);
}
#plan .type .splide li.splide__slide .case span {
	font-weight: bold;
}
#plan .type #type2 .splide li.splide__slide .case {
	color: #7d6ce4;
	border-block-end: 1px solid #7d6ce4;
}


/* case別個人年金プラン */
#plan .type li.splide__slide .ttl {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	color: #173185;
	text-align: center;
	margin-block-start: 1.4em;
	padding-block-end: 1.2em;
	border-block-end: 1px dotted #7fb7f6;
}
#plan .type li.splide__slide .ttl  span {
	background-color: #fff100;
}

#plan .type li.splide__slide .profile {
	margin-block-start: 1.6em;
}
/*#plan .type li.splide__slide .profile dl {
	display: grid;
	grid-template-columns: 6em auto;
	grid-template-rows: auto;
	column-gap: .2em;
	row-gap: 0;
}
#plan .type #type2 li.splide__slide .profile dl {
	grid-template-columns: 8em auto;
}*/

#plan .type li.splide__slide .profile dl {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: .8em;
	row-gap: 0;
	/*border: 1px solid #000;*/
}
#plan .type #type2 li.splide__slide .profile dl {
	grid-template-columns: 1fr 1fr;
}

#plan .type li.splide__slide.case02 .profile dl {
	grid-template-columns: 6em 12em;
	inline-size: 19em;
	margin-inline: auto;
}

#plan .type li.splide__slide.case02 .profile {
	container-type: inline-size;
}
@container (inline-size < 256px) {
	#plan .type li.splide__slide.case02 .profile dl {
		grid-template-columns: 1fr 1fr;
		inline-size: auto;
	}

} /* /@container */



#plan .type li.splide__slide .profile dt,
#plan .type li.splide__slide .profile dd {
	margin-block-end: .5em;
}
#plan .type li.splide__slide .profile dt {
	text-align: right;
	font-weight: normal;
	line-height: 1.2;
	position: relative;
	inset-block-start: .14em;
}
#plan .type li.splide__slide .profile dd {
	font-size: 19px;
	font-weight: bold;
	color: var(--fcolor);
	line-height: 1.2;
}

#plan .type li.splide__slide .gosoudan {
	display: grid;
	grid-template-columns: 50px auto;
	grid-template-rows: auto;
	column-gap: .7em;
	row-gap: 0;
	margin-block-start: 1em;
	padding: 1em .8em;
	background-color: #eef6ff;
}
#plan .type li.splide__slide .gosoudan .txt .tl {
	font-weight: bold;
	color: var(--fcolor);
}
#plan .type li.splide__slide .gosoudan .txt p {
	line-height: 1.5;
	margin-block-end: 0;
}

#plan .type li.splide__slide .graph {
	margin-block-start: 1.6em;
}
#plan .type li.splide__slide .graph p {
	margin-block-start: 1.0em;
}
#plan .type li.splide__slide .point {
	margin-block-start: 1.3em;	
	padding: 1em .8em;
	background-color: #fef7c7;
}
#plan .type li.splide__slide .point .enc {
	display: grid;
	grid-template-columns: 50px auto;
	grid-template-rows: auto;
	column-gap: .7em;
	row-gap: 0;
}
#plan .type li.splide__slide .point .tl {
	font-weight: bold;
	color: var(--fcolor);
}
#plan .type li.splide__slide .point p {
	line-height: 1.5;
	margin-block-end: 0;
}

#plan .type li.splide__slide .check {
	margin-block-start: 1.3em;
}
#plan .type li.splide__slide .check ol li {
	display: grid;
	grid-template-columns: 19px auto;
	grid-template-rows: auto;
	column-gap: .6em;
	row-gap: 0;
}
#plan .type li.splide__slide .check ol li:not(:last-of-type) {
	padding-block-end: .6em;
	border-block-end: 1px dotted #7eb7f6;
	margin-block-end: .6em;
}
#plan .type li.splide__slide .check ol li .icn img {
	position: relative;
	inset-block-start: .4em;
}
#plan .type li.splide__slide .check ol li .txt .note {
	margin-block-start: 1em;
}

#plan .type li.splide__slide .note {
	margin-block-start: 1.5em;
	font-size: 12px;
}












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


/* 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 */

/* おすすめの個人年金プラン */
#plan {
	padding-block: 60px 0px;
}
#plan.show {
	padding-block: 60px 60px;
}
/* タブ */
#plan .tab {
	border-block-end-width: 2px;
}
#plan .tab .enc {
	inline-size: 90%;
}
#plan .tab .enc > div {
	border-width: 0px 0px 2px 0px;
	padding: .5em 1em .3em 1em;
	font-size: 18px;
	inset-block-start: 2px;
}
#plan .tab .enc > div.selected {
	border-width: 2px;
}

/* type */
#plan .type {
	margin-block-start: 2em;
}
#plan .type > div {
	padding: 2em 2em;
}
#plan .type .splide li.splide__slide {
	border-width: 4px;
	padding: 2em 1.2em;
}
#plan .type .splide li.splide__slide .case {
	font-size: 27px;
	border-block-end: 2px solid var(--fcolor);
}
#plan .type #type2 .splide li.splide__slide .case {
	border-block-end: 2px solid #7d6ce4;
}



/* case別個人年金プラン */
/*#plan .type li.splide__slide .profile dl {
	grid-template-columns: 1fr 1fr;
	column-gap: .8em;
}
#plan .type #type2 li.splide__slide .profile dl {
	grid-template-columns: 1fr 1fr;
}
#plan .type li.splide__slide .profile dt {
	text-align: right;
}*/
#plan .type li.splide__slide .gosoudan {
	grid-template-columns: 55px auto;
}

#plan .type li.splide__slide .note {
	font-size: 13px;
}

#plan .type li.splide__slide .check ol li {
	grid-template-columns: 22px auto;
}



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



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

/* おすすめの個人年金プラン */

/* タブ */
#plan .tab {
	border-block-end-width: 3px;
}
#plan .tab .enc {
	inline-size: 90%;
}
#plan .tab .enc > div {
	border-width: 0px 0px 3px 0px;
	padding: .5em 1em .3em 1em;
	font-size: 22px;
	inset-block-start: 3px;
}
#plan .tab .enc > div.selected {
	border-width: 3px;
}

/* type */
#plan .type {
	margin-block-start: 2em;
}
#plan .type > div {
	padding: 2em 2em;
}
#plan .type .splide li.splide__slide {
	border-width: 4px;
	padding: 2em 1.2em;
}
#plan .type .splide li.splide__slide .case {
	font-size: 27px;
	border-block-end: 2px solid var(--fcolor);
}
#plan .type #type2 .splide li.splide__slide .case {
	border-block-end: 2px solid #7d6ce4;
}



/* case別個人年金プラン */
#plan .type li.splide__slide .ttl {
	font-size: 17px;
}
/*#plan .type li.splide__slide .profile dl {
	grid-template-columns: 6em auto;
	column-gap: .2em;
}
#plan .type #type2 li.splide__slide .profile dl {
	grid-template-columns: 8em auto;
}
#plan .type li.splide__slide .profile dt {
	text-align: left;
}*/
#plan .type li.splide__slide .profile dd {
	font-size: 18px;
}

#plan .type li.splide__slide .gosoudan {
	grid-template-columns: 50px auto;
}




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



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

/* おすすめの個人年金プラン */
#plan {
	padding-block: 80px 0px;
}
#plan.show {
	padding-block: 80px 80px;
}
/* タブ */
#plan .tab {
	border-block-end-width: 3px;
}
#plan .tab .enc {
	inline-size: 90%;
}
#plan .tab .enc > div {
	border-width: 0px 0px 3px 0px;
	padding: .5em .5em .3em .5em;
	font-size: 26px;
	inset-block-start: 3px;
}
#plan .tab .enc > div.selected {
	border-width: 3px;
}

/* type */
#plan .type {
	margin-block-start: 2.5em;
}
#plan .type > div {
	padding: 3em 3em;
}
#plan .type .splide li.splide__slide {
	border-width: 4px;
	padding: 2em 1.5em;
}
#plan .type .splide li.splide__slide .case {
	font-size: 30px;
	border-block-end: 2px solid var(--fcolor);
}
#plan .type #type2 .splide li.splide__slide .case {
	border-block-end: 2px solid #7d6ce4;
}


/* case別個人年金プラン */
#plan .type li.splide__slide .ttl {
	font-size: 20px;
}
/*#plan .type li.splide__slide .profile dl {
	grid-template-columns: 1fr 1fr;
	column-gap: .8em;
}
#plan .type #type2 li.splide__slide .profile dl {
	grid-template-columns: 1fr 1fr;
}

#plan .type li.splide__slide.case02 .profile dl {
	grid-template-columns: 6em 11em;
	inline-size: 18em;
	margin-inline: auto;
}
*/

#plan .type li.splide__slide .profile dd {
	font-size: 20px;
}

#plan .type li.splide__slide .gosoudan {
	grid-template-columns: 60px auto;
}

#plan .type li.splide__slide .note {
	font-size: 14px;
}

#plan .type li.splide__slide .point .enc {
	grid-template-columns: 59px auto;
}

#plan .type li.splide__slide .check ol li {
	grid-template-columns: 24px auto;
}



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