@charset "utf-8";

.pc-only {
    display: block
  }
  
  .sp-only {
    display: none
  }
  
@media screen and (max-width:768px) {
    .pc-only {
      display: none
    }
    .sp-only {
        display: block;
      }
  }

  body {
    margin: 0;
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    letter-spacing: 0.05rem;
}
p{
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    line-height: 1.5;
    letter-spacing: 0.1rem;
}

.header {
    display: flex;
    padding: 1%;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    position: absolute;
    z-index: 100;
}

div.header-logo {
    width: 45%;
    padding: 0.5% 0 0 1%;
}

ul.menu_list {
    font-family: 'Century Gothic';
    padding: 0 3% 0 0;
    display: flex;
    list-style: none;
    font-size: 1vw;
    text-align: center;
    align-items: center;
    width: 100%;
    justify-content: end;
    color: #fff;
}

li.menu_list {
    padding: 0 2%;
}

ul.list-btn {
    display: flex;
    list-style: none;
    padding: 0;
    justify-content: space-between;
    width: 50%;
    gap: 3%;
    margin-left: 1%;
}

li.btn {
    width: 100%;
    color: #fff;
}

img.header-logo {
    width: 100%;
}


/* 全体のスタイル */
.fv {
    height: 45vw;
    overflow: hidden;
    position: relative; 
}
.fv-tel-link {
    z-index: 10;
    width: 33vw;
    position: absolute;
    left: 5%;
    bottom: 3%;
    opacity: 0;
}
.main_img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
  }

#changePicMain {
    animation :imgfade 4s infinite;
    opacity: 0;
    }

#changePicTel01 {
    animation :imgfade 4s infinite;
    opacity: 0;
    }

#changePicAdditional {
    animation :imgfade 4s infinite;
    opacity: 0;
    }

#changePicTel02 {
    animation :imgfade 4s infinite;
    opacity: 0;
    }

    
    
    
    @keyframes imgfade {
        0% {
            opacity: 0;
        }
        
        25% {
            opacity: 1;
        }
        50% {
            opacity: 1;
        }
    
        75% {
            opacity: 1;
        }
        100% {
            opacity: 0;
        }
    }


/* 他の要素（テキストや画像）にはアニメーションを適用しない */
.btn-box01,
.calendar {
    opacity: 1;  /* 初期状態で表示 */
    transition: none;  /* アニメーションの無効化 */
    position: relative;  /* 位置がずれないように */
}

/* テキストやボタンに影響が出ないように位置やサイズを明示的に指定（必要に応じて） */
.btn-box01,
.calendar {
    position: relative;
    z-index: 100;  /* 他の要素より前面に表示 */
}

.strong_list_menu {
    display: flex;
    gap: 0;
    justify-content: center;
    padding: 1% 8%;
    background-image: url(../img/menu-list-back.png);
    background-size: cover;
    background-position: center;
}

.strong_list {
    width: 25%;
    box-sizing: border-box;
}

.strong_list{
    transition-property: opacity;
    transition-duration: 0.5s;
  }
  .strong_list:hover {
    opacity: 0.8; 
  }

.strong_list img {
    width: 100%;
    height: auto;
}

img.calender-btn {
    position: absolute;
    bottom: 26%;
    right: 28px;
    width: 35%;
    z-index: 101;
}

img.calender-btn{
    transition-property: opacity;
    transition-duration: 0.5s;
  }
  img.calender-btn:hover {
    opacity: 0.8; 
  }

img.calendar {
    width: 40%;
    position: absolute;
    right: 0;
    top: 62%;
}

p.small {
    padding: 5% 0;
}

p.content {
    text-align: center;
    padding: 3% 0 1%;
    font-size: 2vw;
    color: #998e73;
    font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: weight;
  font-style: normal;
    letter-spacing: 0.2rem;
}

img.line {
    display: block;
    margin: 0 auto;
}

p.access-txt {
    text-align: center;
    padding: 0 0 2%;
    font-size: 2vw;
    line-height: 1.5;
}

.access-txt-box {
    text-align: center;
    border: solid 1px #717171;
    padding: 1%;
    width: 35%;
    margin: 0 auto;
    font-size: 1.3vw;
    color: #717171;
}

.access-map {
    text-align: center;
    border: solid 1px #717171;
    padding: 1%;
    width: 35%;
    margin: 0 auto 1%;
    font-size: 1.3vw;
    color: #717171;
    position: relative;
}

.access-map::after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../img/map-icon.png);
    background-size: cover;
    position: absolute;
    right: 7%;
    top: 25%;
}

img.arrow {
    margin: 0 auto;
    display: block;
    width: 3%;
    padding: 2% 0 0;
}

p.movie-ttl {
    text-align: center;
    padding: 2% 0;
    font-size: 2vw;
    color: #fff;
}

video.access {
    width: 50%;
    display: block;
    margin: 0 auto;
    padding: 2% 0;
}

#access-video {
    background-image: url(../img/video-back.png);
    background-size: cover;
}

p.movie-txt {
    color: #fff;
    padding: 0 20% 3%;
    text-align: center;
    line-height: 1.8;
}

img.congestion-calendar {
    width: 55%;
    display: block;
    margin: 0 auto;
}

.calendar-strong {
    display: flex;
    justify-content: center;
}

.calendar-box {
    background: #998e73;
    color: #fff;
    padding: 1% 4%;
    margin: 1%;
    border-radius: 100px;
    font-size: 1.3vw;
}

span.five{
    font-size: 5vw;
    font-family: "ivymode", sans-serif;
    font-weight: 400;
    font-style: italic;
    color:#998e73;
    padding: 0 0.3%;
}

img.web-calendar {
    width: 50%;
    display: block;
    margin: 0 auto;
    padding: 3% 0;
}

h2.point-ttl {
    font-size: 3.5vw;
    padding: 1% 0 0;
    text-align: center;
}

span.four{
    font-size: 6vw;
    font-family: "ivymode", sans-serif;
    font-weight: 400;
    font-style: italic;
    color:#998e73;
    padding: 0 0.3%;
}

.point-card {
    background-image: url(../img/point-card.png);
    background-size: cover;
    width: 100%;
    position: relative;
    height: 38vw;
}

.point-column {
    display: flex;
    justify-content: center;
    padding: 3% 0 5%;
    margin: 0 10%;
}

p.point-number {
    font-size: 2.8vw;
    position: absolute;
    top: -4%;
    left: 43%;
    font-family: "ivymode", sans-serif;
    font-weight: 200;
    font-style: italic;
    color: #5a5964;
    letter-spacing: 0.3rem;
}

img.point-img {
    width: 100%;
    padding: 17% 8% 0;
}

p.point-name {
    position: absolute;
    left: 38%;
    top: 6%;
    font-size: 1.3vw;
    color: #998e73;
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    font-style: normal;
}

div#point {
    background-image: url(../img/point-back.png);
    background-size: cover;
}

p.point-txt {
    padding: 8% 5% 0%;
    text-align: center;
    font-size: 1.2vw;
}

p.point-small-txt {
    padding: 5% 8%;
    text-align: center;
    font-size: 0.9vw;
}


p.content-large {
    text-align: center;
    padding: 6% 0 1%;
    font-size: 5vw;
    color: #998e73;
    font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: weight;
  font-style: normal;
    letter-spacing: 0.2rem;
}

h3.sub-txt {
    padding: 2% 0 5%;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.1rem;
    font-size: 1.3vw;
}

div#benefit {
    background-image: url(../img/benefit-back.png);
    background-size: cover;
    position: relative;
}

.benefit-item01 {
    background-image: url(../img/benefit-item01.png);
    background-size: cover;
    position: relative;
    display: flex;
}

