/* オンライン診療
----------------------------------------------------------- */
:root {
	--font-color: #2E3429;
	--main-color: #559504;
	--gray-color: #CECECB;
	--white-color: #FAFAFA;

	--font-text: "BIZ UDGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	--font-en: "Marcellus", serif;
	--font-maru: "Zen Maru Gothic", sans-serif;

	--fontsize-33: clamp(21px, 1.7vw, 33px);
	--fontsize-28: clamp(20px, 1.5vw, 28px);
	--fontsize-25: clamp(19px, 1.3vw, 25px);
	--fontsize-22: clamp(20px, 1.1vw, 22px);
	--fontsize-20: 20px;
	--fontsize-19: 19px;
	--fontsize-18: 18px;
	--fontsize-17: 17px;
	--fontsize-16: 16px;
	--fontsize-15: 15px;
	--fontsize-14: 14px;
	--fontsize-13: 13px;

	--trans-fast: .25s ease;
	--trans-base: .5s ease;
	--trans-slow: .8s ease;
}

.online__section:not(:last-of-type){
	padding-bottom: clamp(40px, 5.7vw, 110px);
	margin-bottom: clamp(40px, 5.7vw, 110px);
	border-bottom: 1px solid var(--gray-color);
}

/* FV */
.online-fv{
	width: calc(100% - 34px);
	height: calc(100vh - 17px);
	background-image: url("../images/online/online-fv-img.webp"), url("../images/online/online-fv-bg.webp");
	background-position: right 50px bottom, center center;
	background-size: 40% auto, cover;
	background-repeat: no-repeat;
	margin: 0 auto 17px;
	border-radius: 0 0 clamp(25px, 2.6vw, 50px) clamp(25px, 2.6vw, 50px);
	padding-top: 88px;
	position: relative;
	z-index: 0;
}
.online-fv__body{
	width: 53.6vw;
	position: absolute;
	left: 7.8vw;
	top: calc(50% + clamp(30px, 2.1vw, 44px));
	transform: translateY(-50%);
}
.online-fv__fuki{
	font-family: var(--font-maru);
	font-weight: 700;
	text-align: center;
	padding: 1.5vw 1.5vw 2.4vw;
	background: url("../images/online/online-fv-fuki.webp") center center / contain no-repeat;
	font-size: 1.3vw;
	width: fit-content;
	margin: 0 auto 1.8vw;
	line-height: 1.5;
}
.online-fv__title{
	font-family: var(--font-maru);
	font-weight: 700;
	text-align: center;
	font-size: 6.3vw;
	color: var(--main-color);
	margin-bottom: 0.8vw;
	line-height: 1.3;
}
.online-fv__title-sub{
	display: block;
	width: fit-content;
	margin: 0 auto;
	font-size: 2.4vw;
	color: var(--font-color);
	padding-left: 2.9vw;
	background: url("../images/logo-icon.svg") center left / 2vw auto no-repeat;
}
.online-fv__text{
	text-align: center;
	font-weight: 700;
	color: var(--main-color);
}
.online-fv__list{
	display: grid;
	gap: 5vw;
	grid-template-columns: repeat(3, 1fr);
	padding: 1.3vw 2vw;
	border-radius: 6px;
	-webkit-backdrop-filter: blur(15px) brightness(1.04);
	backdrop-filter: blur(15px) brightness(1.04);
	background: rgba(255,255,255,0.15);
	margin-block: 2vw 3.6vw;
}
.online-fv__list-item{
	position: relative;
	z-index: 0;
}
.online-fv__list-item:not(:last-of-type)::after{
	content: "";
	position: absolute;
	right: -2.5vw;
	top: 0;
	width: 1px;
	height: 100%;
	border-right: 1px dashed var(--main-color);
}
.online-fv__list-icon{
	margin-bottom: 1vw;
	display: block;
}
.online-fv__list-icon img{
	width: 2.3vw;
	height: auto;
}
.online-fv__list-text{
	font-size: 0.9vw;
	font-weight: 700;
}
.online-fv .online-btn{
	margin-inline: auto;
}

