@charset "UTF-8";

/* ========================================================
  
  FV

======================================================== */

/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.fv_area {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100vh;
	min-height: min(calc(100vw * 0.86), 1120px);
	box-sizing: border-box;
}
/*m_wrap*/
.m_wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.m_wrap::before {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0));
	width: 100%;
	height: 36%;
	left: 0;
	top: 0;
}
/*m_img*/
.m_img {
	position: absolute;
	width: 100%;
	height: 100%;
	right: 0;
	top: 0;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 50%);
	mask-image: linear-gradient(to right, transparent 0%, black 50%);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: auto;
	mask-size: auto;
}
.m_img li {
	position: absolute;
	width: 100%;
	height: 100%;
	right: 0;
	top: 0;
	animation: fvAnime 12s infinite both;
}
.m_img li:nth-of-type(2) {
	animation-delay: 6s;
}
.m_img li img {
	object-fit: cover;
	width: 100%;
	max-width: 100%;
	height: 100%;
}
@keyframes fvAnime {
	0% { opacity: 1; }
	50% { opacity: 0;}
}
/*m_copy*/
.m_copy {
	width: 63%;
	max-width: 940px;
	height: auto;
	opacity: 0;
	transition: opacity .8s;
	z-index: 1;
}
.fv_area.anime_on .m_copy {
	opacity: 1;
}
/* m_obj */
.m_obj {
	position: absolute;
	width: 53%;
	max-width: 793px;
	left: 0;
	bottom: 0;
	translate: -20% 15%;
}
.m_obj > li {
    width: 66%;
    border-radius: 50%;
	aspect-ratio: 1;
	pointer-events: none;
}
.m_obj > li:nth-of-type(1) {
	background: radial-gradient(rgba(231,227,139,0.4), rgba(231,227,139,0) 70%);
	margin-left: auto;
}
.m_obj > li:nth-of-type(2) {
	background: radial-gradient(rgba(50,227,234,0.3), rgba(50,227,234,0) 70%);
	margin-top: -32%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/*m_img*/
.m_img {
	width: 79%;
	height: calc(100% + 20px);
}
/*m_copy*/
.m_copy {
	width: 70%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.fv_area {
	height: 100svh;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fv_area {
	height: 100svh;
	min-height: calc(100vw * 1.4);
	max-height: calc(100vw * 1.5);
}
/*m_img*/
.m_img {
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 80%);
	mask-image: linear-gradient(to right, transparent 0%, black 80%);
}
/* m_copy */
.m_copy {
	width: 80%;
	margin-left: -6%;
}
/* m_obj */
.m_obj {
	width: 90%;
}
}



/* ========================================================
  
  main

======================================================== */


/*---------------------------------------------------------
 m_price
---------------------------------------------------------*/
#m_price {
    position: relative;
	text-align: center;
	line-height: 1.4;
    background: linear-gradient(0deg, rgba(234, 237, 234, 0.95) 0%, rgba(255, 255, 255, 0.95) 17%);
    box-sizing: border-box;
    padding: min(5%,40px) min(4%,55px);
	border-radius: 2.3em 2.3em 0 0;
}
#m_price .com_fuki {
	font-size: min(2.2vw,164%);
}
#m_price .com_fuki > span {
	position: relative;
	font-size: 129%;
}
#m_price .com_fuki > span:first-of-type::before {
	position: absolute;
	content: "";
	background-color: rgba(255,228,114,0.5);
	width: 100%;
	height: 0.25em;
	border-radius: 1em;
	left: -0.1em;
	bottom: -0.1em;
}
#m_price .com_fuki > span > span {
	position: relative;
}
#m_price .type {
	font-size: 105%;
	letter-spacing: .1em;
	background-color: rgba(184,162,211,0.2);
	padding: .2em 1em;
	border-radius: 2em;
	margin-bottom: .5em;
}
#m_price .price {
	font-size: min(1.6vw,117%);
	font-weight: bold;
}
#m_price .price span {
	color: #9163b2;
	font: var(--font_pos);
	font-size: 308%;
	letter-spacing: .02em;
	vertical-align: -0.1em;
	margin-right: .1em;
}
#m_price small {
	display: block;
	font-size: 76%;
	margin-top: 1em;
}

#m_price li:nth-of-type(2) .type {
	background-color: rgba(255,156,116,0.2);
}
#m_price li:nth-of-type(2) .price span{
	color: var(--color_org);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#m_price {
	position: absolute;
	width: 56vw;
	max-width: 830px;
	right: 1.6vw;
	bottom: 0;
}
#m_price ul {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48% 48%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#m_price {
	width: 100%;
    padding: 10% 8%;
	border-radius: 6vw 6vw 0 0;
	margin-top: -6vw;
}
#m_price .com_fuki {
	font-size: 105%;
}
#m_price li {
	margin-top: 5%;
}
#m_price .type {
	font-size: 100%;
}
#m_price .price {
	font-size: 105%;
}
#m_price .price span {
	font-size: 280%;
}
#m_price small {
	font-size: 70%;
}
}


/*---------------------------------------------------------
 lead_contact
---------------------------------------------------------*/
.lead_contact {
	padding: 60px 0 40px;
	border-bottom: 1px solid rgba(65,67,72,0.2);
}
.lead_contact .com_h__min {
	text-align: left;
	margin-bottom: .2em;
}
.lead_contact .grid_box .box_img {
	max-width: 380px;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.lead_contact .grid_box {
	align-items: center;
	grid-template-columns: 38% 60%;
	max-width: 1030px;
	margin: 0 auto 1%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.lead_contact {
	padding: 10% 0 8%;
}
.lead_contact .grid_box {
	margin-bottom: 6%;
}
.lead_contact .grid_box .box_img {
	width: 80%;
	margin: 0 auto 1%;
}
.lead_contact .com_h__min {
	text-align: center;
}
}



/*---------------------------------------------------------
 lead
---------------------------------------------------------*/
#lead {
	background: linear-gradient(to bottom, rgba(255,240,149,0), rgba(255,240,149,0.6) 60%);
}
#lead .com_bg_img {
	background-image: url(../images/lead/lead-bg@2x.png);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#lead {
	background: linear-gradient(to bottom, rgba(255,240,149,0), rgba(255,240,149,1) 60%);
}
#lead .com_bg_img {
	top: 15vw;
}
}
/* lead: malalignment
---------------------------------------------------------*/
#lead .com_fuki {
	font-size: min(4.6vw,317%);
	margin-bottom: .5em;
}
#lead .com_fuki span {
	color: #a57fb0;
	font-size: 162%;
	line-height: 1;
	vertical-align: -0.05em;
}
#lead .com_fuki::before,
#lead .com_fuki::after {
	height: 1.5em;
}
#lead .com_fuki::before {
	right: calc(100% + 0.6em);
}
#lead .com_fuki::after {
	left: calc(100% + 0.6em);
}