.benefit-item02 {
    background-image: url(../img/benefit-item02.png);
    background-size: cover;
    position: relative;
    display: flex;
    margin: 5% 0;
}

.benefit-item03 {
    background-image: url(../img/benefit-item03.png);
    background-size: cover;
    position: relative;
    display: flex;
    margin: 5% 0;
}

.benefit-item04 {
    background-image: url(../img/benefit-item04.png);
    background-size: cover;
    position: relative;
    display: flex;
    margin: 5% 0;
}

p.benefit-number01 {
    position: absolute;
    top: -14%;
    font-size: 3vw;
    left: 3%;
    color: #12607a;
}

p.benefit-number02 {
    position: absolute;
    top: -14%;
    font-size: 3vw;
    left: 3%;
    color: #ad9fbd;
}

p.benefit-number03 {
    position: absolute;
    top: -11%;
    font-size: 3vw;
    left: 3%;
    color: #998e73;
}

p.benefit-number04 {
    position: absolute;
    top: -14%;
    font-size: 3vw;
    left: 3%;
    color: #89a595;
}

span.benefit-number{
    font-size: 5vw;
    font-style: italic;
    font-family: "ivymode", sans-serif;
    letter-spacing: 0.3rem;
}

p.benefit-ttl01 {
    font-size: 3.2vw;
    color: #fff;
    padding: 6% 0 0 10%;
}

.benefit-column01 {
    width: 50%;
}

.benefit-column02 {
    width: 50%;
}

p.benefit-ttl02 {
    font-size: 3.3vw;
    color: #fff;
    background: #839fb6;
    padding: 0.5%;
    width: 39%;
    position: absolute;
    margin: 0 0 0 5%;
    top: 25%;
    text-align: center;
    z-index: 1;
    box-shadow: 4px 4px 1px 0px rgb(0 0 0 / 28%);
}

p.benefit-ttl03 {
    font-size: 3vw;
    color: #fff;
    background: #998e73;
    padding: 0.5%;
    width: 31%;
    position: absolute;
    margin: 0 0 0 5%;
    top: 39%;
    text-align: center;
    z-index: 1;
    box-shadow: 4px 4px 1px 0px rgb(0 0 0 / 28%);
}

img.benefit-img {
    width: 60%;
}

p.benefit-txt01 {
    background: #fff;
    width: 50%;
    position: absolute;
    left: 0;
    top: 42%;
    padding: 2%;
    line-height: 2;
}

p.benefit-txt02 {
    background: #fff;
    width: 50%;
    position: absolute;
    right: 0;
    top: 42%;
    padding: 2%;
    line-height: 2;
}

p.benefit-txt03{
    background: #fff;
    width: 50%;
    position: absolute;
    left: 0;
    top: 39%;
    padding: 2%;
    line-height: 2;
}

img.benefit-img {
    width: 100%;
    padding: 5%;
}

p.benefit-txt {
    background: #fff;
    width: 57%;
    position: absolute;
    left: 0;
    top: 40%;
    padding: 3% 3% 2% 5%;
    line-height: 2;
    box-shadow: 6px 6px 10px 0px rgb(0 0 0 / 25%);
}

p.menu-ttl {
    text-align: center;
    background-image: linear-gradient(90deg, rgba(153, 142, 115, 1), rgba(201, 190, 162, 1));
    padding: 1%;
    color: #fff;
    font-size: 2vw;
    width: 31%;
    margin: 2% auto 1%;
    justify-content: center;
}

.menu-column01 {
    display: flex;
    justify-content: center;
    gap: 2%;
    margin: 0 5%;
}

.menu-column02 {
    display: flex;
    justify-content: center;
    gap: 2%;
    margin: 0 5%;
}

.menu-box01 {
    display: flex;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
    border-radius: 20px;
    width: 100%;
    padding: 2%;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    gap:5%;
}

.menu-box02 {
    display: block;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
    border-radius: 20px;
    width: 30%;
    padding: 2%;
    align-items: center;
    justify-content: space-between;
    position: relative;
    background: #fff;
}

a.arrow {
    font-size: 0.8vw;
    width: 70%;
    background: #5a5964;
    padding: 2% 3%;
    text-align: center;
    color: #fff;
    border-radius: 100px;
    margin: 5% auto;
    display: block;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

p.menu-name {
    width: 100%;
}

img.menu01 {
    width: 40%;
}


.arrow {
    position: relative;
    display: inline-block;
    padding-left: 22px;
  }


img.menu02 {
    position: absolute;
    width: 40%;
    top: -18%;
    left: 30%;
}

.menu-box02 {
    display: block;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
    border-radius: 20px;
    width: 20%;
    padding: 7% 0 2%;
    align-items: center;
    justify-content: space-between;
    position: relative;
    text-align: center;
    margin-top: 4%;
}

div#menu {
    background-image: url(../img/menu-back.png);
    background-size: cover;
    padding: 5% 0;
}

p.menu{
    font-family: "ivymode", sans-serif;
    color: #998e73;
    font-size: 2vw;
    letter-spacing: 0.2rem;
}

p.menu-number{
    font-family: "ivymode", sans-serif;
    color: #998e73;
    font-size: 5vw;
    letter-spacing: 0.4rem;
    line-height: 1;
}

div.menu01 {
    padding: 5% 10% 0;
}

h3.menu-name {
    font-size: 3vw;
    letter-spacing: 0.3rem;
    padding: 0 0 0 3%;
    display: flex;
    align-items: center;
    gap: 5%;
    justify-content: space-between;
    width: 100%;
}

h3.menu-name::after{
    content: "";
    display: block;
    width: calc(700 / 1920* 100vw);
    height: 1px;
    background: #332f26;
}

p.menu-txt01 {
    padding: 4% 5%;
    font-family: "Noto Sans JP","游ゴシック Medium","游ゴシック体","Yu Gothic Medium",YuGothic,"ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-weight: 300;
    color: #332f26;
}

.menu-ttl {
    display: flex;
    align-items: center;
}

p.menu-txt02 {
    font-size: 2vw;
    text-align: center;
    padding-bottom: 5%;
}

p.whitening-ttl {
    background: #ba8986;
    color: #fff;
    padding: 2%;
    text-align: center;
}

.whitening-box {
    width: 33%;
    padding: 2%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.25);
    border-radius: 10px;
}

img.whitening01 {
    width: 100%;
    padding: 5% 0;
}

.whitening-txt-box01 {
    background-image: url(../img/whitening-txt-back01.png);
    background-size: cover;
    padding: 5%;
    height: 17vw;
}

.whitening-txt-box02 {
    background-image: url(../img/whitening-txt-back02.png);
    background-size: cover;
    padding: 5%;
    height: 17vw;
}

.whitening-txt-box03 {
    background-image: url(../img/whitening-txt-back03.png);
    background-size: cover;
    padding: 5%;
    height: 17vw;
}

p.osusume {
    text-align: center;
    padding-bottom: 1%;
    font-size: 1.2vw;
}

li.osusume-list01 {
    padding: 3% 0;
    font-size: 0.9vw;
    line-height: 1.5;
    border-bottom: 1px dotted #cd9c9a;
}

li.osusume-list02 {
    padding: 3% 0;
    font-size: 0.9vw;
    line-height: 1.5;
    border-bottom: 1px dotted #6187aa;
}

li.osusume-list03 {
    padding: 3% 0;
    font-size: 0.9vw;
    line-height: 1.5;
    border-bottom: 1px dotted #b1a3c8;
}


li.osusume-list01:last-child{
    border: none;
}

li.osusume-list02:last-child{
    border: none;
}