/* about */
.about .inner{
	padding-bottom: clamp(60px, 7.6vw, 145px);
}
.about-box{
	background-color: var(--white-color);
	border-radius: 10px;
	padding: clamp(25px, 2.6vw, 50px) 30px;
	gap: clamp(20px, 2vw, 40px);
	position: relative;
	z-index: 0;
	margin-bottom: clamp(40px, 4.9vw, 95px);
}
.about-box::before{
	content: "";
	position: absolute;
	right: -30px;
	top: -40px;
	width: clamp(90px, 7.3vw, 140px);
	height: clamp(120px, 8.8vw, 170px);
	background: url("../images/online/question.svg") center center / contain no-repeat;
}
.about-box__what{
	display: grid;
	place-content: center;
	place-items: center center;
	text-align: center;
	font-weight: 700;
	width: 113px;
	height: 113px;
	border-radius: 60px;
	border: 1px solid var(--main-color);
	color: var(--main-color);
	position: absolute;
	left: 30px;
	top: 50%;
	transform: translateY(-50%);
}
.about-box__title{
	text-align: center;
	color: var(--main-color);
	margin-bottom: 15px;
	font-size: var(--fontsize-25);
	font-weight: 700;
}
.about-box__text{
	line-height: 1.9;
	font-size: var(--fontsize-15);
	text-align: center;
	font-weight: 700;
}
.about-list{
	display: grid;
	gap: clamp(40px, 4.1vw, 80px);
	grid-template-columns: repeat(3, 1fr);
	position: relative;
	z-index: 0;
}
.about-list::before{
	content: "";
	position: absolute;
	left: -10%;
	top: 0;
	width: 77px;
	height: 77px;
	background: url("../images/online/decoration-closs.png") center center / contain no-repeat;
}
.about-list::after{
	content: "";
	position: absolute;
	right: -10%;
	bottom: -20%;
	width: 77px;
	height: 77px;
	background: url("../images/online/decoration-triangular.png") center center / contain no-repeat;
}
.about-list__item{
	position: relative;
	z-index: 0;
}
.about-list__item:not(:last-child)::after{
	content: "";
	position: absolute;
	right: calc(clamp(20px, 2vw, 40px) * -1);
	top: 0;
	width: 1px;
	height: 100%;
	border-right: 1px dashed var(--main-color);
}
.about-list__step{
	width: 95px;
	border-radius: 30px;
	background-color: #fff;
	padding: 2px 2px 2px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--font-en);
	color: var(--main-color);
	margin-bottom: 24px;
	line-height: 1;
}
.about-list__step > span{
	height: 24px;
	width: 24px;
	background-color: var(--main-color);
	border-radius: 15px;
	display: grid;
	place-content: center;
	place-items: center center;
	color: #fff;
	font-size: 12px;
	line-height: 1;
}
.about-list__title{
	font-size: var(--fontsize-28);
	font-weight: 700;
	margin-bottom: clamp(15px, 1.8vw, 35px);
	color: var(--main-color);
}
.about-list__item .line-btn{
	margin-top: clamp(30px, 2.9vw, 55px);
	position: relative;
}
.about-list__item .line-btn::before{
	content: "↓";
	position: absolute;
	left: 0;
	top: calc(clamp(28px, 2vw, 40px) * -1);
}
.about-list__item-flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px;
	align-items: flex-start;
}
.about-list__item-flex .about-list__text{
	flex: 1;
}
.about-list__item-flex img{
	width: clamp(60px, 5.5vw, 105px);
	height: auto;
}
.about-list__item:nth-child(3) img{
	width: clamp(120px, 10.4vw, 200px);
	height: auto;
	margin: 20px 0 0 auto;
}
.about__bg-title{
	background-color: var(--main-color);
	padding: 8px 10px;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	font-size: var(--fontsize-20);
	font-weight: 500;
	margin-bottom: 24px;
	font-family: var(--font-maru);
	margin-top: clamp(60px, 7.8vw, 150px);
	position: relative;
	z-index: 0;
}
.about__bg-title::before{
	content: "";
	position: absolute;
	left: 50%;
	top: calc(clamp(50px, 5.2vw, 100px) * -1);
	transform: translateX(-50%);
	width: clamp(40px, 3.1vw, 60px);
	height: clamp(40px, 3.1vw, 60px);
	background: url("../images/online/bottom-arrow.svg") center center / contain no-repeat;
}
.about__consult {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr 1fr;
	grid-template-areas:
		"header header"
		"body   img";
	align-items: start;
	position: relative;
	z-index: 0;
}
.about__consult::before{
	content: "";
	position: absolute;
	left: -5%;
	top: calc(clamp(40px, 5.7vw, 110px) * -1);
	padding: clamp(90px, 9.9vw, 190px);
	background-image: url("../images/bg-logo-green.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
	animation: 60s linear infinite rotateForever;
	transition: 1.5s;
}
.about__consult-header {
	grid-area: header;
	display: flex;
	align-items: flex-end;
	gap: clamp(30px, 6.2vw, 120px);
}
.about__consult-head { flex: 0 0 auto; }
.about__consult-fuki { flex: 1; }
.about__consult-body { grid-area: body; }
.about__consult-img  { grid-area: img; }

.about__consult-title {
	font-size: var(--fontsize-28);
	font-weight: 700;
	line-height: 2;
}
.about__consult-title-bg {
	background: linear-gradient(transparent 60%, #AFC78D 40%);
}
.about__consult-title-dot {
	display: inline-block;
	padding-top: 0.2em;
	background-image: radial-gradient(circle, var(--main-color) 2.75px, transparent 3.25px);
	background-repeat: repeat-x;
	background-size: 1em 0.5em;
	background-position: 0 0;
}
.about__consult-img{
	width: 31.5vw;
	margin-right: -9%;
	margin-top: -30px;
	position: relative;
}
.about__consult-body{
	width: 670px;
}
.about__consult-body > p{
	line-height: 2;
	letter-spacing: 0.1em;	
}
.about__consult-body > p:not(:first-of-type){
	margin-top: 1.5em;
}
.about__consult-body > p:last-of-type{
	margin-bottom: clamp(30px, 3.4vw, 65px);
}

/* menu */
.menu{
	padding-bottom: clamp(80px, 9.1vw, 175px);
	position: relative;
	z-index: 0;
}
.menu__box{
	-webkit-backdrop-filter: blur(5px) brightness(1.04);
	backdrop-filter: blur(5px) brightness(1.04);
	background: rgba(255,255,255,0.15);
	width: min(90%,1535px);
	margin-inline: auto;
	padding-block: clamp(40px, 5.7vw, 110px);
}
.menu__inner{
	width: min(90%,1200px);
	margin-inline: auto;
}
.menu-list{
	display: grid;
	gap: clamp(25px, 2.6vw, 50px);
	grid-template-columns: repeat(3, 1fr);
}
.menu-list__item{
	background-color: #D0E2CC;
	display: flex;
	flex-wrap: wrap;
}
.menu-list__item:nth-child(2){
	background-color: #E8D7C7;
}
.menu-list__item:nth-child(3){
	background-color: #DEDAD4;
}
.menu-list__head{
	writing-mode: vertical-rl;
	display: grid;
	place-content: center;
	place-items: start center;
	background-color: var(--main-color);
	padding: 16px 12px;
}
.menu-list__item:nth-child(2) .menu-list__head{
	background-color: #DE6A06;
}
.menu-list__item:nth-child(3) .menu-list__head{
	background-color: #898279;
}
.menu-list__title{
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #fff;
	line-height: 1.5;
}
.menu-list__body{
	padding: 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
}
.menu-list__link{
	display: block;
	width: 100%;
	background-color: var(--white-color);
	border: 1px solid var(--white-color);
	transition: border-color var(--trans-base);
	padding: 16px 18px;
	border-radius: 4px;
	line-height: 1.5;
}
.menu-list__link:hover{
	border-color: var(--main-color);
}
.menu-list__item:nth-child(2) .menu-list__link:hover{
	border-color: #DE6A06;
}
.menu-list__item:nth-child(3) .menu-list__link:hover{
	border-color: #898279;
}
.menu-list__link-text{
	padding-left: 30px;
	position: relative;
	z-index: 0;
}
.menu-list__link-text::before{
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 17px;
	height: 17px;
	background: url("../images/online/maru-green.svg") center center / contain no-repeat;
}
.menu-list__item:nth-child(2) .menu-list__link-text::before{
	background-image: url("../images/online/maru-orange.svg");
}
.menu-list__item:nth-child(3) .menu-list__link-text::before{
	background-image: url("../images/online/maru-gray.svg");
}
.menu__en {
	display:flex;
	position:absolute;
	left: 0;
	bottom: clamp(20px, 4.7vw, 90px);
	z-index: -1;
	pointer-events: none;
	width: auto;
}
.menu__en li {
	animation:text-loop 200s linear 0s infinite;
	height: clamp(100px, 10.1vw, 195px);
	flex-shrink: 0; 
}
.menu__en li:nth-child(2) {
	animation:text-loop2 200s linear -100s infinite;
}
.menu__en li img{
	height: 100%;
	width: auto;
	display: block;
}
@keyframes text-loop {
	0% {
		transform:translateX(100%)
	}
	to {
		transform:translateX(-100%)
	}
}
@keyframes text-loop2 {
	0% {
		transform:translateX(0)
	}
	to {
		transform:translateX(-200%)
	}
}

/* features */
.features{
	background-color: var(--white-color);
}
.features-list{
	display: grid;
	gap: clamp(30px, 2.9vw, 55px);
	grid-template-columns: repeat(4, 1fr);
}
.features-list__item{
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 24px;
}
.features-list__img img{
	width: min(100%,258px);
	height: auto;
	margin-inline: auto;
}
.features-list__title{
	text-align: center;
	font-size: var(--fontsize-18);
	font-weight: 700;
}
.features-list__box{
	padding: 16px;
	border: 1px solid var(--gray-color);
	font-size: var(--fontsize-14);
	height: 100%;
}
.treatment{
	background-image: url("../images/online/treatment-bg-top.webp"), url("../images/online/treatment-bg-bottom.webp"), linear-gradient(to bottom, #D6E5D7, #CFDED0);
	background-position: center top clamp(30px, 4.9vw, 95px), center bottom, center center;
	background-size: 100% auto, 100% auto, cover;
	background-repeat: no-repeat;	
}
.treatment-list{
	display: grid;
	grid-column-gap: 24px;
	grid-row-gap: 20px;
	grid-template-columns: repeat(2, 1fr);
}
.treatment-list__box{
	-webkit-backdrop-filter: blur(5px) brightness(1.04);
	backdrop-filter: blur(5px) brightness(1.04);
	background: rgba(255,255,255,0.15);
	padding: 30px;
	height: 100%;
}
.treatment-list__title{
	color: var(--main-color);
	margin-bottom: 10px;
	font-size: var(--fontsize-18);
	padding-left: 30px;
	position: relative;
	z-index: 0;
}
.treatment-list__title::before{
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	display: block;
	width: 22px;
	height: 18px;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;	
}
#dry-eye .treatment-list__title::before{
	background-image: url("../images/online/icon-dry-eye.svg")
}
#allergic .treatment-list__title::before{
	background-image: url("../images/online/icon-allergic.svg")
}
#myopia .treatment-list__title::before{
	background-image: url("../images/online/icon-myopia.svg")
}
#diet .treatment-list__title::before{
	background-image: url("../images/online/icon-diet.svg")
}
#medicine .treatment-list__title::before{
	background-image: url("../images/online/icon-medicine.svg")
}
#counseling .treatment-list__title::before{
	background-image: url("../images/online/icon-counseling.svg")
}
#after-pill .treatment-list__title::before{
	background-image: url("../images/online/icon-after-pill.svg")
}
#aga .treatment-list__title::before{
	background-image: url("../images/online/icon-aga.svg")
}
#sexually .treatment-list__title::before{
	background-image: url("../images/online/icon-sexually.svg")
}
#ed .treatment-list__title::before{
	background-image: url("../images/online/icon-ed.svg")
}
.treatment-list__text{
	font-size: var(--fontsize-14);
}
.treatment-list__sub{
	font-size: var(--fontsize-14);
	color: var(--main-color);
	margin-top: 10px;
}
.treatment-accordion{
	overflow: hidden;
	margin-top: 20px;
}
.treatment-accordion__trigger{
	border: none;
	background-color: transparent;
	display: block;
	cursor: pointer;
	width: 100%;
	text-align: justify;
	position: relative;
	padding: 0;
}
.treatment-accordion__title{
	padding: 14px 50px 14px 15px;
	position: relative;
	background-color: var(--white-color);
	border: 1px solid rgba(46,52,41,0.2);
	font-weight: 700;
	font-size: var(--fontsize-13);
	color: var(--main-color);
}
.treatment-accordion__icon{
	position: absolute;
	right: 13px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	display: block;
	width: 26px;
	height: 26px;
	background: url("../images/maru-arrow.svg") center center / contain no-repeat;
}
.treatment-accordion__trigger.is-open .treatment-accordion__icon {
	transform: translateY(-50%) rotate(90deg) scale(-1,1);
}
.treatment-accordion__panel[hidden] { 
	display: none;
}
.treatment-accordion__panel {
	overflow: hidden;
}
.treatment-accordion__inner {
	transform-origin: top;
	transform: scaleY(0);
	transition: transform ease 0.5s;
	padding-top: 24px;
}
.treatment-accordion__panel.is-open .treatment-accordion__inner {
	transform: scaleY(1);
}
.maru-list{
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, 1fr);
}
.maru-list__item{
	padding-left: 30px;
	position: relative;
	z-index: 0;
	line-height: 1.5;
}
.maru-list__item::before{
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 17px;
	height: 17px;
	background: url("../images/online/maru-green.svg") center center / contain no-repeat;
}