.malalign_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1103px;
	margin: 0 auto 5.2%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.malalign_list {
	column-gap: 3%;
}
.malalign_list li {
	width: 22.7%;
}
.malalign_list li:nth-of-type(1) {
	margin-left: 12.95%;
}
.malalign_list li:nth-of-type(3) {
	margin-right: 12.95%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#lead .com_fuki {
	font-size: 170%;
}

.malalign_list {
	column-gap: 1.7%;
	margin-bottom: 8%;
}
.malalign_list li {
	width: 32.2%;
}
.malalign_list li:nth-of-type(1) {
	margin-left: 16%;
}
.malalign_list li:nth-of-type(2) {
	margin-right: 16%;
}
}

/* lead: ideal
---------------------------------------------------------*/
#ideal .com_flt .img_l {
	text-align: center;
	max-width: 385px;
}
.btn_more {
	display: inline-block;
	text-align: center;
	color: #FFF;
	font-size: 105%;
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 1.5;
	background-color: #7698d7;
	padding: .3em 1.2em;
	border-radius: 2em;
	transition: background-color .5s;
}
.btn_more::after {
	font-family: 'fontello';
	content: '\e803';
	font-weight: normal;
	margin-left: .4em;
}
.btn_more:hover {
	background-color: #638dce;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#ideal .com_flt {
	max-width: 1200px;
	margin-inline: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.btn_more {
	font-size: 90%;
}
}
/* lead: modal
---------------------------------------------------------*/
#modal-ideal {
	width: 90%;
	max-width: 1060px;
	background: transparent;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#modal-ideal {
	width: 96%;
	padding: 5% 3%;
}
}


/* lead: why
---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#why {
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: 38% 3% 53%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.why_title {
	width: 80%;
	margin-inline: auto;
}
#why .equall {
	width: 5vw;
	rotate: 90deg;
	margin: 4% auto 6%;
}
}

/* lead: merit
---------------------------------------------------------*/
#merit {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}
.mer_inbox {
	position: relative;
	background-color: #e4def7;
	box-sizing: border-box;
	padding: min(7vw,75px) 4% min(5vw,60px);
}
.mer_bg {
	position: absolute;
	width: 42%;
	aspect-ratio: 315 / 300;
	left: 0;
	top: 0;
	translate: 0 -24%;
}
.mer_bg img {
	height: 100%;
}
.mer_inbox > .com_h__min {
	font-size: min(3vw,229%);
}
.mer_inbox > .com_h__min span {
	font-size: 141%;
}
.mer_inbox .com_h__en {
    color: #d0bce9;
}
.mer_inbox:nth-of-type(2) {
	background-color: #e3f4d7;
}
.mer_inbox:nth-of-type(2) .mer_bg {
    left: auto;
	right: 0;
}
.mer_inbox:nth-of-type(2) .com_h__en {
    color: #a2eba5;
}
/* mer_list */
.mer_list > li {
    position: relative;
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: 30% 66%;
    background-color: rgba(255,255,255,0.7);
    box-sizing: border-box;
    padding: min(3.2%,35px);
	border-radius: 1.4em;
	margin-top: 1em;
}
.mer_list .com_h__min {
    text-align: left;
	font-size: min(2.4vw,164%);
	margin-bottom: .2em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#merit {
	display: grid;
	grid-template-columns: 50% 1fr;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.mer_inbox {
	padding: 8% 5%;
}
.mer_inbox > .com_h__min {
	font-size: 130%;
}
/* mer_list */
.mer_list > li {
    padding: 5% 4%;
	margin-top: .6em;
}
.mer_list .com_h__min {
	font-size: 110%;
}
}

/* lead: type
---------------------------------------------------------*/
#type {

}
#type .com_h__min span {
	font-size: 127%;
}
#type .com_h__min img {
	display: inline;
	width: 1.22em;
	vertical-align: -0.2em;
	margin-right: .2em;
}
.type_list .box_img {
	width: 70%;
	max-width: 450px;
	margin-bottom: 5%;
}
.type_list .com_h__bld {
	text-align: center;
	font-size: min(3.2vw,231%);
}
.type_list .com_h__bld span {
	display: block;
	font-size: 78%;
	font-weight: normal;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.type_list .com_h__bld {
	font-size: 130%;
}
}



/*---------------------------------------------------------
 invisalign
---------------------------------------------------------*/
#invisalign .com_bg_color {
	background-image: linear-gradient(to bottom, rgba(203,237,232,0), rgba(203,237,232,0.6) 20%);
}

/* invisalign: worries
---------------------------------------------------------*/
.worries_title {
	font-size: min(3.5vw,244%);
	margin: 0 auto .3em 14%;
}
.worries_title .dot {
	font-size: 190%;
}
#worries .arrow {
	width: 8.8%;
	margin: auto;
	padding: 2% 0;
}

.worries_list {
	display: flex;
	justify-content: center;
}
.worries_list > li {
	position: relative;
}
.worries_list .text {
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
}
.worries_list .illust {
	position: relative;
	width: 43%;
	margin: 0 auto -10%;
	z-index: 1;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.worries_list {
	column-gap: 1.25%;
}
.worries_list > li {
	width: 19%;
}
.worries_list > li:nth-of-type(even) {
	margin-top: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.worries_title {
	font-size: 110%;
	margin-left: 0;
}
#worries .arrow {
	width: 15%;
	padding: 6% 0;
}

.worries_list {
	flex-wrap: wrap;
	column-gap: 2%;
}
.worries_list > li {
	width: 32%;
}
}
/* invisalign: point
---------------------------------------------------------*/
#point {
	position: relative;
	padding-bottom: min(4.2%,60px);
}
#point::before {
	position: absolute;
	content: "";
	background-color: rgba(255,255,255,0.7);
	width: 97vw;
	height: 80%;
	left: 50%;
	bottom: 0;
	translate: -50% 0;
	z-index: -1;
}
#point .com_bg_img {
	background-image: url(../images/invisalign/invisalign-bg@2x.png);
}
#point .com_h__min span {
	font-size: 137%;
	background: url(../images/common/underline-drawn.svg) no-repeat center bottom;
	background-size: contain;
	padding-bottom: .2em;
}
/* invisa_title */
.invisa_title {
	width: 65%;
	max-width: 910px;
	margin-bottom: 4%;
}
.invisa_title div {
	width: 98%;
	max-width: 882px;
	margin-bottom: -10%;
}
.invisa_title div img {
	max-width: 100%;
}
.invisa_title h2 {
	width: 96%;
	max-width: 868px;
	margin-left: auto;
}
/* invisa_poi_list */
.invisa_poi_list {
	display: grid;
	justify-content: space-between;
}
.invisa_poi_list > li {
	background-color: rgba(65,169,190,0.8);
	border-radius: 11.1% / 15.7%;
}
#point .com_box__point {
	width: 90%;
	max-width: 1200px;
	background-color: transparent;
	padding: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* invisa_poi_list */
.invisa_poi_list {
	grid-template-columns: repeat(3,32.2%);
	row-gap: 1.4em;
}
.invisa_poi_list > li:nth-of-type(even) {
	background-color: rgba(61,149,190,0.8);
}

