@charset "UTF-8";

/*=====================================
エントリー内パーツ
=====================================*/
.entry {
	margin-top: 0
}
@media (max-width: 834px) {
	.entry {
		padding: min(10%,70px) 0
	}
}
@media (min-width: 835px) {
	.entry {
		padding: min(6%,42px) 0 min(10%,70px)
	}
}
.entry > section + section {
	margin-top: min(10%,70px)
}
.entry h1,
.entry h2,
.entry h3,
.entry h4,
.entry h5,
.entry h6,
.contents_inner h1,
.contents_inner h2,
.contents_inner h3,
.contents_inner h4,
.contents_inner h5,
.contents_inner h6 {
	margin-left: auto;
	margin-right: auto;
	line-height: 1.5
}
@media (max-width: 834px) {
	.entry h1,
	.entry h2,
	.entry h3,
	.entry h4,
	.entry h5,
	.entry h6,
	.contents_inner h1,
	.contents_inner h2,
	.contents_inner h3,
	.contents_inner h4,
	.contents_inner h5,
	.contents_inner h6 {
		width: min(86vw,100%);
	}
}
@media (min-width: 835px) {
	.entry h1,
	.entry h2 {
		width: min(90%,1080px);
	}
	.entry h3 {
		width: min(86%,1040px);
	}
	.entry h4,
	.entry h5,
	.entry h6 {
		width: min(84%,1000px);
	}
	.contents_inner h1,
	.cmn__wrap h1,
	.l-r__wrap h1,
	.contents_inner h2, 
	.cmn__wrap h2,
	.l-r__wrap h2 {
		width: min(100%,1080px);
	}
	.contents_inner h3,
	.cmn__wrap h3,
	.l-r__wrap h3 {
		width: min(96.3%,1040px);
	}
	.cmn__wrap h4,
	.cmn__wrap h5,
	.cmn__wrap h6,
	.l-r__wrap h4,
	.l-r__wrap h5,
	.l-r__wrap h6 {
		width: min(90%,1080px);
	}
	.contents-wrap h1,
	.contents-wrap h2,
	.contents-wrap h3,
	.contents-wrap h4,
	.contents-wrap h5,
	.contents-wrap h6 {
		width: min(100%,1020px);
	}
}
.entry p,
.entry ul,
.entry ol,
.entry dl,
.entry blockquote,
.contents_inner p,
.contents_inner ul,
.contents_inner ol,
.contents_inner dl,
.contents_inner blockquote,
.contents-wrap {
	margin-left: auto;
	margin-right: auto;
	font-size: var(--nm);
	overflow-wrap: break-word;
}
.contents-wrap {
	overflow: hidden
}
@media (max-width: 834px) {
	.entry p,
	.entry ul,
	.entry ol,
	.entry dl,
	.entry blockquote,
	.contents_inner p,
	.contents_inner ul,
	.contents_inner ol,
	.contents_inner dl,
	.contents_inner blockquote,
	.contents-wrap {
		width: min(86vw,100%);
	}
}
@media (min-width: 835px) {
	.entry p,
	.entry ul,
	.entry ol,
	.entry dl,
	.entry blockquote,
	.contents-wrap {
		width: min(86%,1020px);
	}
	.contents_inner p,
	.contents_inner ul,
	.contents_inner ol,
	.contents_inner dl,
	.contents_inner blockquote {
		width: min(90.7%,1020px);
	}
	.contents-wrap p,
	.contents-wrap ul,
	.contents-wrap ol,
	.contents-wrap dl,
	.contents-wrap blockquote {
		width: 100%;
	}
	.entry blockquote * {
		width: 96%
	}
}
.entry .ac-cont h1,
.entry .ac-cont h2,
.entry .ac-cont h3,
.entry .ac-cont h4,
.entry .ac-cont h5,
.entry .ac-cont h6,
.entry .ac-cont p,
.entry .ac-cont ul,
.entry .ac-cont ol,
.entry .ac-cont dl,
.entry .ac-cont blockquote,
.entry .ac-cont img {
	width: 90%
}
@media (max-width: 767px) {
	.entry img:not([class]) {
		display: block;
		margin-left: auto;
		margin-right: auto;
		/*width: min(86vw,100%);*/
	}
}
/*@media (min-width: 768px) {
	.entry img:not([class]) {
		width: min(86%,1080px);
	}
}*/
.entry p,
.entry dl,
.entry blockquote,
.contents_inner p,
.contents_inner dl,
.contents_inner blockquote {
	line-height: 1.8
}
.entry ul,
.entry ol,
.contents_inner ul,
.contents_inner ol {
	line-height: 1.5;
}
.contents-wrap > * {
	margin-bottom: 1em;
}
.entry ul li,
.entry ol li,
.entry dl dt,
.entry dl dd,
.contents_inner ul li,
.contents_inner ol li,
.contents_inner dl dt,
.contents_inner dl dd {
	padding: min(.2em,7px) 0;
	font-size: var(--nm);
	line-height: 1.5;
}
.entry table {
    display: table!important;
	width: min(86%,1080px);
	margin-left: auto;
	margin-right: auto;
	border-collapse: collapse;
	border-spacing: 0;
}
@media (max-width: 834px) {
	.entry table {
		width: min(86vw,100%);
	}
}
@media (min-width: 835px) {
	.entry table {
		width: min(86%,1080px);
	}
}
.entry table th {
	padding: .8em .6em;
	background-color: var(--pgry);
	border: solid 1px #d5d5d5;
	font-size: var(--ts);
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}
.entry table.table-wrap th {
	white-space: normal;
    vertical-align: middle
}
.entry table td {
	padding: .8em .6em;
	background-color: var(--wht);
	border: solid 1px #d5d5d5;
	font-size: var(--ts);
	line-height: 1.6;
	text-align: left;
	vertical-align: middle;
}
table th.bg-clr3,
table td.bg-clr3 {
	color: var(--wht)!important
}
.entry table + * {
	margin-top: min(8%,56px)
}
.entry hr,
hr.line {
	display: block;
	height: 1px;
	margin-top: -1px;
	margin-left: auto;
	margin-right: auto;
	background-color: #d5d5d5;
	border: none;
}
.entry hr.inner,
hr.inner {
	width: min(90%,1080px)
}
.entry hr.dotline {
	display: block;
	height: 1px;
	margin-top: -1px;
	margin-left: auto;
	margin-right: auto;
	background-color: rgba(255,255,255,0);
	border-top: dotted 2px #a3a3a3;
}
table.table_type01 {
    display: table!important;
	margin-left: auto;
	margin-right: auto;
	border-collapse: collapse;
	border-spacing: 0;
    border-top: solid 1px #d5d5d5;
    border-left: 0;
    border-right: 0;
    border-bottom: 0
}
table.table_type01 th,
table.table_type01 td {
    background-color: rgba(255,255,255,0);
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: solid 1px #d5d5d5
}
.entry dl.lt-type01 dt,
.contents_inner dl.lt-type01 dt {
	padding: .4em .4em
}
@media (min-width: 835px) {
	.entry table th,
	.entry table td,
	.contents_inner table th,
	.contents_inner table td {
		padding: .8em .8em;
		font-size: var(--nm);
	}
	.entry dl.lt-type01 dt,
	.entry dl.lt-type01 dd,
	.contents_inner dl.lt-type01 dt,
	.contents_inner dl.lt-type01 dd {
		padding: .8em .4em
	}
}
.title_type01 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5%;
	color: var(--clr-mw1);
	font-size: var(--t2xl);
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
}
.title_type02 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: min(5%,35px);
	color: #222;
	font-size: var(--t2xl);
	font-weight: 700;
	line-height: 1.5
}
.title_type03 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: min(5%,30px);
	color: var(--clr-mw1);
	font-size: var(--txl);
	font-weight: 700;
	line-height: 1.5
}
*:not(.title_type02) + .title_type03 {
	margin-top: min(10%,70px)
}
.title_type03::after {
	content: "";
	display: block;
	margin-top: 8px;
	height: 2px;
	width: 100%;
	background: linear-gradient(to right, var(--clr-mw1) 26.7% , #e5e5e5 26.7%)
}
.title_type03 > .sublead {
	display: block;
	padding-top: 3px;
	color: var(--gry);
	font-size: var(--ts);
	font-weight: 400;
}
.title_type04, .title_type06 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: min(5%,35px);
	font-size: var(--tl);
	line-height: 1.4;
	font-weight: 700;
}
.title_type04 {
	color: var(--brn);
}
.title_type06 {
	color: var(--clr-mw2);
}
.title_type05 {
	margin-bottom: min(4%,28px);
	margin-left: auto;
	margin-right: auto;
	border-left: 1px solid #d5d5d5;
    padding: min(1%,7px) 0 min(1%,7px) min(4%,28px);
	font-size: var(--tl);
	line-height: 1.6;
	font-weight: 700;
}
*:not([class^="title_"]):not([class^="subtitle_"]):not(.search-filtering) + .title_type05 {
	margin-top: min(10%,70px)
}
.in-lead {
	display: block;
	padding: .3em .4em;
	background-color: var(--wht);
	color: var(--clr-mw1);
	font-size: var(--ts);
}
.subtitle_type01 {
	color: #191d1f;
}
.subtitle_type02 {
	color: var(--clr-mw1);
}
.subtitle_type01,
.subtitle_type02 {
	margin-bottom: .8em;
	font-size: var(--tm);
	font-weight: 700;
}
.subtitle_type03 {
    margin-bottom: 1em;
    padding: .4em 0;
    border-bottom: solid 1px #d5d7dd;
	color: var(--dgry);
	font-weight: 700;
}
.subtitle_clr1,
.subtitle_clr2 {
	display: flex;
	align-items: stretch;
	justify-content: center;
	margin-bottom: min(8%,42px);
    font-size: var(--txl);
	font-weight: 700;
    line-height: 1.4;
    text-align: center;
	transform: translateY(5px)
}
.subtitle_clr1 {
	color: var(--clr-mw1)
}
.subtitle_clr2 {
	color: #f94f65
}
.subtitle_clr1 small,
.subtitle_clr2 small {
	 font-size: clamp(12px,3.2vw,15px);
}
.subtitle_clr1 strong,
.subtitle_clr2 strong {
	 font-size: var(--t3xl);
}
.lh1,
.lh1 * {
	 line-height: 1!important
}
.subtitle_clr1::before,
.subtitle_clr1::after,
.subtitle_clr2::before,
.subtitle_clr2::after {
	content: "";
	display: block;
	width: 7px;
	flex-shrink: 0;
	transform: scale(1,1.2)
}
.subtitle_clr1::before,
.subtitle_clr1::after {
	border-top: 1.667px solid var(--clr-mw1);
	border-bottom: 1.667px solid var(--clr-mw1)
}
.subtitle_clr1::before {
	margin-right: 4%;
	border-left: 2px solid var(--clr-mw1)
}
.subtitle_clr1::after {
	margin-left: 4%;
	border-right: 2px solid var(--clr-mw1)
}
.subtitle_clr2::before,
.subtitle_clr2::after {
	border-top: 1.667px solid #f94f65;
	border-bottom: 1.667px solid #f94f65
}
.subtitle_clr2::before {
	margin-right: 3%;
	border-left: 2px solid #f94f65
}
.subtitle_clr2::after {
	margin-left: 3%;
	border-right: 2px solid #f94f65
}
.subtitle_clr1.nodeco::before,
.subtitle_clr1.nodeco::after,
.subtitle_clr2.nodeco::before,
.subtitle_clr2.nodeco::after {
	display: none
}
*:not(.title_type02) + .subtitle_clr1,
*:not(.title_type02) + .subtitle_clr2 {
	margin-top: min(10%,70px)
}
.subtitle_clr3,
.subtitle_clr4 {
	padding: min(2%,14px);
    font-size: var(--tm);
	font-weight: 700;
    line-height: 1.4;
    text-align: center
}
.subtitle_clr3 {
    background-color: var(--pgry);
	color: var(--dgry)
}
.subtitle_clr4 {
    background-color: #f3f3ff;
	color: var(--clr-mw1)
}
.subtitle_line {
	border-bottom: solid 2px var(--clr-mw1);
	margin-bottom: 1.4em;
	padding-bottom: .4em;
}
.subtitle_line.or {
	border-bottom: solid 2px #7b47d2;
}
.subtitle_point {
	position: relative;
	margin-bottom: min(1%,7px);
	padding-left: 1.3em;
	font-size: var(--tm);
	font-weight: 700;
	line-height: 1.5
}
.subtitle_point + *:not(p) {
	margin-top: min(3%,21px);
}
p + .subtitle_point {
	margin-top: min(4%,28px);
}
.subtitle_point::before {
	content: "";
	position: absolute;
	top: .2em;
	left: 0;
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: var(--clr-mw1);
	border-radius: 50%;
}
p.subtitle_point::before {
	top: .4em;
}
.subtitle_mid {
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(15px, 4.1vw, 31px);
	font-weight: 700;
	text-align: center
}
ul.list_type01 li,
ul.list_type02 li,
ol.list_type01 li,
ol.list_type02 li {
	position: relative;
	margin-left: min(2%,30px);
	padding-left: 1.2em
}
table ul.list_type01 li,
table ul.list_type02 li,
table ol.list_type01 li,
table ol.list_type02 li {
    font-size: var(--ts);
    line-height: 1.6
}
ul.list_type01 li::before,
ul.list_type02 li::before {
	content: '';
	position: absolute;
	top: .7em;
	border-radius: 20px;
}
ul.list_type01 li::before {
	left: 0;
	width: 10px;
	height: 6px;
	background-color: var(--gry);
}
ul.list_type02 li::before {
	left: 2px;
	width: 6px;
	height: 6px;
	background-color: var(--pnk);
}
ul.list_type01 li.none::before,
ul.list_type02 li.none::before {
	display: none
}
ul.list_type01 li.none.al_center,
ul.list_type02 li.none.al_center {
	margin-left: 0;
	padding-right: 1.2em
}
ol.list_type01 {
	counter-reset: list1number
}
ol.list_type02 {
	counter-reset: list2number
}
ol.list_type01 li,
ol.list_type02 li {
    list-style: none!important;
	padding-left: 1.4em
}
ol.list_type01 li::before,
ol.list_type02 li::before {
    display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: .4em;
	left: -4px;
	aspect-ratio: 1/1;
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
	font-size: .8em;
    color: var(--wht);
    text-align: center;
}
ol.list_type01 li::before {
	counter-increment: list1number;
	content: counter(list1number);
	border: 1px solid var(--pnk);
    background-color: var(--pnk)
}
ol.list_type02 li::before {
	counter-increment: list2number;
	content: counter(list2number);
    background: var(--wht);
	border: 1px solid var(--gry);
	color: var(--gry);
}
ol.list_type01 li.fs-s::before,
ol.list_type02 li.fs-s::before {
	font-size: 8px
}
.framearea_clr1,
.framearea_clr2,
.framearea_clr3 {
	margin-left: auto;
	margin-right: auto;
	padding: min(5%, 20px);
}
.framearea_clr1 {
	background-color: #f3f3ff;
}
.framearea_clr2 {
	background-color: var(--ppnk);
}
.framearea_clr3 {
	background-color: #f4f4f4;
}
.dotline + .framearea_clr1,
.dotline + .framearea_clr2,
.dotline + .framearea_clr3 {
	margin-top: 0;
}
[class^="framearea_"] > * + * {
	margin-top: min(3%,15px)
}
.framearea_clr1 h1,
.framearea_clr1 h2,
.framearea_clr1 h3,
.framearea_clr1 h4,
.framearea_clr1 h5,
.framearea_clr1 h6,
.framearea_clr1 p,
.framearea_clr1 ul,
.framearea_clr2 h1,
.framearea_clr2 h2,
.framearea_clr2 h3,
.framearea_clr2 h4,
.framearea_clr2 h5,
.framearea_clr2 h6,
.framearea_clr2 p,
.framearea_clr2 ul,
.framearea_clr3 h1,
.framearea_clr3 h2,
.framearea_clr3 h3,
.framearea_clr3 h4,
.framearea_clr3 h5,
.framearea_clr3 h6,
.framearea_clr3 p,
.framearea_clr3 ul {
	width: 100%!important;
	max-width: 100%!important;
}
.label_clr1,
.label_clr2,
.label_clr3 {
	display: inline-block;
	padding: .2em .5em;
	border-radius: 2px;
	font-size: clamp(7px,2.3vw,12px);
	font-weight: 400;
	vertical-align: middle;
	line-height: 1
}
.label_clr1 {
	background-color: var(--clr-mw1);
	color: #fff;
}
.label_clr2 {
	background-color: var(--pnk);
	color: #fff;
}
.label_clr3 {
	background-color: #fff;
	color: var(--gry);
	border: 1px solid #d5d5d5
}
.label_after {
	margin-left: 6px;
}
.label_before {
	margin-right: 6px;
}
.accordion__wrap {
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    background: var(--wht);
    border-radius: 30px;
}
@media (max-width: 767px) {
	.accordion__wrap {
		width: min(86vw, 100%);
    	border: solid 1px #d5d5d5;
	}
}
@media (min-width: 768px) and (max-width: 834px) {
	.accordion__wrap {
		width: min(86vw, 100%);
    	border: solid 2px #d5d5d5;
   	 	border-radius: 50px;
	}
}
@media (min-width: 835px) {
	.accordion__wrap {
		width: min(90%, 1000px);
    	border: solid 2px #d5d5d5;
   	 	border-radius: 50px;
	}
	.accordion__wrap.min {
		width: min(80%, 920px);
	}
}
.accordion__wrap.min {
	background-color: var(--trp);
    border: none;
    border-radius: 0
}
.accordion__label,
.entry p.accordion__label {
	position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
	padding: min(4.5%,28px) min(5%,35px) min(4.5%,28px) min(5%,35px);
	font-size: var(--tm);
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer
}
.accordion__wrap.min .accordion__label {
	flex-direction: row-reverse;
	justify-content: flex-end;
	padding: min(1.5%, 11px) 0;
	font-size: var(--nm)!important;
	font-weight: 400;
}
.accordion__wrap.min .accordion__label.line {
	padding: min(1.5%, 11px) 0 min(2.5%, 18px);
	border-bottom: 1px solid #d5d5d5;
}
.accordion__label span.plus {
    position: relative;
    display: inline-block;
	flex-shrink: 0;
    width: 21px;
    height: 21px;
    background-color: var(--clr-mw1);
    border: 1px solid var(--clr-mw1);
	transform: translateY(-5%);
    transition: transform .4s;
    border-radius: 50%;
}
.accordion__label span.plus::after {
    content: '';
    display: block;
    height: 7px;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    background-color: #fff;
    transition: transform .4s;
    transform: translate(-50%, -50%);
}
.accordion__label span.plus::before {
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    background-color: #fff;
    transform: translate(-50%, -50%);
    transition: transform .4s;  
    opacity: 1;
}
.accordion__wrap.min .accordion__label span.plus {
	margin-left: 5px;
	margin-right: 5px;
	background-color: var(--gry);
    border: 1px solid var(--gry);
}
.-open .accordion__label span.plus {
    background-color: var(--wht);
    border: 1px solid var(--clr-mw1);
    border-radius: 50%;
}
.accordion__wrap.min .-open .accordion__label span.plus {
    background-color: var(--wht);
    border: 1px solid var(--gry)
}
.-open .accordion__label .plus::after {
    background-color: var(--clr-mw1);
    transform: translate(-50%, -50%) rotate(-90deg);
}
.accordion__wrap.min .-open .accordion__label span.plus::after  {
    background-color: var(--gry)
}
@media (min-width: 768px) {
	.entry p.accordion__label {
		width: 100%
	}
	.accordion__wrap:not(.min) .accordion__label span.plus {
		width: 32px;
		height: 32px;
	}
	.accordion__wrap:not(.min) .accordion__label span.plus::after {
    	height: 10px;
	}
	.accordion__wrap:not(.min) .accordion__label span.plus::before {
    	width: 10px;
	}
}
.accordion__cont {
	padding: 0 5% 8%
}
.accordion__cont.full {
	padding: 0 0 8%
}
.accordion__wrap.min .accordion__cont {
	padding: 3% 2% 0
}
.accordion__cont > * + * {
	margin-top: min(4%,28px)
}
@media (min-width: 835px) {
	.accordion__cont {
		padding: 0 2% 8%
	}
	.accordion__wrap.min .accordion__cont {
		padding: 3% 0 0
	}
}
.accordion__cont > *:last-child {
	margin-bottom: 0;
	padding-bottom: 0
}