li.osusume-list03:last-child{
    border: none;
}

p.whitening-txt {
    font-family: "Noto Sans JP","游ゴシック Medium","游ゴシック体","Yu Gothic Medium",YuGothic,"ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    padding: 3% 0 0;
    font-size: 1vw;
    font-weight: 300;
    color: #332f26;
}

.whitening-column {
    display: flex;
    justify-content: space-between;
    gap: 3%;
}

.dr-comment {
    background: #f5f3ef;
    margin: 5% 0;
    padding: 3%;
}

.comment-column {
    display: flex;
    justify-content: space-between;
    gap: 3%;
}

p.comment-ttl {
    font-size: 1.5vw;
    border-bottom: solid 1px #333;
    padding: 2% 0;
}

p.comment-sub-ttl {
    font-size: 1.8vw;
    padding: 3% 0;
}

p.comment-txt {
    font-family: "Noto Sans JP","游ゴシック Medium","游ゴシック体","Yu Gothic Medium",YuGothic,"ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-weight: 300;
    color: #332f26;
    padding: 0 0 3% 0;
}

img.dr {
    width: 30%;
    height: 21vw;
}

.mushiba-column {
    padding: 3%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.25);
    border-radius: 15px;
}

.direct-about {
    background: #e1ebf4;
    border-radius: 15px;
    padding: 3%;
}

p.direct-ttl {
    font-size: 1.5vw;
    text-align: center;
    border-bottom: solid 1px;
    padding: 0 0 2%;
    width: 60%;
    margin: 0 auto;
}

p.direct-sub-ttl {
    background: #668bad;
    color: #fff;
    text-align: center;
    padding: 2%;
    font-size: 1.5vw;
    width: 60%;
    margin: 2% auto;
}

p.direct-txt {
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    color: #332f26;
    width: 85%;
    margin: 2% auto 1%;
    text-align: center;
}

p.direct-merit-ttl {
    font-size: 1.8vw;
    text-align: center;
    padding: 4% 0 3%;
    color: #3b6891;
}

.direct-merit-box {
    display: flex;
    justify-content: space-between;
    gap: 3%;
}

.direct-merit-item {
    text-align: center;
    width: 30%;
}

img.direct-merit01 {
    width: 50%;
}

p.direct-point-ttl {
    padding: 5% 0 2%;
    font-size: 1.3vw;
    color: #3b6891;
}


p.direct-point-txt {
    font-size: 1vw;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    color: #332f26;
}

.kyosei-item {
    padding: 2%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.25);
    border-radius: 15px;
    width: 35%;
}

.kyosei-box01 {
    display: flex;
    justify-content: space-between;
    gap: 2%;
    padding-bottom: 3%;
}

.kyosei-box02 {
    display: flex;
    justify-content: center;
    gap: 2%;
}

img.kyosei {
    width: 100%;
    padding: 5% 0;
}

p.kyosei-ttl {
    text-align: center;
    border-top: solid 1px;
    border-bottom: solid 1px;
    padding: 2% 0;
    height: 5vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

p.kyosei-txt {
    font-size: 0.9vw;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    color: #332f26;
    height: 7vw;
}
p.kyosei-price {
    background: #f6f3f2;
    padding: 5%;
    font-size: 1vw;
    text-align: center;
    margin-top: 5%;
}

.oyashirazu-column {
    padding: 2%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.25);
    border-radius: 15px;
}

p.oyashiarazu-ttl {
    font-size: 1.5vw;
    text-align: center;
    padding: 2%;
}

.case-box {
    display: flex;
    gap: 2%;
}

.case-item {
    background: #f6f3f2;
    border-radius: 15px;
    padding: 3% 2%;
    margin: 2% 0;
    width: 35%;
    position: relative;
}

p.case-number {
    position: absolute;
    top: -11%;
    font-size: 1.8vw;
    font-family: "ivymode", sans-serif;
    font-weight: 200;
    letter-spacing: 0.2rem;
    color: #998e73;
}

p.case-txt {
    padding-top: 5%;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    color: #332f26;
    font-size: 1vw;
}

h2.equipment-ttl01 {
    text-align: center;
    font-size: 2vw;
    padding: 3% 0 2%;
}

h2.equipment-ttl02 {
    font-size: 3.5vw;
    text-align: center;
    letter-spacing: 0.2rem;
}

img.equipment-img {
    width: 40%;
    padding: 5% 3%;
}


/* スライダー */
.sliderArea {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 80px;
  }
  .sliderArea.w300 {
    max-width: 350px;
  }
  .slick-slide {
    margin: 0 5px;
  }
  .slick-slide img {
    width: 100%;
    height: auto;
  }
  .slick-prev, .slick-next {
    z-index: 1;
  }
  .slick-prev:before, .slick-next:before {
    color: #000;
  }
  .slick-slide {
    transition: all ease-in-out .3s;
    opacity: .2;
  }
  .slick-active {
    opacity: 1;
  }
  .slick-current {
    opacity: 1;
  }
  .thumb {
    margin: 20px 0 0;
  }
  .thumb .slick-slide {
    cursor: pointer;
  }
  .thumb .slick-slide:hover {
    opacity: .7;
  }
  
  .slick-prev:before, .slick-next:before {
      font-family: 'slick';
      font-size: 30px !important;
      line-height: 1;
      opacity: .75;
      color: #ccc !important;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }
  
  .slick-dots {
      position: absolute;
      display: block;
      width: 100%;
      padding: 0;
      margin: 0;
      list-style: none;
      text-align: center;
      bottom: 10% !important;
  }
  
  .slide-arrow {
    bottom: 0;
    cursor: pointer;
    margin: auto;
    position: absolute;
    top: 0;
    width: 30px;
  }
  .prev-arrow {
    left: -40px;
  }
  .next-arrow {
    right: -40px;
  }
  
  .slick-dots li button:before {
      font-family: 'slick';
      line-height: 20px;
      font-size: 60px !important;
      position: absolute;
      top: 0;
      left: 0;
      width: 10px;
      height: 10px;
      content: '•';
      text-align: center;
      opacity: .25;
      color: black;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }
  
  .dots-pc li button:before {
      font-family: 'slick';
      line-height: 20px;
      font-size: 60px !important;
      position: absolute;
      top: 0;
      left: 0;
      width: 10px;
      height: 10px;
      content: '•';
      text-align: center;
      opacity: .25;
      color: black;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }

  .equipment-slider.slick-initialized.slick-slider {
    padding: 3% 0;
}


div#equipment {
    background-image: url(../img/equipment-back.png);
    background-size: cover;
    padding-bottom: 5%;
}

.equipment-column {
    display: flex;
    justify-content: space-between;
    margin: 0 5%;
    gap: 2%;
}

img.equipment-card-img {
    width: 100%;
}

.equipment-item01 {
    background-image: url(../img/torios-back.png);
    background-size: cover;
    padding: 2%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.50);
    width: 100%;
}

.equipment-item02 {
    background-image: url(../img/ct-back.png);
    background-size: cover;
    padding: 2%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.50);
    width: 100%;
}

.equipment-item03 {
    background-image: url(../img/micro-back.png);
    background-size: cover;
    padding: 2%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.50);
    width: 100%;
}

h3.equipment-ttl {
    text-align: center;
    color: #fff;
    font-size: 1.8vw;
    letter-spacing: 0.1rem;
}

p.equipment-sub-ttl {
    padding: 2% 0 5%;
    text-align: center;
    color: #fff;
    letter-spacing: 0.1rem;
    font-size: 1.3vw;
}

ul.equipment-list {
    background: #fff;
    padding: 3% 5%;
    font-size: 1vw;
    height: 18vw;
}

