@charset "UTF-8";
/* CSS Document */

/*mv*/
#mv {
	width: 100%;
	background-image: url("../../../images/mv_bg02_sp.webp"),url("../../../images/mv_bg_sp.webp");
	background-size: 100% auto,cover;
	background-position: top right,top center;
	background-repeat: no-repeat,no-repeat;
}

#mv > div h1 {
	font-size:min(11vw,86px);
	color: #2487c4;
	text-shadow: 10px 10px 20px rgba(255, 255, 255, 1), -10px -10px 20px rgba(255, 255, 255, 1);
	font-weight: 300;
	line-height: 1.4em;
	padding: 2.03% 8% 0;
}

#mv > div h1 span {
	font-size:min(6.8vw,52px);
	color: #5d5f68;
	line-height: 1em;
}

#mv > div .box01 {
	width: 7.3em;
	margin: 4.52% 7.35% 5.65%;
	padding: 0 8%;
	background-image: url("../../../images/mv_ico01.webp"),url("../../../images/mv_ico02.webp");
	background-size: auto 100%,auto 100%;
	background-repeat: no-repeat,no-repeat;
	background-position: left top,right top;
}

#mv > div .box01 p.t01 {
	font-size:min(3.2vw,24px);
	text-align: center;
	color: #5d5f68;
	line-height: 1.3em;
	font-family: 'Noto Serif JP', sans-serif;
}

#mv > div .box01 p.t02 {
	font-size:min(10.4vw,84px);
	text-align: center;
	color: #2487c4;
	font-weight: 600;
	line-height: 0.9em;
	font-family: 'Noto Serif JP', sans-serif;
}

#mv > div .box01 p.t02 span {
	font-size:min(3.2vw,24px);
	font-family: 'Noto Serif JP', sans-serif;
}

#mv > div .box01 p.t03 {
	font-size:min(2vw,14px);
	color: #5d5f68;
	line-height: 0.5em;
	text-align: center;
}

#mv > div .box02 {
	padding-bottom: 4.52%;
}

#mv > div .box02 p.t01 {
	text-align: center;
	color: #5d5f68;
	font-weight: 300;
}

#mv > div .box02 div {
	padding: 2.26% 0 1.13%;
}

#mv > div .box02 p.t02 {
	color: #5d5f68;
	font-size:min(3.2vw,24px);
	text-align: center;
}

#mv > div .box02 p.t02 span {
	padding-left: 1.2em;
	position: relative;
}

#mv > div .box02 p.t02 span::before {
	content: "※";
	position: absolute;
	left: 0;
	top: -1px;
}


/*news*/
#news {
	padding: 5.26% 0 6.26%;
	position: relative;
}

#news div {
	border-left: 1px solid #646770;
	margin-left: 3.46%;
	margin-bottom: 5.26%;
	padding: 4.51% 0 4.51% 4.51%;
	display: flex;
	align-items: baseline;
}

#news div p {
	font-size:min(6.8vw,52px);
	line-height: 1em;
	font-weight: 300;
}

#news div h2 {
	font-size:min(2.8vw,20px);
	line-height: 1em;
	font-weight: 300;
	margin-left: 1em;
}

#news ul {
	padding: 0 5.33%;
}

#news ul li {
	padding-bottom: 20px;
	font-size:min(3.8vw,30px);
	display: flex;
}

#news ul li:last-child {
	padding-bottom: 0;
}

#news ul li a {
	color: #646770;
	text-decoration: none;
}

#news ul li a:hover {
	text-decoration: underline;
}

#news ul li span {
	margin-right: 1em;
}

#news > p {
	text-align: center;
	position: absolute;
	right: 5.33%;
	top: 17.03%;
	width: 31.33%;
}

#news > p a {
	display: block;
	width: calc(100% - 2px);
	background-color: #96afce;
	line-height: 2.4em;
	border-radius: 1.2em;
	color: #fcfcfc;
	font-size:min(3.6vw,30px);
	font-weight: 300;
	text-decoration: none;
}

#news > p a:hover {
	opacity: .8;
}


/*目次*/
#page_list {
	margin-bottom: 14%;
}


/*cont01*/
#cont01 {
	padding: 60px 5.33% 80px;
	background-color: #dae2f0;
}

#cont01 .box div:first-of-type {
	padding-bottom: 50px;
}

#cont01 .box div:first-of-type h2 {
	font-size:min(7.8vw,60px);
	color: #5d5f68;
	line-height: 1.5em;
	padding-bottom: 35px;
}

#cont01 .box div:nth-of-type(2) {
	width: 93.73%;
	margin: 0 auto;
}

#cont01 p.btn01 {
	padding-top: 45px;
}

#cont01 p.btn01 a {
	height: 3em;
	border-radius: 1.5em;
	font-size:min(4.3vw,32px);
}

#cont01 p.btn01 a::after {
	width: .7em;
	height: .7em;
}


/*cont02*/
#cont02 {
	padding: 60px 5.33% 80px;
	position: relative;
}

