/*.bg-lazy{ background-image: none !important; }*/

header.original{ position: absolute; top: 0; background: transparent; }
header.original .logo{ position: absolute; top: 3rem; left: 3rem; }
header.original .logo img{ width: 16.3rem; }
header.original nav{ margin-left: auto; }
header.original nav .gnav{ color: #fff; }
header.original nav > a{ filter: brightness(0) invert(1); }
header.clone{ top: -8rem; transition: .5s; }
header.clone.active{ top: 0; }

.mv{ position: relative; margin-bottom: 12.5rem; }
.mv:after{ content: ''; width: 9.5rem; height: 100%; background: #fff; position: absolute; left: 0; top: 0; z-index: 6; }
.mv .main-slide{ width: 100vw; position: relative; }
.mv .main-slide:before{ content: ''; width: 100%; height: 100%; background: #999; position: absolute; top: 0; left: 0; mix-blend-mode: multiply; z-index: 5;  opacity: 0.1;}
.mv .main-slide li img{ object-fit: cover; object-position: center; }
@media(min-width: 769px){
  .mv .main-slide li img{ width: 100%!important; height: auto!important; }
}
.mv .item01{ height: calc(100% + 2px); width: auto; position: absolute; top: -1px; left: 9.4rem; z-index: 6; }
.mv h1{ position: absolute; z-index: 7; bottom: 6.5rem; left: 3rem; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 2rem; letter-spacing: .1em; font-feature-settings: initial; }

.sec-intro{ margin-bottom: 16.5rem; }
.sec-intro h2{ font-size: 3.2rem; text-align: center; color: var(--sub-color01); margin-bottom: .8rem; }
.sec-intro h2 + p{ text-align: center; margin-bottom: 8rem; }
.sec-intro .info-box > .right{ padding-top: 3rem; }

h2.general{ font-size: 1.6rem; }
h2.general:after{ content: attr(data-en); display: block; font-size: 9rem; font-family: var(--en-font); font-weight: 400; color: var(--sub-color01); line-height: 1; }

.sec-policy{ background: url(../cms/images/index/webp/policy-bg01.webp) no-repeat center/cover; padding: 8.4rem 0 10rem; position: relative; }
.sec-policy .img01{ width: calc(50vw - 6rem); height: 54rem; border-radius: 27rem 0 0 27rem; background: url(../cms/images/index/webp/policy01.webp) no-repeat center/cover; position: absolute; top: -5rem; right: 0; }
.sec-policy h2{ margin-bottom: 3.5rem; }
.sec-policy .check{ margin-bottom: 3rem; }
.sec-policy .check li{ font-size: 2.4rem; font-weight: 700; padding-left: 4rem; position: relative; letter-spacing: .1em; }
.sec-policy .check li:before{ content: ''; width: 2.27rem; height: 2.25rem; background: url(../cms/images/index/icon-check01.svg) no-repeat center/contain; position: absolute; left: 0; top: 1.2rem; }
.sec-policy .check li + li{ margin-top: 1.4rem; }
.sec-policy .check li strong{ background:linear-gradient(transparent 75%, var(--sub-color01) 75%); padding-bottom: .3rem; }
.sec-policy .check + p{ max-width: 40rem; margin-bottom: 3.6rem; }

.sec-sekokai{ margin-bottom: 13.5rem; }
.sec-sekokai .head{ background: var(--sub-color01); padding: 4rem 0 3rem; position: relative; text-align: center; z-index: 1; }
.sec-sekokai .head:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 2.5rem 4rem 0 4rem; border-color: var(--sub-color01) transparent transparent transparent; position: absolute; bottom: -2.4rem; left: 50%; transform: translateX(-50%); }
.sec-sekokai .head h2{ margin-bottom: .8rem; }
.sec-sekokai .head h2 small{ display: block; font-size: 2.2rem; margin-bottom: .4rem; }
.sec-sekokai .head h2 strong{ display: block; font-size: 4.6rem; font-weight: 400; color: #fff; }
.sec-sekokai .head h2 + p{ color: #fff; }
.sec-sekokai ul.row li{ width: 50%; padding: 6rem 0 5rem; background: no-repeat center/cover; color: #fff; position: relative; }
.sec-sekokai ul.row li:nth-of-type(1){ background-image: url(../cms/images/index/webp/bg-sekokai01.webp); }
.sec-sekokai ul.row li:nth-of-type(2){ background-image: url(../cms/images/index/webp/bg-sekokai02.webp); }
.sec-sekokai ul.row li .inner{ width: 40rem; padding-bottom: 7.4rem; position: relative; }
.sec-sekokai ul.row li:nth-of-type(1) .inner{ margin: 0 10rem 0 auto; }
.sec-sekokai ul.row li:nth-of-type(2) .inner{ margin: 0 0 0 10rem; }
.sec-sekokai ul.row li h3{ font-size: 2.2rem; text-align: center; white-space: nowrap; border-bottom: solid 1px; padding-bottom: 1rem; margin-bottom: 1rem; }
.sec-sekokai ul.row li h3 strong{ color: var(--sub-color01); }
.sec-sekokai ul.row li .btn{ position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }

.sec-treatment{ padding-bottom: 10rem; z-index: 0; margin-bottom: 14rem; }
.sec-treatment .img01{ width: calc(50vw - 6rem); height: 54rem; border-radius: 27rem 0 0 27rem; background: url(../cms/images/index/webp/treatment01.webp) no-repeat center/cover; position: absolute; top: 16.5rem; right: calc(-50vw + 40rem); }
.sec-treatment .bg01{ width: 100vw; height: 62rem; background: url(../cms/images/index/webp/treatment-bg01.webp) no-repeat top center/max(100%, 120rem); position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.sec-treatment h2{ margin-bottom: 3.6rem; }
.sec-treatment h2 + p{ max-width: 40rem; margin-bottom: 5.6rem; }
.sec-treatment .treat-list{ width: 40rem; margin-bottom: 17.4rem; }
.sec-treatment .treat-list li, .sec-treatment .treat-list li:nth-of-type(5n){ margin-right: calc((100% - 12rem * 3) / 2); }
.sec-treatment .treat-list li:nth-of-type(3n){ margin-right: 0; }
.sec-treatment .treat-list li:nth-of-type(n+4){ margin-top: 3rem; }
.sec-treatment .first-price{ background: rgba(255, 255, 255, .95); padding: 3rem 5rem 9.5rem; position: relative; }
.sec-treatment .first-price:after{ content: ''; width: calc(100% - 10rem); height: .6rem; border-top: solid 1px; border-bottom: solid 1px; box-sizing: border-box; position: absolute; bottom: 5rem; left: 50%; transform: translateX(-50%); }
.sec-treatment .first-price h3{ font-size: 2.2rem; text-align: center; position: relative; margin-bottom: 2.4rem; }
.sec-treatment .first-price h3 .inner{ display: inline-block; padding-left: 3rem; background: url(../cms/images/index/icon-first01.svg) no-repeat left .5rem center/1.33rem; }
.sec-treatment .first-price h3 span[class^="border"]{ display: inline-block; position: absolute; top: 50%; transform: translateY(-50%); height: .6rem; border-top: solid 1px; border-bottom: solid 1px; }
.sec-treatment .first-price h3 .border-left{ left: 0; }
.sec-treatment .first-price h3 .border-right{ right: 0; }
.sec-treatment .first-price h3 + p{ text-align: center; margin-bottom: 2.4rem; }
.sec-treatment .first-price h3 + p strong{ font-size: 1.8rem; font-weight: 700; color: var(--sub-color01); line-height: 1; }
.sec-treatment .first-price h3 + p small{ font-size: 1.2rem; }
.sec-treatment .first-price .btn{ margin: 0 auto; }

.sec-flow{ margin-bottom: 10rem; }
.sec-flow h2{ margin-bottom: 4rem; }
.sec-flow .flow-list{ counter-reset: flow; margin-bottom: 4rem; }
.sec-flow .flow-list li{ display: flex; justify-content: space-between; align-items: flex-start; }
.sec-flow .flow-list li + li{ margin-top: 4rem; }
.sec-flow .flow-list li .txt{ width: 40rem; }
.sec-flow .flow-list li .txt h3{ font-size: 2rem; padding-left: 3.8rem; position: relative; margin-bottom: 1rem; }
.sec-flow .flow-list li .txt h3:before{ counter-increment: flow; content: counter(flow); width: 3rem; height: 3rem; border-radius: 100%; background: var(--sub-color01); font-size: 1.8rem; color: #fff; line-height: 1; letter-spacing: 0; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: .2rem; }
.sec-flow .flow-list li img{ border-radius: 9rem; }

.img-box01{ display: block; margin-bottom: 14.5rem; }
.img-box01 img{ display: block; width: 100%; height: 42rem; object-fit: cover; object-position: center; }

.sec-clinic{ margin-bottom: 15rem; }
.sec-clinic .img01{ width: calc(50vw - 6rem); height: 54rem; border-radius: 27rem 0 0 27rem; background: url(../cms/images/index/webp/clinic01.webp) no-repeat center/cover; position: absolute; top: 16.5rem; right: calc(-50vw + 40rem); }
.sec-clinic h2{ margin-bottom: 3rem; }
.sec-clinic h3{ font-size: 2.4rem; margin-bottom: 3rem; }
.sec-clinic h3 + p{ max-width: 40rem; margin-bottom: 4rem; letter-spacing: .05em; }
.sec-clinic .clinic-slide{ width: 50vw; overflow: hidden; position: relative; left: calc(-50vw + 40rem); margin-top: 6.5rem; }
.sec-clinic .clinic-slide .swiper-wrapper{ transition-timing-function: linear; }
.sec-clinic .clinic-slide li img{ width: 100%; }

.sec-jidv{ padding: 10rem 0 8.5rem; background: url(../cms/images/index/webp/jidv-bg01.webp) no-repeat center/cover; margin-bottom: 10rem; }
.sec-jidv h2{ font-size: 2.2rem; color: #2ebe9e; text-align: center; background: #fff; padding: 1.5rem 0; position: relative; letter-spacing: .1em; margin-bottom: 4.5rem; }
.sec-jidv h2:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 2.5rem 4rem 0 4rem; border-color: #fff transparent transparent transparent; position: absolute; bottom: -2.4rem; left: 50%; transform: translateX(-50%); }
.sec-jidv h2 + p{ text-align: center; margin-bottom: 4rem; }
.sec-jidv .banner01{ display: table; margin: 0 auto 4rem; }
.sec-jidv .banner01 + p{ width: 100vw; position: relative; left: calc(-50vw + 40rem); text-align: center; }
.sec-jidv .banner01 + p strong{ font-weight: 700; }

.banner-covid{ width: 80rem; height: 12rem; display: flex; align-items: center; padding-left: 5rem; background: url(../cms/images/index/webp/banner-covid01.webp) no-repeat center/cover; margin: 0 auto 11.5rem; color: #fff; }
.banner-covid dl dt{ font-size: 2.2rem; font-weight: 700; letter-spacing: .1em; }
.banner-covid dl dd{ font-size: 1.5rem; letter-spacing: .1em; }
.banner-covid dl dd span{ padding-right: 2rem; position: relative; }
.banner-covid dl dd span:after{ content: ''; width: .6rem; height: .6rem; border-bottom: solid 1px; border-right: solid 1px; position: absolute; top: 50%; right: 0; transform: translateY(-50%) rotate(-45deg); }


/*gray-box*/
.gray-box {background: #f3f3f3;border-radius: 3rem;padding: 4rem 5rem 6rem;margin-top: 3.6rem;}
.gray-box .side-img {margin: 0 0 40px;}
.gray-box h4{font-size: 1.5rem;text-align: center;color: var(--sub-color01);margin-bottom: 0.8rem;}
.gray-box strong{font-weight: 900; }
.gray-box a{margin-top:1rem; margin-bottom:1rem;}


.sec-clinic2 { background: url(../cms/images/index/webp/policy-bg01.webp) no-repeat center/cover; padding: 8.4rem 0 10rem; position: relative; margin-bottom: 10rem;}
.sec-clinic2  .img01{ width: calc(50vw - 6rem); height: 54rem; border-radius: 27rem 0 0 27rem; background: url(../cms/images/index/webp/treatment01.webp) no-repeat center/cover; position: absolute; top: -5rem; right: 0; }
.sec-clinic2  h2{ margin-bottom: 3.5rem; }
.sec-clinic2  .check{ margin-bottom: 3rem; }
.sec-clinic2  .check li{ font-size: 2.4rem; font-weight: 700; padding-left: 4rem; position: relative; letter-spacing: .1em; }
.sec-clinic2  .check li:before{ content: ''; width: 2.27rem; height: 2.25rem; background: url(../cms/images/index/icon-check01.svg) no-repeat center/contain; position: absolute; left: 0; top: 1.2rem; }
.sec-clinic2  .check li + li{ margin-top: 1.4rem; }
.sec-clinic2  .check li strong{ background:linear-gradient(transparent 75%, var(--sub-color01) 75%); padding-bottom: .3rem; }
.sec-clinic2  .check + p{ max-width: 40rem; margin-bottom: 3.6rem; }
.sec-clinic2   h3{ max-width: 40rem; margin-bottom: 3.6rem; }
.sec-clinic2   p{ max-width: 40rem; margin-bottom: 3.6rem; }


/*sec-features*/

.sec-features{ padding-top: 9rem; z-index: 0; margin-bottom: 8rem; }
.sec-features .deco-en{ top: 0; right: calc(-50vw + 49.5rem) }
.sec-features h2{ margin-bottom: 6rem; }
.sec-features ol li{ position: relative; z-index: 0; color: #fff; padding: 9rem 56rem 3.6rem 0; min-height: 30rem; }
.sec-features ol li + li{ margin-top: 1.2rem; }
.sec-features ol li:before{ content: ''; width: calc(50vw + 50rem); height: 100%; background-color: #ffffff;
background-image: linear-gradient(90deg, #ffffff 0%, #e8e8e8 100%);
 position: absolute; right: 0; top: 0; z-index: -1; }
.sec-features ol li:nth-of-type(even):before{ background-color: #ffffff;
background-image: linear-gradient(90deg, #ffffff 0%, #e8e8e8 100%); }
.sec-features ol li:after{ content: ''; width: 50rem; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center; position: absolute; top: 0; right: 0; }
.sec-features ol li:nth-of-type(1):after{ background-image: url(../cms/images/index/webp/features01.webp); }
.sec-features ol li:nth-of-type(2):after{ background-image: url(../cms/images/index/webp/features02.webp); }
.sec-features ol li:nth-of-type(3):after{ background-image: url(../cms/images/index/webp/features03.webp); }
.sec-features ol li:nth-of-type(4):after{ background-image: url(../cms/images/index/webp/features04.webp); }
.sec-features ol li .no{ width: 9.4rem; height: 6.8rem; background: #fe2201; font-size: 4rem; line-height: 1; color: #fbfbfb; position: absolute; top: 0; left: 0; display: flex; justify-content: center; padding-top: 1rem; }
.sec-features ol li .no:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 0 4.7rem 1.4rem 4.7rem; border-color: transparent transparent #fafafa transparent; position: absolute; bottom: 0; left: 0; }
.sec-features ol li:nth-of-type(even) .no{ color: #fbfbfb; }
.sec-features ol li:nth-of-type(even) .no:after{ border-color: transparent transparent #fbfbfb transparent; }
.sec-features ol li h3{ font-size: 1.8rem; margin-bottom: 1rem; color: #000; }
.sec-features ol li p{ color: #000; }
.sec-features ol + .btn{ margin-left: auto; }

footer .foot-bg .wrap{
    width: 110rem;
}



.clinic3{ background: #ebebeb; position: relative; padding: 170px 0 30px;margin-bottom: 10rem; }
.clinic3:before{
	content: '';
	width: 100%;
	height: 8vw;
	background: url("../cms/images/index/webp/clinic-bg01.webp") no-repeat;
	background-size: cover;
	background-position: top;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.clinic3 .right{ width: 50%; background: #fff; margin-left: auto; position: relative; z-index: 15; }
.clinic3 .right .inner{ width: 500px; padding: 1px 0 50px 86px; }
.clinic3 .right h2{ display: table; margin: -56px 0 30px auto; }
.clinic3 h2 .noto{ font-size: 70px; letter-spacing: 0; line-height: 1.4; }
.clinic3 .right h2 .ja{
	display: table;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	background: #ff0000;
	padding: 2px 8px;
	margin: 0 auto;
}
.clinic3 .right p{ margin-bottom: 1em; line-height: 1.8; }
.clinic3 .right .btn{ margin-top: 30px; }
.clinic3 .clinic-img {
    position: absolute;
    bottom: -30px;
    left: -100px;
}
.clinic3 .clinic-img img{ position: relative; z-index: 14; }
.clinic3 dl{
	background: #1e1e1e;
	display: table;
	padding: 20px 40px 30px;
	margin-left: calc(-40vw + 300px);
	margin-top: -150px;
    z-index: 20;
    position: relative;
}
.clinic3 dl dt{
	color: #fff;
	display: table;
	border-bottom: solid 1px;
	padding-bottom: 8px;
	margin-bottom: 10px;
}
.clinic3 dl dt strong{ font-size: 20px; }
.clinic3 dl dd ul li{ color: #fff; padding-left: 1em; position: relative; }
.clinic3 dl dd ul li:before{ content: '-'; position: absolute; left: 0; }


/*reservation*/
.reservation {
    margin-bottom: 91px;
    position: relative;
    padding: 105px 30px 67px;
    background: url("../cms/images/index/webp/policy-bg01.webp") no-repeat left top/ cover;
    background-attachment: fixed;
}
.reservation h2.general{
    text-align: center;
    margin-bottom: 2rem;
}
.reservation .reserve-box {
    display: flex;
    justify-content:space-around;
    margin-bottom: 30px;
}
.reservation .reserve-box li {
    width: calc((100% - 20px)/2);
}
.reservation .reserve-box li a {
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    height: 163px;
    box-sizing: border-box;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    background: #000;
}
.reservation .reserve-box li a:hover {
	opacity: 0.5;
}
.reservation .reserve-box .tel a {
    font-size: 2.4rem;
    letter-spacing: 0.075em;
}
.reservation .reserve-box .tel a .icoBox .ico{
    margin-bottom: 2rem;
}
.reservation .reserve-box .tel p {
    line-height: 0.6;
}
.reservation .reserve-box .ico {
    margin-bottom: 10px;
}
.reservation .ttl {
    margin-bottom: 12px;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.005em;
    text-align: center;
}
.reservation .txt {
    text-align: center;
    line-height: 2;
    letter-spacing: 0.005em;
}

   * {
        box-sizing: border-box; /* 全ての要素にボックスサイジングを適用 */
    }

    .calendar {
        display: flex;
        gap: 20px; /* カレンダー間の隙間を調整 */
        flex-wrap: nowrap; /* PCでの横並びを維持 */
        width: 100%; /* 幅を100%に設定 */
    }

    iframe {
        width: 100%; /* 幅を100%に設定 */
        max-width: 800px; /* PCでの最大幅 */
        height: 400px; /* 高さを300pxに設定 */
        border: solid 1px #777; /* ボーダー設定 */
    }

    /* スマートフォン用のレイアウト調整 */
    @media (max-width: 768px) {
        .calendar {
            flex-direction: column;
            gap: 0; /* SPでカレンダーの隙間をなくす */
        }

        iframe {
            width: 100%; /* 幅を100%に */
            height: auto; /* 高さを自動に */
            max-width: none; /* 最大幅を解除 */
            min-height: 400px; /* スマートフォン用に最小高さを設定 */
        }
    }


.news_area .btn {
    width: 26rem;
    height: 5rem;
    display: flex;
    align-items: center;
    background: url(//www.sekokai-takashimadaira.com/css/../images/common/arrow01.svg) var(--base-color) no-repeat right 1.8rem top 1.6rem / 2.1rem;
    color: #fff;
    padding-left: 2.8rem;
}


.sec-painless {
    margin: 80px 0;
}

@media(max-width:768px){
	.sec-painless {
    margin: 50px 0;
}
}