.com_box__point .com_h__bld {
	font-size: min(2.8vw,182%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#point {
	padding-bottom: 8%;
}
#point::before {
	width: 96vw;
	height: calc(100% - 60vw);
}
#point .com_bg_img {
	background-size: 70% auto;
	top: 10vw;
}
#point .com_h__min {
	margin-bottom: 0;
}
/* invisa_title */
.invisa_title {
	width: 100%;
	margin-left: -8%;
	margin-bottom: 6%;
}
/* invisa_poi_list */
.invisa_poi_list {
	grid-template-columns: repeat(2,49%);
	row-gap: .5em;
}
.invisa_poi_list > li:nth-of-type(1) {
	grid-column: 1/3;
	padding: 0 12%;
	border-radius: 6vw;
}
.invisa_poi_list > li:nth-of-type(4n+2),
.invisa_poi_list > li:nth-of-type(4n+5) {
	background-color: rgba(61,149,190,0.8);
}
}
/* invisalign: compare
---------------------------------------------------------*/
/* tbl_compare */
.tbl_compare {
	width: 100%;
	font-size: min(1.5vw,117%);
	line-height: 1.5;
	border-spacing: 8px 0;
}
.tbl_compare th,
.tbl_compare td {
	position: relative;
	width: 26%;
	box-sizing: border-box;
	padding: 1em 2.5%;
}
.tbl_compare th:first-of-type {
	width: 22%;
}

.tbl_compare thead th {
	padding: 0;
}
.tbl_compare .com_h__radi {
	color: #929091;
	font-size: 140%;
	letter-spacing: .12em;
	margin-bottom: 0;
}
.tbl_compare thead th:nth-of-type(2) .com_h__radi {
	color: var(--color_taq);
}

.tbl_compare tbody th {
	color: #FFF;
	font: var(--font_min);
	font-size: 130%;
	line-height: 1.4;
	background-color: var(--color_taq);
}
.tbl_compare tbody td {
	background-color: rgba(255,255,255,0.6);
}
.tbl_compare tbody td div {
	display: flex;
	align-items: center;
}
.tbl_compare tbody td div::before {
	display: block;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: 2.1em;
	height: 2.1em;
	margin-right: .6em;
}
.tbl_compare tbody td .rank1::before {	background-image: url(../images/invisalign/compare-icon-rank01.svg);}
.tbl_compare tbody td .rank2::before {	background-image: url(../images/invisalign/compare-icon-rank02.svg);}
.tbl_compare tbody td .rank3::before {	background-image: url(../images/invisalign/compare-icon-rank03.svg);}
.tbl_compare tbody td .rank4::before {	background-image: url(../images/invisalign/compare-icon-rank04.svg);}

.tbl_compare tbody th::after,
.tbl_compare tbody td::after {
	position: absolute;
	display: block;
	content: "";
	background-color: rgba(255,255,255,0.3);
	width: 86%;
	height: 1px;
	inset: auto 0 0 0;
	margin: auto;
}
.tbl_compare tbody td::after {
	background-color: #d0d1cf;
}
.tbl_compare tbody tr:last-of-type th::after,
.tbl_compare tbody tr:last-of-type td::after {
	display: none;
}
/* com_box__bdr */
#compare .accordion {
	width: 90%;
	max-width: 1024px;
	margin: 5% auto 0;
	border: 1px solid var(--color_base);
}
#compare .accordion .open_btn {
	text-align: center;
	padding: 1.1em 0;
	margin-bottom: 0;
}
#compare .accordion .open_btn:hover {
	background-color: rgba(203,237,232,0.7);
}
#compare .accordion dd {
	font-size: 82%;
	padding: 1em 5% 5%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* tbl_compare */
.tbl_compare {
	width: 180%;
	font-size: 80%;
	border-spacing: 5px 0;
}
.tbl_compare .com_h__radi {
	font-size: 110%;
	letter-spacing: .1em;
}
.tbl_compare tbody th {
	font-size: 110%;
}
/* com_box__bdr */
#compare .com_box__bdr {
	margin-top: 8%;
}
}





/*---------------------------------------------------------
 feature
---------------------------------------------------------*/
#feature .com_bg_img {
	background-image: url(../images/feature/feature-bg@2x.png);
}
.fea_title {
	text-align: left;
	font-size: min(2.6vw,200%);
	padding-left: 5%;
}
.fea_title img {
	width: 15.86em;
	margin-bottom: .2em;
}
.fea_title span {
	position: relative;
	display: block;
	font-size: 235%;
}
.fea_title span::after {
	display: inline-block;
	content: "";
	background: url(../images/feature/feature-title-alpha@2x.png) no-repeat;
	background-size: contain;
	width: 3.85em;
	height: 2.17em;
	vertical-align: -0.7em;
	margin-left: -0.3em;
	margin-top: -0.5em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#feature .com_bg_img {
	top: -5vw;
}
.fea_title {
	font-size: 105%;
}
.fea_title img {
	width: 11em;
}
.fea_title span {
	font-size: 160%;
}
}
/*feature: fea_inbox
---------------------------------------------------------*/
.fea_inbox {
	position: relative;
	padding: 80px 3.5%;
}
.fea_inbox::before {
	position: absolute;
	content: "";
	background-color: rgba(80,207,147,0.15);
	width: 95vw;
	height: 100%;
	left: 50%;
	top: 0;
	translate: -50% 0;
	z-index: -2;
}
.fea_inbox .box_img {
	position: relative;
}
.fea_inbox .box_img .abs_txt {
	position: absolute;
	width: 40.6%;
	max-width: 203px;
	right: -12%;
	bottom: -5%;
}
.fea_inbox .box_img .abs_txt.pos__l {
	left: -12%;
}
.fea_inbox .box_img .abs_txt.pos__r {
	right: -12%;
}
.fea_inbox .box_img .abs_txt.size__s {
	width: 23%;
	max-width: 115px;
	right: -4%;
	bottom: 6%;
}

.fea_heading {
	display: flex;
	align-items: center;
	column-gap: .4em;
	text-align: left;
	font-size: min(3.3vw,264%);
	margin-bottom: .8em;
}
.fea_heading::before {
	display: block;
	font-family: 'fontello';
	content: '\e802';
	font-weight: normal;
	text-align: center;
	font-size: 115%;
	line-height: 2.4;
	width: 2.4em;
	min-width: 2.4em;
	background-color: #fff;
	border-radius: 50%;

	opacity: 0;
	scale: 0.5;
	transition: opacity .5s, scale .5s;
	transition-delay: .2s;
}
.fea_heading.anime_on::before {
	opacity: 1;
	scale: 1;
}
.fea_heading > span {
	display: block;
	width: calc(100% - 2.8em);
}