p.equipment-txt {
    background: #fff;
    font-size: 1vw;
    padding: 7%;
    text-align: left;
    height: 18vw;
    line-height: 1.8;
}

li.equipment-list {
    padding: 3%;
    line-height: 1.5;
    border-bottom: 1px dotted #959595;
}

li.equipment-list:last-child{
    border:none;
}

.equipment-card {
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.50);
}

div#staff {
    padding: 5% 10%;
    position: relative;
    margin: 5% 0 0 0;
    background-image: url(../img/staff-back.png);
    background-size: cover;
}

h2.staff-ttl {
    writing-mode: vertical-rl;
    font-size: 4vw;
    letter-spacing: 0.3rem;
    position: absolute;
    top: 5%;
    left: 13%;
}

p.staff-sub-ttl {
    font-size: 1.5vw;
    writing-mode: vertical-rl;
    background: #f7f6f6;
    padding: 1%;
    position: absolute;
    top: 5%;
    left: 19%;
    letter-spacing: 0.3rem;
    display: flex;
    justify-content: center;
}

p.staff-lub {
    writing-mode: vertical-rl;
    color: #998e73;
    position: absolute;
    top: 47%;
    left: 14%;
    font-size: 2vw;
    letter-spacing: 0.3rem;
    font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: weight;
  font-style: normal;
}

img.docter-img {
    width: 100%;
    padding-left: 10%;
}

.staff-column {
    display: flex;
    justify-content: space-between;
    gap: 3%;
    align-items: center;
}

.staff-name-box {
    position: absolute;
    padding: 3%;
}

.staff-item {
    width: 50%;
}

.staff-name-box01 {
    position: absolute;
    padding: 1.5% 4%;
    bottom: 16%;
    background: #fff;
    left: 27%;
    text-align: center;
    font-size: 1.5vw;
}

.staff-name-box02 {
    position: absolute;
    padding: 1.5% 3%;
    bottom: 16%;
    background: #fff;
    left: 23%;
    text-align: center;
    font-size: 1.5vw;
}

p.job {
    border-bottom: solid 1px;
    padding-bottom: 5%;
    font-size: 1.2vw;
}

p.docter-name {
    padding-top: 5%;
    font-size: 1.8vw;
}

p.staff-txt {
    padding: 0 0 5%;
    font-size: 1.2vw;
    line-height: 2vw;
}

ul.career {
    background: #f5f3ef;
    padding: 5%;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    color: #332f26;
    font-size: 1vw;
    line-height: 2;
}

img.staff-img {
    width: 30%;
    position: absolute;
}

.staff-card {
    background: #f5f3ef;
    width: 30%;
    position: relative;
    height: 30vw;
    border-radius: 15px;
}

.staff-slider {
    padding: 10% 5% 0 5%;
    display: flex;
    gap: 1%;
    justify-content: center;
}

img.staff-img {
    width: 60%;
    position: absolute;
    top: -15%;
    left: 20%;
}

.name-box {
    background: #fff;
    width: 70%;
    text-align: center;
    padding: 5%;
    position: absolute;
    left: 15.5%;
    box-shadow: 0px 0px 10px 0px rgba(126, 126, 126, 0.25);
    top: 28%;
    z-index: 1;
    font-size: 1.3vw;
}

p.career01 {
    background: #fff;
    margin: 5%;
    padding: 7%;
    position: absolute;
    bottom: 2%;
    line-height: 2;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    color: #332f26;
    font-size: 0.9vw;
    height: 15vw;
    width: 90%;
}

p.career02 {
    background: #fff;
    margin: 5%;
    padding: 14% 7% 7%;
    position: absolute;
    bottom: 2%;
    line-height: 2;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    color: #332f26;
    font-size: 0.9vw;
    height: 15vw;
    width: 90%;
    overflow-y: scroll;
}

p.staff-furigana {
    color: #a39981;
    font-size: 1vw;
}

p.subject {
    color: #707070;
    font-size: 0.8vw;
    padding-bottom: 2%;
}

.career02::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.career02::-webkit-scrollbar-thumb {
    background: #aaaaaa;
    border-radius: 10px;
}

.career02::-webkit-scrollbar {
    width: 5px;
}

#staff .career02 {
    max-height: 130px;
    overflow-x: hidden;
    padding-right: 10px;
    margin-top: 0;
}

h2.case-ttl {
    font-size: 3.5vw;
    text-align: center;
    letter-spacing: 0.2rem;
}

div#case\&voice {
    padding: 5% 0;
    background-image: url(../img/case-back.png);
    background-size: cover;
    margin-top: 10%;
}

p.implant {
    padding: 1%;
    border-top: solid 1px;
    border-bottom: solid 1px;
    width: 60%;
    font-size: 1.5vw;
    text-align: center;
    margin: 3% auto;
}

.implant-column {
    display: flex;
    justify-content: center;
    gap: 5%;
    margin: 0 25%;
}

img.implant-img {
    width: 100%;
}

p.before {
    background: #fff;
    color: #998e73;
    text-align: center;
    padding: 1% 0;
    margin: 1% 0;
    font-size: 1.5vw;
    font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
    letter-spacing: 0.2rem;
}

p.after {
    background: #998e73;
    color: #fff;
    text-align: center;
    padding: 1% 0;
    margin: 2% 0;
    font-size: 1.5vw;
    font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
    letter-spacing: 0.2rem;
}

p.implant-sub-ttl {
    padding: 3% 0;
    font-size: 1.8vw;
    text-align: center;
    line-height: 1.8;
}

.implant-box {
    background: #fff;
    padding: 3%;
    margin: 0 10%;
}

p.implant-box-ttl {
    text-align: center;
    color: #998e73;
    border-bottom: solid 1px;
    width: 30%;
    padding-bottom: 1%;
    margin: 3% auto;
    font-size: 1.5vw;
}

p.implant-box-txt {
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: #757575;
}

table.profile {
    background: #f7f6f6;
    margin: 5% auto;
    width: 70%;
}

th {
    padding: 3%;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: #757575;
    line-height: 1.8;
}

td {
    padding: 3%;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: #757575;
    line-height: 1.8;
}

tr {
    border-bottom: solid 0.5px #5a5964 !important;
}

tr:last-child{
    border:none;
}


/*ベース*/

.toggle {
	display: none;
}
Label {
    padding: 1em;
    display: block;
    color: #998e73;
    background: #fff;
    border: solid 1px #998e73;
    width: 80%;
    text-align: center;
    margin: 0 auto;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 8px;
	height: 8px;
	border-top: 1px solid #998e73;
	border-right: 1px solid #998e73;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
div.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
div.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}

.Label-calender {
    padding: 1.5em;
    display: block;
    color: #998e73;
    background: #fff;
    border: solid 1px #998e73;
    width: 50%;
    text-align: center;
    margin: 5% auto 3%;
    border-radius: 100px;
    font-size: 1.3vw;
}
.Label-calender::before {
    content: "";
    width: 13px;
    height: 13px;
    border-top: 1px solid #998e73;
    border-right: 1px solid #998e73;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 8px);
    right: 40px;
    transform: rotate(135deg);
}
.Label-calender,
div.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.toggle:checked + .Label-calender + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label-calender::before {
	transform: rotate(-45deg) !important;
}

p.accordion-txt {
    width: 80%;
    margin: 0 auto;
    line-height: 1.8;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: #757575;
    font-size: 1vw;
}

p.accordion-txt02 {
    width: 80%;
    margin: 2rem auto;
    line-height: 1.8;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: #757575;
    font-size: 1vw;
    background: #f7f7f7;
    padding: 2rem;
    border-radius: 15px;
}