/* flow */
.flows__wrap{
	position: relative;
	z-index: 0;
	padding-bottom: clamp(40px, 4.1vw, 80px);
}
.flows__wrap::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: clamp(20px, 2vw, 40px);
	width: 100%;
	height: 166px;
	border-radius: 6px;
	background-color: #E0DCDA;
	z-index: -1;
}
.flows__inner{
	margin-inline: 30px;
	padding-inline: clamp(45px, 3.4vw, 65px);
}
.flows__slider{
	margin-bottom: 0 !important;
}
.flows__slider .slick-track {
	display: flex;
	align-items: center;
}
.flows__slider .slick-slide {
	box-sizing: border-box;
	padding: 0 8px;
  	height: auto;
}
.flows__slider .slick-list {
	margin: 0 -8px;
}
.flows__slider .slick-dots{
	bottom: calc(clamp(40px, 4.1vw, 80px) * -1) !important;
}
.flows__slider .slick-dots li{
	width: auto !important;
	height: auto !important;
	margin: 0 6px !important;
}
.flows__slider .slick-dots li button{
	padding: 0 !important;
	width: 28px !important;
	height: 4px !important;
	background-color: #C7C3C0 !important;
}
.flows__slider .slick-dots li.slick-active button{
	background-color: var(--main-color) !important;
}
.flows__slider .slick-dots li button::before{
	display: none !important;
}
.flows__slider .slick-next, 
.flows__slider .slick-prev {
	width:36px;
	height:36px;
}
.flows__slider .slick-prev {
	left: calc(clamp(45px, 3.4vw, 65px) * -1);
}
.flows__slider .slick-next {
	right: calc(clamp(45px, 3.4vw, 65px) * -1);
}
.flows__slider .slick-next:before {
	content:"";
	background: url("../images/maru-next.svg") center center / contain no-repeat;
	width: 100%;
	height: 100%;
	display: block;
}
.flows__slider .slick-prev:before {
	content:"";
	background: url("../images/maru-prev.svg") center center / contain no-repeat;
	width: 100%;
	height: 100%;
	display: block;
}
.flows__item{
	display: flex !important;
	justify-content: space-between;
	align-items: flex-start;
	gap: clamp(30px, 4.9vw, 95px);
}
.flows__icon{
	position: relative;
	z-index: 0;
}
.flows__icon::before{
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: calc(clamp(30px, 4.9vw, 95px) * -1);
	width: clamp(30px, 4.9vw, 95px);
	height: 1px;
	border-top: 1px dashed var(--main-color);
	z-index: -1;
}
.flows__icon img{
	height: clamp(35px, 2.6vw, 50px);
	width: auto;
}
.flows__box{
	flex: 1;
	-webkit-backdrop-filter: blur(5px) brightness(1.04);
	backdrop-filter: blur(5px) brightness(1.04);
	background: rgba(255,255,255,0.15);
	padding: clamp(20px, 2vw, 40px) clamp(30px, 3.4vw, 65px);
}
.flows__head{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 15px;
}
.flows__step{
	width: 95px;
	border-radius: 30px;
	background-color: #fff;
	padding: 2px 2px 2px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--font-en);
	color: var(--main-color);
	line-height: 1;
}
.flows__step > span{
	height: 24px;
	width: 24px;
	background-color: var(--main-color);
	border-radius: 15px;
	display: grid;
	place-content: center;
	place-items: center center;
	color: #fff;
	font-size: 12px;
	line-height: 1;
}
.flows__title{
	flex: 1;
	color: var(--main-color);
	font-weight: 700;
}
.flows__item .line-btn{
	margin: 28px auto 0;
}


