h2.bg-pic{ font-size: 3.5rem; font-family: "游明朝", YuMincho, yu-mincho-pr6n, serif; font-weight: 600; color: #fff; text-align: center; width: 100%; height: 45rem; padding-top: 26rem; background-repeat: no-repeat; background-size: cover; background-position: center; position: relative; }
h2.bg-pic:before{ content: attr(data-en); display: block; text-align: center; font-size: 11.2rem; font-family: minion-pro, serif; font-weight: 400; line-height: 1; position: absolute; top: 15rem; left: 50%; transform: translateX(-50%); color: #fff; opacity: .5; }
h2.bg-pic:after{ content: ''; width: 1px; height: 6rem; background: #fff; position: absolute; bottom: -3rem; left: 50%; }

.vertical{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; line-height: 1.6; }

.sec-treatment{ color: #fff; position: relative; z-index: 0; margin-bottom: 9rem; }
.sec-treatment:before{ content: ''; width: 100%; height: calc(100% - 22rem); background: rgb(21,51,104); background: linear-gradient(120deg, rgba(21,51,104,1) 0%, rgba(163,180,187,1) 100%); position: absolute; top: 0; left: 0; z-index: -1; }
.sec-treatment h2{ background-image: url(../images/index/webp/treatment-ttl01.webp); margin-bottom: 7rem; }
.sec-treatment p.intro{ text-align: center; max-width: 60rem; margin: 0 auto 5rem; }
.sec-treatment .treat-list{ margin-bottom: 13rem; }
.sec-treatment .first{ position: relative; margin-bottom: 13rem; z-index: 1; }
.sec-treatment .first .item01{ position: absolute; top: 0; left: -15rem; }
.sec-treatment .first h3{ position: absolute; top: 0; right: 0; white-space: nowrap; font-size: 2.8rem; }
.sec-treatment .first h3 span{ letter-spacing: 0; }
.sec-treatment .first h3 span:nth-of-type(odd){ margin-top: -1rem; }
.sec-treatment .first .inner{ max-width: 32.7rem; margin: 0 20rem 0 auto; }
.sec-treatment .first .inner p{ letter-spacing: 0; }
.sec-treatment .first .inner p + p{ margin-top: 2.5rem; }
.sec-treatment .bg-white{ position: relative; z-index: 0; padding-top: 13.5rem; color: #353535; padding-bottom: 9rem; }
.sec-treatment .bg-white:before{ content: ''; width: calc(100% + (50vw - 40rem)); height: 100%; background: #fff; position: absolute; top: 0; left: -5rem; z-index: -1; }
.sec-treatment .bg-white:after{ content: ''; width: 92rem; height: 1px; background: #e3e9f1; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.sec-treatment .bg-white h3{ font-size: 2.8rem; color: #153368; position: absolute; top: 10rem; left: 1.5rem; white-space: nowrap; }
.sec-treatment .bg-white .point-list{ display: flex; justify-content: space-between; width: 72.4rem; margin-left: auto; margin-right: -5rem; counter-reset: point; }
.sec-treatment .bg-white .point-list li{ width: 21rem; position: relative; }
.sec-treatment .bg-white .point-list li:before{ counter-increment: point; content: counter(point,decimal-leading-zero); font-size: 4.5rem; font-family: minion-pro, serif; font-weight: 400; color: #a68443; line-height: 1; position: absolute; top: -3rem; right: -1.7rem; }
.sec-treatment .bg-white .point-list li img{ display: block; width: 100%; margin-bottom: 1.8rem; }

.sec-contact01{ margin-bottom: 10rem; }
.sec-contact01 h2{ font-size: 6rem; color: #19407f; text-align: center; line-height: 1; margin-bottom: 4.4rem; }
.sec-contact01 h2 + p{ font-size: 1.8rem; text-align: center; color: #153368; margin-bottom: 2.5rem; }
.sec-contact01 .btn-row{ width: 62.2rem; margin: 0 auto; }
.sec-contact01 .btn-row .btn{ width: 30rem; }
.sec-contact01 .btn-row .btn.tel{ font-size: 3.6rem; font-family: minion-pro, serif; font-weight: 400; letter-spacing: 0; }

.sec-feature{ margin-bottom: 10rem; }
.sec-feature h2{ background-image: url(../images/index/webp/feature-ttl01.webp); z-index: 2; }
.sec-feature h2:after{ z-index: 2; }
.sec-feature .wrap{ z-index: 0; padding-top: 9.4rem; padding-bottom: 10rem; }
.sec-feature .wrap:before{ content: ''; width: calc(50vw + 55rem); height: 100%; background: #e3e9f1; position: absolute; top: 0; left: -5rem; z-index: -1; }
.sec-feature .wrap:after{ content: ''; width: 23.8rem; height: 27rem; background: url(../images/index/webp/border01.webp) no-repeat center/contain; position: absolute; top: -1.2rem; right: -10rem; z-index: -1; }
.sec-feature h3{ font-size: 3rem; text-align: center; color: #153368; position: relative; display: table; margin: 0 auto 2.8rem; padding-bottom: .65rem; }
.sec-feature h3:before{ content: ''; width: 100%; height: .65rem; box-sizing: border-box; border-top: solid 1px #a68443; border-bottom: solid 1px #a68443; position: absolute; left: 0; bottom: 0; }
.sec-feature h3 + p{ text-align: center; color: #153368; letter-spacing: .05em; margin-bottom: 9rem; }
.sec-feature .feature-list{ counter-reset: feature; }
.sec-feature .feature-list li{ position: relative; }
.sec-feature .feature-list li:nth-of-type(1){ min-height: 40rem; margin-bottom: 7rem; }
.sec-feature .feature-list li:nth-of-type(2){ min-height: 40rem; margin-bottom: 6.5rem; }
.sec-feature .feature-list li:nth-of-type(3){ min-height: 55rem; margin-bottom: 10rem; }
.sec-feature .feature-list li:nth-of-type(4){ min-height: 40rem; margin-bottom: 13.5rem; }
.sec-feature .feature-list li:nth-of-type(5){ min-height: 45rem; margin-bottom: 11.5rem; }
.sec-feature .feature-list li:nth-of-type(6){ min-height: 40rem; }
.sec-feature .feature-list li:nth-of-type(1):before{ content: ''; width: 10.6rem; height: 10.6rem; background: url(../images/index/webp/border02.webp) no-repeat center/contain; position: absolute; top: -7rem; left: 7.2rem; }
.sec-feature .feature-list li:nth-of-type(1):after{ content: ''; width: 23.9rem; height: 26rem; background: url(../images/index/webp/border03.webp) no-repeat center/contain; position: absolute; bottom: -24.7rem; left: -5.7rem; }
.sec-feature .feature-list li:nth-of-type(2):after{ content: ''; width: 10.6rem; height: 10.6rem; background: url(../images/index/webp/border04.webp) no-repeat center/contain; position: absolute; bottom: -6.6rem; right: -11rem; }
.sec-feature .feature-list li:nth-of-type(3):before{ content: ''; width: 21.3rem; height: 21.3rem; background: url(../images/index/webp/border05.webp) no-repeat center/contain; position: absolute; bottom: -9rem; left: 31.5rem; }
.sec-feature .feature-list li:nth-of-type(4):before{ content: ''; width: 28.2rem; height: 25.2rem; background: url(../images/index/webp/border06.webp) no-repeat center/contain; position: absolute; bottom: -13.2rem; right: -10rem; }
.sec-feature .feature-list li:nth-of-type(6):before{ content: ''; width: 25.6rem; height: 23.4rem; background: url(../images/index/webp/border07.webp) no-repeat center/contain; position: absolute; bottom: -1.6rem; left: -10.6rem; }
.sec-feature .feature-list li img{ position: absolute; }
.sec-feature .feature-list li:nth-of-type(1) img{ top: 0; left: 1rem; }
.sec-feature .feature-list li:nth-of-type(2) img{ top: 0; right: -10rem; }
.sec-feature .feature-list li:nth-of-type(3) img{ top: 0; left: -10rem; }
.sec-feature .feature-list li:nth-of-type(4) img{ top: 0; right: -5rem; }
.sec-feature .feature-list li:nth-of-type(5) img{ top: 0; left: -10rem; }
.sec-feature .feature-list li:nth-of-type(6) img{ top: 0; right: -10rem; }
.sec-feature .feature-list li .txt{ width: 35rem; margin-left: auto; position: relative; }
.sec-feature .feature-list li:nth-of-type(1) .txt{ padding-top: 5.5rem; }
.sec-feature .feature-list li:nth-of-type(2) .txt{ width: 45rem; margin-left: 20rem; padding-top: 3.8rem; }
.sec-feature .feature-list li:nth-of-type(3) .txt{ padding-top: 7.3rem; }
.sec-feature .feature-list li:nth-of-type(4) .txt{ width: 35rem; margin-left: 5rem; }
.sec-feature .feature-list li:nth-of-type(5) .txt{ padding-top: 8rem; }
.sec-feature .feature-list li:nth-of-type(6) .txt{ width: 45rem; margin-left: 20rem; padding-top: 3.5rem; }
.sec-feature .feature-list li .txt:before{ counter-increment: feature; content: counter(feature); font-size: 21.4rem; font-family: minion-pro, serif; font-weight: 400; line-height: .6; color: #d0dae7; position: absolute; z-index: -1; }
.sec-feature .feature-list li:nth-of-type(odd) .txt:before{ top: 0; right: 0; }
.sec-feature .feature-list li:nth-of-type(even) .txt:before{ top: 0; left: -7rem; }
.sec-feature .feature-list li .txt h4{ font-size: 2.8rem; line-height: 1.6; color: #153368; margin-bottom: .5rem; }
.sec-feature .feature-list li .txt .btn{ margin-top: 2.7rem; }

.sec-dr{ background: url(../images/index/webp/dr-bg01.webp) #19407f no-repeat right bottom/auto calc(100% - 45rem); }
.sec-dr h2{ background-image: url(../images/index/webp/dr-ttl01.webp); }
.sec-dr .wrap{ padding-top: 9.5rem; padding-bottom: 8.5rem; color: #fff; }
.sec-dr .item01{ position: absolute; top: -10rem; left: -10rem; }
.sec-dr .txt{ width: 40rem; margin-left: auto; }
.sec-dr .txt p{ line-height: 2.2; }
.sec-dr .txt p + p{ margin-top: 3rem; }
.sec-dr .txt p.name{ font-size: 2.5rem; text-align: right; margin-top: 5rem; }
.sec-dr .txt p.name small{ font-size: 1.6rem; margin-right: 1.3em; }
.sec-dr .txt + .btn{ margin: 4.5rem auto 0; }

.sec-first{ padding-top: 8.4rem; padding-bottom: 10rem; z-index: 0; }
.sec-first .bg01{ width: 50rem; height: 57rem; background: url(../images/index/webp/first-bg01.webp) no-repeat left top/contain; position: absolute; top: 0; left: calc(-50vw + 50rem); z-index: -1; }
.sec-first .bg02{ width: 38rem; height: 38rem; background: url(../images/index/webp/first-bg02.webp) no-repeat right bottom/contain; position: absolute; bottom: 0; right: calc(-50vw + 50rem); z-index: -1; }
.sec-first h2{ font-size: 3.5rem; font-family: "游明朝", YuMincho, yu-mincho-pr6n, serif; font-weight: 600; color: #153368; text-align: center; margin-bottom: 7rem; position: relative; }
.sec-first h2:before{ content: attr(data-en); display: block; text-align: center; font-size: 11.2rem; line-height: 1; color: #e3e9f1; }
.sec-first h2:after{ content: ''; width: 1px; height: 6rem; background: #153368; position: absolute; left: 50%; bottom: -10rem; z-index: 2; }
.sec-first .txt{ position: relative; z-index: 1; padding: 6rem 42rem 6.5rem 8rem; margin-bottom: 6.5rem; }
.sec-first .txt:before{ content: ''; width: 100%; height: 100%; background: #153368; position: absolute; top: 2rem; left: 2rem; z-index: -2; }
.sec-first .txt:after{ content: ''; width: 100%; height: 100%; background: #fff; border: solid 1px #e3e9f1; position: absolute; top: 0; left: 0; z-index: -1; }
.sec-first .txt img{ position: absolute; top: -2.4rem; right: -4.5rem; }
.sec-first .txt + .btn{ margin: 0 auto 8.4rem; }
.sec-first .jidv{ background: #e3e9f1; padding: 6.8rem 10rem 10rem; }
.sec-first .jidv h3{ font-size: 3.5rem; color: #153368; text-align: center; position: relative; padding-bottom: 5rem; margin-bottom: 5rem; }
.sec-first .jidv h3:after{ content: ''; width: 1px; height: 3rem; background: #153368; position: absolute; bottom: 0; left: 50%; }
.sec-first .jidv h3 + .row{ margin-bottom: 5rem; }
.sec-first .jidv h3 + .row p{ width: 40rem; line-height: 2.2; letter-spacing: 0em; }
.sec-first .jidv h3 + .row a{ line-height: 0; }
.sec-first .jidv .white-wrap{ background: #fff; padding: 3.6rem 5.5rem 4.5rem 5rem; }
.sec-first .jidv .white-wrap h4{ font-size: 2.2rem; color: #153368; margin-bottom: 1rem; position: relative; padding-left: 1em; }
.sec-first .jidv .white-wrap h4:before{ content: '※'; position: absolute; left: 0; }

.sec-contact02{ background: #e3e9f1; z-index: 0; position: relative; padding-bottom: 10rem; margin-bottom: 10rem; }
.sec-contact02:before{ content: ''; width: 100%; height: calc(100% - 45rem); background: url(../images/index/webp/contact-bg01.webp) no-repeat center/cover; position: absolute; bottom: 0; left: 0; z-index: -1; mix-blend-mode: multiply; opacity: .2; }
.sec-contact02 h2{ background-image: url(../images/index/webp/contact-ttl01.webp); }
.sec-contact02 h2:after{ content: none; }
.sec-contact02 .box{ width: 46rem; background: #fff; padding: 5.5rem 8rem 7rem; position: relative; margin-top: -9rem; box-shadow: 7px 7px 14px -5px rgba(0,0,0,0.2); display: flex; justify-content: center; align-items: center; }
.sec-contact02 .box h3{ font-size: 2.2rem; color: #153368; text-align: center; padding: 4.5rem 0 1.6rem; border-bottom: solid 1px #f6f8f9; margin-bottom: 1.8rem; }
.sec-contact02 .box:nth-of-type(1) h3{ background: url(../images/common/webp/icon-resv01.webp) no-repeat top center/2.8rem; }
.sec-contact02 .box:nth-of-type(2) h3{ background: url(../images/common/webp/icon-tel01.webp) no-repeat top center/2.6rem; }
.sec-contact02 .box p{ margin-bottom: 1.2rem; }
.sec-contact02 .box:nth-of-type(2) p{ text-align: center; margin-bottom: 2.4rem; }
.sec-contact02 .box:nth-of-type(2) .btn{ font-size: 3.6rem; }


/*2022-0318*/
.treat_pick-wrap  {
    margin: 0 calc(56% - 38vw);
    width: 70vw;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 7rem;
}
.treat_pick {
    width: calc(100% / 2);
    position: relative;
    
}
.treat_pick picture {
    width: 100%;
	height: 350px;
		
}
.treat_pick a img {
    width: 100%;
    filter: brightness(50%);
    transition: .4s;
    border: none;
	height: 350px;
}
.treat_pick a:hover img {
    filter: brightness(70%);
    transition: .4s;
}
.treat_pick a:hover dl.treat_pick-item {
    color: #fff;
    transition: .4s;
}
.pickup dl.treat_pick-item {
    padding-left: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.pickup dl dt:after { 
    content: ''; 
    width: calc(30rem + 1px); 
    height: 1px; 
    background: #fff; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    transition: .4s; 
}

/*2022-0318*/

.sec-contact02 .box.sp {
   
 background: no-repeat;
    box-shadow: none;
   
    
   
}

.cancel{
	
	margin: 39px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.cancel a{
	width: calc(50% - .5rem);
}

.tuki{
	
	width: 800px;
	margin: 20px auto;
		
}
.banner_wrap{ width: 800px; margin: 0 auto 3em; display: block;}
.banner_wrap img{ width: 100%;}