.implant-card {
    background: #fff;
    width: 30%;
    margin: 5% 0 0;
}

img.implant-voice {
    width: 100%;
}

img.implant-icon {
    width: 15%;
    height: 15%;
}

.implant-card-ttl {
    display: flex;
    margin: 5% 5% 0;
    justify-content: flex-start;
    gap: 5%;
}

p.implant-card-comment {
    font-size: 1.5vw;
}


p.implant-card-txt {
    padding: 3% 5% 5%;
    font-size: 1vw;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: #757575;
}

.kuchikomi-column {
    display: flex;
    justify-content: center;
    gap: 3%;
}

div#footer {
    background: url(../img/footer-back.png);
    background-size: cover;
    padding: 5% 0;
}

img.footer-logo01 {
    width: 80%;
    padding-bottom: 5%;
}

.footer-column {
    display: flex;
    padding: 0 10%;
    gap: 5%;
}

p.footer-access {
    color: #fff;
    padding: 3% 0 0;
}

img.footer-calendar {
    width: 100%;
    padding-top: 5%;
}

.underline {
    display: inline-block;
    border-bottom: 1px solid white;
    padding-bottom: 2px;
    width: 10%;
}

.btn-box02 {
    display: flex;
    padding: 5% 15% 0;
    gap: 3%;
    justify-content: center;
}

.cta-btn01 {
    background: #998e73;
    padding: 3% 0 2%;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 1.8vw;
    position: relative;
    height: 8vw;
}

.cta-btn01::before {
    content: "";
    display: inline-block;
    width: 63px;
    height: 60px;
    background-image: url(../img/btn-icon01.png);
    background-size: cover;
    position: absolute;
    left: 8%;
    top: 25%;
}

.cta-btn01::after {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(../img/btn-arrow01.png);
    background-size: cover;
    position: absolute;
    right: 6%;
    top: 27%;
}


.cta-btn02 {
    background: #f5f3ef;
    padding: 3% 0 2%;
    width: 100%;
    text-align: center;
    color: #5a5964;
    font-size: 1.8vw;
    position: relative;
    height: 8vw;
}

.cta-btn02::before {
    content: "";
    display: inline-block;
    width: 60px;
    height: 55px;
    background-image: url(../img/btn-icon02.png);
    background-size: cover;
    position: absolute;
    left: 7%;
    top: 25%;
}

.cta-btn02::after {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(../img/btn-arrow02.png);
    background-size: cover;
    position: absolute;
    right: 6%;
    top: 27%;
}

span.btn-txt {
    font-size: 1.3vw;
    line-height: 2.3;
}

.footer-bottom {
    background: #5a5964;
    padding: 5% 10% 3%;
}

.footer-info {
    display: flex;
    color: #fff;
    justify-content: center;
    gap: 30%;
    align-items: center;
}

img.footer-logo02 {
    width: 30%;
}

li.fotter-list {
    padding-bottom: 10%;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
}

p.copy-light {
    color: #fff;
    text-align: center;
    padding-top: 5%;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
    font-size: 1vw;
}

a {
    display: block;
    width: 100%;
}

.movie-btn {
    background: #fff;
    margin: 3% 0;
    padding: 3%;
    text-align: center;
    background-color: transparent;
    border: solid 1px #fff;
    color: #fff;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    position: relative;
}

.movie-btn::after {
    content: "";
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url(../img/movie-icon.png);
    background-size: cover;
    position: absolute;
    right: 5%;
    top: 17%;
}

img.calendar-top01 {
    position: absolute;
    right: 13%;
    width: 27%;
    top: 63%;
}

img.calendar-top02 {
    position: absolute;
    right: 0;
    top: 63%;
    width: 14%;
}


.btn-box01 {
    display: flex;
    justify-content: center;
    position: absolute;
    width: 40%;
    right: 0;
    top: 51%;
}

.btn-box01 .cta-btn01::before {
    content: "";
    display: inline-block;
    width: 31px;
    height: 30px;
    background-image: url(../img/btn-icon01.png);
    background-size: cover;
    position: absolute;
    left: 6%;
    top: 30%;
}

.btn-box01 .cta-btn01 {
    background: #998e73;
    padding: 3% 0 2%;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 1.3vw;
    position: relative;
    height: 5vw;
}

.btn-box01 span.btn-txt {
    font-size: 1vw;
    line-height: 2;
}

.btn-box01 .cta-btn02 {
    background: #f5f3ef;
    padding: 3% 0 2%;
    width: 100%;
    text-align: center;
    color: #5a5964;
    font-size: 1.3vw;
    position: relative;
    height: 5vw;
}

.btn-box01 .cta-btn01::after {
    content: "";
    display: none;
    width: 25px;
    height: 25px;
    background-image: url(../img/btn-arrow01.png);
    background-size: cover;
    position: absolute;
    right: 5%;
    top: 27%;
}

.btn-box01 .cta-btn02::after {
    content: "";
    display: none;
    width: 25px;
    height: 25px;
    background-image: url(../img/btn-arrow02.png);
    background-size: cover;
    position: absolute;
    right: 5%;
    top: 27%;
}

.btn-box01 .cta-btn02::before {
    content: "";
    display: inline-block;
    width: 31px;
    height: 28px;
    background-image: url(../img/btn-icon02.png);
    background-size: cover;
    position: absolute;
    left: 5%;
    top: 27%;
}

iframe.serect-type {
    margin: 3% auto;
    display: block;
}
tr:last-child {
    border: none !important;
}
.floating-btn {
    width: 20%;
    position: fixed;
    right: 3%;
    bottom: 5%;
    z-index: 500;
}

.cta-floating-btn01 {
    background: #998e73;
    padding: 4% 5% 6% 20%;
    width: 100%;
    color: #fff;
    font-size: 1.5vw;
    position: relative;
    height: auto;
    text-align: center;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
    margin-bottom: 3%;
}

.cta-floating-btn01{
    transition-property: opacity;
    transition-duration: 0.5s;
  }
  .cta-floating-btn01:hover {
    opacity: 0.8; 
  }

.cta-floating-btn02 {
    background: #f5f3ef;
    padding: 4% 5% 6% 20%;
    width: 100%;
    text-align: center;
    color: #5a5964;
    font-size: 1.8vw;
    position: relative;
    height: auto;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
 }

 .cta-floating-btn02{
    transition-property: opacity;
    transition-duration: 0.5s;
  }
  .cta-floating-btn02:hover {
    opacity: 0.8; 
  }

 .cta-floating-btn01::before {
    content: "";
    display: inline-block;
    width: 45px;
    height: 43px;
    background-image: url(../img/btn-icon01.png);
    background-size: cover;
    position: absolute;
    left: 8%;
    top: 25%;
}

.cta-floating-btn02::before {
    content: "";
    display: inline-block;
    width: 45px;
    height: 41px;
    background-image: url(../img/btn-icon02.png);
    background-size: cover;
    position: absolute;
    left: 8%;
    top: 25%;
}

.serect-type {
    position: absolute;
    top: -15%;
    right: 0;
    left: 0;
    margin: 0 auto;
}

@media screen and (max-width:768px) {

/* 全体のスタイル */
.fv {
    height: 138vw;
    overflow: hidden;
    position: relative; 
}


/* fv-telのアニメーション設定 */
.fv-tel {
    z-index: 20;  /* fv-telを背景よりも前に表示 */
    width: 78%;
    height: 100px;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 18%;
    bottom: 3%;
    opacity: 0;
}

.fv-tel-link {
    z-index: 10;
    width: 75vw;
    position: absolute;
    left: 21%;
    bottom: 3%;
    opacity: 0;
}

.burger {
    width: 15%;
    background-image: url(../img/burger.png);
    background-size: 40px;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    position: relative;
    z-index: 1;
    overflow: scroll;
    height: 3vh;
    position: fixed;
    right: 0;
}


.burger.is-active {
    background-image: url(../img/910_x_h.png);
}

.menu1 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    background-color: #fff;
    display: none;
    width: 100%;
    transform:none;
}