.fea_inbox small {
	display: inline-block;
	color: rgba(65,67,72,0.7);
	font-size: 88%;
	font-weight: bold;
	background-color: rgba(65,67,72,0.05);
	padding: .2em 1em;
	border-radius: .5em;
	margin-top: 1.6em;
}
/* com_box__bg */
.fea_inbox .com_box__bg {
	max-width: 1250px;
	margin: 3.5% auto 0;
}
.fea_inbox .com_box__bg .com_h__en {
	text-align: left;
	margin-bottom: 1.4em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.fea_inbox .com_flt .img_l {
	max-width: 520px;
	margin-right: 6%;
}
.fea_inbox .com_flt .txt_r {
	width: 54%;
	float: right;
}
.fea_inbox .com_btn1 a {
	margin: 0;
}
/* fea_col2 */
.fea_col2 {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,min(48%,585px));
}
.fea_col2 .fea_heading {
	font-size: min(2.5vw,170%);
}
.fea_col2 .fea_heading::before {
	font-size: 145%;
}
.fea_col2 .fea_heading {
	font-size: min(2.5vw,170%);
}
.fea_col2 .box_img {
	width: 90%;
	max-width: 500px;
	margin: 0 auto 5%;
}
/* com_box__bg */
.fea_inbox .com_box__bg .com_flt {
	max-width: 1100px;
	margin-inline: auto;
}
.fea_inbox .com_box__bg .com_flt .img_l,
.fea_inbox .com_box__bg .com_flt .img_r {
	max-width: 400px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fea_inbox {
	padding: 8% 3%;
}
.fea_inbox .box_img {
	width: 90%;
	margin: 0 auto 5%;
}
.fea_inbox .box_img .abs_txt {
	width: 40.6%;
}

.fea_heading {
	font-size: 130%;
	letter-spacing: .08em;
	font-feature-settings: "palt";
	margin-bottom: .5em;
}
.fea_heading::before {
	font-size: 100%;
}
/* fea_col2 */
.fea_col2 > div:first-of-type {
	padding-bottom: 8%;
	margin-bottom: 8%;
	border-bottom: 1px solid rgba(65,67,72,0.2);
}
/* com_box__bg */
.fea_inbox .com_box__bg {
	margin-top: 8%;
}
}
/*feature: cooperation
---------------------------------------------------------*/
.fea_inbox .dr_img {
	position: relative;
	max-width: 380px;
}
.fea_inbox .dr_img img {
	position: relative;
	width: 53%;
	max-width: 200px;
}
.fea_inbox .dr_img .com_ccl_txt {
	position: absolute;
	font-size: min(1.35vw,100%);
	background-color: rgba(80,207,147,0.15);
	inset: 0 0 0 auto;
	margin: auto;
}
.fea_inbox .dr_img .com_ccl_txt span {
	display: block;
	font: var(--font_min);
	font-size: 152%;
	padding-top: .6em;
	margin-top: .5em;
	border-top: 1px solid currentColor;
}
#cooperation .com_box__bg .img1 {
	width: 90%;
	max-width: 820px;
	margin: 0 auto 3%;
}
#cooperation .com_box__bg .h__radi {
	padding-right: 1.8em;
}
#cooperation .com_box__bg .h__radi::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/feature/icon-question-grn.svg) no-repeat;
	background-size: contain;
	width: 1.97em;
	height: 2.73em;
	right: -0.4em;
	bottom: .3em;
}
#cooperation .com_box__bg .com_flt:last-of-type .h__radi::after {
	background-image: url(../images/feature/icon-question-blu.svg);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.fea_inbox .dr_img {
	width: 35%;
}
.fea_inbox .dr_img {
	width: 35%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fea_inbox .dr_img {
	position: relative;
	max-width: 380px;
}
.fea_inbox .dr_img .com_ccl_txt {
	font-size: 80%;
}
#cooperation .com_box__bg .img1 {
	width: 100%;
	margin-bottom: 6%;
}
#cooperation .com_box__bg .img_l,
#cooperation .com_box__bg .img_r {
	width: 96%;
}
}
/*feature: support
---------------------------------------------------------*/
.rcm_list > li {
	position: relative;
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: 44% 51%;
	background-color: rgba(80,207,147,0.15);
	box-sizing: border-box;
	padding: 9% 6% 6%;
	border-radius: 1.2em;
}
.rcm_list > li::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/feature/icon-check.svg) no-repeat;
	width: 48.2px;
	height: 37.75px;
	left: 50%;
	top: 0;
	translate: -50% -50%;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.15));
}
.rcm_list p {
	text-align: left;
	font-size: min(1.6vw,117%);
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: .05em;

	word-break: keep-all;
	overflow-wrap: break-word;
}
.rcm_list p span {color: #3dba93;}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#support .com_flt .img_l img {
	max-width: 469px;
	margin-left: auto;
}
#support .com_box__bg .com_flt .img_l {
	width: 32%;
	max-width: 340px;
	margin-right: 3%;
}
#support .com_box__bg .com_flt .txt_r {
	width: 65%;
}
.rcm_list {
	max-width: 1200px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,min(32.5%,378px));
	margin-inline: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#support > .com_flt {
	margin-bottom: 5%;
}
#support > .com_flt .img_l {
	margin: -5% auto 0;
}
.rcm_list > li {
	grid-template-columns: 38% 57%;
	padding: 9% 6% 6%;
	margin-top: 6%;
}
.rcm_list > li::before {
	width: 40px;
	height: 30px;
}
.rcm_list p {
	font-size: 105%;
}
}

/*feature: cost
---------------------------------------------------------*/
#cost .box_img .abs_txt.size__s:nth-child(2) {
	inset: 10% auto auto -4%;
}