#cont02::before {
	content: "";
	width: 240px;
	height: 430px;
	background-image: url("../../../images/l_bg.webp");
	background-size: 80% 100%;
	background-repeat: no-repeat;
	position: absolute;
	left: -40px;
	top: 90px;
	z-index: -1;
}

#cont02 .box div:first-of-type h2 {
	font-size:min(7.4vw,58px);
	color: #5d5f68;
	line-height: 1.5em;
	padding-bottom: 45px;
}

#cont02 .box div:nth-of-type(2) {
	padding-top: 20px;
}

#cont02 .box div:nth-of-type(2) p {
	text-align: right;
	font-size:min(3.6vw,30px);
	color: #5d5f68;
	line-height: 1.6em;
	padding-top: 10px;
}


/*recommend*/
#recommend {
	padding: 60px 5.33% 80px;
}

#recommend > ul {
	margin-top: 60px;
}


/*feature*/
#feature {
	padding: 60px 5.33% 80px;
}

#feature ul {
	padding-top: 40px;
}

#feature ul li {
	padding-bottom: 60px;
	position: relative;
}

#feature ul li:first-child::before {
	content: "";
	width: 6em;
	height: auto;
	aspect-ratio :101 / 63;
	background-image: url("../../../images/feature_01.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 5%;
	z-index: -1;
}

#feature ul li:nth-child(2)::before {
	content: "";
	width: 6em;
	height: auto;
	aspect-ratio :101 / 63;
	background-image: url("../../../images/feature_02.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

#feature ul li:nth-child(3)::before {
	content: "";
	width: 6em;
	height: auto;
	aspect-ratio :101 / 63;
	background-image: url("../../../images/feature_03.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 5%;
	z-index: -1;
}

#feature ul li:nth-child(4)::before {
	content: "";
	width: 6em;
	height: auto;
	aspect-ratio :101 / 63;
	background-image: url("../../../images/feature_04.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 5%;
	z-index: -1;
}

#feature ul li:nth-child(5)::before {
	content: "";
	width: 6em;
	height: auto;
	aspect-ratio :101 / 63;
	background-image: url("../../../images/feature_05.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

#feature ul li:nth-child(6)::before {
	content: "";
	width: 6em;
	height: auto;
	aspect-ratio :101 / 63;
	background-image: url("../../../images/feature_06.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 5%;
	z-index: -1;
}

#feature ul li h3 {
	font-size:min(5.2vw,42px);
	color: #6d8cb7;
	line-height: 1.2em;
	font-weight: 500;
	height: 3.2em;
	padding-left: 21%;
	display: flex;
	align-items: flex-end;
}

#feature ul li p {
	padding-top: 40px;
}


/*about*/
#about {
	padding: 60px 5.33% 80px;
}

#about p.t01 {
	padding: 60px 0 100px;
}

#about p.t02 {
	padding: 50px 0 40px;
}

#about .box {
	margin-bottom: 100px;
	background-color: #fff;
	padding: 30px 6.71% 35px;
}

#about .box h4 {
	padding-bottom: 30px;
	text-align: center;
	font-size:min(3.6vw,30px);
}

#about .box p {
	font-size:min(3.4vw,28px);
	padding: 30px 0 0;
}

#about ul li {
	background-color: #fff;
	box-shadow: 0px 0px 8px 0px rgba(39, 39, 39, 0.3);
	margin-bottom: 40px;
}

#about ul li:last-child {
	margin-bottom: 0;
}

#about ul li h4 {
	position: relative;
}

#about ul li h4.star01::after {
	content: "★";
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}

#about ul li h4.star03::after {
	content: "★★★";
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}

#about ul li p {
	padding: 15px 20px 30px;
	font-size:min(3.6vw,30px);
}


/*check*/
#check {
	padding: 60px 5.33% 80px;
}

#check p.t01 {
	text-align: center;
	padding: 40px 0;
}

#check ul {
	padding-bottom: 60px;
}

#check ul li {
	padding-left: 1.2em;
	font-size:min(4.6vw,36px);
	color: #46a6d2;
	line-height: 1.2em;
	padding-bottom: 15px;
	position: relative;
}

#check ul li::before {
	content: "";
	width: 1em;
	height: 1em;
	background-image: url("../../images/ico_check02.webp");
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top: 4px;
}

#check .box01 .box1 {
	padding: 30px 0 60px;
}

#check .box01 .box1 div {
	text-align: center;
	padding-top: 30px;
}

#check .box01 .box2 {
	border: 1px solid #2487c4;
	border-radius: 20px;
	padding: 35px 6.71% 60px;
}

#check .box01 .box2 h4 {
	font-size:min(5.2vw,42px);
	font-weight: 500;
	color: #6d8cb7;
	line-height: 1.2em;
}

#check .box01 .box2 > div {
	padding-top: 25px;
}

#check .box01 .box2 > div div {
	width: 80%;
	margin: 0 auto;
	padding-top: 30px;
}