.menu1.is-active {
    display: block;
    background: #fff;
    overflow: auto;
    position: fixed;
    top: 0%;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.161);
    height: 100%;
    margin: 0px 0px 0px 36px;
    overflow-x: hidden;
    overflow-y: auto;
    width: 80%;
    left: 11%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 300;
}

.header {
    z-index: 500;
}

div.menu1 {
    transition: transform 0.3s ease-out;
  }
  
  .menu1.is-active {
    transform: translateX(0); /* メニューがスライドイン */
  }
  
  .menu1:not(.is-active) {
    transform: translateX(-100%); /* メニューがスライドアウト */
  }

ul.menu_list {
    line-height: 2.5;
    display: block;
    padding: 30% 0 0;
    list-style: none;
    margin: 0;
    color: #000;
    font-size: 5vw;
}

.strong_list_menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    justify-content: center;
    padding: 2% 0;
    background-image: url(../img/menu-list-back.png);
    background-size: cover;
}

.strong_list {
    width: 32%;
    box-sizing: border-box;
}

.strong_list img {
    width: 100%;
    height: auto;
}

img.calendar {
    width: 100%;
    position: unset;
}

img.calendar-btn {
    width: 90%;
    padding-top: 5%;
    margin: 0 auto;
    display: block;
}

div.header-logo {
    width: 65%;
    padding: 3%;
}

.btn-box01 {
    display: flex;
    justify-content: center;
    position: absolute;
    width: 85%;
    right: 0;
    top: 70%;
}

.btn-box01 .cta-btn01 {
    background: #998e73;
    padding: 3% 0 2%;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 1.3vw;
    position: relative;
    height: 7vw;
}

.btn-box01 .cta-btn02 {
    background: #f5f3ef;
    padding: 3% 0 2%;
    width: 100%;
    text-align: center;
    color: #5a5964;
    font-size: 1.3vw;
    position: relative;
    height: 7vw;
}

p.content {
    text-align: center;
    padding: 5% 0;
    font-size: 5vw;
    color: #998e73;
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.2rem;
}

p.access-txt {
    text-align: center;
    padding: 5% 0;
    font-size: 6vw;
    line-height: 1.3;
}

span.five {
    font-size: 13vw;
    font-family: "ivymode", sans-serif;
    font-weight: 400;
    font-style: italic;
    color: #998e73;
    padding: 0 0.3%;
}

.access-txt-box {
    text-align: center;
    border: solid 1px #717171;
    padding: 2%;
    width: 85%;
    margin: 0 auto;
    font-size: 3vw;
    color: #717171;
}

video.access {
    width: 90%;
    padding: 3% 0;
}

p.movie-ttl {
    padding: 5% 0 3%;
    font-size: 3vw;
}

p.movie-txt {
    padding: 0 5% 10%;
    font-size: 2.5vw;
}

.Label-calender {
    padding: 1em;
    width: 80%;
    font-size: 4vw;
}

.Label-calender::before {
    width: 10px;
    height: 10px;
}

.calendar-box {
    padding: 2% 4%;
    margin: 1%;
    font-size: 3.5vw;
}

img.web-calendar {
    width: 90%;
}

.toggle:checked + .Label-calender + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
    overflow: scroll;
}

img.congestion-calendar {
    width: 170%;
}

h2.point-ttl {
    font-size: 6vw;
    padding: 3% 0 0;
}

span.four {
    font-size: 13vw;
}

.point-card {
    width: 100%;
    height: unset;
    margin-bottom: 5%;
}

.point-column {
    padding: 3% 0;
    margin: 0 5%;
    display: block;
}

p.point-txt {
    padding: 5% 5% 5%;
    font-size: 5vw;
    font-weight: 500;
}

p.point-small-txt {
    padding: 0% 8% 6%;
    text-align: center;
    font-size: 3vw;
}

img.line {
    display: block;
    margin: 0 auto;
    height: 7vw;
}

p.point-number {
    font-size: 7vw;
    top: -1%;
    left: 45%;
}

p.point-name {
    left: 36%;
    top: 6%;
    font-size: 5vw;
}

div#point {
    height: unset;
}

p.content-large {
    font-size: 8vw;
    padding: 7% 0 1%;
}

h3.sub-txt {
    padding: 5%;
    font-size: 3.5vw;
}

.benefit-item01 {
    display: block;
    height: 120vw;
    margin-top: 10%;
}

.benefit-column01 {
    width: 100%;
}

.benefit-column02 {
    width: 100%;
}

p.benefit-ttl01 {
    font-size: 6.5vw;
    color: #fff;
    padding: 7% 0 3%;
    text-align: center;
    font-weight: 500;
}

p.benefit-ttl02 {
    font-size: 7vw;
    padding: 1%;
    width: 85%;
    top: 17%;
    margin: 0;
}

p.benefit-txt01 {
    background: #fff;
    width: 90%;
    padding: 3%;
    line-height: 1.5;
    position: absolute;
    font-size: 2.8vw;
    top: 67%;
    left: 10%;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
}

img.benefit-img {
    width: 100%;
    padding: 5% 0 3%;
}

.benefit-item02 {
    display: block;
    height: 117vw;
    margin-top: 10%;
}

p.benefit-txt02 {
    background: #fff;
    width: 90%;
    padding: 3%;
    line-height: 1.5;
    position: absolute;
    font-size: 2.8vw;
    top: 70%;
    left: 0%;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
}

.benefit-item03 {
    display: block;
    height: 110vw;
    margin-top: 10%;
}

.benefit-item04 {
    display: block;
    height: 115vw;
    margin-top: 10%;
}

p.benefit-ttl03 {
    font-size: 7vw;
    padding: 0.5%;
    width: 38%;
    margin: 0;
    top: 16%;
}

p.benefit-txt03 {
    background: #fff;
    width: 90%;
    position: unset;
    padding: 3%;
    line-height: 1.5;
    position: absolute;
    font-size: 2.8vw;
    top: 72%;
    left: 10%;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 25%);
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
}

p.menu-ttl {
    padding: 1%;
    font-size: 6vw;
    width: 85%;
    margin: 10% auto 1%;
}

.menu-box01 {
    display: block;
    width: 100%;
    padding: 3% 3% 12%;
    margin-bottom: 5%;
}

.menu-column01 {
    display: block;
    margin: 0 5%;
}

img.menu01 {
    width: 95%;
    padding: 3% 0 6%;
    margin: 0 auto;
    display: block;
}

p.menu-name {
    text-align: center;
    font-size: 5vw;
}


.menu-column02 {
    display: flex;
    justify-content: space-between;
    gap: 2%;
    margin: 0 5%;
    flex-wrap: wrap;
}

.menu-box02 {
    width: 48%;
}

.menu-box02 {
    border-radius: 15px;
    padding: 17% 0 4%;
    margin-top: 10%;
}

div#menu {
    padding-bottom: 10%;
}

div.menu01 {
    padding: 10% 5% 0;
}

h3.menu-name {
    font-size: 6.5vw;
    gap: 0;
}

h3.menu-name::after {
    content: "";
    display: block;
    width: calc(700 / 1920* 50vw);
    height: 1px;
    background: #332f26;
}

p.menu-number {
    font-size: 9vw;
}