/*feature: equipment
---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#equipment .com_flt .img_r {
	width: 45%;
	max-width: 560px;
}
}



/*---------------------------------------------------------
 consultation
---------------------------------------------------------*/
#consultation .com_box__bg {
	background-color: #f5f3ef;
}
#consultation .title {
	position: relative;
	width: 40%;
	max-width: 400px;
	margin: -16% auto 3%;
}
#consultation .com_h__min {
	margin-bottom: .5em;
}
/* cnsl_inbox */
.cnsl_inbox {
    position: relative;
    background-color: #ECE5DA;
    box-sizing: border-box;
    padding: 3% 3.8% 3.4%;
	border-radius: 1.1em;
	margin: 3% auto 4%;
}
.cnsl_inbox .com_h__radi {
    font-size: min(2vw,137%);
}
.cnsl_inbox .com_h__radi span {
	color: var(--color_gblu);
}
.cnsl_inbox ol {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: 1.8em;
	list-style: none;
	counter-reset: listCounter;
}
.cnsl_inbox ol li {
	width: 100%;
	counter-increment: listCounter;
}
.cnsl_inbox .com_h__bld::before {
	display: inline-block;
	content: counter(listCounter);
	text-align: center;
	color: #FFF;
	font: var(--font_pos);
	font-size: 1.05rem;
	letter-spacing: normal;
	line-height: 1.5;
	width: 1.5em;
	background-color: var(--color_gblu);
	border-radius: 50%;
	margin-right: .6em;
}
.cnsl_inbox .pc_col .box_img {
	margin: 0 auto 4%;
}
.cnsl_inbox .pc_col .box_img img {
	border-radius: 4.5% / 7.2%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.cnsl_inbox ol .pc_col {
	width: 30.5%;
}
.cnsl_inbox ol .pc_col .com_h__bld {
	font-size: min(1.8vw,106%);
}
.cnsl_inbox ol .pc_col p {
	line-height: 1.6;
}
.cnsl_inbox ol .pc_max {
	position: relative;
	padding-right: 54%;
	margin-bottom: 5%;
}
.cnsl_inbox ol .pc_max .box_img {
	position: absolute;
	width: 52%;
	right: 0;
	top: 0;
}
.cnsl_inbox ol .pc_max .com_h__bld::before {
	display: block;
	margin-bottom: .6em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#consultation .title {
	width: 60%;
	margin-top: -28%;
}
/* cnsl_inbox */
.cnsl_inbox {
    padding: 6% 6% 8%;
	margin-top: 5%;
	margin-bottom: 6%;
}
.cnsl_inbox .com_h__radi {
    font-size: 110%;
}
.cnsl_inbox ol {
	row-gap: 1.5em;
}
.cnsl_inbox .com_h__bld {
	font-feature-settings: "palt";
}
.cnsl_inbox .com_h__bld::before {
	font-size: 1.05rem;
}
.cnsl_inbox ol .pc_col .box_img {
	width: 80%;
}
.cnsl_inbox ol .pc_max .box_img {
	width: 116%;
	margin: 0 auto 6% -4%;
}
}



/*---------------------------------------------------------
 case
---------------------------------------------------------*/
#case .com_box__bg {
	display: block;
	text-align: center;
	border: 5px solid #D3E7EA;
	padding-top: 10%;
}
#case .illust {
	position: relative;
	width: 35%;
	max-width: 370px;
	margin: 0 auto -7.5%;
	z-index: 1;
	pointer-events: none;
}
#case .com_h__min {
	margin-bottom: .3em;
}
#case .com_arw-r {
	font-size: 50%;
	vertical-align: 0.3em;
	margin-left: .5em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#case .com_box__bg {
	padding-top: 15%;
}
#case .illust {
	width: 55%;
	margin-bottom: -12%;
}
}



/*---------------------------------------------------------
 process
---------------------------------------------------------*/
#process {
	position: relative;
	color: #FFF;
	background-color: rgba(134,138,130,0.7);
}
#process::before {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0));
	width: 100%;
	height: 100px;
	left: 0;
	top: 0;
}
#process .com_bg_img {
	background-size: 100% auto;
	background-image: url(../images/process/process-bg@2x.jpg);
}
#process .com_title1 .com_h__en {
	color: #78e5ab;
}
#process .step_list + p {
	text-align: center;
	font-size: min(2vw,129%);
	line-height: 1.5;
	letter-spacing: .12em;
	margin-top: 1.5em;
}
#process .step_list + p span {color: #ffff9f;}

#process .list__ast {
	color: rgba(255,255,255,0.8);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#process .com_bg_img {
	background-image: url(../images/process/process-bg-sp@2x.jpg);
}
#process .step_list + p {
	font-size: 105%;
}
}
/*process: step_list
---------------------------------------------------------*/
/* step_list */
.step_list {
	list-style: none;
}
.step_title {
	position: relative;
	font-size: min(1.6vw,100%);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .12em;
	white-space: nowrap;
	background-color: #78d697;
	box-sizing: border-box;
	padding: 1.5em 1em 4em 2em;
}
.step_list > .step2 .step_title {background-color: #6cc4cd;}
.step_list > .step3 .step_title {background-color: #edb775;}

.step_title::after {
	position: absolute;
	content: "";
	background-color: inherit;
	width: 2.3em;
	height: 100%;
	left: calc(100% - 1px);
	top: 0;
	clip-path: polygon(0 0, 1px 0, 100% 50%, 1px 100%, 0 100%);
}
.step_list > li:last-of-type .step_title::after {
	display: none;
}
.step_title span {
	font: var(--font_pos);
	font-size: 235%;
	vertical-align: -0.15em;
	margin-right: .4em;
}
/* step_item_list */
.step_item_list > li {
    position: relative;
	color: var(--color_base);
    background-color: #fff;
    box-sizing: border-box;
    padding: 1.2em 1.3em 2em;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.step_item_list .icon {
	width: 36%;
	max-width: 80px;
	margin: 0 auto 2%;
}
.step_item_list .com_h__min {
	font-size: min(2.4vw,176%);
	margin-bottom: .2em;
}
.step_item_list .note {
	display: block;
	text-align: center;
    font-size: 88%;
    font-weight: bold;
    background-color: #f4f6f7;
    padding: .2em 1em;
    border-radius: 2em;
    margin-top: .5em;
}
/* animation */
.step_item_list > li {
	opacity: 0;
	translate: -5% 0;
	transition: opacity 1s, translate 1s;
}
.step_item_list > li.anime_on {
	opacity: 1;
	translate: 0 0 !important;
}
.step_item_list > li:nth-of-type(2) {	transition-delay: .1s;}
.step_item_list > li:nth-of-type(3) {	transition-delay: .2s;}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.step_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2em 5%;
}
.step_list > li:nth-of-type(1) {
	width: 90%;
	max-width: 965px;
	margin-right: 10%;
}
.step_list > li:nth-of-type(2) {
	width: 35%;
	max-width: 340px;
	margin-left: auto;
}
.step_list > li:nth-of-type(3) {
	width: 56%;
	max-width: 652px;
}

.step_item_list {
	display: flex;
	gap: 1.2em;
	padding: 0 1.2em;
	margin-top: -2.5em;
}
.step_item_list > li {
    flex: 1;
	width: 25vw;
	max-width: 353px;
}

.step_list .step1 .step_item_list > li:nth-of-type(2) {	transition-delay: .2s;}
.step_list .step1 .step_item_list > li:nth-of-type(3) {	transition-delay: .4s;}
.step_list .step2 .step_item_list > li:nth-of-type(1) { transition-delay: .6s;}
.step_list .step3 .step_item_list > li:nth-of-type(1) {	transition-delay: .8s;}
.step_list .step3 .step_item_list > li:nth-of-type(2) {	transition-delay: 1.0s;}

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* step_list */
.step_list > li {
	position: relative;
	padding: 12vw 0 5vw 10vw;
	margin-bottom: 5vw;
}
.step_title {
	position: absolute;
	width: 80%;
	height: 100%;
	font-size: 80%;
	padding: 1em 1.5em;
	left: 0;
	top: 0;
}

.step_title::after {
	width: 100%;
	height: 5vw;
	left: 0;
	top: calc(100% - 1px);
	clip-path: polygon(0 0, 100% 0, 100% 1px, 50% 100%, 0 1px);
}
.step_title span {
	font-size: 200%;
}
/* step_item_list */
.step_item_list > li {
    padding: 6% 7% 7%;
	margin-top: 3%;
	translate: 0 -10px;
}
.step_item_list .icon {
	width: 36%;
	max-width: 80px;
	margin: 0 auto 2%;
}
.step_item_list .com_h__min {
	font-size: 120%;
}
.step_item_list .note {
    font-size: 80%;
}
}


/*---------------------------------------------------------
 please
---------------------------------------------------------*/
#please {
	color: var(--color_base);
	background-color: rgba(255,255,255,0.7);
}
.pls_title {
	margin-bottom: 4%;
	border-bottom: 1px solid #414348;
}
.pls_title .com_h__min {
	padding-bottom: .5em;
	margin-bottom: 0;
}
.pls_list > li {
	padding-top: 8%;
	margin-top: 8%;
	border-top: 1px solid rgba(65,67,72,0.2);
}
.pls_list .com_h__min {
	text-align: left;
	font-size: min(176%,2.4vw);
	margin-bottom: .2em;
}
.pls_list img {
	height: 13vw;
	max-height: 190px;
	margin: 0 auto 2.5%;
}
.pls_list > li:nth-of-type(2) img {
	width: auto;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#please .com_h__radi {
	font-size: min(2vw,135%);
}
.pls_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,47%);
}
.pls_list > li:nth-of-type(-n+2) {
	padding-top: 0;
	margin-top: 0;
	border-top: none;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pls_title {
	margin-bottom: 6%;
}
.pls_list > li:first-of-type {
	border-top: none;
}
.pls_list .com_h__min {
	text-align: center;
	font-size: 115%;
	letter-spacing: .02em;
}
.pls_list img {
	height: 25vw;
	margin-bottom: 5%;
}
}