/* reserve */
.reserve__bg{
	background-color: var(--white-color);
}
.reserve__bg > .inner{
	padding-block: clamp(40px, 4.1vw, 80px);
}
.reserve-list{
	display: grid;
	grid-column-gap: 30px;
	grid-row-gap: 20px;
	grid-template-columns: repeat(5, 1fr);
}
.reserve-list__item{
	border: 1px solid var(--main-color);
	border-radius: 5px;
	color: var(--main-color);
	font-weight: 700;
	text-align: center;
	display: grid;
	place-content: center;
	place-items: center center;
	min-height: 70px;
	padding: 10px;
	line-height: 1.5;
	font-size: var(--fontsize-16);
}
.reserve__inner{
	padding-bottom: clamp(40px, 5.7vw, 110px);
	margin-bottom: clamp(40px, 5.7vw, 110px);
	border-bottom: 1px solid var(--gray-color);
	width: min(90%,1200px);
	margin-inline: auto;
	padding-top: clamp(30px, 2.6vw, 50px);
}
.reserve__inner .online-btn{
	margin-inline: auto;
}

/* faq */
.faq{
	position: relative;
	z-index: 0;
}
.faq::before{
	content: "";
	position: absolute;
	right: -5%;
	bottom: 5%;
	padding: clamp(120px, 11.5vw, 220px);
	background-image: url("../images/bg-logo-green.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
	animation: rotateForever 60s linear infinite;
	transition: all ease 1.5s;
}
.faq::after{
	content: "";
	position: absolute;
	left: 15%;
	top: 15%;
	padding: clamp(60px, 6.2vw, 120px);
	background-image: url("../images/bg-logo-green.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
	animation: rotateForeverReverse 40s linear infinite;
	transition: all ease 1.5s;
}
.faq_inner{
	width: min(90%,1200px);
	margin-inline: auto;
	padding-bottom: clamp(50px, 6.8vw, 130px);
}
.c-faq-list__title{
	font-family: var(--font-text) !important;
}
@media screen and (max-width: 1600px) {
	.about__consult::before{
		left: 5%;
	}
	.about-list::before{
		left: -5%;
	}
	.about-list::after{
		right: -5%;
	}
	.faq::before{
		right: -12%;
		bottom: 0%;
	}
	.faq::after{
		left: 7%;
		top: 22%;
	}
}
@media screen and (max-width: 1400px) {
	.online-fv{
		background-position: right -20px bottom, center center;
	}
	.online-fv__body{
		width: 67vw;
		left: 30px;
	}
	.online-fv__list-text{
		font-size: 14px;
	}
	.online-fv__list-icon img{
		width: 30px;
		margin-bottom: 10px;
	}
	.online-fv__list{
		gap: 40px;
		padding: 20px 25px;
	}
	.online-fv__list-item:not(:last-of-type)::after{
		right: -20px;
	}
	.online-fv__list{
		margin-block: 32px 48px;
	}
}
@media screen and (max-width: 1200px) {
	.about__consult-img{
		width: auto;
		flex: 1;
		margin-right: 0;
	}
	.about__consult-body{
		width: 450px;
	}
}
@media screen and (max-width: 1100px) {
	.online-fv{
		height: calc(100vh - 60px);
	}
	.online-fv__fuki{
		font-size: 15px;
		padding: 22px 22px 27px 22px;
		margin-bottom: 18px;
	}
	.online-fv__title-sub{
		font-size: 19px;
		padding-left: 24px;
		background-size: 17px auto;
	}
	.online-fv__title{
		font-size: 48px;
		margin-bottom: 20px;
	}
	.online-fv__text{
		font-size: 14px;
	}
	.about-box__what{
		position: relative;
		left: 0;
		top: auto;
		transform: translateY(0%);
		margin: 0 auto 15px;
	}
	.about-list{
		grid-template-columns: repeat(1, 1fr);
	}
	.about-list__item:not(:last-child)::after{
		right: auto;
		left: 0;
		top: auto;
		bottom: -20px;
		width: 100%;
		height: 1px;
		border-right: none;
		border-top: 1px dashed var(--main-color);
	}
	.about-list::before{
		left: auto;
		right: 0;
	}
	.about-list::after{
		right: auto;
		left: -5%;
		bottom: 0;
	}
	.menu-list{
		grid-template-columns: repeat(1, 1fr);
	}
	.features-list{
		grid-template-columns: repeat(2, 1fr);
	}
	.reserve-list{
		gap: 20px;
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width:820px) {
	:root {
		--fontsize-20: 18px;
		--fontsize-19: 17px;
		--fontsize-18: 16px;
		--fontsize-17: 15px;
		--fontsize-16: 14px;
		--fontsize-15: 13px;
	}
	.online-fv{
		width: 100%;
		height: auto;
		min-height: calc(100vh - 43px);
		border-radius: 0;
		margin-bottom: 0;
		padding-bottom: 30px;
	}
	.online-fv__body{
		position: relative;
		top: auto;
		transform: translateY(0);
	}
	.about__consult {
		grid-template-columns: 1fr;
		grid-template-areas:
			"header"
			"img"
			"body";
	}
	.about__consult::before{
		left: auto;
		right: -30%;
	}
	.about__consult-header {
		flex-direction: column;
		align-items: stretch;
	}
	.about__consult-fuki,
	.about__consult-img{
		width: min(100%,350px);
		margin-inline: auto;
	}
	.about__consult-body{
		width: 100%;
	}
	.about .online-btn{
		margin-inline: auto;
	}
	.treatment-list__box{
		padding: 20px;
	}
	.treatment-list{
		gap: 20px;
	}
	.flows__inner{
		margin-inline: 15px;
	}
	.menu-list__link{
		padding: 15px;
	}
	.menu-list__link-text{
		padding-left: 22px;
	}
	.menu-list__link-text::before{
		width: 15px;
		height: 15px;
	}
	.features-list__item{
		gap: 15px;
	}
}
@media screen and (max-width:640px) {
	.online-fv{
		background-image: url("../images/online/online-fv-img.webp"), url("../images/online/online-fv-bg-sp.webp");
		padding-top: 75px;
		background-size: 374px auto, cover;
		background-position: right -126px bottom, center center;
	}
	.online-fv__body{
		width: 90%;
		left: 5%;
	}
	.online-fv__fuki{
		margin: 0 auto 10px 0;
		font-size: 13px;
		padding: 18px 17px 24px 17px;
	}
	.online-fv__title{
		margin-bottom: 10px;
	}
	.online-fv__list{
		margin-block: 20px 30px;
		width: calc(100% - 120px);
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}
	.online-fv__list{
		padding: 15px;
	}
	.online-fv__list-text{
		font-size: 13px;
	}
	.online-fv__list-item:not(:last-of-type)::after{
		right: auto;
		top: auto;
		left: 0;
		bottom: -10px;
		width: 100%;
		height: 1px;
		border-right: none;
		border-top: 1px dashed var(--main-color);
	}
	.online-fv__list-icon img{
		margin-bottom: 5px;
	}
	.about-box::before{
		right: -15px;
	}
	.about-list__step{
		margin-bottom: 10px;
	}
	.features-list{
		grid-template-columns: repeat(1, 1fr);
	}
	.features-list__img img{
		width: min(100%,200px);
	}
	.treatment{
		background-image: url("../images/online/treatment-bg-top-sp.webp"), url("../images/online/treatment-bg-bottom-sp.webp"), linear-gradient(to bottom, #D6E5D7, #CFDED0);
	}
	.treatment-list{
		grid-template-columns: repeat(1, 1fr);
	}
	.flows__inner{
		margin-inline: 0;
	}
	.flows__icon{
		display: none;
	}
	.flows__head{
		gap: 5px;
	}
	.flows__title{
		flex: auto;
		width: 100%;
	}
	.flows__box{
		padding: 20px;
	}
	.reserve-list{
		gap: 15px;
		grid-template-columns: repeat(2, 1fr);
	}
	.reserve-list__item{
		padding: 10px 5px;
	}
}