@charset "utf-8";/* CSS Document */*, ::before, ::after {  box-sizing: border-box;}html {  font-size: 62.5%;}body {  position: relative;  width: 100%;  margin: 0;  padding: 0;  font-family: "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;  font-size: 1.2rem;  color: #333;  -webkit-text-size-adjust: none;  -webkit-font-smoothing: antialiased;  z-index: 0;  letter-spacing: .1em;  overflow-x: hidden;    line-height: 1.8;}a {  text-decoration: none;}a:hover{    opacity: .6;    transition: opacity 0.3s;}h1, h2, h3, h4, h5, h6 {  margin-bottom: 0;  font-weight: 400;  font-size: inherit;  font-feature-settings: "palt";  line-height: 1.65;}p {  margin-bottom: 0;}pre {  margin-bottom: 0;}dl {  margin-bottom: 0;}ul {  margin-bottom: 0;}ol {  margin-bottom: 0;  list-style: decimal;  padding-left: 1em;}img{    max-width: 100%;}/*-----------------------------------------------------------------ハンバーガーメニュー-----------------------------------------------------------------*/#g-nav{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;    /*ナビのスタート位置と形状*/  top:0;    right: -120%;  width:100%;    height: 100vh;/*ナビの高さ*/  background-image: linear-gradient(0deg, rgba(92, 181, 58, 1), rgba(147, 217, 1, 1));    /*動き*/  transition: all 0.6s;    }/*アクティブクラスがついたら位置を0に*/#g-nav.panelactive{    right: 0;}/*ナビゲーションの縦スクロール*/#g-nav.panelactive #g-nav-list{    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;/*表示する高さ*/    overflow: auto;    -webkit-overflow-scrolling: touch;}/*ナビゲーション*/#g-nav ul {    /*ナビゲーション天地中央揃え*/    padding-top: 80px;}/*リストのレイアウト設定*/#g-nav li{  list-style: none;    text-align: center;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:10px;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;  font-weight: bold;    font-size: 1.6rem;}#g-nav .accordion-content {  display: none;  flex-wrap: wrap;  gap: 0;  padding: 10px;  display: flex;  flex-wrap: wrap;}#g-nav .accordion-btn {  position: relative;  display: flex;  justify-content: center;  align-items: center;  padding: 10px;  color: #fff;  font-size: 1.6rem;  text-decoration: none;}#g-nav .accordion-btn .icon {  margin-left: 10px;  font-size: 1.6rem;}#g-nav .accordion-content li {  width: 50%;  box-sizing: border-box;  border-bottom: 1px solid rgba(255,255,255,0.3);}#g-nav .accordion-content li a {  display: block;  padding: 10px;  color: #fff;  font-size: 1.6rem;  text-decoration: none;}/* デフォルト非表示にする */#g-nav .accordion-content {  display: none;}/* 開いたときにflex化するクラス */#g-nav .accordion-content.active {  display: flex!important;}/*========= ボタンのためのCSS ===============*/.openbtn1{  position:fixed;    z-index: 9999;/*ボタンを最前面に*/  top:10px;  right: 10px;  cursor: pointer;    width: 50px;    height:50px;    background-image: linear-gradient(0deg, rgba(92, 181, 58, 1), rgba(147, 217, 1, 1));}  /*×に変化*/  .openbtn1 span{    display: inline-block;    transition: all .4s;    position: absolute;    left: 14px;    height: 3px;    border-radius: 2px;  background-color: #FFFFFF;    width: 45%;  }.openbtn1 span:nth-of-type(1) {  top:15px; }.openbtn1 span:nth-of-type(2) {  top:23px;}.openbtn1 span:nth-of-type(3) {  top:31px;}.openbtn1.active span:nth-of-type(1) {    top: 18px;    left: 18px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn1.active span:nth-of-type(2) {  opacity: 0;}.openbtn1.active span:nth-of-type(3){    top: 30px;    left: 18px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}/*==================================================メインビジュアル===================================*/.slider {  position:relative;	z-index: 0;	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/	height: 42vw;    padding: 0 calc(40 / 1920* 100vw);}/*　背景画像設定　*/.slider-item01 {    background:url("images/main01.png");}.slider-item02 {    background:url("images/main02.png");}.slider-item03 {    background:url("images/main03.png");}.slider-item {    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/    height:42vw;    background-repeat: no-repeat;/*背景画像をリピートしない*/    background-position: center;/*背景画像の位置を中央に*/    background-size: contain;/*背景画像が.slider-item全体を覆い表示*/}/*矢印の設定*/.slick-prev, .slick-next {    display: none!important;    position: absolute;	z-index: 3;    top: 42%;    cursor: pointer;/*マウスカーソルを指マークに*/    outline: none;/*クリックをしたら出てくる枠線を消す*/    border-top: 2px solid #fff;/*矢印の色*/    border-right: 2px solid #fff;/*矢印の色*/    height: 25px;    width: 25px;}.slick-prev {/*戻る矢印の位置と形状*/    left:2.5%;    transform: rotate(-135deg);}.slick-next {/*次へ矢印の位置と形状*/    right:2.5%;    transform: rotate(45deg);}/*ドットナビゲーションの設定*/.slick-dots {    display: none!important;	position: relative;	z-index: 3;    text-align:center;	margin:-50px 0 0 0;/*ドットの位置*/}.slick-dots li {    display:inline-block;	margin:0 5px;}.slick-dots button {    color: transparent;    outline: none;    width:8px;/*ドットボタンのサイズ*/    height:8px;/*ドットボタンのサイズ*/    display:block;    border-radius:50%;    background:#fff;/*ドットボタンの色*/}.slick-dots .slick-active button{    background:#333;/*ドットボタンの現在地表示の色*/}/*--------------------------------------------------------------------------*/header{    width: 100%;}.header_inner{    padding: 10px;    width: 100%;    display: flex;    justify-content: space-between;    align-items: center;}.logo{    width: calc(528 / 1920 * 100vw);    max-width: 528px;}.h_r{    display: flex;    justify-content: flex-end;    gap: 10px;}.h_tel{    width: calc(360 / 1920 * 100vw);    max-width: 360px;}.h_web{    width: calc(273 / 1920 * 100vw);    max-width: 273px;}.h_address{    display: flex;    flex-direction: column;    gap: 10px;    font-size: 0.9vw;}.h_address .address{    position: relative;    padding-left: 25px;    line-height: 1.4}.h_address .address::before{    content: "";    position: absolute;    top: 50%;    left: 0;    transform: translateY(-50%);    background: url("images/map_icon.png") no-repeat center / contain;    width: calc(21 / 1920* 100vw);    height: calc(31 / 1920 * 100vw);}.h_access span{    padding: 5px 10px;    border: 1px solid #333333;}.mv{    position: relative;}.mv::before{    content: "";    position: absolute;    bottom: 0;    left: 0;    height: calc(700 / 1920* 100vw);    width: 100%;    background-image: linear-gradient(0deg, rgba(92, 181, 58, 1), rgba(147, 217, 1, 1));}.catch{    position: absolute;    top: 10%;    left: 50%;    transform: translateX(-50%);    width: 100%;    color: #FFFFFF;    font-weight: 500;    font-size: max(2.4vw , 24px);    text-align: center;}.catch span{    font-size: max(2vw , 20px);}.mv_circle{    display: flex;    gap: 2vw;    justify-content: center;    position: absolute;    bottom: 150px;    left: 50%;    transform: translateX(-50%);    width: calc(850 / 1920* 100vw);}.mv_circle img{    max-width: 33.3%}.gnav {  padding: 20px 0;  text-align: center;}.gnav ul {  display: flex;  justify-content: center;  gap: 2vw;  list-style: none;  margin: 0;  padding: 0;}.gnav-item a {  display: block;  color: #fff;  text-decoration: none;  font-size: max(1vw , 16px);  position: relative;  padding: 5px 0;    text-align: center;}.gnav-item a::after {  content: "";  display: block;  margin: 5px auto 0;  width: 0;  height: 0;  border-left: 5px solid transparent;  border-right: 5px solid transparent;  border-bottom: 7px solid #ffe100;  opacity: 0;  transition: opacity 0.3s;}.gnav-item a:hover::after {  opacity: 1;}.gnav-item.current a::after {  opacity: 1;}.gnav-item a span{    display: block;    font-size: max(.8vw , 12px);    color: #ffff4f;}.gnav .gnav-sub {  display: none;  position: absolute;  top: 100%;  left: -100px;  background: rgba(255,255,255,0.9);  padding: 10px;  list-style: none;  margin: 0;  text-align: left;  z-index: 999;  width: 500px;  flex-wrap: wrap;  gap: 5px;  box-sizing: border-box;  flex-direction: row;  justify-content: flex-start;  align-items: flex-start;}.gnav-item.medical.open .gnav-sub {  display: flex;  flex-wrap: wrap;  gap: 5px;  justify-content: flex-start;}.gnav .gnav-sub li {  width: calc(33.3% - 5px);  border-bottom: 1px solid #444;  box-sizing: border-box;}.gnav .gnav-sub li a {  display: block;  padding: 5px;  color: #333;  text-decoration: none;  font-size: 16px;}.gnav .gnav-sub li a:hover {  background: #D5EBCD;}.gnav-item.medical {  position: relative;}.gnav-item button {  display: block;  background: none;  border: none;  color: #fff;  text-decoration: none;  font-size: max(1vw , 16px);  position: relative;  padding: 5px 0;  text-align: center;  cursor: pointer;    line-height: 1.8;}.gnav-item button span {  display: block;  font-size: max(.8vw , 12px);  color: #ffff4f;}.gnav-item button::after {  content: "";  display: block;  margin: 5px auto 0;  width: 0;  height: 0;  border-left: 5px solid transparent;  border-right: 5px solid transparent;  border-bottom: 7px solid #ffe100;  opacity: 0;  transition: opacity 0.3s;}.gnav-item button:hover::after {  opacity: 1;}.gnav-item.current button::after {  opacity: 1;}.gnav-item.medical {  position: relative;}.header-wrap {  display: flex;  flex-wrap: wrap;  justify-content: center;  align-items: center;  padding: 20px 0;  background-image: linear-gradient(0deg, rgba(92, 181, 58, 1), rgba(147, 217, 1, 1));  transition: all 0.3s;  z-index: 999;}.header-wrap .gnav {  flex: 1 1 auto;}.header-wrap.fixed {  position: fixed;  top: 0;  left: 0;  width: 100%;  padding: 10px 20px;  flex-wrap: nowrap;  justify-content: space-between;  box-shadow: 0 4px 6px rgba(0,0,0,0.2);    padding-left: 3vw;}.gnav {  padding: 0;}.header-wrap .h_r {  display: none;}.header-wrap.fixed .h_r {  display: flex;}.header-wrap.fixed .gnav ul {  justify-content: flex-start;}.news{    padding: calc(80 / 1920 * 100vw) 0; }.news p{    font-size: max(.9vw , 16px);    line-height: 1.8;}.news_inner{    max-width: 1490px;    width: 95%;    margin: 0 auto;    background: #ebefee;    padding: 2vw 3vw 3vw;    border-bottom: 20px solid #004f45;}.news_ttl{    font-size: max(2vw , 24px);    font-weight: 600;    padding-bottom: 20px;    border-bottom: 1px solid #333333;    margin-bottom: calc(30 / 1920 * 100vw);    color: #004f45;}.news_ttl span{    font-size: max(1vw , 16px);    margin-left: 10px;    color: #333333;}.news_ttl::first-letter{    color: #93d901;}.news_wrap{    overflow-y: scroll;    max-height: 250px;    padding: 20px;}.news_list{    display: flex;    flex-wrap: wrap;    font-size: max(1vw , 16px);}.news_list dt{    width: 15%;    padding: 20px 10px;    border-bottom: 1px dotted #333333;}.news_list dd{    width: 85%;    padding: 20px 10px;    border-bottom: 1px dotted #333333;}.concept{    padding: calc(80 / 1920 * 100vw) 0;    position: relative;}.pos{    position: absolute;}.con_logo{    left: 45%;    top: -5vw;    width: calc(293 / 1920* 100vw);    z-index: -1;}.concept_inner{    max-width: 1560px;    width: 95%;    margin: 0 auto;}.flex{    display: flex;    flex-wrap: wrap;    gap: 20px 50px;}.flex-2{    width: calc(50% - 25px);}.concept_inner .flex{    align-items: center;}.con_text{    width: calc(55% - 25px);    margin-right: -150px;    position: relative;}.con_text p{    padding-right: 8vw;}.head_en{    font-size: max(2.4vw , 24px);    position: relative;    color: #004f45;    margin-bottom: 20px;    padding-bottom: 10px;    letter-spacing: .1em;    font-weight: 500;}.head_en::before{    content: "";    position: absolute;    left: 0;    bottom: 0;    width: 100px;    height: 3px;    background: #004f45;}.head_en::first-letter{    color: #93d901;}.head_jp{    font-size: max(2vw , 24px);    letter-spacing: .1em;    margin-bottom: 30px;    font-weight: 500;}.t16{    font-size: max(1vw , 16px);    letter-spacing: .1em;    line-height: 1.8;    margin: 0;}.con_img{    width: calc(54% - 25px);}.con_btn{    margin-top: 50px;    display: flex;    gap: 20px 30px;    justify-content: space-between;    align-items: center;}.feature{    position: relative;    padding: 50px 0;}.feature::before{    content: "";    position: absolute;    top: 0;    left: 0;    width: 100%;    height: calc(530 / 1920 *100vw);    background: url("images/feature_bg.png") no-repeat center / cover;    z-index: -1;}.title-feature {  font-size: max(7vw , 40px);  font-weight: 400;  letter-spacing: .1em;  display: flex;  justify-content: center;  gap: 0;    line-height: 1;}.title-feature span:nth-child(1) { color: #93d901; } /* F */.title-feature span:nth-child(2) { color: #73c423; } /* E */.title-feature span:nth-child(3) { color: #5cb53a; } /* A */.title-feature span:nth-child(4) { color: #004f45; } /* T */.title-feature span:nth-child(5) { color: #73c423; } /* U */.title-feature span:nth-child(6) { color: #5cb53a; } /* R */.title-feature span:nth-child(7) { color: #004f45; } /* E */.feature_ttl_logo{    text-align: center;    margin: 30px 0;}.feature_sub_ttl{    text-align: center;    font-weight: 500;    font-size: max(1.8vw , 20px);    margin-bottom: 20px;    letter-spacing: .1em;}.feature_sub_ttl em{    font-size: max(2.4vw , 28px);    font-style: normal;}.orange{    color: #ffa200;}.feature01_deco{    top: 8%;    right: 3%;    width: calc(435 / 1920* 100vw);    max-width: 435px;}.feature01{    margin-left: calc(210 / 1920* 100vw);    background: #FFFFFF;    border-left: 20px solid #5cb53a;    border-bottom: 20px solid #5cb53a;    padding: 3vw 3vw 3vw 0;    margin-bottom: calc(50 / 1920* 100vw);}.feature01 .flex{    align-items: center;    margin-left: calc(-100 / 1920* 100vw);}.flex_img{    width: calc(52% - 25px);}.flex_text{    width: calc(48% - 25px);    padding: 2vw 3vw;}.feature_num{    font-size: max(3vw , 26px);    margin-bottom: 20px;    letter-spacing: .1em;    text-align: center;    color: #5cb53a;    display: flex;    justify-content: center;    align-items: center;    line-height: 1;}.feature_num span{    font-size: max(1vw , 16px);}.feature_head_ttl{    font-size: max(1.4vw , 20px);    font-weight: 500;    margin-bottom: 20px;    padding: 10px;    border-bottom: 1px solid #5cb53a;    border-top: 1px solid #5cb53a;    letter-spacing: .1em;    text-align: center;}.text_ttl{    font-size: max(2vw , 22px);    letter-spacing: .1em;    text-align: center;    margin-bottom: 20px;}.r_green{    color: #5cb53a;}.feature02{    position: relative;    padding: 50px 0;    border-bottom: 2px solid #5cb53a;    margin-bottom: 50px;}.feature02_deco{    top: 0;    left: 0;    width: calc(605 / 1920* 100vw);    max-width: 605px;    z-index: -1;}.feature02 .flex{    justify-content: center;    max-width: 1340px;    margin: 0 auto;    width: 95%;}.r_reverse{    flex-direction: row-reverse;}.feature03{    position: relative;    margin-bottom: 50px;    padding: 50px 0;}.feature03_inner{    background: #ebefee;    padding: 3vw;    border-bottom: 30px solid #5cb53a;}.feature03_deco_top{    top: 0;    right: 0;    width: calc(186 / 1920* 100vw);    max-width: 186px;}.feature03_deco_bottom{    bottom: 0;    left: 0;    width: calc(186 / 1920* 100vw);    max-width: 186px;}.feature03_inner .flex{    position: relative;    align-items: center;}.feature04{    position: relative;    padding: 50px 0;    border-bottom: 2px solid #5cb53a;}.feature05{    padding: 50px 0;    position: relative;}.feature05_deco{    top: 0;    left: 20%;    width: calc(355 / 1920* 100vw);    max-width: 355px;    z-index: 1;}.feature05 .feature_num , .feature05 .feature_head_ttl , .feature05 p{    color: #FFFFFF;}.feature05 .feature_head_ttl  {    border-top: 1px solid #FFFFFF;    border-bottom: 1px solid #FFFFFF;    max-width: 500px;    margin: 0 auto;}.yellow{    color: #ffff4f;}.feature05_inner{    max-width: 1528px;    width: calc(1528 / 1920 * 100vw);    margin: 0 auto;    background: url("images/feature05_bg.png") no-repeat center / cover;    position: relative;    height: calc(680 / 1920* 100vw);    max-height: 600px;    padding: calc(30 / 1920* 100vw);    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;}.feature05_wrap{    padding: 3vw;    border: calc(15 / 1920* 100vw) solid rgba(255,255,255,0.80);  width: 100%;  height: 100%;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;}.feature05_wrap p{    max-width: 600px;    margin: 0 auto;}.flow{    background: url("images/flow_bg.png") no-repeat center / cover;    background-position: top;    padding: 50px 5%;}.flow-title{    text-align: center;    font-size: max(4vw , 30px);    letter-spacing: .1em;    line-height: .8;    color: #004f45;    font-weight: 500;    margin-bottom: 80px;    padding-top: 90px;    position: relative;}.flow-title::before{    content: "";    position: absolute;    top: 0;    left: 50%;    background: url("images/flow_icon.png") no-repeat center / contain;    width: 73px;    height: 79px;    transform: translateX(-50%);}.flow-title::first-letter{    color: #5cb53a;}.ttl_jp{    font-size: max(1.2vw , 20px);    color: #333333;}/*==================================================初診の流れ===================================*/.flow {    overflow: hidden;}.flow__items {    max-width: 1100px;    display: flex;    flex-wrap: wrap;    justify-content: center;    gap: 34px 67px;    margin-inline: auto;    @media screen and (max-width: 1000px) {        max-width: 500px;        display: grid;        grid-template-columns: repeat(2,1fr);        justify-items: center;        gap: 10px;    }}.flow__item {    max-width: 250px;    width: 100%;    height: 82px;    position: relative;    background-color: #ffffff;    @media screen and (max-width: 1000px) {        max-width: 204px;        height: 67px;    }    &:not(:last-of-type)::after {        content: "";        width: 15px;        aspect-ratio: 15 / 27;        position: absolute;        top: 50%;        right: -16%;        transform: translateY(-50%);        background: url(images/right-arrow.png) no-repeat 0 0 / contain;        @media screen and (max-width: 1000px) {            content: none;        }    }}.flow__item__inner {    height: 100%;    display: grid;    place-items: center;    cursor: pointer;}.flow__item_active {    color: #FFFFFF;    background: #004f45;}.flow__item-inner {    height: 100%;    display: grid;    place-items: center;}.flow__item-text {    display: flex;    align-items: center;    font-size: 1.8rem;    line-height: calc(29 / 18);    letter-spacing: 0.12em;    text-align: center;    white-space: pre-line;    @media screen and (max-width: 1000px) {        font-size: 1.6rem;    }}.flow__slider {    max-width: 1217px;    margin-inline: auto;    margin-top: 100px;}.flow__swiper {    overflow: visible;}.flow__swiper-slide {    img {        width: 100%;        position: relative;        object-fit: cover;    }}.swiper-slide{    position: relative;}.flow_txt{    position: absolute;    bottom: 0;    left: 0;    width: 100%;    background: rgba(92,181,58,0.80);    padding: 1vw;    color: #FFFFFF;    min-height: calc(166 / 1920 * 100vw);}.flow_ttl{    font-size: max(1.2vw , 20px);    font-weight: 500;    margin-bottom: 10px;}.flow__prev {    width: 59px;    aspect-ratio: 1 / 1;    @media screen and (max-width: 1000px) {        width: 40px;    }    &::after {        content: "";        width: 100%;        aspect-ratio: 1 / 1;        background: url(images/flow-prev.png) no-repeat 0 0 / contain;    }}.flow__next {    width: 59px;    aspect-ratio: 1 / 1;    @media screen and (max-width: 1000px) {        width: 40px;    }    &::after {        content: "";        width: 100%;        aspect-ratio: 1 / 1;        background: url(images/flow-next.png) no-repeat 0 0 / contain;    }}.medical_sec{    padding: 80px 0;    background: url("images/medical_bg.png") no-repeat center / cover;}.title-medical {  font-size: max(7vw , 30px);  font-weight: 400;  letter-spacing: .1em;  display: flex;  justify-content: center;  gap: 0;    line-height: 1;}.title-medical span:nth-child(1) { color: #93d901; } /* M */.title-medical span:nth-child(2) { color: #73c423; } /* E */.title-medical span:nth-child(3) { color: #5cb53a; } /* D */.title-medical span:nth-child(4) { color: #004f45; } /* I */.title-medical span:nth-child(5) { color: #73c423; } /* C */.title-medical span:nth-child(6) { color: #5cb53a; } /* A */.title-medical span:nth-child(7) { color: #004f45; } /* L */.medical_ttl_logo{    text-align: center;    margin: 30px 0;}.medical_sub_ttl{    text-align: center;    font-weight: 500;    font-size: max(1.8vw , 22px);    margin-bottom: 50px;    letter-spacing: .1em;}.medical_btns{    max-width: 1280px;    width: 95%;    margin: 0 auto;    display: flex;    gap: 30px 20px;    flex-wrap: wrap;}.medical_btn{    width: calc((100% - 60px) / 4);}.epark_bnr{    padding: 50px 0;    width: 95%;    text-align: center;    margin: 0 auto;}.epark_bnr img{    width: calc(600 / 1920 * 100vw);}.recruit_sec{    padding-bottom: 80px;}.recruit_inner{    max-width: 1500px;    width: 95%;    margin: 0 auto;    position: relative;}.recruit_inner .flex{    gap: 0;}.recruit_text{    width: 45%;    background: linear-gradient(90deg,rgba(92, 181, 58, 1) 0%, rgba(147, 217, 1, 1) 100%);    padding: 3vw 2vw;    color: #FFFFFF;}.recruit_ttl{    font-size: max(2.4vw , 24px);    font-weight: 500;    margin-bottom: 20px;}.recruit_ttl::first-letter{    color: #ffff4f;}.recruit_img{    width: 55%;    background: url("images/recruit_img.png") no-repeat top / cover;}.recruit_btn{    margin-top: 50px;}.contact_schedule{    margin-top: 100px;    display: flex;    gap:0;}.contact_inner{    width: 50%;    position: relative;    padding: 4vw 3vw 6vw;    background: #ebefee;}.contact_inner::before{    content: "";    position: absolute;    bottom: 0;    left: 0;    background: url("images/contact_bg.png")no-repeat center / contain;    width: 100%;    height: calc(28 / 1920* 100vw);}.contact_wrap{    display: flex;    flex-direction: column;    gap: 30px;    justify-content: center;    align-items: center;    margin: 20px auto;}.c_s_ttl{    text-align: center;    font-size: max(2.4vw , 24px);    font-weight: 500;    margin-bottom: 30px;    color: #004f45;    line-height: 1;    letter-spacing: .1em;}.c_s_ttl span{    font-size: max(1vw , 18px);    color: #333333;}.c_s_ttl::first-letter{    color: #93d901;}.center{    text-align: center;}.schedule_inner{    width: 50%;    position: relative;    padding: 4vw 3vw 6vw;    background: #e1edc5;}.schedule_inner::before{    content: "";    position: absolute;    bottom: 0;    left: 0;    background: url("images/schedule_bg.png")no-repeat center / contain;    width: 100%;    height: calc(28 / 1920* 100vw);}.footer_inner{    padding: 80px 5% 0;    background: #f9ffeb;    position: relative;    z-index: 0;}.footer_inner::before{    content: "";    position: absolute;    bottom: 0;    left: 0;    background: #5CB53A;background: linear-gradient(0deg,rgba(92, 181, 58, 1) 0%, rgba(147, 217, 1, 1) 100%);    width: 100%;    height: calc(665/ 1920* 100vw);    z-index: -1;}.mt5{    margin-top: 50px;}.f_access_ttl{    font-size: max(2vw , 24px);    letter-spacing: .1em;    color: #004f45;    font-weight: 500;    position: relative;    padding-left: calc(40 / 1920* 100vw);}.f_access_ttl::first-letter{    color: #93d901;}.f_access_ttl::before{    content: "";    position: absolute;    left: 0;    top: 50%;    transform: translateY(-50%);    background: url("images/f_access_icon.png") no-repeat center / contain;    height: calc(35 / 1920* 100vw);    width: calc(26 / 1920* 100vw);}.f_info{    padding: 0 3vw;    display: flex;    flex-direction: column;    gap: 30px;    align-items: center;}.footer_wrap{    max-width: 1280px;    margin: 50px auto;    position: relative;}.schedule-table {      width: 100%;      border-collapse: collapse;      background: #FFFFFF;      margin: 20px auto;    }    .schedule-table th, .schedule-table td {      border-bottom: 1px solid #93d901;      text-align: center;      padding: 1vw;        font-size: 1vw    }    .schedule-table th {      background: #FFFFFF;      color: #666;    }    .schedule-table td {      color: #4c814c;    }    .note {      padding: 10px;      margin: 10px auto;      font-size: max(1vw , 16px);      line-height: 1.6;      color: #555;    }    .icon-circle { color: #71c17b; }    .icon-dot { color: #71c17b; }    .icon-triangle { color: #71c17b; }.gmap{    position: relative;}.f_sitemap{    color: #FFFFFF;    max-width: 1280px;    width: 100%;    margin: 50px auto;    position: relative;}.f_sitemap_ttl{    font-size: max(2vw , 24px);    text-align: center;    font-weight: 500;    margin-bottom: 50px;    position: relative;    letter-spacing: .1em;}.f_sitemap_ttl::before{    content: "";    position: absolute;    left: 0;    top: 50%;    transform: translateY(-50%);    height: 1px;    width: calc(500 / 1920* 100vw);    background: #FFFFFF;}.f_sitemap_ttl::after{    content: "";    position: absolute;    right: 0;    top: 50%;    transform: translateY(-50%);    height: 1px;    width: calc(500 / 1920* 100vw);    background: #FFFFFF;}.f_nav{    display: flex;    flex-wrap: wrap;    gap: 30px;    justify-content: center;}.f_nav li{    color: #FFFFFF;    font-size: max(1vw , 16px);    letter-spacing: .1em;}.copy{    text-align: center;    font-size: 16px;    padding: 20px 0;    color: #FFFFFF;}#page-top a{	display: flex;	justify-content:center;	align-items:center;	width: 80px;	height: 80px;	text-align: center;	text-transform: uppercase; 	text-decoration: none;	font-size:0.6rem;	transition:all 0.3s;}#page-top a:hover{	opacity: .6;}/*リンクを右下に固定*/#page-top {	position: fixed;	right: 10px;	bottom:10px;	z-index: 2;    /*はじめは非表示*/	opacity: 0;	transform: translateX(100px);}/*　左の動き　*/#page-top.LeftMove{	animation: LeftAnime 0.5s forwards;}@keyframes LeftAnime{  from {    opacity: 0;	transform: translateX(100px);  }  to {    opacity: 1;	transform: translateX(0);  }}/*　右の動き　*/#page-top.RightMove{	animation: RightAnime 0.5s forwards;}@keyframes RightAnime{  from {  	opacity: 1;	transform: translateX(0);  }  to {  	opacity: 1;	transform: translateX(100px);  }}/*--------------------------------------------------------------------------下層ページ--------------------------------------------------------------------------*/.under_mv{    position: relative;    padding: 0 calc(40 / 1920 *100vw);}.under_mv::before{    content: "";    position: absolute;    bottom: 0;    left: 0;    height: 50%;    width: 100%;    background-image: linear-gradient(0deg, rgba(92, 181, 58, 1), rgba(147, 217, 1, 1));    z-index: -1}.h2_ttl{    font-size: max(3vw , 30px);    text-align: center;    display: flex;    align-items: center;    justify-content: center;    flex-direction: column;    color: #FFFFFF;    font-weight: 500;    height: max(20vw , 200px);    background: url("images/h2_bg.png") no-repeat center / cover;}.h2_ttl span{    font-size: max(1.4vw , 18px);}.sec{    padding: 80px 0;}.sec_ttl{    padding: 40px 0 50px;    text-align: center;    font-weight: 500;    letter-spacing: .1em;    background: #EBEFEE;    margin-bottom: 50px;}.sec_ttl .inner1340{        display: flex;    flex-direction: column;    align-items: center;    justify-content: center;    gap:10px;}.sec_ttl .jp{    font-size: max(2.6vw , 26px);     line-height: 1;}.sec_ttl .en{    font-size: max(1.1vw , 18px);}.inner1340{    max-width: 1340px;    width: 95%;    margin: 0 auto;}.inner1280{  max-width: 1280px;    width: 95%;    margin: 0 auto;  }.name{    font-size: max(1.2vw , 18px);    font-weight: 500;    letter-spacing: .1em;    line-height: 1.6;}.mt3{    margin-top: 30px;}.flex-2 img{    text-align: center;    margin: 0 auto;    display: block;}.alc{align-items: center;}.border_box{    border: 1px solid #5CB53A;    padding: calc(30 / 1920* 100vw);}.box_ttl{    padding: 10px;    font-size: max(1.1vw , 18px);    font-weight: 500;    text-align: center;    color: #FFFFFF;    background: #5CB53A;    margin-bottom: calc(30 / 1920 * 100vw);}.career{    display: flex;    flex-wrap: wrap;    font-size: max(1vw , 16px);}.career dt{    width: 25%;    margin-bottom: 10px;}.career dd{    width: 75%;    margin-bottom: 10px;}.about_head{    font-size: max(1.4vw , 20px);    text-align: center;    letter-spacing: .1em;    font-weight: 500;    margin-bottom: calc(80 / 1920* 100vw);}.check_list.flex{    gap: 20px;}.check_list .flex-2{    width: calc(50% - 20px);}.check_list .flex-4{    width: calc((100% - 100px) / 4);}.check_list li{    position: relative;    padding-left: 35px;    margin-left: 10px;    font-size: max(1vw , 16px);    padding-bottom: 10px;    border-bottom: 1px dashed #333333;}.check_list li::before{    content: "";    position: absolute;    left: 0;    top: 50%;    transform: translateY(-60%);    background: url("images/check_icon.png") no-repeat center / contain;    width: 27px;    height: 25px;}.h4_ttl{    text-align: center;    font-size: max(1.6vw , 24px);    letter-spacing: .1em;    color: #FFFFFF;    font-weight: 500;    margin-bottom: calc(40 / 1920 * 100vw);    padding: 20px;    position: relative;    background: #5CB53A;background: linear-gradient(90deg,rgba(92, 181, 58, 1) 0%, rgba(147, 217, 1, 1) 100%);}.h4_ttl::before{    content: "";    position: absolute;    bottom: 10px;    left: 0;    width: 100%;    height: 2px;    background: #FFFFFF;}.clinic_img{    width: calc((100% - 150px) / 4);}.clinic_img img{    height: 170px;    width: 100%;    object-fit: cover;}.clinic_imgttl{    font-size: max(1.1vw , 18px);    font-weight: 500;    padding: 10px 0;}.wrap{    margin-top: calc(80 / 1920 * 100vw);}.firsttime_head{    font-size: max(1.4vw , 20px);    text-align: center;    letter-spacing: .1em;    font-weight: 500;    margin-bottom: calc(50 / 1920* 100vw);}.firsttime_head_line{    font-size: max(1.4vw , 20px);    text-align: center;    letter-spacing: .1em;    font-weight: 500;    margin-bottom: calc(30 / 1920* 100vw);        margin-top: calc(50 / 1920* 100vw);    padding-top: calc(50 / 1920* 100vw);    border-top: 1px solid #4d4630;}.inner1200{    max-width: 1200px;    margin: calc(50 / 1920* 100vw) auto 0;}.h5_ttl{    font-size: max(1.2vw , 18px);    padding-bottom: 10px;    margin-bottom: 10px;    border-bottom: 1px solid #333333;    font-weight: 500;}.flow-container {  display: flex;  flex-wrap: wrap;  gap: 30px;  margin: 0 auto;  justify-content: center;}.flow-step {  background: #fff;  border-radius: 12px;  padding: 30px 20px;  box-shadow: 0 4px 12px rgba(0,0,0,0.08);  flex: 1 1 calc(50% - 30px);  max-width: calc(50% - 30px);  transition: transform 0.3s ease;}.flow-step:hover {  transform: translateY(-5px);}.step-number {  font-size: 18px;  font-weight: bold;  color: #4caf50;  margin-bottom: 10px;}.step-title {  font-size: 22px;  color: #333;  margin-bottom: 15px;  border-bottom: 2px solid #4caf50;  display: inline-block;  padding-bottom: 5px;}.step-text {  font-size: 16px;  color: #555;  line-height: 1.7;}/* スマホ対応 */@media screen and (max-width: 768px) {  .flow-step {    flex: 1 1 100%;    max-width: 100%;  }  .section-title {    font-size: 26px;  }}/* 他のCSSと干渉しないよう名前空間を設定 */.factor-box {  display: flex;  flex-wrap: wrap;  gap: 20px;  margin: 40px auto;  padding: 0 20px;}.factor-item {  background: #fdfdfd;  border: 1px solid #ddd;  box-shadow: 0 4px 10px rgba(0,0,0,0.05);  padding: 20px;  flex: 1 1 calc(33.333% - 20px);  box-sizing: border-box;  transition: transform 0.3s ease, box-shadow 0.3s ease;}.factor-title {  font-size: max(1.2vw , 20px);  border-bottom: 2px solid #93d901;  padding-bottom: 8px;  margin-bottom: 12px;    font-weight: 500;    margin-top: 0;}.factor-text {  font-size: max(.9vw , 16px);  line-height: 1.6;  color: #555;}/* レスポンシブ */@media (max-width: 768px) {  .factor-item {    flex: 1 1 100%;  }}.odor-cards {  padding: 3vw;  background: #f8f8f8;  margin: 50px auto;}.odor-cards__list {  display: flex;  flex-wrap: wrap;  gap: 1.5rem;  justify-content: center;}.odor-cards__item {  background: #fff;  border: 1px solid #ddd;  border-radius: 16px;  padding: 1.5rem;  flex: 1 1 calc(33.333% - 1rem);  box-shadow: 0 4px 12px rgba(0,0,0,0.05);  transition: transform 0.3s, box-shadow 0.3s;}.odor-cards__item:hover {  transform: translateY(-5px);  box-shadow: 0 6px 18px rgba(0,0,0,0.1);}.odor-cards__name {  font-size: max(1.4vw , 22px);  color: #00796B;  margin-bottom: 0.5rem;  margin-top: 0;}.odor-cards__smell {  font-size: max(1.1vw , 18px);  color: #555;  margin-bottom: 0.3rem;}.odor-cards__cause {  font-size: max(.9vw , 16px);  color: #888;}@media (max-width: 600px) {  .odor-cards__list {    flex-direction: column;    gap: 1rem;  }}.tongue-section {      margin: 50px auto;    }    .tongue-item {      display: flex;      align-items: flex-start;      gap: 20px;      margin-bottom: 30px;      padding: 15px;      border-left: 6px solid #ffa500;        border-bottom: 1px solid #CCCCCC;    }    .tongue-title {      font-weight: bold;      font-size: max(1.2vw , 20px);      min-width: 120px;    }    .tongue-description {      font-size: max(.9vw , 16px);      line-height: 1.8;    }    /* 色分け */    .tongue-normal { border-color: #7cc576; }    .tongue-yellow { border-color: #f5c543; }    .tongue-red    { border-color: #e76f51; }    .tongue-white  { border-color: #9e9e9e; }    /* レスポンシブ */    @media screen and (max-width: 600px) {      .tongue-item {        flex-direction: column;      }      .tongue-title {        font-size: 18px;      }    }.f_img{    width: calc(30% - 25px);}.f_text{    width: calc(70% - 25px);}table {    border-collapse: collapse;    border-spacing: 0;}table.koushuu{    table-layout: fixed;    width: 100%;}table.koushuu th , table.koushuu td {    border: 1px solid #5CB53A;    padding: .8vw 1vw;    line-height: 1.8em;    letter-spacing: .1em;    vertical-align: middle;    font-size: max(1vw , 16px);}table.koushuu th{    white-space: nowrap;    font-weight: 500;    font-size: max(1.1vw , 18px);    color: #5CB53A;}.exam-info {      padding: 30px;    }    .exam-item {      margin-bottom: 25px;      padding: 20px;      background: #fff;      border-left: 6px solid #4caf50;      box-shadow: 0 2px 6px rgba(0,0,0,0.06);    }    .exam-item h3 {      font-size: max(1.2vw , 20px);      margin-bottom: 12px;    }    .exam-item p {      font-size: 16px;      line-height: 1.7;      color: #555;    }    .exam-time {      display: grid;      grid-template-columns: 1fr 1fr;      gap: 20px;    }    .exam-time .day {      background: #f7f7f7;      padding: 10px 15px;      border-radius: 6px;    }    .exam-time .day h4 {      font-size: 18px;      margin-bottom: 8px;      color: #333;    }    .exam-time .day p {      font-size: 15px;      color: #555;    }    @media screen and (max-width: 600px) {      .exam-time {        grid-template-columns: 1fr;      }    }.red{    color: #FF0000;}.hyou {      width: 100%;      border-collapse: collapse;    }.hyou th , .hyou td{    padding: 10px 1vw;    font-size: max(1vw , 16px);    vertical-align: middle;    border: 1px solid #5CB53A;}.hyou th{    background: #F9FFEB;    text-align: center;}.hyou td{    background: #FFFFFF;}.treatment-section {  padding: 0 1vw;}.treatment-section .section-title {  text-align: center;  font-size: max(1.4vw , 22px);  margin-bottom: 30px;    font-weight: 500;}.treatment-list {  display: grid;  grid-template-columns: repeat(auto-fit, minmax(33.333%, 1fr));  gap: 20px;}.treatment-card {  background: #fff;  box-shadow: 0 4px 8px rgba(0,0,0,0.08);  padding: 24px;  transition: transform 0.3s, box-shadow 0.3s;}.treatment-card h3 {  font-size: max(1.4vw , 22px);  margin-bottom: 16px;  color: #5CB53A;  border-bottom: 2px solid #5CB53A;  padding-bottom: 8px;}.treatment-card ul {  padding-left: 20px;}.treatment-card ul li {  list-style: disc;  margin-bottom: 10px;  color: #555;  line-height: 1.6;    font-size: max(.9vw , 16px);}/* スマホ対応 */@media (max-width: 600px) {  .treatment-section .section-title {    font-size: 24px;  }  .treatment-card h3 {    font-size: 20px;  }}.contact_tel{    max-width: 800px;    margin: 50px auto;    background: #EBEFEE;    padding: 3vw;    text-align: center;    font-size: max(1.1vw , 18px);    font-weight: 500;}.pager {  display: flex;  justify-content: center;  margin-top: 40px;  gap: 10px;}.pager .page-numbers {  display: inline-block;  padding: 8px 14px;  background: #f5f5f5;  color: #333;  text-decoration: none;  border: 1px solid #ccc;  font-size: max(1vw, 16px);}.pager .page-numbers.current,.pager .page-numbers:hover {  background: #5CB53A;  color: #fff;  border-color: #5CB53A;}.post_nav {  display: flex;  justify-content: center;  gap: 20px;  margin-top: 50px;  flex-wrap: wrap;}.post_nav a {  display: inline-block;  padding: 12px 20px;  background: #f5f5f5;  color: #333;  text-decoration: none;  border: 1px solid #ccc;  font-size: max(1vw, 16px);  transition: 0.3s;}.post_nav a:hover {  background: #5CB53A;  color: #fff;  border-color: #5CB53A;}.xo-event-calendar table.xo-month{    font-size: max(.9vw, 14px);}.xo-event-calendar table.xo-month .month-header>span {    font-size: max(1.1vw, 18px);}.holiday-titles {    font-size: max(.9vw, 14px);    display: flex;    gap: 20px;}.xo-event-calendar table.xo-month .month-dayname td div.today {    color: #5cb53a!important;}/*--------------------------------------------------------------------------PC--------------------------------------------------------------------------*/@media only screen and (min-width: 1025px) {  .sp-only {    display: none !important;  }  .tab-only {    display: none !important;  }}/*--------------------------------------------------------------------------tablet--------------------------------------------------------------------------*/@media only screen and (min-width: 768px) and (max-width: 1024px) {  .sp-only {    display: none !important;  }  .pc-only {    display: none !important;  }}/*--------------------------------------------------------------------------sp--------------------------------------------------------------------------*/@media screen and (max-width: 767px) {    .pc-only {    display: none !important;  }  .pc-tab-only {    display: none !important;  }   .tab-only {    display: none !important;  }     .logo {  width: calc(528 / 767 * 100vw);}    .mv::before {  height: calc(700 / 767* 100vw);}    .slider {  position:relative;	z-index: 0;	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/	height: 155vw;    padding: 0 calc(40 / 1920* 100vw) ;}/*　背景画像設定　*/.slider-item01 {    background:url("images/sp_main01.png");}.slider-item02 {    background:url("images/sp_main02.png");}.slider-item03 {    background:url("images/sp_main03.png");}.slider-item {    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/    height:155vw;    background-repeat: no-repeat;/*背景画像をリピートしない*/    background-position: center;/*背景画像の位置を中央に*/    background-size: contain;/*背景画像が.slider-item全体を覆い表示*/}    .mv_circle {  width: calc(850 / 1024* 100vw);}   .h_address.white{    font-size: 16px;    color: #FFFFFF;    display: flex;    align-items: center;    padding: 20px 0;}.h_address.white .address{    position: relative;    padding-left: 25px;    line-height: 1.4}.h_address.white .address::before{    background: url("images/map_icon_white.png") no-repeat center / contain;    width: calc(21 / 420* 100vw);    height: calc(31 / 420 * 100vw);}.h_address.white .h_access span{    padding: 5px 10px;    border: 1px solid #FFFFFF;    position: relative;}     .news_list dt {  width: 100%;  padding: 0px 10px;  border-bottom: none;}    .news_list dd {  width: 100%;  padding: 0px 10px 20px;        margin-bottom: 20px;}    .con_text {  width: 100%;  margin-right: 0;}    .con_img {  width: 100%;}    .feature_ttl_logo {  margin: 10px auto;        max-width: calc(65 / 767 * 100vw);}    .feature::before {  height: calc(530 / 767 *100vw);  background: url("images/sp_feature_bg.png") no-repeat center / cover;  z-index: -1;}    .concept {  padding: calc(80 / 767 * 100vw) 0;  position: relative;}    .con_logo {  left: auto;    top: -5vw;    width: calc(293 / 1024* 100vw);    right: 5%;}    .flex_text {  width: 100%;}    .flex_img {  width: 100%;}    .feature01 .flex {  align-items: center;  margin-left: 0;}    .feature01 {  margin-left: calc(40 / 767* 100vw);  border-left: calc(20 / 767 * 100vw) solid #5cb53a;  border-bottom: calc(20 / 767 * 100vw) solid #5cb53a;  margin-bottom: calc(50 / 767* 100vw);        padding: 4vw 2vw;}    .feature05_inner {  width: 95%;  height: calc(680 / 767* 100vw);}    .medical_btn {  width: calc((100% - 30px) / 2);}    .feature02_deco {  width: calc(605 / 1024* 100vw);}    .feature03_deco_top {  width: calc(186 / 1024* 100vw);}     .feature03_deco_bottom {  width: calc(186 / 1024* 100vw);}    .recruit_text {  width: 100%;}    .recruit_img    {        width: 100%;        aspect-ratio: 2 / 1;    }    .contact_schedule {  flex-wrap: wrap;}.contact_inner {  width: 100%;}    .medical_sec {  background: url("images/sp_medical_bg.png") no-repeat center / cover;}    .epark_bnr img {  width: calc(600 / 767 * 100vw);}.schedule_inner {  width: 100%;}    .h_address {  font-size: 16px;}    .h_address .address::before {  background: url("images/map_icon.png") no-repeat center / contain;  width: calc(21 / 767* 100vw);  height: calc(31 / 767 * 100vw);}    .flex-2 {  width: 100%;}    .f_access_ttl {  padding-left: calc(40 / 767* 100vw);}    .f_access_ttl::before {  height: calc(35 / 767* 100vw);  width: calc(26 / 767* 100vw);}    .schedule-table th, .schedule-table td {  font-size: 14px;}    .footer_inner::before {  height: calc(665/ 390* 100vw);}    .con_text p {  padding-right: 0;}.sp_float {  position: fixed;  display: flex;  width: 100%;  bottom: 0;  left: 0;  z-index: 99;  opacity: 0;  transform: translateY(100px);  transition: all 0.4s ease;}.sp_float.show {  opacity: 1;  transform: translateY(0);}    .copy{    margin-bottom: 70px;}    .f_img{    width: 100%;}.f_text{    width: 100%;}    .check_list .flex-4{    width: calc((100% - 40px) / 2);}    .clinic_img{    width: 100%;}}/*==================================================フェードイン===================================*/.fadeIn{animation-name:fadeInAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeInAnime{  from {    opacity: 0;  }  to {    opacity: 1;  }}/* 下から */.fadeUp{animation-name:fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 上から */.fadeDown{animation-name:fadeDownAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeDownAnime{  from {    opacity: 0;  transform: translateY(-100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 左から */.fadeLeft{animation-name:fadeLeftAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeLeftAnime{  from {    opacity: 0;  transform: translateX(-100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* 右から */.fadeRight{animation-name:fadeRightAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeRightAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/ .fadeInTrigger,.fadeUpTrigger,.fadeDownTrigger,.fadeLeftTrigger,.fadeRightTrigger{    opacity: 0;}