/*---------------------------------------------------------
 price
---------------------------------------------------------*/
#price .com_title1 {
	margin-bottom: .7em;
}
#price .com_title1 .com_h__en {
	color: #57adba;
}
#price .tax {
	display: block;
	text-align: center;
	font-size: 94%;
	margin-bottom: .8em;
}
/* kids */
#kids,
#kids .com_h__radi {
	background-color: #ffe1bd;
}
/*price: tbl_pri
---------------------------------------------------------*/
.tbl_pri {
	width: 100%;
	max-width: 1200px;
	font-size: min(2.2vw,158%);
	line-height: 1.5;
	border-spacing: 0 .7em;
	margin-inline: auto;
}
.tbl_pri th,
.tbl_pri td {
	position: relative;
	width: 50%;
	background-color: #f4f6f7;
	box-sizing: border-box;
	border-radius: 100vmax;
	padding: 1em 9%;
}
.tbl_pri th {
	text-align: left;
	font-weight: normal;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	padding-right: 0;
}
.tbl_pri td {
	text-align: right;
	font-weight: bold;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.tbl_pri {
	font-size: 90%;
	border-spacing: 0 10px;
}
.tbl_pri th {
	padding-left: 8%;
}
.tbl_pri td {
	padding-right: 8%;
}
}
/*price: pri_box
---------------------------------------------------------*/
.pri_box {
    position: relative;
	background-color: #dbd1ff;
    box-sizing: border-box;
    padding: 5%;
	border-radius: 3.5em;
}
.pri_box .icon {
	position: absolute;
	width: min(10%,94px);
	inset: 0 0 auto 0;
	margin: auto;
	translate: 0 -50%;
}
.pri_box .com_h__min {
    font-size: min(3.6vw,252%);
	padding-bottom: .6em;
	border-bottom: 1px solid #FFF;
}
.pri_box .com_h__min + p {
	text-align: center;
    font-size: min(2.2vw,141%);
	line-height: 1.8;
	letter-spacing: .08em;
	margin-bottom: 1.2em;
}
.pri_box .sp_txt_l {
	text-align: center;
    font-size: min(1.8vw,117%);
	line-height: 1.8;
	letter-spacing: .1em;
	margin-top: 1.2em;
}
.pri_box .tbl_pri {
	max-width: 1100px;
}
.pri_box .tbl_pri th,
.pri_box .tbl_pri td {
    background-color: rgba(255,255,255,0.5);
}
/* more */
.pri_box .more {
    position: relative;
	width: 94%;
	max-width: 1024px;
	text-align: center;
	background-color: #c3bae0;
    box-sizing: border-box;
    padding: 4% 5%;
	border-radius: 1.2em;
	margin: 3% auto 0;
}
.pri_box .more .icon {
	position: absolute;
	width: 9.5%;
	left: 0;
	top: 50%;
	translate: -50% -50%;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
	margin: 0;
}
.pri_box .more p {
	font-size: min(2.2vw,152%);
	line-height: 1.5;
	letter-spacing: .1em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.pri_box .img_l {
    width: 44%;
}
.pri_box .com_flt .com_txt_lg {
    font-size: min(3.6vw,235%);
}
/* more */
.pri_box .more {
	padding: 4% 20%;
}
.pri_box .more .img1 {
    position: absolute;
	width: 14%;
	left: 15%;
	top: 50%;
	translate: -50% -50%;
}
.pri_box .more .img2 {
    position: absolute;
	width: 18%;
	right: 12%;
	bottom: 0;
	translate: 50% 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pri_box {
    padding: 10% 6%;
	border-radius: 8vw;
}
.pri_box .icon {
	width: 15%;
}
.pri_box .com_h__min {
    font-size: 130%;
}
.pri_box .com_h__min + p {
    font-size: 105%;
}
.pri_box .sp_txt_l {
	font-size: 105%;
}
.pri_box .com_txt_lg {
	text-align: center;
    font-size: 130%;
}
/* more */
.pri_box .more {
	width: 100%;
    padding: 10% 5% 0;
	border-radius: 6vw;
	margin-top: 10%;
}
.pri_box .more .icon {
	width: 15%;
	left: 50%;
	top: 0;
}
.pri_box .more p {
	font-size: 105%;
}
.pri_box .more .img1 {
	position: absolute;
	width: 45%;
	left: 5%;
	bottom: 5%;
}
.pri_box .more .img2 {
	width: 50%;
	margin: 5% 0 0 auto;
}
}
/*price: pri_col
---------------------------------------------------------*/
.pri_col > li {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 6;
	row-gap: .5em;
	box-sizing: border-box;
    background-color: rgba(255,255,255,0.5);
	padding: 8%;
	border-radius: 2.3em;
}
.pri_col .com_h__radi {
	font-size: min(2.2vw,147%);
	font-weight: normal;
}
.pri_col .com_txt_lg {
	text-align: center;
	font-size: min(2.2vw,176%);
	margin-bottom: 0;
}
.pri_col .com_txt_lg small {
	font-size: 66%;
}
.pri_col .price {
	text-align: center;
	font-size: min(2.3vw,176%);
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 1.5;
}
.pri_col .adjust {
	text-align: center;
	font-size: min(1.6vw,117%);
	line-height: 1.3;
	background-color: #fff;
	padding: .4em 1em;
	border-radius: 2em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.pri_col {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,32%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pri_col > li {
	padding: 8%;
	border-radius: 6vw;
	margin-top: 3%;
}
.pri_col .com_h__radi {
	font-size: 110%;
}
.pri_col .com_txt_lg {
	font-size: 130%;
}
.pri_col .price {
	font-size: 120%;
}
.pri_col .adjust {
	font-size: 105%;
}
}



/*---------------------------------------------------------
 payment
---------------------------------------------------------*/
#payment {
	background-color: var(--color_lgry);
}
#payment .com_fuki {
	font-size: min(2vw,135%);
	margin-bottom: 2em;
}
#payment .com_fuki span {
	color: #57adba;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#payment .com_fuki {
	font-size: 105%;
}
}
/*payment: pay_method
---------------------------------------------------------*/
.pay_method {
	display: grid;
	justify-content: space-between;
	gap: 2em;
	margin-top: 3.8%;
}
.pay_method > li {
    position: relative;
    background-color: #fff;
    box-sizing: border-box;
    padding: 7.5%;
}
.pay_method .com_h__bld {
	text-align: center;
	font-size: min(2vw,135%);
	letter-spacing: .1em;
	padding-bottom: .5em;
	margin-bottom: 1em;
	border-bottom: 1px solid #f0f0f0;
}
.pay_method div {
	padding: 0 5.3%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.pay_method {
	grid-template-columns: repeat(3,31%);
}
.pay_method > li:last-of-type {
	grid-column: 1/4;
	padding: 3% 4.5%;
}
.pay_method > li:last-of-type div {
	display: grid;
	grid-template-columns: 53.45% 1fr;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pay_method {
	width: 90%;
	gap: .5em;
	margin: 4% auto 8%;
}
.pay_method > li {
    padding: 7% 6%;
}
.pay_method .com_h__bld {
	font-size: 110%;
}
.pay_method div {
	padding: 0 25%;
}
.pay_method > li:last-of-type div {
	padding: 0;
}
}

/*payment: loan_box
---------------------------------------------------------*/
.loan_box .com_h__min {
	font-size: min(3vw,210%);
}
.loan_box .com_h__min .dot {
	background-image: radial-gradient(circle, #57adba .07em, transparent .07em);
	font-size: 176%;
}
.loan_box .com_h__min .ft_pos {
	color: #57adba;
	font-size: 364%;
	font-style: italic;
	margin-right: .08em;
	line-height: 0.8;
	vertical-align: -0.05em;
}
.loan_box .com_h__radi {
	color: #FFF;
	font-weight: normal;
	background-color: #57adba;
	border-radius: .7em;
	margin-bottom: 1.4em;
}
.loan_box .com_h__radi span {
	color: #eaff63;
}
.loan_box .com_h__min.h__bdr {
	font-size: min(2.8vw,176%);
}
/* ex_title */
.loan_box .ex_title {
	text-align: center;
	font-size: min(3vw,235%);
	letter-spacing: .1em;
	line-height: 1.3;
	margin-bottom: .8em;
}
.loan_box .ex_title {
	display: flex;
	justify-content: center;
	gap: .6em;
}
.loan_box .ex_title .icon {
	width: 2.35em;
}
.loan_box .ex_title small {
	display: block;
    font-size: max(37%,12px);
	font-weight: bold;
	letter-spacing: .12em;
	margin-right: .12em;
	margin-top: 1.5em;
}
/* ex_list */
.loan_box .ex_list > li {
    position: relative;
	display: flex;
	align-items: center;
	column-gap: 5%;
	line-height: 1.6;
    background-color: #f5f3ef;
    box-sizing: border-box;
    padding: 5% 7.5%;
}
.loan_box .ex_list .com_ccl_txt {
    width: min(6.6em);
    height: min(6.6em);
	color: #FFF;
	font-size: min(1.2vw,92%);
	font-weight: bold;
    background-color: #b8a2d3;
}
.loan_box .ex_list .com_ccl_txt span {
	font: var(--font_pos);
	font-size: 255%;
	font-style: italic;
	margin-bottom: .1em;
}
.loan_box .ex_list .price {
    font-size: min(1.6vw,139%);
}
.loan_box .ex_list .price span {
	color: #9163b2;
	font: var(--font_pos);
	font-size: 260%;
	letter-spacing: .02em;
	vertical-align: -0.1em;
	margin-right: .1em;
}
.loan_box .ex_list small {
	display: block;
    font-size: 94%;
	letter-spacing: .1em;
	margin-top: .6em;
}
.loan_box .ex_list.list__kids .com_ccl_txt {
	background-color: #ffbf7c;
}
.loan_box .ex_list.list__kids .price span {
	color: var(--color_org);
}
/* loan_list */
.loan_box .loan_list .icon {
	width: 33%;
	margin: 0 auto 2%;
}
.loan_box .loan_list div {
	text-align: center;
    font-size: min(2vw,129%);
	line-height: 1.6;
	letter-spacing: .1em;
	margin-bottom: 1em;
}
.loan_box .loan_list p {
	font-size: 88%;
	line-height: 1.6;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.loan_box {
	padding-left: 9%;
	padding-right: 9%;
}
/* ex_list */
.loan_box .ex_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,48.5%);
}
/* loan_list */
.loan_box .loan_list {
	max-width: 1010px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,30.5%);
	margin-inline: auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.loan_box .com_h__min {
	font-size: 110%;
}
.loan_box .com_h__min .dot{
	font-size: 176%;
}
.loan_box .com_h__min .ft_pos {
	font-size: 280%;
}
.loan_box .com_h__radi {
	font-size: 110%;
}
.loan_box .com_h__min.h__bdr {
	font-size: 110%;
}
/* ex_title */
.loan_box .ex_title {
	text-align: left;
	font-size: 110%;
}
.loan_box .ex_title small {
	font-feature-settings: "halt";
	margin-top: .5em;
}
/* ex_list */
.loan_box .ex_list > li {
    padding: 5% 7.5%;
	margin-top: 2%;
}
.loan_box .ex_list .com_ccl_txt {
	font-size: 2vw;
}
.loan_box .ex_list .price {
    font-size: 90%;
}
.loan_box .ex_list .price span {
	font-size: 220%;
}
.loan_box .ex_list small {
    font-size: 80%;
}
/* loan_list */
.loan_box .loan_list > li {
	margin-bottom: 3%;
}
.loan_box .loan_list .icon {
	width: 25%;
}
.loan_box .loan_list div {
    font-size: 105%;
	margin-bottom: .6em;
}
}
/*payment: deduction
---------------------------------------------------------*/
.ded_calc_box {
	width: 92%;
	max-width: 1100px;
	text-align: left;
	background-color: #e9e9eb;
	box-sizing: border-box;
	padding: 30px 3%;
	word-break: keep-all;
	overflow-wrap: break-word;
	margin: 2em auto 0;
}
.ded_calc_box > div {
	max-width: max-content;
	margin: 0 auto;
}
.ded_calc_box .formula {
	font-size: min(1.8vw,117%);
	line-height: 1.5;
	letter-spacing: .06em;
	font-feature-settings: "halt";
}
.ded_calc_box .formula span {
	vertical-align: middle;
}
.ded_calc_box .formula span:first-of-type {
	color: #7fb5ae;
}
.ded_calc_box .formula span:first-of-type,
.ded_calc_box .formula span:last-of-type {
	font-weight: bold;
	letter-spacing: .16em;
}
.ded_calc_box .formula small {
	font-size: 75%;
}
.ded_calc_box .formula sup {
    font-size: 65%;
    vertical-align: super;
}
.ded_calc_box .asterisk {
	text-align: right;
	display: block;
	color: #ff805b;
	font-size: 88%;
	line-height: 1.5;
	letter-spacing: .08em;
	margin-top: 1em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.ded_calc_box {
	padding: 3.5% 5%;
}
.ded_calc_box .formula {
	font-size: 2.2vw;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.ded_calc_box {
	width: 100%;
	padding: 6%;
	margin-top: 5%;
}
.ded_calc_box .formula {
	font-size: 90%;
	letter-spacing: .02em;
}
.ded_calc_box .asterisk {
	font-size: 80%;
	letter-spacing: .06em;
}
}




/*---------------------------------------------------------
 faq
---------------------------------------------------------*/
#faq {
	background-color: #d2daf3;
}
#faq .com_h__en {
	color: #FFF;
}
.qa_list > li {
	margin-bottom: 9%;
}
.qa_list .qa_q,
.qa_list .qa_a {
	position: relative;
	box-sizing: border-box;
}
.qa_list .qa_q {
	font-size: min(2.4vw,158%);
	line-height: 1.4;
	letter-spacing: .1em;
	background-color: #fff;
	padding: .5em 3em;
	border-radius: .7em;
	margin-bottom: 1em;
}
.qa_list .qa_q::after {
	position: absolute;
	display: block;
	font-family: 'fontello';
	content: '\e804';
	right: 5%;
	top: 50%;
	translate: 0 -50%;
	transition: scale .3s;
}
.qa_list .qa_q.active::after {
	scale: 1 -1;
}

