@charset "UTF-8";

/*
@media ( max-width: 767px ){
　スマホレイアウト、VW指定
}
@media ( min-width: 768px ){
　タブレット・PC（1140px）レイアウト
　min(1.5385vw, 20px)　⇒　min(タブレット、PC）
}
*/

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}
@font-face {
	font-family: 'Noto Sans JP';
	src: local(''), url('font/NotoSansJP.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'din_pro_regular';
	src: local(''), url('font/D-DIN-PRO-400-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'din_pro_semi';
	src: local(''), url('font/d-din-pro-semi-bold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'din_pro_bold';
	src: local(''), url('font/D-DIN-PRO-700-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

.jost {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 400;
	color: #000;
	background: #bab4a7;
}
a {
	text-decoration: none;
	color: var(--navy);
}
@media ( min-width: 1060px ){
	.sptab {
		display: none !important;
	}
}
@media ( min-width: 768px ){
	body {
		font-size: 16px;
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 410px;
		padding: 0 30px;
		margin-inline: auto;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media ( max-width: 1200px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 767px ){
	body {
		font-size: 4.2667vw;
		letter-spacing: 0;
	}
	.pc,
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 5.3333vw;
	}
}

:root {
	--width: 1495;
	--redbrown: #5b2a42;
	--gold: #d5b338;
	--pink: #a52f68;
	
	
}

@media ( min-width: 768px ){
}
@media ( max-width: 767px ){
}

/* pc */
.lp_container {
	position: relative;
	height: 100vh;
}
.main_content {
	width: 100%;
	margin: 0 auto;
	min-height: 100vh;
	overflow: hidden;
	background: #ede8de;
}
.pc_menu {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	z-index: 2;
	background: url("img/pc_menu_bg.svg") no-repeat center / cover;
	object-fit: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.cta a {
	display: inline-block;
	transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
	.cta a:hover {
		opacity: 0.7;
	}
}
.pc_slider {
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	z-index: 2;
}
.splide__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media ( min-width: 768px ){
	.fix_btn {
		display: none;
	}
	.main_content {
		max-width: 470px;
	}
	.pc_menu,
	.pc_slider {
		width: calc((100% - 470px) / 2 );
	}
	.pc_menu {
		gap: 70px 0;
	}
	.pc_menu .logo {
		width: 145.5px;
		height: auto;
		margin: 0 auto;
	}
	.pc_menu .nav li a {
		color: #fff;
		font-size: 11px;
		line-height: 3.6;
		transition: color 0.3s ease-in-out;
	}
	.pc_menu .nav li a.active {
		color: var(--gold);
	}
	.pc_menu .cta .cta01 {
		width: 228.37px;
		margin: 0 auto 10px;
		max-width: 100%;
	} 
	.pc_menu .cta .cta02 {
		width: 260px;
		max-width: 100%;
	} 
	@media (hover: hover) {
		.pc_menu .nav li a:hover {
			color: var(--gold);
		}
	}
}
@media ( max-width: 767px ){
	.pc_menu,
	.pc_slider{
		display: none;
	}
	.fix_btn {
		display: none;
		position: fixed;
		z-index: 100;
		background: #fff;
		top: 0;
		left: 0;
		width: 100%;
	}
	.fix_btn div {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0 6.383vw;
		padding: 2.766vw 3.1915vw 2.5532vw;
	}
	.fix_btn a {
		display: inline-block;
	}
	.main_content {
		width: 100%;
	}
}

/* .fv */
.fv {
	background: url("img/fv.png") no-repeat 0 0 / 100% auto;
	position: relative;
}
.fv .logo span {
	display: block;
	font-weight: 500;
}
.fv .logo img {
	margin: 0 auto;
}
.fv .note {
	line-height: 1.2;
}
@media ( min-width: 768px ){
	.fv {
		padding: 38px 0 12px;
	}
	.fv .ti01 {
		width: 204px;
		margin: 0 0 25.5px 36px;
	}
	.fv .ti02 {
		width: 355px;
		margin: 0 auto 5px;
	}
	.fv .ti03 {
		width: 424px;
		margin: 0 0 12px 12px;
	}
	.fv .note {
		font-size: 10px;
		margin-bottom: 12px;
	}
	.fv .cta .cta01 {
		width: 325.5px;
		margin: 0 auto 10px;
	}
	.fv .cta .cta02 {
		width: 370.5px;
		margin: 0 auto 55px;
	}
	.fv .logo span {
		font-size: 27.5px;
		margin: 0 0 19px;
	}
	.fv .logo img {
		width: 294px;
	}
}
@media ( max-width: 767px ){
	.fv {
		padding: 8.0851vw 0 2.5532vw;
	}
	.fv .ti01 {
		width: 43.4043vw;
		margin: 0 0 5.4255vw 7.6596vw;
	}
	.fv .ti02 {
		width: 75.5319vw;
		margin: 0 auto 1.0638vw;
	}
	.fv .ti03 {
		width: 90.212vw;
		margin: 0 0 2.5532vw 2.5531vw;
	}
	.fv .note {
		font-size: 2.1277vw;
		margin-bottom: 2.5532vw;
	}
	.fv .cta .cta01 {
		width: 67.812vw;
		margin: 0 auto 2.127vw;
	}
	.fv .cta .cta02 {
		width: 78.829vw;
		margin: 0 auto 11.7021vw;
	}
	.fv .logo span {
		font-size: 5.8511vw;
		margin: 0 0 4.0426vw;
	}
	.fv .logo img {
		width: 62.5532vw;
	}
}

/* .ranking */
.ranking .rank_box {
	position: relative;
	z-index: 1;
}
.ranking .rank_box::before {
	content: "";
	background: url("img/ranking_shadow.png") no-repeat 0 0 / cover;
	position: absolute;
}
.ranking .rank_box dl {
	text-align: left;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	z-index: 2;
}
.ranking .rank_box:nth-child(1) dl {
	background: url("img/ranking_bg01.png") no-repeat right 0 / 100% auto;
}
.ranking .rank_box:nth-child(2) dl {
	background: url("img/ranking_bg02.png") no-repeat 0 0 / 100% auto;
}
.ranking .rank_box:nth-child(3) dl {
	background: url("img/ranking_bg03.png") no-repeat 0 0 / 100% auto;
}
.ranking .rank_box dl::after {
	content: "";
	position: absolute;
}
.ranking .rank_box:nth-child(1) dl:after {
	background: url("img/ranking_icon01.png") no-repeat 0 0 / contain;
}
.ranking .rank_box:nth-child(2) dl:after {
	background: url("img/ranking_icon02.png") no-repeat 0 0 / contain;
}
.ranking .rank_box:nth-child(3) dl:after {
	background: url("img/ranking_icon03.png") no-repeat 0 0 / contain;
}
.ranking .rank_box:nth-child(1) dt {
	color: #142a53;
} 
.ranking .rank_box:nth-child(2) dt {
	color: #603708;
} 
.ranking .rank_box:nth-child(3) dt {
	color: #642d37;
}
.ranking .rank_box dt span {
	font-family: "Jost", sans-serif;
} 
.ranking .rank_box dd .ingredient .jost {
	font-weight: 500;
}
.ranking .rank_box:nth-child(1) dd .ingredient {
	color: #142a53;
} 
.ranking .rank_box:nth-child(2) dd .ingredient {
	color: #603708;
} 
.ranking .rank_box dd .ingredient .mg {
	font-family: 'din_pro_regular';
}
.ranking .rank_box dd .effect span {
	display: inline-block;
	font-weight: 500;
	color: #fff;
}
.ranking .rank_box dd .effect span.ef01 {
	background: #725b83;
}
.ranking .rank_box dd .effect span.ef02 {
	background: #608191;
}
.ranking .rank_box dd .effect span.ef03 {
	background: #66719c;
}
.ranking .rank_box dd .effect span.ef04 {
	background: #7e9781;
}
.ranking .rank_box dd .effect span.ef05 {
	background: #5a6372;
}
.ranking .rank_box dd .effect span.ef06 {
	background: #925f55;
}
.ranking .rank_box dd .effect span.ef07 {
	background: #a8838d;
}
.ranking .rank_box dd .effect span.ef08 {
	background: #925577;
}
.ranking .rank_box dd .price {
	text-align: right;
	display: inline-block;
	background: #fff;
	box-sizing: border-box;
	color: var(--pink);
	font-weight: 700;
	position: absolute;
	right: 0;
}
.ranking .rank_box dd .price .yen {
	position: relative;
}
.ranking .rank_box dd .price .yen::after {
	content: "（税込）";
	color: var(--pink);
	width: 3em;
	height: 1em;
	position: absolute;
	white-space: nowrap;
}
.ranking .rank_box dd .price .unit {
	color: #000;
}
.ranking .about dt {
	display: inline-block;
	font-weight: 500;
	letter-spacing: 0.15em;
	padding: 0 1.5em;
	position: relative;
}
.ranking .about dt::before,
.ranking .about dt::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.ranking .about dt::before {
	background: url("img/dot_line_left.png") no-repeat 0 0 / contain;
	left: 0;
}
.ranking .about dt::after {
	background: url("img/dot_line_right.png") no-repeat 0 0 / contain;
	right: 0;
}
.ranking .about dd span {
	display: block;
	font-weight: 500;
}
.ranking .about dd .img_box {
	margin: 0 auto;
}
.ranking .rank_box_wrap .note {
	text-align: right;
	font-weight: 700;
}
@media ( min-width: 768px ){
	.ranking {
		padding: 0 0 50px;
	}
	.ranking .sec_title_img {
		width: 298px;
		margin: 0 auto 50px;
	}
	.ranking .rank_box_wrap {
		padding: 0 0 0 48px;
		margin: 0 0 80px;
	}
    .ranking .rank_box_wrap .note {
        font-size: 17px;
        margin: 0 0 30px;
    }
	.ranking .rank_box::before {
		width: 470px;
		height: 255px;
		top: 58px;
		left: -48px;
	}
	.ranking .rank_box dl {
		width: 422.5px;
		height: 175px;
		gap: 15px 0;
		padding: 0 0 0 78px;
		margin: 0 0 50px;
	}
	.ranking .rank_box dl::after {
		width: 96.5px;
		height: 106.5px;
		top: -14px;
		left: -28px;
	}
	.ranking .rank_box dt {
		margin: 0 0 -15px;
	}
	.ranking .rank_box:nth-child(1) dt {
		font-size: 40px;
	} 
	.ranking .rank_box:nth-child(2) dt {
		font-size: 30.5px;
	} 
	.ranking .rank_box:nth-child(3) dt {
		font-size: 38.5px;
	}
	.ranking .rank_box dt span {
		font-size: 37px;
	} 
	.ranking .rank_box dd .ingredient {
		font-size: 16.5px;
		margin: 0 0 5px;
	}
	.ranking .rank_box dd .ingredient .jost {
		font-size: 20px;
	}
	.ranking .rank_box dd .ingredient .mg {
		font-size: 26.5px;
		margin: 0 0 0 10px;
	}
	.ranking .rank_box dd .effect span {
		padding: 3px 10px 4px;
		border-radius: 10px;
		font-size: 10px;
		margin: 0 3px 0 0;
	}
	.ranking .rank_box dd .price {
		width: 245px;
		padding: 16px 30px; 
		font-size: 38px;
		border-radius: 35px 0 0 35px;
		bottom: -35px;
	}
	.ranking .rank_box dd .price .yen {
		font-size: 25px;
	}
	.ranking .rank_box dd .price .yen::after {
		font-size: 8px;
		top: -1px;
		left: -4px;
	}
	.ranking .rank_box dd .price .unit {
		font-size: 17.5px;
		margin: 0 10px 0 0;
	}
	.ranking .worries {
		margin-bottom: 60px;
	}
	.ranking .worries .sec_title {
		margin: 0 0 20px;
	}
	.ranking .about dt {
		font-size: 20px;
		margin: 0 0 20px;
	}
	.ranking .about dt::before,
	.ranking .about dt::after {
		width: 13px;
		height: 24.5px;
	}
	.ranking .about dd span {
		font-size: 23px;
		margin: 0 0 13px;
	}
	.ranking .about dd .text_img {
		width: 361.5px;
		margin: 0 auto 40px;
	}
	.ranking .about dd .img_box {
		width: 367px;
	}
}
@media ( max-width: 767px ){
	.ranking {
		padding: 0 0 10.6383vw;
	}
	.ranking .sec_title_img {
		width: 63.4043vw;
		margin: 0 auto 10.6383vw;
	}
	.ranking .rank_box_wrap {
		padding: 0 0 0 10.2128vw;
		margin: 0 0 17.0213vw;
	}
    .ranking .rank_box_wrap .note {
        font-size: 3.617vw;
        margin: 0 0 6.383vw;
    }
	.ranking .rank_box::before {
		width: 100vw;
		height: 54.2553vw;
		top: 12.3404vw;
		left: -10.2128vw;
	}
	.ranking .rank_box dl {
		width: 89.8936vw;
		height: 37.234vw;
		gap: 3.1915vw 0;
		padding: 0 0 0 16.5957vw;
		margin: 0 0 10.6383vw;
	}
	.ranking .rank_box dl::after {
		width: 20.5319vw;
		height: 22.6596vw;
		top: -2.9787vw;
		left: -5.9574vw;
	}
	.ranking .rank_box dt {
		margin: 0 0 -3.1915vw;
	}
	.ranking .rank_box:nth-child(1) dt {
		font-size: 8.5106vw;
	} 
	.ranking .rank_box:nth-child(2) dt {
		font-size: 6.4894vw;
	} 
	.ranking .rank_box:nth-child(3) dt {
		font-size: 8.1915vw;
	}
	.ranking .rank_box dt span {
		font-size: 7.8723vw;
	} 
	.ranking .rank_box dd .ingredient {
		font-size: 3.5106vw;
		margin: 0 0 1.0638vw;
	}
	.ranking .rank_box dd .ingredient .jost {
		font-size: 4.2553vw;
	}
	.ranking .rank_box dd .ingredient .mg {
		font-size: 5.6383vw;
		margin: 0 0 0 2.1277vw;
	}
	.ranking .rank_box dd .effect span {
		padding: 0.6383vw 2.1277vw 0.8511vw;
		border-radius: 2.1277vw;
		font-size: 2.1277vw;
		margin: 0 0.6383vw 0 0;
	}
	.ranking .rank_box dd .price {
		width: 53vw;
		padding: 3.4043vw 6.383vw; 
		font-size: 8.0851vw;
		border-radius: 7.4468vw 0 0 7.4468vw;
		bottom: -7.4468vw;
	}
	.ranking .rank_box dd .price .yen {
		font-size: 5.3191vw;
	}
	.ranking .rank_box dd .price .yen::after {
		font-size: 1.7021vw;
		top: -0.2128vw;
		left: -0.8511vw;
	}
	.ranking .rank_box dd .price .unit {
		font-size: 3.7234vw;
		margin: 0 2.1277vw 0 0;
	}
	.ranking .worries {
		margin-bottom: 12vw;
	}
	.ranking .worries .sec_title {
		margin: 0 0 4vw;
	}
	.ranking .about dt {
		font-size: 4.2553vw;
		margin: 0 0 4.2553vw;
	}
	.ranking .about dt::before,
	.ranking .about dt::after {
		width: 2.766vw;
		height: 5.2128vw;
	}
	.ranking .about dd span {
		font-size: 4.8vw;
		margin: 0 0 2.766vw;
	}
	.ranking .about dd .text_img {
		width: 76.9149vw;
		margin: 0 auto 8.5106vw;
	}
	.ranking .about dd .img_box {
		width: 78.0851vw;
	}
}

/* .3articles */
.articles3 {
	background: url("img/3articles_bg.png") no-repeat center 0 / cover;
}
.articles3 .article {
	position: relative;
}
.articles3 .article .text_box {
	writing-mode: vertical-rl; 
	text-align: left;
	position: absolute;
}
.articles3 .article:nth-child(2) .text_box {
	right: auto;
}
.articles3 .article .text01,
.articles3 .article .text02 {
	display: inline-block;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.1em;
	font-weight: 500;
}
.articles3 .article .text01 {
	color: var(--redbrown);
	background: #fff;
}
.articles3 .article .text02 {
	color: #fff;
	background: #000;
}
.articles3 .article .text01 .ls1 {
	letter-spacing: -0.05em;
}
.articles3 .article .text01 .ls2 {
	letter-spacing: -0.5em;
}
.articles3 .article .text01 .num {
	text-combine-upright: all;
}
.articles3 .article p {
	font-weight: 500;
	line-height: 2;
}
.articles3 .article p span {
	display: inline-block;
	background: var(--redbrown);
	color: #fff;
	line-height: 1;
}

@media ( min-width: 768px ){
	.articles3 {
		padding: 70px 0;
	}
	.articles3 .sec_title_img {
		width: 384.5px;
		margin: 0 auto 36px;
	}
	.articles3 .article + .article {
		margin: 85px 0 0;
	}
	.articles3 .article .img_box {
		width: 367.5px;
		margin: 0 auto 40px;
	}
	.articles3 .article:nth-child(2) .img_box {
		width: 382px;
	}
	.articles3 .article .text_box {
		top: 85px;
		right: 20px;
	}
	.articles3 .article:nth-child(2) .text_box {
		left: 6px;
	}
	.articles3 .article .text01,
	.articles3 .article .text02 {
		font-size: 30px;
		padding: 9px;
		border-radius: 5px;
	}
	.articles3 .article:nth-child(1) .text01 {
		padding: 0 9px 9px;
	}
	.articles3 .article .text02 {
		margin-right: 15px;
	}
	.articles3 .article:nth-child(1) .text02 {
		margin-top: 75px;
	}
	.articles3 .article:nth-child(2) .text02 {
		margin-top: 37px;
	}
	.articles3 .article:nth-child(3) .text02 {
		margin-top: 52px;
	}
	.articles3 .article p {
		font-size: 19px;
	}
	.articles3 .article p span {
		padding: 3px 5px 5px;
		border-radius: 3px;
	}
}
@media ( max-width: 767px ){
	.articles3 {
		padding: 14.8936vw 0;
	}
	.articles3 .sec_title_img {
		width: 81.8085vw;
		margin: 0 auto 7.6596vw;
	}
	.articles3 .article + .article {
		margin: 18.0851vw 0 0;
	}
	.articles3 .article .img_box {
		width: 78.1915vw;
		margin: 0 auto 8.5106vw;
	}
	.articles3 .article:nth-child(2) .img_box {
		width: 81.2766vw;
	}
	.articles3 .article .text_box {
		top: 18.0851vw;
		right: 4.2553vw;
	}
	.articles3 .article:nth-child(2) .text_box {
		left: 1.2766vw;
	}
	.articles3 .article .text01,
	.articles3 .article .text02 {
		font-size: 6.383vw;
		padding: 1.9149vw;
		border-radius: 1.0638vw;
	}
	.articles3 .article:nth-child(1) .text01 {
		padding: 0 1.9149vw 1.9149vw;
	}
	.articles3 .article .text02 {
		margin-right: 3.1915vw;
	}
	.articles3 .article:nth-child(1) .text02 {
		margin-top: 15.9574vw;
	}
	.articles3 .article:nth-child(2) .text02 {
		margin-top: 7.8723vw;
	}
	.articles3 .article:nth-child(3) .text02 {
		margin-top: 11.0638vw;
	}
	.articles3 .article p {
		font-size: 4.0426vw;
	}
	.articles3 .article p span {
		padding: 0.6383vw 1.0638vw 1.0638vw;
		border-radius: 0.6383vw;
	}	
}

/* .cta_area */
.cta_area {
	background: url("img/cta_bg1.jpg") no-repeat 0 bottom / cover;
}
.cta_area .title {
	display: inline-block;
	font-weight: 700;
	padding: 0 0.75em;
	position: relative;
}
.cta_area .title::before,
.cta_area .title::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.cta_area .title::before {
	background: url("img/dot_line_left2.png") no-repeat 0 0 / contain;
	left: 0;
}
.cta_area .title::after {
	background: url("img/dot_line_right2.png") no-repeat 0 0 / contain;
	right: 0;
}
.cta_area .note,
.cta_area2 .note {
	line-height: 1.2;
}
.cta_area .title {
	display: flex;
	justify-content: center;
}
.cta_area .title .mini {
	line-height: 1.166;
	text-align: left;
}
.cta_area .title .mini .pink {
	color: var(--pink);
}
.cta_area .title .italic {
	display: inline-block;
	font-style: italic;
}
.cta_area .service {
	background: url("img/one_free_bg.png") no-repeat 0 0 / 100% auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.cta_area .service li {
	box-sizing: border-box;
	position: relative;
	text-align: left;
	z-index: 2;
}
.cta_area .service li:nth-child(2) span span {
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
} 
.cta_area .service li::before {
	content: "";
	background: url("img/icon_check.png") no-repeat 0 0 / contain;
	position: absolute;
	left: 0;
}
.cta_area .service li > span {
	display: inline-block;
	position: relative;
	font-weight: 700;
}
.cta_area .service li > span::before {
	content: "";
	background: #feff80;
	position: absolute;
	z-index: -1;
}

@media ( min-width: 768px ){
	.cta_area {
		padding: 37px 0;
	}
	.cta_area .title {
		font-size: 39px;
		margin: 0 0 12px;
		gap: 5px;
	}
	.cta_area .title::before,
	.cta_area .title::after {
		width: 22px;
		height: 40.5px;
	}
	.cta_area .title .mini {
		font-size: 15px;
	}
	.cta_area .title .mini .pink {
		font-size: 17.5px;
	}
	.cta_area .note,
	.cta_area2 .note {
		font-size: 10px;
		margin: 0 0 20px;
	}
	.cta_area .service {
		padding: 25px 15px;
		margin: 0 0 25px;
		gap: 25px 14px;
	}
	.cta_area .service li {
		padding: 0 0 0 15px;
	}
	.cta_area .service li:nth-child(2) span span {
		font-size: 12px;
		bottom: -15px;
	}
	.cta_area .service li::before {
		width: 16.5px;
		height: 16.5px;
		top: -5px;
	}
	.cta_area .service li > span {
		font-size: 18px;
	}
	.cta_area .service li > span::before {
		width: calc(100% + 10px);
		height: 10px;
		bottom: -3px;
		left: -5px;
	}
	.cta_area .service li > span span {
		font-size: 11px;
	}
	.cta .cta01 {
		width: 325.5px;
		margin: 0 auto 10px;
	}
	.cta .cta02 {
		width: 370.5px;
		margin: 0 auto;
	}
}
@media ( max-width: 767px ){
	.cta_area {
		padding: 7.8723vw 0;
	}
	.cta_area .title {
		font-size: 8.2979vw;
		margin: 0 0 2.5532vw;
	}
	.cta_area .title::before,
	.cta_area .title::after {
		width: 4.6809vw;
		height: 8.617vw;
	}
	.cta_area .title .mini {
		font-size: 3.191vw;
	}
	.cta_area .title .mini .pink {
		font-size: 3.723vw;
	}
	.cta_area .note,
	.cta_area2 .note {
		font-size: 2.1277vw;
		margin: 0 0 4.2553vw;
	}
	.cta_area .service {
		padding: 5.5vw 3.1915vw;
		margin: 0 0 5.3191vw;
		gap: 4.4vw 2.1277vw;
	}
	.cta_area .service li {
		padding: 0 0 0 4.2553vw;
	}
	.cta_area .service li::before {
		width: 3.5106vw;
		height: 3.5106vw;
		top: -1.0638vw;
	}
	.cta_area .service li > span {
		font-size: 3.8298vw;
	}
	.cta_area .service li > span::before {
		width: calc(100% + 2.1277vw);
		height: 2.1277vw;
		bottom: -0.6383vw;
		left: -1.0638vw;
	}
	.cta_area .service li:nth-child(2) span span {
		font-size: 2.553vw;
		bottom: -3.191vw;
	}
	.cta_area .service li > span span {
		font-size: 2.6vw;
	}
	.cta .cta01 {
		width: 67.812vw;
		margin: 0 auto 2.127vw;
	}
	.cta .cta02 {
		width: 78.829vw;
		margin: 0 auto;
	}
}

/* .menu */
.menu {
	background: #ede8de url("img/img02.jpg") no-repeat 0 0 / 100% auto;
	position: relative;
}
.menu::after {
	content: "";
	background: url("img/icon_plus.png") no-repeat 0 0 / contain;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.sec_title {
	color: var(--redbrown);
	font-weight: 500;
	position: relative;
	letter-spacing: 0.15em;
}
.sec_title span {
	display: block;
	font-family: "Jost", sans-serif;
	font-weight: 400;
	color: #8e5972;
}
.sec_title::after {
	content: "";
	background: url("img/title_grad_bdr.jpg") no-repeat 0 0 / contain;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.menu .sec_in {
	position: relative;
}
.menu .sec_in .off_img {
	position: absolute;
}
.menu .menu_list li {
	background: #fff;
	text-align: left;
}
.menu .menu_list dl dt {
	font-weight: 500;
	position: relative;
}
.menu .menu_list dl dt::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.menu .menu_list dl dt.injection::before {
	background: url("img/icon_injection.png") no-repeat 0 0 / contain;
}
.menu .menu_list dl dt.drip::before {
	background: url("img/icon_drip.png") no-repeat 0 0 / contain;
}
.menu .menu_list dl dd .ingredient {
	color: var(--redbrown);
	font-weight: 600;
	line-height: 1.15;
}
.menu .menu_list dl dd .effect span {
	display: inline-block;
	font-weight: 500;
	color: #fff;
}
.menu .menu_list dl dd .effect span.ef01 {
	background: #725b83;
}
.menu .menu_list dl dd .effect span.ef02 {
	background: #608191;
}
.menu .menu_list dl dd .effect span.ef03 {
	background: #66719c;
}
.menu .menu_list dl dd .effect span.ef04 {
	background: #925f55;
}
.menu .menu_list dl dd .effect span.ef05 {
	background: #7e9781;
}
.menu .menu_list dl dd .effect span.ef06 {
	background: #5a6372;
}
.menu .menu_list dl dd .effect span.ef07 {
	background: #a8838d;
}
.menu .menu_list dl dd .effect span.ef08 {
	background: #925577;
}
.menu .menu_list dl dd .effect span.ef09 {
	background: #8aa6b1;
}
.menu .menu_list dl dd .effect span.ef10 {
	background: #b44e4e;
}
.menu .menu_list dl dd .price {
	text-align: center;
}
.menu .menu_list dl dd .price.ta_r {
	text-align: right;
	position: relative;
}
.menu .menu_list dl dd .price span {
	display: inline-block;
}
.menu .menu_list dl dd .price .original {
	position: relative;
}
.menu .menu_list dl dd .price .original::after {
	content: "";
	background: url("img/price_down_arw.png") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.menu .menu_list dl dd .price .original .num {
	font-weight: 600;
	position: relative;
}
.menu .menu_list dl dd .price .original .num::after {
	content: "";
	background: var(--pink);
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform-origin: center;
	transform: rotate(15deg) translateY(-50%);
}
.menu .menu_list dl dd .price .original .yen {
	font-weight: 900;
	position: relative;
}
.menu .menu_list dl dd .price .original .yen::before {
	content: "（税込）";
	color: #000;
	font-weight: 500;
	width: 4em;
	height: 1em;
	position: absolute;
	top: -1em;
}
.menu .menu_list dl dd .price .first {
	color: var(--pink);
	font-weight: 700;
	line-height: 1.1;
}
.menu .menu_list dl dd .price .off {
	font-family: 'din_pro_bold';
	color: #fff;
	font-weight: 700;
	background: var(--pink);
}
.menu .menu_list dl dd .price .discount {
	color: var(--pink);
	font-weight: 600;
}
.menu .menu_list dl dd .price .discount .yen {
	font-weight: 900;
	position: relative;
}
.menu .menu_list dl dd .price .discount .yen::before {
	content: "（税込）";
	color: var(--pink);
	font-weight: 500;
	width: 4em;
	height: 1em;
	position: absolute;
	top: -1em;
}
.menu .menu_list dl dd .price .unit {
	font-weight: 600;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.menu .note {
	text-align: right;
	font-weight: 700;
}
.menu .text01 {
	font-weight: 700;
	line-height: 1.4;
}
.menu .text02 {
	color: var(--redbrown);
	font-weight: 700;
}
@media ( min-width: 768px ){
	.menu {
		padding: 380px 0 90px;
	}
	.menu::after {
		width: 44.5px;
		height: 44.5px;
	}
	.sec_title {
		font-size: 27.5px;
		padding: 0 0 48px;
		margin: 0 0 80px;
	}
	.sec_title span {
		font-size: 15px;
		margin: 23px 0 0;
	}
	.sec_title::after {
		width: 103px;
		height: 10px;
	}
	.menu .sec_in .off_img {
		width: 192px;
		top: -125px;
		right: -50px;
	}
	.menu .menu_list li {
		padding: 21px 23px 15px;
		border-radius: 12px;
		margin: 0 0 15px;
	}
	.menu .menu_list dl dt {
		font-size: 25px;
		padding: 0 0 0 36.5px;
		margin: 0 0 12px;
	}
	.menu .menu_list dl dt::before {
		width: 27.5px;
		height: 27.5px;
	}
	.menu .menu_list dl dd .ingredient {
		font-size: 13px;
		margin: 0 0 8px;
	}
	.menu .menu_list dl dd .effect span {
		font-size: 10px;
		padding: 3px 10px 4px;
		border-radius: 17px;
		margin: 0 3px 0 0;
	}
	.menu .menu_list dl dd .price + .price {
		border-top: 2px dotted #c0bfbf;
		margin: 7px 0 0;
	}
	.menu .menu_list dl dd .price .original {
		padding: 0 25px 0 0;
	}
	.menu .menu_list dl dd .price .original::after {
		width: 19px;
		height: 24.5px;
	}
	.menu .menu_list dl dd .price .original .num {
		font-size: 25px;
	}
	.menu .menu_list dl dd .price .original .num::after {
		height: 2px;
	}
	.menu .menu_list dl dd .price .original .yen {
		font-size: 17.5px;
	}
	.menu .menu_list dl dd .price .original .yen::before {
		font-size: 8px;
		left: -6px;
	}
	.menu .menu_list dl dd .price .first {
		font-size: 12px;
		padding: 2px 3px 3px;
		border: 1.5px solid var(--pink);
		border-radius: 5px;
		margin: 0 0 0 6px;
	}
	.menu .menu_list dl dd .price .off {
		font-size: 14px;
		padding: 3px 5px 2px;
		border-radius: 5px;
		margin: 0 8px 0 4.5px;
	}
	.menu .menu_list dl dd .price .off span {
		font-size: 10px;
	}
	.menu .menu_list dl dd .price .discount {
		font-size: 38.5px;
	}
	.menu .menu_list dl dd .price .discount .yen {
		font-size: 26px;
	}
	.menu .menu_list dl dd .price .discount .yen::before {
		font-size: 9px;
		left: -6px;
	}
	.menu .menu_list dl dd .price .unit {
		font-size: 17.5px;
	}
	.menu .note {
		font-size: 17px;
		margin: 0 0 30px;
	}
	.menu .text01 {
		font-size: 25px;
		margin: 0 0 20px;
	}
	.menu .text02 {
		font-size: 17px;
	}
}
@media ( max-width: 767px ){
	.menu {
		padding: 80.8511vw 0 19.1489vw;
	}
	.menu::after {
		width: 9.4681vw;
		height: 9.4681vw;
	}
	.sec_title {
		font-size: 5.8511vw;
		padding: 0 0 10.2128vw;
		margin: 0 0 17.0213vw;
	}
	.sec_title span {
		font-size: 3.1915vw;
		margin: 4.8936vw 0 0;
	}
	.sec_title::after {
		width: 21.9149vw;
		height: 2.1277vw;
	}
	.menu .sec_in .off_img {
		width: 40.8511vw;
		top: -26.5957vw;
		right: -10.6383vw;
	}
	.menu .menu_list li {
		padding: 4.4681vw 4.8936vw 3.1915vw;
		border-radius: 2.5532vw;
		margin: 0 0 3.1915vw;
	}
	.menu .menu_list dl dt {
		font-size: 5.3191vw;
		padding: 0 0 0 7.766vw;
		margin: 0 0 2.5532vw;
	}
	.menu .menu_list dl dt::before {
		width: 5.8511vw;
		height: 5.8511vw;
	}
	.menu .menu_list dl dd .ingredient {
		font-size: 2.766vw;
		margin: 0 0 1.7021vw;
	}
	.menu .menu_list dl dd .effect span {
		font-size: 2.1277vw;
		padding: 0.6383vw 2.1277vw 0.8511vw;
		border-radius: 3.617vw;
		margin: 0 0.6383vw 0 0;
	}
	.menu .menu_list dl dd .price + .price {
		border-top: 0.4255vw dotted #c0bfbf;
		margin: 1.4894vw 0 0;
	}
	.menu .menu_list dl dd .price .original {
		padding: 0 5.3191vw 0 0;
	}
	.menu .menu_list dl dd .price .original::after {
		width: 4.0426vw;
		height: 5.2128vw;
	}
	.menu .menu_list dl dd .price .original .num {
		font-size: 5.3191vw;
	}
	.menu .menu_list dl dd .price .original .num::after {
		height: 0.4255vw;
	}
	.menu .menu_list dl dd .price .original .yen {
		font-size: 3.7234vw;
	}
	.menu .menu_list dl dd .price .original .yen::before {
		font-size: 1.7021vw;
		left: -1.2766vw;
	}
	.menu .menu_list dl dd .price .first {
		font-size: 2.5532vw;
		padding: 0.4255vw 0.6383vw 0.6383vw;
		border: 0.3191vw solid var(--pink);
		border-radius: 1.0638vw;
		margin: 0 0 0 1.2766vw;
	}
	.menu .menu_list dl dd .price .off {
		font-size: 2.9787vw;
		padding: 0.6383vw 1.0638vw 0.4255vw;
		border-radius: 1.0638vw;
		margin: 0 1.7021vw 0 0.9574vw;
	}
	.menu .menu_list dl dd .price .off span {
		font-size: 2.1277vw;
	}
	.menu .menu_list dl dd .price .discount {
		font-size: 8.1915vw;
	}
	.menu .menu_list dl dd .price .discount .yen {
		font-size: 5.5319vw;
	}
	.menu .menu_list dl dd .price .discount .yen::before {
		font-size: 1.9149vw;
		left: -1.2766vw;
	}
	.menu .menu_list dl dd .price .unit {
		font-size: 3.7234vw;
	}
	.menu .note {
		font-size: 3.617vw;
		margin: 0 0 6.383vw;
	}
	.menu .text01 {
		font-size: 5.3191vw;
		margin: 0 0 4.2553vw;
	}
	.menu .text02 {
		font-size: 3.617vw;
	}	
}

/* .cta_area2 */
.cta_area2 {
	background: url("img/cta_bg2.png") no-repeat center 0 / cover;
	position: relative;
}
.cta_area2 .title span {
	display: inline-block;
}
.cta_area2 .title .diagonal {
	font-weight: 700;
	transform-origin: center;
	transform: rotate(-15deg);
	position: absolute;
}
.cta_area2 .title .text {
	font-weight: 700;
	position: relative;
}
.cta_area2 .title .text.ver2 {
	background: var(--redbrown);
	color: #fff;
	display: inline-block;
}
.cta_area2 .sub_txt {
	font-weight: 700;
	color: var(--redbrown);
}
.cta_area2 .title .text .num {
	font-family: 'din_pro_bold';
	padding: 0 0.1em;
}
.cta_area2 .title .free {
	color: var(--pink);
	font-weight: 700;
}
.cta_area2 .title .mini {
	text-align: left;
	font-weight: 700;
	position: absolute;
	left: 0;
}
.cta_area2 .title .mini .pink {
	color: var(--pink);
}
.cta_area2 .title .free span {
	display: inline-block;
	font-style: italic;
}
.cta_area2 .service {
	display: inline-block;
	background: url("img/one_free_bg2.png") no-repeat 0 0 / 100% auto;
}
.cta_area2 .service li {
	box-sizing: border-box;
	position: relative;
	text-align: left;
	z-index: 2;
}
.cta_area2 .service li::before {
	content: "";
	background: url("img/icon_check.png") no-repeat 0 0 / contain;
	position: absolute;
	left: 0;
}
.cta_area2 .service li .bdr {
	display: inline-block;
	position: relative;
	font-weight: 700;
}
.cta_area2 .service li .bdr::before {
	content: "";
	background: #feff80;
	position: absolute;
	z-index: -1;
}
.cta_area2 .service li .note {
	display: block;
}
.cta_area2 .service li .effect {
	display: block;
	font-weight: 700;
}
.cta_area2 .cta {
	margin: 0 auto;
}
@media ( min-width: 768px ){
	.cta_area2 {
		padding: 110px 0 120px;
	}
	.cta_area2 .title .diagonal {
		font-size: 17px;
		left: 45px;
		top: 95px;
	}
	.cta_area2 .title .text {
		font-size: 39px;
		margin: 0 0 15px;
	}
	.cta_area2 .title .text.ver2 {
		font-size: 20px;
		padding: 5px 20px;
		border-radius: 30px;
		margin: 0 0 18px;
	}
	.cta_area2 .title .text .num {
		font-size: 47.5px;
	}
	.cta_area2 .title .text .mini {
		font-size: 15px;
		top: -15px;
		left: 2px;
	}
	.cta_area2 .title .text .mini .pink {
		font-size: 17.5px;
	}
	.cta_area2 .sub_txt {
		font-size: 22px;
		margin-bottom: 20px;
	} 
	.cta_area2 .title .free {
		font-size: 54px;
	}
	.cta_area2 .service {
		padding: 30px 50px 30px 40px;
		margin: 0 0 20px;
	}
	.cta_area2 .service li {
		padding: 0 0 0 27px;
		margin: 0 0 20px;
	}
	.cta_area2 .service li::before {
		width: 21px;
		height: 21px;
		top: -5px;
	}
	.cta_area2 .service li .bdr {
		font-size: 23px;
	}
	.cta_area2 .service li .bdr::before {
		width: calc(100% + 10px);
		height: 10px;
		bottom: -3px;
		left: -5px;
	}
	.cta_area2 .service li .note {
		margin-top: 10px;
		font-size: 12px;
	}
	.cta_area2 .service li .effect {
		font-size: 18px;
		margin: 10px 0 0;
	}
	.cta_area2 .cta {
		width: 370.5px;
	}
}
@media ( max-width: 767px ){
	.cta_area2 {
		padding: 23.4043vw 0 25vw;
	}
	.cta_area2 .title .diagonal {
		font-size: 3.617vw;
		left: 9.5745vw;
		top: 20vw;
	}
	.cta_area2 .title .text {
		font-size: 8.297vw;
		margin: 0 0 3.191vw;
	}
	.cta_area2 .title .text.ver2 {
		font-size: 4.255vw;
		padding: 1vw 3vw;
		border-radius: 4vw;
		margin: 0 0 3.829vw;
	}
	.cta_area2 .title .text .num {
		font-size: 10.106vw;
	}
	.cta_area2 .title .text .mini {
		font-size: 3.191vw;
		top: -3.191vw;
		left: 0.425vw;
	}
	.cta_area2 .title .text .mini .pink {
		font-size: 3.723vw;
	}
	.cta_area2 .title .free {
		font-size: 11.489vw;
	}
	.cta_area2 .sub_txt {
		font-size: 5vw;
		margin-bottom: 5.5vw;
	} 
	.cta_area2 .service {
		padding: 6.383vw 10.6383vw 6.383vw 8.5106vw;
		margin: 0 0 4.2553vw;
	}
	.cta_area2 .service li {
		padding: 0 0 0 5.7447vw;
		margin: 0 0 4.2553vw;
	}
	.cta_area2 .service li::before {
		width: 4.4681vw;
		height: 4.4681vw;
		top: -1.0638vw;
	}
	.cta_area2 .service li .bdr {
		font-size: 4.8936vw;
	}
	.cta_area2 .service li .bdr::before {
		width: calc(100% + 2.1277vw);
		height: 2.1277vw;
		bottom: -0.6383vw;
		left: -1.0638vw;
	}
	.cta_area2 .service li .note {
		margin-top: 2vw;
		font-size: 2.4vw;
	}
	.cta_area2 .service li .effect {
		font-size: 3.8298vw;
		margin: 2.1277vw 0 0;
	}
	.cta_area2 .cta {
		width: 78.8298vw;
	}	
}

/* .combination */
.combination .title_wrap span {
	display: inline-block;
	font-weight: 500;
	letter-spacing: 0.15em;
	padding: 0 1.5em;
	position: relative;
}
.combination .title_wrap span::before,
.combination .title_wrap span::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.combination .title_wrap span::before {
	background: url("img/dot_line_left.png") no-repeat 0 0 / contain;
	left: 0;
}
.combination .title_wrap span::after {
	background: url("img/dot_line_right.png") no-repeat 0 0 / contain;
	right: 0;
}
.combination .title_wrap .title {
    display: block;
    font-weight: 500;
}
@media ( min-width: 768px ){
	.combination {
		padding-bottom: 100px;
	}
	.combination .title_wrap {
		margin-bottom: 40px;
	}
	.combination .title_wrap span {
		font-size: 20px;
		margin: 0 0 20px;
	}
	.combination .title_wrap span::before,
	.combination .title_wrap span::after {
		width: 13px;
		height: 24.5px;
	}
	.combination .title_wrap .title {
	    font-size: 23px;
        margin: 0 0 13px;
	}
	.combination .img_box + .img_box {
		margin-top: 20px;
	}
}
@media ( max-width: 767px ){
	.combination {
		padding-bottom: 20vw;
	}
	.combination .title_wrap {
		margin-bottom: 8vw;
	}
	.combination .title_wrap span {
		font-size: 4.2553vw;
		margin: 0 0 4.2553vw;
	}
	.combination .title_wrap span::before,
	.combination .title_wrap span::after {
		width: 2.766vw;
		height: 5.2128vw;
	}
	.combination .title_wrap .title {
	    font-size: 4.8vw;
        margin: 0 0 2.766vw;
	}
	.combination .img_box + .img_box {
		margin-top: 4vw;
	}
}

/* .flow */
.flow {
	background: #ede8de url("img/flow_bg.png") no-repeat 0 0 / 100% auto;
}
.flow .splide__slide {
	height: auto; 
	display: flex; /* 子要素を縦に伸ばす準備 */
}
.flow .slide_box {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%; /* 横幅を維持 */
}
.flow .img_box {
	position: relative;
	z-index: 2;
}
.flow dl {
	background: #fff;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-grow: 1; /* 余ったスペースをdlが占有する */
}
.flow dl dt {
	color: var(--pink);
	font-weight: 500;
}
.flow dl dt span {
	font-family: "Jost", sans-serif;
	display: block;
	color: #000;
	letter-spacing: 0.03em;
}
.flow dl dd {
	text-align: left;
	line-height: 1.9;
	flex-grow: 1; /* これでテキストが短くても下まで伸びる */
}
.flow dl dd a {
	color: var(--gold);
	text-decoration: underline;
	transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
	.flow dl dd a:hover {
		text-decoration: none;
	}
}
.splide__arrow {
    top: 45%;
}
.splide__arrow--prev {
    left: 0.3em;
	background: url("img/slide_arw_left.png") no-repeat 0 center / 100% auto;
}
.splide__arrow--next {
	right: 0.3em;
	background: url("img/slide_arw_right.png") no-repeat 0 center / 100% auto;
}
.splide__pagination {
    margin: 0;
}
.splide__pagination__page {
    background: #fff;
}
.splide__pagination__page.is-active {
    background: var(--redbrown);
    transform: scale(1.0);
}
@media ( min-width: 768px ){
	.flow {
		padding: 130px 0 90px;
	}
	.flow .img_box {
		width: 175px;
		margin: 0 auto -100px;
	}
	.flow dl {
		padding: 138px 32px 50px;
		border-radius: 160px 160px 12px 12px;
		margin: 0 0 220px;
	}
	.flow dl dt {
		font-size: 22.5px;
		margin: 0 0 50px;
	}
	.flow dl dt span {
		font-size: 13px;
		margin: 0 0 15px;
	}
	.flow dl dd {
		font-size: 17px;
	}
	.splide__arrow {
		width: 47.5px;
	}
	.splide__pagination {
		bottom: 10em;
	}
	.splide__pagination__page {
		height: 16px;
		width: 16px;
		margin: 0 10px;
	}
}
@media ( max-width: 767px ){
	.flow {
		padding: 27.6596vw 0 19.1489vw;
	}
	.flow .img_box {
		width: 37.234vw;
		margin: 0 auto -21.2766vw;
	}
	.flow dl {
		padding: 29.3617vw 6.8085vw 10.6383vw;
		border-radius: 34.0426vw 34.0426vw 2.5532vw 2.5532vw;
		margin: 0 0 46.8085vw;
	}
	.flow dl dt {
		font-size: 4.7872vw;
		margin: 0 0 10.6383vw;
	}
	.flow dl dt span {
		font-size: 2.766vw;
		margin: 0 0 3.1915vw;
	}
	.flow dl dd {
		font-size: 3.617vw;
	}
	.splide__arrow {
		width: 10.1064vw;
	}
	.splide__pagination {
		bottom: 8em;
	}
	.splide__pagination__page {
		height: 3.4043vw;
		width: 3.4043vw;
		margin: 0 2.1277vw;
	}
}

/* faq */
.faq dl {
	background: #fff;
	text-align: left;
}
.faq dl dt {
	font-weight: 500;
	cursor: pointer;
	position: relative;
}
.faq dl dt::before {
	content: "Q";
	background: #000;
	font-family: "Jost", sans-serif;
	font-weight: 700;
	color: #fff;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
}
.faq dl dt::after {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    transform-origin: center center;
    position: absolute;
	right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
    transition: transform 0.2s ease;
}
.faq dl dt.active::after {
    transform: translateY(-50%) rotate(315deg);
}
.faq dl dd {
	display: none;
	color: var(--redbrown);
	line-height: 1.7;
	position: relative;
}
.faq dl dd::before {
	content: "A";
	font-family: "Jost", sans-serif;
	color: var(--redbrown);
	border: 1px solid var(--redbrown);
	border-radius: 50%;
	position: absolute;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.faq dl dd::after {
	content: "";
	background: #d9cac6;
	height: 1px;
	position: absolute;
	top: 0;
}
.faq dl dd a {
	text-decoration: underline;
	transition-duration: .3s;
}
@media (hover: hover) {
	.faq dl dd a:hover {
		text-decoration: none;
	}
}
@media ( min-width: 768px ){
	.faq {
		padding: 0 0 80px;
	}
	.faq .sec_in {
		margin: 0 0 105px;
	}
	.faq dl {
		border-radius: 12px;
		padding: 0 20px 0 13px;
	}
	.faq dl:not(:last-child) {
		margin: 0 0 20px;
	}
	.faq dl dt {
		padding: 27.5px 20px 26px 42px;
		font-size: 16.5px;
	}
	.faq dl dt::before {
		font-size: 15px;
		width: 30px;
		height: 30px;
		line-height: 30px;
	}
	.faq dl dt::after {
		width: 13px;
		height: 13px;
		border-top: solid 2px var(--pink);
		border-right: solid 2px var(--pink);
	}
	.faq dl dd {
		font-size: 16px;
		padding: 25px 0 22px 42px;
	}
	.faq dl dd::before {
		font-size: 15px;
		width: 30px;
		height: 30px;
		top: 24px;
	}
	.faq dl dd::after {
		width: calc(100% - 42px);
		left: 42px;
	}
}
@media ( max-width: 767px ){
	.faq {
		padding: 0 0 17.0213vw;
	}
	.faq .sec_in {
		margin: 0 0 22.3404vw;
	}
	.faq dl {
		border-radius: 2.5532vw;
		padding: 0 4.2553vw 0 2.766vw;
	}
	.faq dl:not(:last-child) {
		margin: 0 0 4.2553vw;
	}
	.faq dl dt {
		padding: 5.8511vw 4.2553vw 5.5319vw 8.9362vw;
		font-size: 3.5106vw;
	}
	.faq dl dt::before {
		font-size: 3.1915vw;
		width: 6.383vw;
		height: 6.383vw;
		line-height: 6.383vw;
	}
	.faq dl dt::after {
		width: 2.766vw;
		height: 2.766vw;
		border-top: solid 0.4255vw var(--pink);
		border-right: solid 0.4255vw var(--pink);
	}
	.faq dl dd {
		font-size: 3.4043vw;
		padding: 5.3191vw 0 4.6809vw 8.9362vw;
	}
	.faq dl dd::before {
		font-size: 3.1915vw;
		width: 6.383vw;
		height: 6.383vw;
		top: 5.1064vw;
	}
	.faq dl dd::after {
		width: calc(100% - 8.9362vw);
		left: 8.9362vw;
	}	
}

/* clinic */
.clinic .map {
	position: relative;
	width: 100%;
}
.clinic .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.clinic .detail {
	text-align: left;
	line-height: 1.9;
}
.clinic .detail .train li span {
	display: inline-block;
	color: var(--redbrown);
}
.sec_sub_title {
	color: var(--pink);
	position: relative;
}
.sec_sub_title::after {
	content: "";
	background: var(--pink);
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.clinic .tbl table {
	width: 100%;
	border-collapse:separate;
	border-spacing:1px 1px;
}
.clinic .tbl table th,
.clinic .tbl table td {
	text-align: center;
	font-weight: 500;
	line-height: 1.47;
	background: #fff;
}
.clinic .tbl table th[scope="row"] {
	color: var(--redbrown);
}
.clinic .tbl table th[scope="col"] {
	background: var(--redbrown);
	color: #fff;
}
.clinic .tbl table th[scope="col"]:first-child {
	background: none;
}
.clinic .note {
	text-align: left;
	line-height: 1.38;
}
.clinic .tel {
	display: inline-block;
	font-family: 'din_pro_regular';
	font-weight: 400;
	position: relative;
}
.clinic .tel::before {
	content: "";
	background: url("img/icon_tel.png") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.clinic .sec_in dl dt {
	background: var(--redbrown);
	color: #fff;
	font-weight: 500;
}
.clinic .sec_in dl dd {
	background: #fff;
}
.clinic .sec_in .flex_box {
	display: flex;
	justify-content: space-between;
}
@media ( min-width: 768px ){
	.clinic .map {
		height:410px;
		margin: 0 0 50px;
	}
	.clinic .map iframe {
		border-radius: 25px;
	}
	.clinic .detail {
		font-size: 17px;
		margin: 0 0 60px;
	}
	.clinic .detail .address {
		margin: 0 0 40px;
	}
	.sec_sub_title {
		font-size: 22.5px;
		padding: 0 0 22px;
		margin: 0 0 37px;
	}
	.sec_sub_title::after {
		width: 60px;
	}
	.clinic .tbl {
		margin: 0 0 22px;
	}
	.clinic .tbl table th,
	.clinic .tbl table td {
		font-size: 17px;
	}
	.clinic .tbl table th {
		padding: 20px 0;
	}
	.clinic .tbl table th[scope="col"] {
		padding: 15px 0;
	}
	.clinic .note {
		font-size: 13px;
		margin: 0 0 57px;
	}
	.clinic .tel {
		font-size: 40px;
		padding: 0 0 0 52px;
		margin: 0 0 72px;
	}
	.clinic .tel::before {
		width: 38px;
		height: 38px;
	}
	.clinic .sec_in {
		padding: 0 0 80px;
	}
	.clinic .sec_in dl {
		margin: 0 0 18px;
	}
	.clinic .sec_in dl dt {
		font-size: 17px;
		padding: 14px 0;
	}
	.clinic .sec_in dl dd {
		padding: 20px 45px;
	}
	.clinic .sec_in .flex_box {
		gap: 0 17px;
	}
}
@media ( max-width: 767px ){
	.clinic .map {
		height: 87.234vw;
		margin: 0 0 10.6383vw;
	}
	.clinic .map iframe {
		border-radius: 5.3191vw;
	}
	.clinic .detail {
		font-size: 3.617vw;
		margin: 0 0 12.766vw;
	}
	.clinic .detail .address {
		margin: 0 0 8.5106vw;
	}
	.sec_sub_title {
		font-size: 4.7872vw;
		padding: 0 0 4.6809vw;
		margin: 0 0 7.8723vw;
	}
	.sec_sub_title::after {
		width: 12.766vw;
	}
	.clinic .tbl {
		margin: 0 0 4.6809vw;
	}
	.clinic .tbl table th,
	.clinic .tbl table td {
		font-size: 3.617vw;
	}
	.clinic .tbl table th {
		padding: 4.2553vw 0;
	}
	.clinic .tbl table th[scope="col"] {
		padding: 3.1915vw 0;
	}
	.clinic .note {
		font-size: 2.766vw;
		margin: 0 0 12.1277vw;
	}
	.clinic .tel {
		font-size: 8.5106vw;
		padding: 0 0 0 11.0638vw;
		margin: 0 0 15.3191vw;
	}
	.clinic .tel::before {
		width: 8.0851vw;
		height: 8.0851vw;
	}
	.clinic .sec_in {
		padding: 0 0 17.0213vw;
	}
	.clinic .sec_in dl {
		margin: 0 0 3.8298vw;
	}
	.clinic .sec_in dl dt {
		font-size: 3.617vw;
		padding: 2.9787vw 0;
	}
	.clinic .sec_in dl dd {
		padding: 4.2553vw 9.5745vw;
	}
	.clinic .sec_in .flex_box {
		gap: 0 3.617vw;
	}
}

/* .footer */
.footer {
	background: #ede8de;
	font-family: 'din_pro_regular';
}
@media ( min-width: 768px ){
	.footer {
		padding: 42px 0;
		font-size: 12.5px;
	}
}
@media ( max-width: 767px ){
	.footer {
		padding: 8.9362vw 0;
		font-size: 2.6596vw;
	}
}




