*{	
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #5b4d22;
	box-sizing: border-box;
	word-break: break-all;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: justify;
}

.mincho{ font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.fw{ font-family: fairwater-script, sans-serif; font-style: normal; font-weight: 700; letter-spacing: 0; }

/*Fairwater Script Bold
font-family: fairwater-script, sans-serif;
font-weight: 700;
font-style: normal;

Fairwater Script Regular
font-family: fairwater-script, sans-serif;
font-weight: 400;
font-style: normal*/

a{ transition: .3s; }
a:hover{ opacity: .7; }

br{ line-height: inherit; }

span, a, strong, small{ color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; letter-spacing: inherit; }

.wrap{ width: 800px; margin: 0 auto; }

.linkwrap{ width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 10; }
.body-wrap{ overflow: hidden; position: relative; }

a.btn{ max-width: 100%; width: 280px; height: 40px; background: #fff; border-radius: 20px; display: flex; justify-content: center; align-items: center; font-weight: 700; }
a.btn2{ max-width: 100%; width: 280px; height: 40px; background: #f2f2f2; border-radius: 20px; display: flex; justify-content: center; align-items: center; font-weight: 700; margin: 0 auto;}
a.btn.white{ background: #fff; }
a.btn span{ padding-left: 1.1em; background: url(../images/arrow02.png) no-repeat; background-size: 4px; background-position: top 50% left 0; }

.sp{ display: none; }

h2.general{ font-size: 38px; font-weight: 600; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; position: relative; text-align: center; padding-bottom: 50px; }
h2.general:after{ content: ''; width: 1px; height: 40px; background: #5b4d22; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
h2.general span{ display: block; font-size: 22px; text-align: center; line-height: 1.4; color: #e65082; }

.mv{ position: relative; }

.mv .inner h2{ font-size: 4vw; letter-spacing: 0; line-height: 1.3; margin-top: .6vw; }
.mv .inner h3{ font-size: 3.2vw; letter-spacing: 0; line-height: 1.3; margin-top: 3.6vw; }
.mv .inner h2 strong{ display: inline; font-size: inherit; line-height: 1; padding-left: 6vw; position: relative; }
.mv .inner h2 .yellow{ background: linear-gradient(transparent 60%, #ffff00 60%); }

@media (max-width: 768px){        
    .mv .inner h2{font-size: 5.5vw; margin-bottom: 0;}
    .mv .inner h2 strong{  padding-left: 12.81vw; margin-top: -1vw; }
    .mv .inner h2 strong:before{ width: 14.71vw; height: 14.71vw; top: -4vw; left: -2.5vw;}
    .mv .inner h3{font-size: 5.5vw; margin-top: 7vw; margin-bottom: 0;}

    .mv .inner span.total {font-size: 3.2vw; letter-spacing: 0;}
}

.mv h1 img.pc{ display: block; width: 100%; }
.mv a.tel{ font-size: 32px; font-weight: 500; color: #5b4d22; position: absolute; top: 30px; right: 100px; display: block; padding-left: 22px; background: url(../images/icon-tel01.png) no-repeat; background-size: 17px; background-position: top 50% left 0; line-height: 1; }
.mv .inner{ position: absolute; top: 2.5vw; left: 3.33vw; z-index: 10; padding-left: 5vw; }
.mv .inner h1{ width: 19.33vw; margin-bottom: .75vw; margin-left: -5vw; }
.mv .inner *{ font-weight: 600; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho"; }
.mv .inner p{ font-size: 3.5vw; letter-spacing: 0; }
.mv .inner h1 + p{ line-height: 1.3; margin-bottom: .5em; }
.mv .inner p strong{ font-size: 6.67vw; line-height: 1; }
.mv .inner p + span{ display: table; background: #fff; font-size: 4.3vw; border: solid 0.17vw; border-radius: 0.83vw; padding: 0 .6em; position: relative; }
.mv .inner p + span:before{ content: ''; width: 8vw; height: 8vw; background: url("../images/hangaku.png") no-repeat; background-size: contain; position: absolute; top: -3vw; left: -7vw; }
.mv .inner p + span > small{font-size: .65em;}
.mv .inner h2{ font-size: 5vw; letter-spacing: 0; line-height: 1.3; margin-top: .6vw; }
.mv .inner h2 strong{ display: block; font-size: 10vw; line-height: 1; padding-left: 6vw; position: relative; }
.mv .slick-dots{ position: absolute; bottom: 60px; left: 50%; transform: translateX(-50%); z-index: 11; display: flex; }
.mv .slick-dots li{ width: 13px; height: 13px; background: #b4963c; border-radius: 100%; margin: 0 5px; cursor: pointer; opacity: .4; }
.mv .slick-dots li.slick-active{ opacity: 1; }

/*.mv .inner h2 strong:before{ content: ''; width: 5vw; height: 5vw; background: url(../images/webp/mv-txt01.webp) no-repeat; background-size: contain; position: absolute; top: 0; left: 0; }*/

.mv .inner p + span.total {
    display: table;
    background: #fff;
    font-size: 4.3vw;
    border: solid 0.17vw;
    border-radius: 0.83vw;
    padding: 0 0.6em;
}

.mv .inner p + span.total:before{ content: ''; width: 8vw; height: 8vw; background: url("images/kongetsu_11.png") no-repeat; background-size: contain; position: absolute; top: -25px; left: -30px; }

.mv .inner h2 strong:before{ content: ''; width: 8vw; height: 8vw; background: url("images/kongetsu_11.png") no-repeat; background-size: contain; position: absolute; top: -25px; left: -30px; }

.no-webp .mv .inner h2 strong:before {
    background: url(../images/hangaku.png) no-repeat;
    background-size: contain;
    width: 84%;
    top: 17vw;
    left: -4vw;
}


.mv .inner h2 strong span{ font-size: 5vw; }
.mv .inner h2 + h2{ color: rgb(91, 77, 34); display: table; text-shadow: 2px 1px #fff; font-size: 25px; font-weight: 700;}
.mv .inner h2 + h2 strong{font-size: 1.2em; padding-left: 0; background: linear-gradient(transparent 60%, #ffff00 60%); display: inline-block;}
.mv .inner h2 + h2 strong:before{content: none;  font-weight: 700;}
.mv .inner h2 + h2 span{font-size: 1.5em; background:#00adf1;padding: 8px; }
.mv .inner h2 + h2 + p {
    font-size: 1.4vw;
    line-height: 1.5;
    margin-top: -1vw;
    font-weight: bold;

}

.mv .inner h2 + h2 span:before {
    content: "";
    background: url(../images/invisa.png);
    background-repeat: no-repeat;
    width: 6.9em;
    height: 2.9em;
    position: absolute;
    display: inline-block;
    background-size: 102%;
    vertical-align: middle;
    right: 16vw;
    top: 0;
}

/*
.mv .inner h2 + h2 + p:after {
    content: "";
    background: url(../images/diamond.png);
    background-repeat: no-repeat;
    width: 7em;
    height: 7em;
    position: absolute;
    display: inline-block;
    background-size: 102%;
    vertical-align: middle;
    margin-left: 70px;
	bottom: 0;
}
*/


.mv .inner h2 + h2 span.none {
    text-shadow: none;
	color: #fff;
	border-radius: 10px;
	font-size: 2vw;
	margin-left: 14.5vw;
	position: relative;
    background: #5b4d22;
}


.mv .inner h2 + h2 + p span {
    background: linear-gradient(transparent 80%, #ffff00 60%);
	font-weight: bold;
/*	color: #e65082;*/
	font-size: 2.2vw;
	position: relative;

}



.worry{ width: 900px; padding-top: 80px; padding-bottom: 80px; position: relative; }
.worry h2{ font-size: 40px; font-weight: 600; text-align: center; color: #e65082; margin-bottom: 40px; }
.worry h2 small{ display: block; font-size: 18px; font-weight: 700; text-align: center; color: #5b4d22; position: relative; letter-spacing: 0.06em; }
.worry ul{ padding: 30px 43px; display: table; margin-left: auto; background: #f7f4eb; border-radius: 30px; position: relative; z-index: 2; }
.worry ul li{ font-family: inherit; font-size: 22px; font-weight: 600; padding-left: 45px; position: relative; }
.worry ul li:before{ content: ''; width: 36px; height: 33px; background: url(../images/icon-check01.png) no-repeat; background-size: contain; position: absolute; left: 0; top: 15px; }
.worry ul li:last-of-type span{ border-bottom: none; }
.worry ul li span{ line-height: 3; border-bottom: dotted 2px; display: block; }
.worry ul li strong{ background: #fff; }
.worry .item01{ width: 400px; position: absolute; bottom: 0; left: -110px; z-index: 0; }

.invisa{ background-image: url(../images/webp/dot01.webp), url(../images/webp/dot02.webp), url(../images/webp/bg-invisa01.webp); background-repeat: no-repeat, no-repeat, no-repeat; background-size: 30vw, 16.67vw, cover; background-position: top left, bottom right, center; padding: 110px 0 85px; position: relative; z-index: 5; }
.no-webp .invisa{ background-image: url(../images/dot01.png), url(../images/dot02.png), url(../images/bg-invisa01.jpg); background-repeat: no-repeat, no-repeat, no-repeat; background-size: 30vw, 16.67vw, cover; background-position: top left, bottom right, center;}
.invisa .wrap{ width: 900px; }
.invisa h2{ font-size: 40px; font-weight: 600; text-align: center; letter-spacing: 0; white-space: nowrap; }
.invisa h2 small{ display: block; font-size: 30px; text-align: center; }
.invisa h2 small span.encho{background: #fff;padding: .3em .5em;border-radius: 30px;display: inline-block;margin: 3vw auto 1vw;font-size: 1.1em;}
.invisa h2 strong{ font-size: 60px; }
.invisa h2 strong.more{ font-size: 60px; color: #e65082; background: linear-gradient(transparent 70%, #ffff00 70%); line-height: 1.4; }
.invisa h2 span{ background: linear-gradient(transparent 60%, #ffff00 60%);  }
.invisa h2 span.hukidashi {
    background: #e9578a;
    color: #fff;
    padding: .3em;
    border-radius: 15px;
}
.invisa h2 + a.btn{ background: #5b4d22; color: #fff; margin: 45px auto; }
.invisa h2 + a.btn span{ background-image: url(../images/arrow01.png); }
.invisa p.mincho{ font-size: 30px; font-weight: 600; text-align: center; }
.invisa p.mincho strong{ background: linear-gradient(transparent 60%, #ffff00 60%); }
.invisa p.mincho strong.more{ font-size: 60px; font-weight: 600; color: #e65082; line-height: 1.4; }
.invisa .img-list{ display: flex; justify-content: space-between; width: 800px; margin: 40px auto; }
.invisa .img-list li{ width: 180px; }
.invisa .img-list li img{ display: block; border-radius: 180px; }
.invisa .wrap > small{ display: block; width: 680px; margin: 30px auto 0; }

.dr{ padding: 120px 0 110px; background: url(../images/webp/dot01.webp), url(../images/webp/dot02.webp); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; background-color: #fff; position: relative; z-index: 2; }
.no-webp .dr{ background: url(../images/dot01.png), url(../images/dot02.png); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; background-color: #f2f2f2; }

.dr h2{ margin-bottom: 40px; }
.dr ul{ margin-bottom: 70px; }
.dr ul li{ position: relative; }
.dr ul li + li{ margin-top: 180px; }
.dr ul li .item01{ width: 465px; position: absolute; bottom: 0px; right: -150px; }
.dr ul li:nth-of-type(even) .item01{ right: auto; left: -150px; }
.dr ul li .content{ width: 480px; }
.dr ul li:nth-of-type(even) .content{ margin-left: auto; }
.dr ul li .content > span{ display: block; font-size: 16px; }
.dr ul li .content > span span {position: relative; padding-left: 1.5em;}
.dr ul li .content > span span:before{content: ""; background: url("https://www.sdcg-implant.com/images/yokohamafc-logo.png"); background-repeat: no-repeat; width: 1.5em; height: 1.5em; position: absolute; display: inline-block;background-size: contain; vertical-align: middle; left: 0px; top: -2px;}

.dr ul li:nth-of-type(even) .content > span{ text-align: right; }
.dr ul li .content h3{ font-size: 32px; font-weight: 600; border-bottom: dotted 2px; padding-bottom: .2em; margin-top: .2em; margin-bottom: .5em; }
.dr ul li:nth-of-type(even) .content h3{ text-align: right; }
.dr ul li .content h3 span{ font-size: 16px; color: #e65082; margin-left: 1em; vertical-align: middle; }
.dr ul li .content h3 + p{font-size: 15px; line-height: 2;}
.dr ul li .content h3 + p strong{background: linear-gradient(transparent 60%, #ffff00 60%); font-size: 1.1em;}
.dr ul li:nth-of-type(even) .content h3 span{ margin-left: 0; margin-right: 1em; }
.dr ul li:nth-of-type(even) .content a.btn{ margin-left: auto; }
.dr ul li .content a.btn{ margin-top: 40px; }
.dr ul li .content p + p{ margin-top: 2.5em; line-height: 2.2; }
.dr .row{ display: flex; justify-content: space-between; }
.row.two.pc{width: 800px; margin: 80px auto 0;}
.dr .row .box{ width: 350px; padding-bottom: 390px; position: relative; }
.dr .row .box > span{ font-size: 16px; display: block; }
.dr .row .box h3{ font-size: 32px; border-bottom: dotted 2px; padding-bottom: .2em; }
.dr .row .box h3 span{ font-size: 16px; color: #e65082; margin-left: 1em; vertical-align: middle; }
.dr .row .box img{ display: block; max-width: none; position: absolute; bottom: 0; }
.dr .row .box:nth-of-type(1) img{ width: 350px; }
.dr .row .box:nth-of-type(2) img{ width: 350px; }
.dr .wrap > p{ font-size: 36px; font-weight: 700; text-align: center; margin-top: 80px; }
.dr .wrap > p strong{ font-size: 50px; font-weight: 600; color: #b4963c; }
.dr p.mincho{ font-size: 30px; font-weight: 600; text-align: center; }
.dr p.mincho strong{ background: linear-gradient(transparent 60%, #ffff00 60%); font-size: 30px;}
.dr p.mincho small{font-size: .7em;}
.dr_wrap{ width:1000px;}
.dr .small-wrap{ width: 1000px; margin-left:0; position: relative; height: 471px; margin-top: 75px; }
.dr .small-wrap dl{ width: 250px; position: absolute; }
.dr .small-wrap dl:nth-of-type(1){ top: 0; left: 0; }
.dr .small-wrap dl:nth-of-type(2){ bottom: 0; left: 120px; z-index: 2; }
.dr .small-wrap dl:nth-of-type(3){ top: 0; left: 40%; transform: translateX(-50%); }
.dr .small-wrap dl:nth-of-type(4){ bottom: 0; right: 325px; z-index: 2; }
.dr .small-wrap dl:nth-of-type(5){ top: 0; right: 160px; }
.dr .small-wrap dl:nth-of-type(6){ bottom: 0; right: 0; }
.dr .small-wrap dl img{ display: block; max-width: none; width: 300px; }
.dr .small-wrap dl:nth-of-type(1) img{ margin: -20px 0 0 -50px; }
.dr .small-wrap dl:nth-of-type(even) img{ margin-left: -20px; margin-bottom: 20px; }
.dr .small-wrap dl:nth-of-type(3) img{ margin: -30px 0 0 -20px; }
.dr .small-wrap dl:nth-of-type(5) img{ margin: -30px 0 0 -20px; }
.dr .small-wrap dl dt{ border-bottom: dotted 2px; }
.dr .small-wrap dl dt small{ font-size:13px; margin-top:20px; display: block; line-height: 1.3; letter-spacing: 0; }
.dr .small-wrap dl dt span{ display: block; font-size: 28px; }

.reason{ padding: 120px 0 125px; background: #ffffff; position: relative; z-index: 1; }
.reason ul li{ position: relative; }
.reason ul li + li{ margin-top: 90px; }
.reason ul li .content{ width: 400px; }
.reason ul li:nth-of-type(even) .content{ margin-left: auto; }
.reason ul li .content .no{ display: block; font-size: 22px; color: #e65082; font-weight:  500;}
.reason ul li:nth-of-type(even) .content .no{ text-align: right; }
.reason ul li .content .no strong{ font-size: 40px; font-weight: 400; }
.reason ul li .content h3{ font-size: 20px; font-weight: 700; text-align: center; background: #b4963c; border-radius: 10px; padding: .2em 0; margin-bottom: 1em; color: #fff;}
.reason ul li .content a.btn{ background: #fff; margin-top: 30px; }
.reason ul li:nth-of-type(even) .content a.btn{ margin-left: auto; }
.reason ul li .img{ width: calc(50vw - 70px); height: 260px; background-repeat: no-repeat; background-size: cover; background-position: center; position: absolute; top: 0; right: calc(-50vw + 400px); border-radius: 300px 0 0 300px; }
.reason ul li:nth-of-type(even) .img{ right: auto; left: calc(-50vw + 400px); border-radius: 0 300px 300px 0; }
.reason ul li:nth-of-type(1) .img{ background-image: url(../images/webp/reason01.webp); }
.no-webp .reason ul li:nth-of-type(1) .img{ background-image: url(../images/reason01.jpg); }
.reason ul li:nth-of-type(2) .img{ background-image: url(../images/webp/reason02.webp); }
.no-webp .reason ul li:nth-of-type(2) .img{ background-image: url(../images/reason02.jpg); }
.reason ul li:nth-of-type(3) .img{ background-image: url(../images/webp/reason03.webp); }
.no-webp .reason ul li:nth-of-type(3) .img{ background-image: url(../images/reason03.jpg); }
.reason ul li:nth-of-type(4) .img{ background-image: url(../images/webp/reason05.webp); }
.no-webp .reason ul li:nth-of-type(4) .img{ background-image: url(../images/reason05.jpg); }
.reason ul li:nth-of-type(5) .img{ background-image: url(../images/webp/reason04.webp); }
.no-webp .reason ul li:nth-of-type(5) .img{ background-image: url(../images/reason04.jpg); }
.reason ul li:nth-of-type(6) .img{ background-image: url(../images/webp/reason06.webp); }
.no-webp .reason ul li:nth-of-type(6) .img{ background-image: url(../images/reason06.jpg); }

.itero{ padding: 120px 0 120px; margin-top: -10px; background: url(../images/webp/dot01.webp), url(../images/webp/dot02.webp); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; position: relative; }
.no-webp .itero{ background: url(../images/dot01.png), url(../images/dot02.png); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; }
.itero .wrap{ position: relative; }
.itero .item01{ width: 403px; position: absolute; top: 125px; left: -320px; }
.itero .item02{ width: 508px; position: absolute; top: 305px; right: -385px; }
.itero h2{ margin-bottom: 55px; }
.itero h3{ width: 550px; margin: 0 auto 50px; }
.itero ol{ display: table; margin: 0 auto 45px; counter-reset: itero; }
.itero ol li{ font-size: 22px; line-height: 3; border-bottom: solid 1px #f2f2f2; padding-left: 60px; position: relative; }
.itero ol li:last-of-type{ border-bottom: none; }
.itero ol li:before{ counter-increment: itero; content: counter(itero); width: 40px; height: 40px; border-radius: 20px; background: #b4963c; font-size: 20px; color: #fff; line-height: 1; font-family: fairwater-script, sans-serif; font-style: normal; font-weight: 700; letter-spacing: 0; position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; }
.itero ol + img + p{ font-size: 34px; text-align: center; color: #b4963c; font-weight: 600; line-height: 1.6; margin-bottom: 55px; }
.itero p.mincho{ font-size: 34px; text-align: center; color: #b4963c; font-weight: 600; line-height: 1.6; margin-bottom: 55px; }
.itero a.btn{ margin: 0 auto; }

.correspondence{ background: url(../images/webp/bg-correspondence01.webp) no-repeat; background-size: cover; padding: 100px 0 123px; }
.no-webp .correspondence{ background: url(../images/bg-correspondence01.jpg) no-repeat; background-size: cover; }
.correspondence .wrap{ width: 1000px; }
.correspondence h2{ font-size: 34px; font-weight: 600; text-align: center; border-top: solid 1px; border-bottom: solid 1px; padding: .2em 0; margin-top: 30px; }
.correspondence ul{ display: flex; justify-content: space-between; margin-bottom: 150px;}
.correspondence ul li{ width: 140px; }
.correspondence ul li img{ display: block; width: 104px; margin: 0 auto 16px; }
.correspondence ul li h3{ font-size: 18px; font-weight: 600; text-align: center; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; text-align: center; margin-bottom: 16px; }
/*.correspondence ul li a.btn{ border: solid 1px; }*/

.correspondence .flex{display: flex; justify-content: space-between; margin: 0 auto 20px;}
.correspondence .flex .half{width: calc(100%/2 - 20px);}
.correspondence .flex .half img{display: block; width: 100%; border-radius: 10px;}
.correspondence h3.tit{font-weight: 600; color: #5b4d22; font-size: 25px; text-align: center; display: table; margin: 100px auto 30px;}
.correspondence h4{font-size: 18px; text-align: center;}
.correspondence .flex + a.btn,.correspondence .flex + a.btn + a.btn{margin: 50px auto 0;}
.correspondence table{width: 100%;}
.correspondence table tr:first-of-type {border-top: solid 3px #deca96;}
.correspondence table th{width: 30%; background: #fcfaf4; font-weight: 600; font-size: 1.2em;}
.correspondence table td{width: 70%; background: #fff;}
.correspondence table th,.correspondence table td{padding: 10px 10px 10px 25px; border-bottom: solid 1px #e2e2e2; vertical-align: middle;}


.plan{ background-color: #f0ead8; background-image: url(../images/dot01.png), url(../images/dot02.png); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; padding: 114px 0 122px; z-index: 2; position: relative; }
.no-webp .plan{ background-color: #f0ead8; background-image: url(../images/webp/dot01.webp), url(../images/webp/dot02.webp); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; }
.plan h2{ margin-bottom: 75px; }
.plan table{ width: 100%; border-collapse: separate; border: solid 1px #b4963c; border-radius: 20px; overflow: hidden; margin-bottom: 1em; }
.plan table thead{ background: #b4963c; }
.plan table thead th{ font-size: 22px; font-weight: 700; color: #fff; text-align: center; height: 60px; vertical-align: middle; }
.plan table tbody tr:nth-of-type(odd){ background: #e8dfc4; }
.plan table tbody th{ padding: 20px 10px; text-align: center; vertical-align: middle; font-size: 18px; width: 285px; border-bottom: solid 1px #b4963c; border-right: solid 1px #b4963c; }
.plan table tbody td{ padding: 20px 50px; vertical-align: middle; border-bottom: solid 1px #b4963c; }
.plan tbody td.strong{ font-size: 18px; font-weight: 700; }
.plan tbody td.strong s{ font-size: 18px; font-weight: 700; }
.plan table tbody tr:last-of-type *{ border-bottom: none; }
.plan table + p{margin-bottom: 3em; font-size: 1.1em;}
.plan table + p strong{font-weight: 600;}
.plan a.btn{ margin: 0 auto; background: #fff; }


.flow{ padding: 120px 0 50px; background-color: #f0ead8; background-image: url(../images/webp/dot01.webp), url(../images/webp/dot02.webp); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top left, bottom right; }
.no-webp .flow{ background-color: #ffffff; background-image: url(../images/dot01.png), url(../images/dot02.png); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top left, bottom right; }
.flow h2{ margin-bottom: 75px; }
.flow ul li{ position: relative; padding-left: 125px; display: flex; justify-content: space-between; padding-bottom: 50px; }
.flow ul li:not(:last-of-type):after{ content: ''; width: 1px; height: 100%; background: #5b4d22; position: absolute; left: 50px; top: 0; z-index: 0; }
.flow ul li:nth-of-type(4):after{ height: calc(100% - 10px); }
.flow ul li:nth-of-type(4):before{ content: ''; width: 1px; height: 14px; background: #5b4d22; position: absolute; bottom: 10px; left: 46px; transform: rotate(-35deg); }
.flow ul li .no{ width: 100px; height: 100px; border-radius: 50px; display: flex; justify-content: center; align-items: center; font-size: 22px; color: #fff; position: absolute; top: 0; left: 0; background: #5b4d22; z-index: 1; }
.flow ul li .no strong{ font-size: 30px; }
.flow ul li dl{ width: 350px; }
.flow ul li dl dt{ font-size: 30px; font-weight: 600; color: #b4963c; border-bottom: dotted 2px #5b4d22; margin-bottom: 15px; }
.flow ul li .img{ width: 250px; }
.flow ul li .img img{ display: block; width: 100%; border-radius: 10px; }
.flow ul + a.btn{ margin: 35px auto 90px; background: #f2f2f2; }
.flow .second{ margin-top: 160px; border-radius: 10px; background: #f2f2f2; -webkit-box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.35); -moz-box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.35); box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.35);}
.flow .second dt{ font-size: 22px; font-weight: 700; color: #fff; text-align: center; border-radius: 10px 10px 0 0; padding: .5em 0 .4em;
	background: rgb(91,77,34); /* Old browsers */
	background: -moz-linear-gradient(45deg, rgba(91,77,34,1) 0%, rgba(91,77,34,1) 53%, rgba(180,150,60,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg, rgba(91,77,34,1) 0%,rgba(91,77,34,1) 53%,rgba(180,150,60,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg, rgba(91,77,34,1) 0%,rgba(91,77,34,1) 53%,rgba(180,150,60,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5b4d22', endColorstr='#b4963c',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.flow .second dd{ padding: 40px; display: flex; justify-content: space-between; }
.flow .second dd .content{ width: 360px; }
.flow .second dd .content p{ font-size: 16px; letter-spacing: 0.08em; }
.flow .second dd .content a.btn{ margin-top: 45px; }
.flow .second dd .img{ width: 320px; }
.flow .second dd .img img{ display: block; border-radius: 10px; width: 100%; }

.flow .price-list{ width: 100%; border-collapse: separate; border: solid 1px; border-radius: 20px; overflow: hidden; margin-bottom: 1em; }
.flow .price-list thead{ background: #5b4d22; }
.flow .price-list thead th{ font-size: 22px; font-weight: 700; color: #fff; text-align: center; height: 60px; vertical-align: middle; }
.flow .price-list tbody tr:nth-of-type(odd){ background: #e8dfc4; }
.flow .price-list tbody th{ width: 550px; height: 60px; vertical-align: middle; font-size: 18px; padding-left: 50px; border-bottom: solid 1px; }
.flow .price-list tbody td{ vertical-align: middle; font-size: 26px; padding-left: 50px; letter-spacing: 0; border-bottom: solid 1px; border-left: solid 1px; }
.flow .price-list tbody td.strong{ font-size: 18px; font-weight: 700; }
.flow .price-list tbody tr:last-of-type *{ border-bottom: none; }
.flow .price-list + p{ text-align: right; margin-bottom: 3em; }
.flow .price-list + p + a.btn{ margin: 0 auto; background: #fff; }

.qa{ padding: 125px 0 90px; position: relative; }
.qa h2{ font-size: 18px; font-weight: 700; color: #fff; height: 50px; display: flex; justify-content: center; align-items: center; background: #5b4d22; border-radius: 10px; position: relative; margin-bottom: 60px; }
.qa h2:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 10px; border-color: #5b4d22 transparent transparent transparent; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); }
.qabox{ display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; margin-bottom: 60px; }
.qabox dl{ width: 350px; border-bottom: solid 1px #fff; padding: 1em .5em 1em 0; }
.qabox dl:nth-of-type(7){ border-bottom: none; }
.qabox dl dt{ font-size: 17px; letter-spacing: .05em; background: url(../images/arrow02.png) no-repeat; background-size: 5px; background-position: top 50% right 0; cursor: pointer; font-weight: 600;}
.qabox dl dd{ padding: 1em 0 0; display: none; }
.qabox dl dd p{margin-bottom: .5em;}
.qa a.btn{ margin: 0 auto; }
.qa a.btn + p{ font-size: 36px; font-weight: 700; text-align: center; line-height: 1.6; }
.qa a.btn + p strong{ font-size: 50px; font-weight: 600; color: #b4963c; }

.contact1{ padding: 200px 0 200px; position: relative; background: url(../images/webp/bg-contact01.webp) no-repeat; background-size: cover; }
.contact{ padding: 70px 0 80px; margin-top: 0px; position: relative; background: url(../images/webp/bg-contact01.webp) no-repeat; background-size: cover; }
.no-webp .contact{background: url(../images/bg-contact01.jpg) no-repeat; background-size: cover; }

.no-webp .contact:before{ background: url(../images/bg-arrow02.png) no-repeat; background-size: contain; background-position: top center; }
.plan + .contact:before{ background-image: url(../images/bg-arrow03.png); }
.contact h2{ font-size: 38px; font-weight: 600; text-align: center; color: #fff; margin-bottom: .7em; }
.contact h2 + p{ color: #fff; text-align: center; margin-bottom: 3em;}
.contact h2 + p strong{font-size: 1.2em; font-weight: bold; padding-top: .8em;}
.contact h2 + p strong span.shiroiha{border-bottom: 1px solid #FBF8F8; font-size: 30px;}
.contact h2 + p{ color: #fff; text-align: center; margin-bottom: 3em;}
.contact ul{ display: flex; justify-content: space-between; }
.contact ul li{ width: 380px; height: 80px; border-radius: 40px; display: flex; justify-content: center; align-items: center; position: relative; background: #5b4d22; }
.contact ul li .inner{ padding-right: 25px; background: url(../images/arrow01.png) no-repeat; background-size: 5px; background-position: top 50% right 0; }
.contact ul li small{ display: block; color: #fff; }
.contact ul li span{ font-size: 34px; color: #fff; line-height: 1.1; }
.contact ul li:nth-of-type(1) span{ padding-left: 24px; background: url(../images/icon-tel02.png) no-repeat; background-size: 17px; background-position: left 0 top 50%; }
.contact ul li:nth-of-type(2) span{ padding-left: 39px; background: url(../images/icon-web01.png) no-repeat; background-size: 25px; background-position: left top 50%; }
.contact ul li span strong{ font-size: 28px; position: relative; top: -2px;}

.group{ padding: 110px 0 0; background-color: #f2f2f2; background-image: url(../images/webp/dot01.webp), url(../images/webp/dot02.webp); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; }
.no-webp .group{ background-color: #ffffff; background-image: url(../images/dot01.png), url(../images/dot02.png); background-repeat: no-repeat, no-repeat; background-size: 33.33vw, 16.67vw; background-position: top -12.5vw left 0, bottom right; }
.group .wrap{ width: 1000px; position: relative; z-index: 0; }
.group h2{ margin-bottom: 50px; }
.group h2 + p{margin-bottom: 30px;}
.group p strong{font-weight: 600;}
.group ul{ display: flex; flex-wrap: wrap; }
.group ul li{ width: 230px; margin-right:26.666px; margin-bottom:50px; }
.group ul li:nth-child(4n){ margin-right:0;}
.group ul li h3{ font-size:13px; font-weight: 700; text-align: center; padding-bottom: .4em; margin-top: .6em; }
.group ul li .area{ display: block; background: #b5963c; color: #fff; text-align: center; padding: .2em; margin-bottom: .8em; }
/*.group ul li:nth-of-type(4) .area{ background: #5b4d22; }*/
.group ul li p{ margin-bottom: .6em; font-size:14px; letter-spacing:0; }
.group ul li a.btn{ margin-top: 20px; background: #5b4d22; color: #fff; }
.group ul li a.btn span{ background-image: url(../images/arrow01.png); }
.group .map{ width: 600px; position: absolute; bottom: -130px; right: -130px; z-index: -1; }
.group .main.pc{ display: block; width: 100%; margin-top: 110px; }

footer{ padding: 100px 0 16px; background: url(../images/bg-footer.jpg); background-size: cover; }
footer .wrap{ width: 900px; display: flex; justify-content: space-between; }
footer .left{ width: 278px; }
footer .right{ width: 560px; }
footer .right ul{ display: flex; justify-content: space-between; flex-wrap: wrap; }
footer .right ul li{ width: calc(100% / 3); margin-bottom: .6em; }
footer .right ul li a{ padding-right: 1.2em; background: url(../images/arrow02.png) no-repeat; background-size: 5px; background-position: top 50% right 0; }
footer p.copy{ font-size: 12px; text-align: center; margin-top: 70px; }

.float-btn{ width: 180px; position: fixed; bottom: 150px; right: 0; z-index: 9990; }
.float-btn li{ display: flex; align-items: center; width: 100%; height: 70px; position: relative; font-weight: 700; color: #fff; line-height: 1.4; border-radius: 35px 0 0 35px; padding-left: 54px; -webkit-box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.35); -moz-box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.35); box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.35);}
.float-btn li small{font-size: .9em;}
.float-btn li:nth-of-type(1){ background-color: #e95789; background-image: url(../images/icon-tel02.png); background-repeat: no-repeat; background-size: 17px; background-position: top 50% left 20px; }
.float-btn li:nth-of-type(2){ background-color: #b4963c; background-image: url(../images/icon-web01.png); background-repeat: no-repeat; background-size: 23px; background-position: top 50% left 20px; margin-top: 20px; }
.float-btn p{position: fixed; bottom: 315px; right: 10px; z-index: 9990; line-height: 1.2; font-weight: bold; font-size: .9em;}
.float-btn p span{background: linear-gradient(transparent 40%, #ffff00 60%);}
.menu-btn{ width: 30px; height: 25px; position: fixed; top: 32px; right: 40px; z-index: 10000; cursor: pointer; }
.menu-btn span{ width: 100%; height: 3px; background: #5b4d22; position: absolute; right: 0; transition: .3s; }
.menu-btn span:nth-of-type(1){ top: 0; }
.menu-btn span:nth-of-type(2){ top: 50%; transform: translateY(-50%); }
.menu-btn span:nth-of-type(3){ bottom: 0; }
.menu-btn.active span:nth-of-type(2){ width: 75%; }
.menu-btn.active span:nth-of-type(3){ width: 50%; }

nav{ width: 100%; height: 100%; background: #fff; position: fixed; top: 0; left: 0; z-index: 9999; display: flex; justify-content: center; align-items: center; overflow-y: scroll; transition: .3s; opacity: 0; visibility: hidden; }
nav.active{ opacity: 1; visibility: visible; }
nav .logo{ width: 300px; display: block; margin: 0 auto 80px; }
nav ul li{ margin-bottom: 1em; font-size: 16px; }
nav ul li a{ padding-right: 2.2em; background: url(../images/arrow02.png) no-repeat; background-size: 5px; background-position: top 50% right 0; display: block; }

.totop{ width: 100px; position: fixed; bottom: 20px; right: 50px; z-index: 99; opacity: 0 !important; visibility: hidden; }
.totop.active{ opacity: 1 !important; visibility: visible; }
ul.center li{
	text-align: center;
}
ul.center li small{
	text-align: center;
	line-height: inherit;
}


.banner {
    width: 800px;
    margin: auto;
    margin-top: 75px;
     text-align: center;
}

.mv .inner span.total {
    font-size: 2.2vw;
    letter-spacing: 0;
}

.mv .inner p.invisa001{ font-size: 1.3vw; letter-spacing: 0; }


.invisa001::after {
    content: "";
    background: url(../images/diamond.png);
    background-repeat: no-repeat;
    width: 7em;
    height: 7em;
    position: absolute;
    display: inline-block;
    background-size: 102%;
    vertical-align: middle;
    margin-left: 40px;
    bottom: 0;
}

.title_text{ font-size:28px; font-weight:bold; margin:60px 0 10px; border-bottom:#b4963c 5px solid;}
.title_text + p{ font-size:18px; margin:0 0 40px;}
.title_text + p span{ font-weight:bold; color:#e95789;}

.campaign_wrap{ background:#f7f4eb; padding:50px; margin:100px 0;}
.campaign_wrap h2{ line-height:1.8; margin-bottom:40px; font-size:25px;}
.campaign_wrap h2 span{ font-size:45px; color:#e95789;}
.campaign_wrap p{ font-size:21px; text-align:center;}
.campaign_wrap p + p{ margin-top:3rem;}
.campaign_wrap p span{ border-bottom:#5b4d22 2px solid; padding-bottom:5px;}
.campaign_wrap table{ margin:40px 0 0;}
.campaign_wrap table td img{ width:100%;}
.campaign_wrap table th{ width:40%; vertical-align:top;}
.campaign_wrap table td{ width:60%; vertical-align:middle; padding-left:30px; font-size:20px; font-weight:bold;}
.campaign_wrap table td span{ color:#e95789;}

.map_wrap{ width:800px; margin:80px auto 0;}
.commendation{ width:900px; margin:0 auto; display:flex;}
.commendation .img{ width:250px;}
.commendation .img img{ border-radius:100%;}
.commendation .text{ width:650px; display:flex; justify-content:flex-start; align-items:center; padding-left:50px;}
.commendation .text p{ font-size:20px; font-weight:bold;}
.commendation .text p strong{ background: linear-gradient(transparent 60%, #ffff00 60%); }

.light {margin-top: 60px;}

.top_news_wrap{ width: 800px; margin: 20px auto 0;}
.top_news{ box-sizing: border-box; background: #f0ead8; display: flex; padding: 10px 20px;}
.top_news dt{ margin-right: 15px; letter-spacing: 0; font-weight: normal;}
.top_news dt span{ background: #5b4d22; color: #FFF; font-weight: bold; padding: 5px; margin-right: 20px;}
.mv .inner .top_news dt,.mv .inner .top_news dd a,.mv .inner .top_news dt span{ font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}
.top_news dd a{ position: relative; font-weight: normal;}
.top_news dd a::before { position: absolute; top: 4px; bottom: 0; content: ""; vertical-align: middle; right: -20px; width: 5px; height: 5px; border-top: 1px solid #5b4d22; border-right: 1px solid #5b4d22; -webkit-transform: rotate(45deg); transform: rotate(45deg);}

.news_wrap{ background: #f0ead8; padding: 50px 0 70px;}
.news_wrap .inner{ width: 800px; margin: 0 auto;}
.news_wrap .inner h2{ font-size: 34px; font-weight: bold; text-align: center; margin-bottom: 20px;}
.news_wrap .top_news{ background: #FFF;}
.news_wrap .top_news + .top_news{ margin-top: 10px;}