p.menu {
    font-size: 3vw;
    text-align: center;
}

p.menu-txt01 {
    padding: 4% 0;
    line-height: 1.8;
    font-size: 3.5vw;
}

.whitening-column {
    display: block;
}

.whitening-box {
    width: 95%;
    padding: 5%;
    margin: 5% auto;
}

p.whitening-txt {
    font-size: 3vw;

}

p.osusume {
    text-align: center;
    padding-bottom: 1%;
    font-size: 3vw;
}

li.osusume-list01 {
    font-size: 2.6vw;
}

.whitening-txt-box01 {
    height: 52vw;
}

li.osusume-list02 {
    font-size: 2.6vw;
}

.whitening-txt-box02 {
    height: 48vw;
}

li.osusume-list03 {
    font-size: 2.6vw;
}

.whitening-txt-box03 {
    padding: 5%;
    height: 44vw;
}

.dr-comment {
    margin: 10% 0;
    padding: 5%;
}

.comment-column {
    display: block;
}

img.dr {
    width: 80%;
    display: block;
    margin: 3% auto;
    height: auto;
}

p.comment-ttl {
    font-size: 4vw;
    text-align: center;
}

p.comment-sub-ttl {
    font-size: 4.5vw;
    padding: 5% 0;
    text-align: center;
}

p.comment-txt {
    line-height: 1.8;
    font-size: 3.5vw;
}

.mushiba-column {
    padding: 5% 5% 0;
    border-radius: 10px;
    margin: 5% 0;
}

p.direct-ttl {
    font-size: 4vw;
    padding: 5% 0;
    width: 95%;
    margin: 0 auto;
}

p.direct-sub-ttl {
    padding: 2%;
    font-size: 3.4vw;
    width: 95%;
    margin: 5% auto;
}

p.direct-txt {
    width: 95%;
    margin: 0 auto 5%;
    text-align: left;
    font-size: 3.5vw;
}

p.direct-merit-ttl {
    font-size: 5vw;
    padding: 5% 0;
}

.direct-merit-box {
    display: block;
}

.direct-merit-item {
    width: 100%;
}

p.direct-point-ttl {
    padding: 5% 0 3%;
    font-size: 4.5vw;
}

p.direct-point-txt {
    font-size: 3vw;
    padding-bottom: 10%;
}

.kyosei-box01 {
    display: block;
    padding: 0;

}

.kyosei-item {
    padding: 5%;
    border-radius: 10px;
    width: 100%;
    margin: 10% 0;
}


p.kyosei-ttl {
    padding: 10% 0;
}

p.kyosei-txt {
    font-size: 3vw;
    height: unset;
}

p.kyosei-price {
    background: #f6f3f2;
    padding: 5%;
    font-size: 3.5vw;
    text-align: center;
    margin-top: 5%;
}

.kyosei-box02 {
    display: block;
}

.oyashirazu-column {
    padding: 5%;
    border-radius: 10px;
    margin: 5% 0;
}

p.oyashiarazu-ttl {
    font-size: 4vw;
    padding: 0;
}

.case-box {
    display: block;
}

.case-item {
    background: #f6f3f2;
    border-radius: 10px;
    padding: 5%;
    margin: 10% 0 0;
    width: 100%;
    position: relative;
}

p.case-number {
    top: -13%;
    font-size: 5vw;
}

p.case-txt {
    padding-top: 3%;
    font-size: 3vw;
}

h2.equipment-ttl01 {
    font-size: 5vw;
    padding: 5% 0 3%;
}

h2.equipment-ttl02 {
    font-size: 7vw;
    text-align: center;
    letter-spacing: 0.2rem;
}

.equipment-img {
    width: 100vw !important;   /* ビューポート幅の50%に設定 */
    height: auto !important;  /* 高さはアスペクト比に応じて自動調整 */
    object-fit: cover 
}

.slick-slide {
    width: 500px !important; /* 各スライドの幅を統一 */
    height: 270px !important;
    margin: 0 10px !important; /* スライド間の余白 */
}

.slick-track {
    display: flex !important; /* スライドアイテムを横並びに表示 */
    justify-content: center !important; /* スライダーアイテムを中央寄せ */
    height: auto !important;
}

.slick-track {
    height: 30vw;
}


.equipment-column {
    display: block;
    margin: 0 5%;
}

h3.equipment-ttl {
    font-size: 5.5vw;
    padding: 0;
    font-weight: 500;
}

p.equipment-sub-ttl {
    padding: 2% 0 5%;
    font-size: 4vw;
}

.equipment-item01 {
    padding: 5%;
    margin-bottom: 10%;
}

ul.equipment-list {
    background: #fff;
    padding: 3% 5%;
    font-size: 3vw;
    height: auto;
}

.equipment-item02 {
    padding: 5%;
    margin-bottom: 10%;
}

.equipment-item03 {
    padding: 5%;
    margin-bottom: 10%;
}

p.equipment-txt {
    background: #fff;
    font-size: 3vw;
    padding: 5%;
    text-align: left;
    height: auto;
    line-height: 1.8;
}

div#staff {
    padding: 5%;
    position: relative;
    margin: 10% 0 0 0;
}

.staff-column {
    display: block;
}

.staff-item {
    width: 100%;
}

h2.staff-ttl {
    font-size: 7vw;
    top: 5%;
    left: 10%;
}

p.staff-sub-ttl {
    font-size: 4vw;
    writing-mode: vertical-rl;
    background: #f7f6f6;
    padding: 1%;
    position: absolute;
    top: 5%;
    left: 22%;
    letter-spacing: 0.3rem;
    display: flex;
    justify-content: center;
    height: 36vw;
}

p.staff-lub {
    top: 25%;
    left: 11%;
    font-size: 4vw;
}

p.staff-txt {
    padding: 10% 0 5%;
    font-size: 3vw;
    line-height: 1.8;
}

.staff-name-box01 {
    position: absolute;
    padding: 4%;
    bottom: 53%;
    background: #fff;
    text-align: center;
    left: 45%;
    width: 50%;
}

p.job {
    border-bottom: solid 1px;
    padding-bottom: 3%;
    font-size: 3vw;
}

p.docter-name {
    padding-top: 4%;
    font-size: 5vw;
}

ul.career {
    font-size: 3vw;
}

img.staff-img {
    top: -8%;
}


.staff-slider-sp .equipment-img {
    width: 200vw !important;   /* ビューポート幅の50%に設定 */
    height: auto !important;  /* 高さはアスペクト比に応じて自動調整 */
    object-fit: cover 
}

.staff-slider-sp .slick-slide {
    width: 700px !important;
    height: 60vw !important;
    margin: 3% 10px 0 !important;
}


.staff-slider-sp .slick-track {
    display: flex !important; /* スライドアイテムを横並びに表示 */
    justify-content: center !important; /* スライダーアイテムを中央寄せ */
    height: auto !important;
}

p.staff-name {
    font-size: 3.5vw;
}

p.staff-furigana {
    color: #a39981;
    font-size: 2vw;
}

p.career01 {
    font-size: 2vw;
    line-height: 1.8;
    height: 28vw;
}

.staff-card {
    border-radius: 10px;
}

.staff-name-box02 {
    position: absolute;
    padding: 4%;
    bottom: 54%;
    background: #fff;
    left: 36%;
    text-align: center;
    font-size: 1.5vw;
}

p.subject {
    font-size: 2vw;
}

p.career02 {
    font-size: 2vw;
    line-height: 1.8;
    height: 28vw;
    padding-top: 22%;
    z-index: 0;
}

h2.case-ttl {
    font-size: 6vw;
    text-align: center;
    letter-spacing: 0.2rem;
}