.qa_list .qa_a {
	width: 92%;
	max-width: 965px;
	padding: 0 1em 1.8em 10%;
	margin-left: auto;
	border-bottom: 1px solid #414348;
}
.qa_list .qa_a p {
	font-size: 88%;
}
.qa_list .qa_q::before,
.qa_list .qa_a::before {
	position: absolute;
	display: block;
	font: var(--font_pos);
	font-size: min(6vw,3.63rem);
	letter-spacing: normal;
	line-height: 1;
	top: 0;
	translate: -50% 0;
}
.qa_list .qa_q::before {
	content: "Q";
	color: #7698d7;
	left: 6%;
	top: -0.9em;
}
.qa_list .qa_a::before {
	content: "A";
	color: #FFF;
	left: 4%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.qa_list > li {
	margin-bottom: 12%;
}
.qa_list .qa_q {
	font-size: 110%;
	letter-spacing: .05em;
	padding: .5em 1em .5em 10%;
}
.qa_list .qa_a {
	padding: 0 .5em 1.5em 12%;
	border-bottom: 1px solid #414348;
}
.qa_list .qa_q::before,
.qa_list .qa_a::before {
	font-size: 8vw;
}
.qa_list .qa_q::before {
	left: 8%;
}
}



/*---------------------------------------------------------
 clinic
---------------------------------------------------------*/
.cln_inbox {
	position: relative;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 8;
	row-gap: .6rem;
	box-sizing: border-box;
	padding: min(5vw,55px) 9% min(7vw,75px);
}
.cln_inbox > div {
	position: relative;
	max-width: 100%;
}
.cln_inbox::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	left: 0;
	top: 0;
}