/*treatment*/
#treatment {
	padding: 60px 5.33% 80px;
}

#treatment p.t01 {
	padding: 60px 0 50px;
}


/*reference*/
#reference {
	padding: 60px 5.33% 80px;
}

#reference > p {
	text-align: center;
	padding-bottom: 10px;
}

#reference > h2 {
	margin-bottom: 40px;
}

#reference div table {
	width: 1080px;
}

#reference div table th,#reference div table td {
	border: 1px solid #999999;
	font-size:min(3.6vw,30px);
}

#reference div table tr:first-child th {
	background-color: #e9f2fc;
	height: 88px;
	color: #373d59;
	line-height: 1.2em;
	font-weight: 500;
}

#reference div table tr:first-child th:first-child {
	font-size:min(4.3vw,32px);
}

#reference div table tr:first-child th:nth-child(2) img {
	width: 142px;
	height: auto;
}

#reference div table tr:first-child th:nth-child(3) img {
	width: 100px;
	height: auto;
}

#reference div table tr:first-child th:nth-child(4) img {
	width: 147px;
	height: auto;
}

#reference div table tr:not(:first-child) th {
	background-color: #e9f2fc;
	color: #373d59;
	line-height: 1.2em;
	font-weight: 500;
	width: 173px;
	padding-left: 20px;
	text-align: left;
}

#reference div table tr:not(:first-child) td {
	width: 136px;
	padding: 20px;
	text-align: center;
}

#reference div table tr:not(:first-child) td.c_can {
	text-align: left;
}


/*other_odor*/
#other_odor {
	padding: 60px 5.33% 80px;
}

#other_odor p.t01 {
	padding: 60px 0 50px;
}


/*flow*/
#flow {
	padding: 60px 5.33% 80px;
}

#flow p.t01 {
	padding: 60px 0 50px;
}

#flow ul li {
	background-color: #fff;
	box-shadow: 0px 0px 8px 0px rgba(39, 39, 39, 0.3);
	margin-bottom: 40px;
}

#flow ul li:last-child {
	margin-bottom: 0;
}

#flow ul li div {
	padding: 20px 20px 0;
}

#flow ul li p {
	padding: 25px 20px 30px;
	font-size:min(3.6vw,30px);
}


/*price*/
#price {
	padding: 60px 5.33% 80px;
}

#price .price_box:first-of-type {
	padding-top: 60px;
}

#price .price_box h3 {
	margin-bottom: 35px;
}

#price p.btn01 {
	padding-top: 60px;
}


/*column - blog*/
#blog {
	padding: 60px 0 0;
}

#blog ul {
	padding: 35px 0 40px;
}

#blog ul li {
	padding: 15px 10px;
	border-bottom: 1px solid #818181;
}

#blog ul li a {
	display: block;
	color: #646770;
	text-decoration: none;
}

#blog ul li a:hover {
	text-decoration: underline;
}


/*inner*/
#inner {
	padding: 0 5.33% 60px;
}

#inner .mb05 {margin-bottom: 0.5em !important;}
#inner p.kome {letter-spacing: -0.02em;font-size: 0.82em;}

#inner .cmn__webwari {
	border: 1px solid #692b50;
	background: url("../../../images/webwari_img.jpg") no-repeat 22% 56%;
	background-size: 132% auto;
	background-color: #f8f2f6;
	margin: 1em auto 1em;
	position: relative;
	max-width: 800px;
}
#inner .cmn__webwari dt {
	padding: 0.3em;
	padding-bottom: 0;
	z-index: 4;
	text-align: left;
}
#inner .cmn__webwari dt img {
	width: auto;
	height: 3.4em;
}
#inner .cmn__webwari dd p {
	font-size: 0.69em;
	padding: 0 1% 0.2em 2%;
	margin: 0 0 0;
	line-height: 1.6;
	position: relative;
	top: -0.3em;
	z-index: 4;
}
#inner .cmn__gakuwari {
	border: 1px solid #2b693f;
	background: url("../../../images/gakuwari_img.png") no-repeat 194% 39%;
	background-size: 82% auto;
	background-color: #EBFFF7;
	margin: 0 auto 3.5em;
	position: relative;
	max-width: 800px;
}
#inner .cmn__gakuwari dt {
	padding: 0.3em;
	padding-bottom: 0;
	z-index: 4;
	text-align: left;
}
#inner .cmn__gakuwari dt img {
	width: auto;
	height: 3.6em;
}
#inner .cmn__gakuwari dd p {
	font-size: 0.69em;
	padding: 0 1% 0 2%;
	margin: 0 0 0;
	line-height: 1.6;
	position: relative;
	top: -0.3em;
	z-index: 4;
}
#inner .f--filter {filter: drop-shadow(0 0 2px rgba(255,255,255,1))  drop-shadow(0 0 2px rgba(255,255,255,1))  drop-shadow(0 0 2px rgba(255,255,255,1))  drop-shadow(0 0 2px rgba(255,255,255,1));}
#inner .mb10 {margin-bottom: 1em !important;}