div#case\&voice {
    padding: 15% 0;
    background-image: url(../img/case-back.png);
    background-size: cover;
    margin-top: 15%;
}

p.implant {
    padding: 2% 0;
    width: 90%;
    font-size: 4vw;
    margin: 3% auto;
}

.implant-column {
    display: flex;
    justify-content: center;
    gap: 5%;
    margin: 0 5%;
}

p.before {
    margin: 5% 0;
    font-size: 4vw;
}

p.after{
    margin: 5% 0;
    font-size: 4vw;
}

p.implant-sub-ttl {
    padding: 5%;
    font-size: 3.5vw;
}

.implant-box {
    padding: 3%;
    margin: 0 5%;
}

p.implant-box-ttl {
    text-align: center;
    color: #998e73;
    border-bottom: solid 1px;
    width: 80%;
    padding-bottom: 1%;
    margin: 5% auto;
    font-size: 4.5vw;
}

p.implant-box-txt {
    font-size: 3vw;
    line-height: 1.8;
}

table.profile {
    background: #f7f6f6;
    margin: 10% auto;
    width: 100%;
}

th {
    padding: 5%;
    font-size: 3.5vw;
    line-height: 1.8;
}

td {
    padding: 5%;
    font-size: 3.5vw;
    line-height: 1.8;
}

Label {
    width: 95%;
}

p.accordion-txt {
    width: 100%;
    font-size: 3%;
}

p.accordion-txt02 {
    font-size: 13px;
    line-height: 1.6;
    width: 100%;
    padding: 1rem;
}

.kuchikomi-column {
    display: block;
}

.implant-card {
    width: 90%;
    margin: 5% auto 0;
}


p.implant-card-comment {
    font-size: 5vw;
}

p.implant-card-txt {
    padding: 5%;
    font-size: 3.5vw;
    line-height: 1.8;
}

.footer-column {
    display: block;
    padding: 0 5%;
}

iframe.map {
    width: 100%;
    margin: 5% 0;
    height: 50vw;
}

.movie-btn::after {
    width: 30px;
    height: 30px;
    right: 5%;
    top: 10%;
}

.footer-info {
    display: block;
}

img.footer-logo02 {
    width: 100%;
}

img.footer-logo01 {
    width: 100%;
    padding-bottom: 5%;
}

ul.fotter-list {
    text-align: center;
    padding: 5% 0;
}

li.fotter-list {
    padding-bottom: 5%;
}

p.copy-light {
    padding: 5%;
    font-size: 3vw;
}

.floating-btn {
    display: flex;
    position: fixed;
    z-index: 100;
    bottom: 0;
    width: 100%;
    padding: 3%;
    background: #d9d9d9;
    gap: 2%;
}

.cta-btn01 {
    background: #998e73;
    padding: 4% 0 2% 20%;
    width: 100%;
    color: #fff;
    font-size: 4.5vw;
    position: relative;
    height: 16vw;
    text-align: center;
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 25%);
}

.cta-btn02 {
    background: #f5f3ef;
    padding: 4% 0 2% 20%;
    width: 100%;
    text-align: center;
    color: #5a5964;
    font-size: 5vw;
    position: relative;
    height: 16vw;
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 25%);
}

.cta-btn01::after{
    display: none;
}

.cta-btn02::after{
    display: none;
}

span.btn-txt {
    font-size: 3vw;
    line-height: 1.8;
}

.cta-btn02::before {
    content: "";
    display: inline-block;
    width: 33px;
    height: 30px;
    background-image: url(../img/btn-icon02.png);
    background-size: cover;
    position: absolute;
    left: 7%;
    top: 25%;
}

.footer-bottom {
    background: #5a5964;
    padding: 5% 10% 20%;
}

.cta-btn01::before {
    width: 30px;
    height: 29px;
}

p.small {
    padding: 0 0 10%;
    font-family: 'Century Gothic';
    font-size: 3vw;
    color: #998e73;
}

a.menu_list_button {
    font-size: 4vw;
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    color: #5a5964;
}

a.arrow {
    width: 45%;
    background: #5a5964;
    padding: 3%;
    text-align: center;
    color: #fff;
    border-radius: 100px;
    margin: 5% auto;
    display: block;
    font-size: 4vw;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

p.benefit-number01 {
    position: absolute;
    top: -7%;
    font-size: 6vw;
    left: 5%;
    color: #12607a;
}

span.benefit-number {
    font-size: 9vw;
    font-style: italic;
    font-family: "ivymode", sans-serif;
    letter-spacing: 0.3rem;
}

p.benefit-number02 {
    position: absolute;
    top: -7%;
    font-size: 5vw;
    left: 5%;
    color: #ad9fbd;
}

p.benefit-number03 {
    position: absolute;
    top: -7%;
    font-size: 5vw;
    left: 5%;
    color: #998e73;
}

p.benefit-number04 {
    position: absolute;
    top: -7%;
    font-size: 5vw;
    left: 3%;
    color: #89a595;
}

div#benefit {
    background-image: url(../img/benefit-back-sp.png);
    background-size: cover;
    position: relative;
}

div#menu {
    background-image: url(../img/menu-back-sp.png);
    background-size: cover;
    padding-bottom: 10%;
    margin-top: 140%;
}

div#equipment {
    background-image: url(../img/equipment-back-sp.png);
    background-size: cover;
    padding-bottom: 5%;
}

p.menu-name-small {
    font-size: 3vw;
}


/* チェックボックスがチェックされた時にコンテンツを表示 */
.accordion input[type="checkbox"]:checked + .Label + .content {
    display: block;               /* 表示状態に変更 */
    padding: 1rem 0;
}

/* 文字サイズや表示を整える */
.accordion .accordion-txt {
    font-size: 13px;              /* 文字サイズの設定 */
    line-height: 1.6;             /* 行間の設定 */
    color: #757575;             /* 文字色 */
}

.access-map {
    text-align: center;
    border: solid 1px #717171;
    padding: 2%;
    width: 85%;
    margin: 0 auto 3%;
    font-size: 3vw;
    color: #717171;
}

img.arrow {
    margin: 0 auto;
    display: block;
    width: 8%;
    padding: 3% 0 0;
}

.access-map::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../img/map-icon.png);
    background-size: cover;
    position: absolute;
    right: 5%;
    top: 23%;
}

.background {
    height: 230px !important;
}

.floating-btn {
        display: flex;
        position: fixed;
        z-index: 100;
        bottom: 0;
        width: 100%;
        padding: 3%;
        background: #d9d9d9;
        gap: 2%;
        right:0;
    }

    iframe.serect-type {
        margin: 105% auto 0 !important;
        display: block;
        overflow: hidden;  /* iframe自体のスクロールを無効化 */
        width: 100%;       /* 幅を100%にして親要素にフィットさせる */
        border: none;      /* ボーダーを削除 */
    }

    .serect-type {
        position: absolute;
        right: 0;
        left: 0;
        top: -85%;  /* 上方向に位置を調整 */
    }

    /* iframe内のコンテンツに対して、余白を削除 */
    iframe.serect-type body,
    iframe.serect-type html {
        margin: 0;
        padding: 0;
        height: 100%;    /* 高さ100%にして余白を排除 */
        width: 100%;     /* 幅100%にして余白を排除 */
    }

    /* iframe内のその他の余白に対する設定 */
    iframe.serect-type {
        display: block;
        overflow: hidden;
    }
    div#point {
        background-image: url(../img/point-back-sp.png);
        background-size: cover;
    }

    div#point {
        margin-top: 140%;
    }

    div#menu {
        margin: 0;
    }
}