#clinic .com_h__radi {
	font-size: min(176%,1.9vw);
}

#clinic .cln_image {
	width: 90%;
	max-width: 518px;
	margin: 0 auto 2%;
}

#clinic .cln_name {
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	gap: .2em .5em;
	font: var(--font_min);
	line-height: 1.4;
}
#clinic .cln_name > dt {
	font-size: 100%;
	letter-spacing: .15em;
}
#clinic .cln_name > dd {
	font-size: min(235%,3.2vw);
	letter-spacing: .08em;
}

#clinic .add_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .3em 1em;
	margin-bottom: 1em;
}
#clinic .add_box .com_btn1 {
	margin-top: 0;
}
#clinic .add_box .com_btn1 a {
	min-width: 8.5em;
	font: var(--font_pos);
	font-size: min(0.88rem);
	background-color: #FFF;
	padding: .7em 2em;
}

#clinic .contact_box {
	text-align: center;
}
#clinic .com_ctc_list {
	justify-content: center;
	margin-top: .5em;
}

#clinic .com_f_bnr {
	width: 80%;
	max-width: 325px;
	margin: 1em auto 0;
}
/*あかり歯科クリニック*/
.cln_akari::before {background-color: #f4f6e3;}
.cln_akari .com_h__radi span,
.cln_akari .com_timetable tbody td,
.cln_akari .com_timetable caption li .icon {color: #77ad31;}
.cln_akari .com_timetable tbody th i {color: rgba(37,132,49,0.4);}
.cln_akari .com_btn1 a {color: #258431;}

/*池田歯科医院*/
.cln_ikeda::before {background-color: #ecf6f7;}
.cln_ikeda .com_h__radi span,
.cln_ikeda .com_timetable tbody td,
.cln_ikeda .com_timetable caption li .icon,
.cln_ikeda .com_btn1 a {color: #5bbcc8;}
.cln_ikeda .com_timetable tbody th i {color: rgba(91,188,200,0.4);}

.cln_ikeda .com_acslist li:nth-of-type(1):before {	background-image: url(../images/common/icon-access-car-blu.svg);}
.cln_ikeda .com_acslist li:nth-of-type(2):before {	background-image: url(../images/common/icon-access-train-blu.svg);}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#clinic {
	display: grid;
	grid-template-columns: 50% 1fr;
}
.cln_inbox::before {
	width: 50vw;
}
.cln_inbox .com_ctc_btn > a {
	font-size: min(1.35vw,105%);
}
/*あかり歯科クリニック*/
.cln_akari::before {
	left: auto;
	right: 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.cln_inbox {
	padding: 10% 6%;
}

#clinic .com_h__radi {
	font-size: 110%;
	font-feature-settings: "halt";
}

#clinic .cln_image {
	width: 80%;
}

#clinic .cln_name > dt {
	font-size: 90%;
}
#clinic .cln_name > dd {
	font-size: 160%;
}

#clinic .contact_box {
	text-align: center;
}
#clinic .com_ctc_list {
	justify-content: center;
	margin-top: .5em;
}
}



/*---------------------------------------------------------

---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}
