@charset "UTF-8";

/* ===================================================================
CSS information
 file name  :  style.css
 style info : LPスタイル
=================================================================== */
body {
    background-color: #f2f2f2;
    font-family: "Noto Sans JP", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
    font-feature-settings: "palt";
    overflow-x: hidden;
}

.content {
    width: 750px;
    max-width: 100%;
    margin: 0 auto 10%;
    text-align: center;
    -webkit-box-shadow: 0 0 10px 2px #d6d6d6;
    -moz-box-shadow: 0 0 10px 2px #d6d6d6;
    box-shadow: 0 0 10px 2px #d6d6d6;
    position: relative;
    overflow: hidden;
}

/* ==============================
common
=================================== */
.box_wrap {
    position: relative;
}

.slick-slide img {
    margin: 0 auto;
    text-align: center;
}

.btn img {
    animation: buttonMove 0.5s ease infinite alternate;
}

.mix-blend {
    position: absolute;
    mix-blend-mode: plus-lighter;
}

/* ==============================
ヘッダー
=================================== */
header {
    padding: min(calc(23/750 * 100vw), 23px) min(calc(20/750 * 100vw), 20px) min(calc(17/750 * 100vw), 17px);
    background-color: #fff;
}

.header_bnr {
    display: grid;
    grid-template-columns: min(calc(235/750 * 100vw), 235px) min(calc(190/750 * 100vw), 190px) min(calc(255/750 * 100vw), 255px);
    align-items: center;
    gap: min(calc(15/750 * 100vw), 15px);
    justify-content: space-between;
}

.header_bnr .clinic_btn {
    display: flex;
    justify-content: end;
    align-items: center;
    width: min(calc(190/750 * 100vw), 190px);
}

.header_bnr .counseling_btn {
    width: min(calc(255/750 * 100vw), 255px);
}

.header_bnr h1 {
    text-align: left;
}

.header_bnr h1 img {
    width: min(calc(209/750 * 100vw), 209px);
}

/* ==============================
FV
=================================== */
.fv {
    background: url(../img/fv.png) no-repeat top center/100%;
    padding: 0 0 min(calc(56/750 * 100vw), 56px);
}

.top-row {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: min(calc(32/750 * 100vw), 32px) min(calc(56/750 * 100vw), 56px) min(calc(256/750 * 100vw), 256px) auto;
}

.bottom-row {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: min(calc(29/750 * 100vw), 29px) min(calc(160/750 * 100vw), 160px) min(calc(543/750 * 100vw), 543px) auto;
}

.fv-sub {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
}

.fv-copy {
    position: relative;
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    width: 100%;
    margin-top: min(calc(12/750 * 100vw), 12px);
}

.fv-copy.kage {
    mix-blend-mode: plus-lighter;
}

.fv-93 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    margin-top: min(calc(33/750 * 100vw), 33px);
}

img.fv-sub {
    transition-delay: .9s;
}

img.fv-price,
img.fv-93 {
    transition-delay: 0.5s;
}

.fv-price {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.fv-price.kage {
    mix-blend-mode: plus-lighter;
}

/* ==============================
FV02
=================================== */
.fv02 {
    background: url(../img/fv02.png) no-repeat top center / cover;
    padding: 0 0 min(calc(30/750 * 100vw), 30px);
}

.fv02-sub.kage,
.fv02-copy.kage {
    position: absolute;
    mix-blend-mode: plus-lighter;
}

img.f02v-sub {
    transition-delay: .9s;
}

.fv02-copy-wrap{
    margin: 0 auto 0 min(calc(5/750 * 100vw), 5px);
}

.fv02-copy{
    display: block;
    position: relative;
    width: min(calc(285/750 * 100vw), 285px);
}

.fv02-sub-wrap{
    margin: max(calc(-10/750 * 100vw), -10px) auto 0 0;
}

.fv02-sub{
    display: block;
    position: relative;
    width: min(calc(745/750 * 100vw), 745px);
}

.fv02-icon{
    width: min(calc(668/750 * 100vw), 668px);
}

/* ==============================
CTA
=================================== */
.cta {
    background: url(../img/cta_bg.webp)no-repeat top center/100%;
}

.cta_price {
    width: min(calc(633/750 * 100vw), 633px);
    position: absolute;
    top: max(calc(-4/750 * 100vw), -4px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.cta_btn {
    width: min(calc(676/750 * 100vw), 676px);
    position: absolute;
    top: max(calc(-5/750 * 100vw), -5px);
    left: 51%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.cta_0yen {
    width: min(calc(640/750 * 100vw), 640px);
    position: absolute;
    top: max(calc(-25/750 * 100vw), -25px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.cta_bnr {
    padding-bottom: 8%;
}

/* ==============================
campaign
=================================== */
.campaign {
    background: url(../img/tokuten_bg.png?v1) no-repeat bottom center / 100%, #f0eceb;
}



.campaign_slider .slick-arrow {
    width: min(calc(60 / 750 * 100vw), 60px);
    height: min(calc(60 / 750 * 100vw), 60px);
    top: 47.7%;
    z-index: 5;
}

.slick-arrow::before {
    content: none;
}

.campaign_slider.slick-dotted.slick-slider {
    margin-bottom: min(calc(61 / 750 * 100vw), 61px);
}

.campaign_slider .slick-prev {
    background: url(../img/slide01_arrow_left.png) no-repeat center / contain;
    left: 0;
}

.campaign_slider .slick-next {
    background: url(../img/slide01_arrow_right.png) no-repeat center / contain;
    right: 0;
}

.slick-dots {
    bottom: max(calc(-16 / 750 * 100vw), -16px);
    z-index: 2;
}

.slick-dots li {
    margin: 0 min(calc(8 / 750 * 100vw), 8px);
}

.slick-dots li button {
    content: "";
    padding: 3px;
    width: min(calc(16 / 750 * 100vw), 16px);
    height: min(calc(16 / 750 * 100vw), 16px);
    display: inline-block;
    text-align: center;
    font-size: .5em;
    border-radius: 50%;
    line-height: 1.2;
    background: #d9d7d3;
}

.slick-dots li.slick-active button {
    background: #c3a983;
    opacity: 1;
}

.slick-dots li button::before {
    display: none;
}

/* ==============================
tokuten
=================================== */
.tokuten {
    background: url(../img/campaign_bg_bottom.png)no-repeat bottom center/100%, url(../img/campaign_bg_top.png)no-repeat top center/100%;
    padding-bottom: min(calc(189.2 / 750 * 100vw), 189.2px);
    position: relative;
}

.tokuten .hidden {
    display: none;
}

.tokuten_list li {
    padding-left: min(calc(10 / 750 * 100vw), 10px);
    margin-bottom: max(calc(-8 / 750 * 100vw), -8px);
}

.tokuten_list li:nth-child(3) {
    margin-bottom: min(calc(26 / 750 * 100vw), 26px);
}

.tokuten_list li.more_button {
    width: min(calc(630 / 750 * 100vw), 630px);
    position: relative;
    padding: 0;
    margin: 0 auto min(calc(36 / 750 * 100vw), 36px);
    cursor: pointer;
}

.tokuten_list li.more_button:before,
.tokuten_list li.more_button:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: min(calc(27/750 * 100vw), 27px);
    height: min(calc(3/750 * 100vw), 3px);
    background: #fff;
    display: block;
}

.tokuten_list li.more_button:after {
    right: 4.8%;
    width: min(calc(3/750 * 100vw), 3px);
    height: min(calc(27/750 * 100vw), 27px);
    transition: 0.3s cubic-bezier(0.76, 0, 0.24, 1);
    will-change: transform;
}

.tokuten_list li.more_button.active:after {
    transform: rotate(-90deg);
    transition: 0.5s;
    top: 26.4%;
}

.tokuten_list li.more_button.active~.tokuten {
    padding-bottom: 0;
}

/* ==============================
case
=================================== */
.case {
    background: url(../img/successful_bg.png) no-repeat top center/ 100%;
    padding-bottom: min(calc(64/750 * 100vw), 64px);
}

.case_ba li {
    position: relative;
    padding-left: min(calc(15/750 * 100vw), 15px);
    margin-bottom: min(calc(22/750 * 100vw), 22px);
}

.case_ba_slide {
    position: absolute;
    top: min(calc(354/750 * 100vw), 354px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: min(calc(650/750 * 100vw), 650px);
}

.case_ba_slide img {
    display: block;
    width: 100%;
    height: auto;
}

/* ==============================
jisekki
=================================== */
.jisekki {
    background: url(../img/jisseki_bg.png) no-repeat top center/ cover;
    margin-top: max(calc(-174/750 * 100vw), -174px);
}

.jisseki_quantity {
    position: absolute;
    top: min(calc(324/750 * 100vw), 324px);
}

/* ==============================
nayami
=================================== */
.nayami {
    background: url(../img/nayami_bg.png) no-repeat top center/ 100%;
}

.nayami_list li {
    position: absolute;
    top: 33.55%;
}

.nayami_list li:first-child {
    width: min(calc(36/750 * 100vw), 36px);
    right: min(calc(36/750 * 100vw), 36px);
}

.nayami_list li:nth-child(2) {
    width: min(calc(89/750 * 100vw), 89px);
    right: min(calc(105/750 * 100vw), 105px);
}

.nayami_list li:nth-child(3) {
    width: min(calc(90/750 * 100vw), 90px);
    left: min(calc(143/750 * 100vw), 143px);
}

.nayami_list li:nth-child(4) {
    width: min(calc(40/750 * 100vw), 40px);
    left: min(calc(37/750 * 100vw), 37px);
}

.nayami_list li:first-child img,
.nayami_list li:nth-child(4) img {
    transition-delay: .8s;
}

.nayami_ha {
    position: absolute;
    bottom: min(calc(424/750 * 100vw), 424px);
    left: 0;
    z-index: 3;
}

.nayami_kai {
    position: absolute;
    bottom: min(calc(484/750 * 100vw), 484px);
    right: 0;
    z-index: 1;
}

.nayami_kai img {
    transition-delay: 0.7s;
}

.nayami_ki {
    position: absolute;
    top: 0;
    left:0;
    z-index: 21;
}

/* ==============================
tokucho
=================================== */
.tokucho {
    background: url(../img/tokucho_bg.png) no-repeat top max(calc(-39/750 * 100vw), -39px) center/ 100%;
    padding-bottom: min(calc(61/750 * 100vw), 61px);
}

.tokucho_point li {
    padding-left: min(calc(12/750 * 100vw), 12px);
    margin-bottom: min(calc(18/750 * 100vw), 18px);
}

/* ==============================
eqpm
=================================== */
.eqpm {
    background: url(../img/eqpm_bg.png) repeat top center/100%;
    padding-bottom: min(calc(93/750 * 100vw), 93px);
}

ol.eqpm_list {
    position: relative;
    height: 100%;
    overflow: hidden;
    padding-bottom: min(calc(80 / 750 * 100vw), 80px);
}

ol.eqpm_list.active {
    padding-bottom: min(calc(32 / 750 * 100vw), 32px);
}

.eqpm_list::after {
    content: "";
    position: absolute;
    top: min(calc(31 / 750 * 100vw), 31px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: min(calc(700 / 750 * 100vw), 700px);
    height: calc(100% - min(calc(31 / 750 * 100vw), 31px));
    background: #fff;
    border-radius: min(calc(10 / 750 * 100vw), 10px);
    z-index: 1;
    pointer-events: none;
}

ol.eqpm_list li {
    position: relative;
    z-index: 2;
}

.eqpm_list .more_button {
    position: relative;
    cursor: pointer;
    text-align: center;
    margin: 0 auto;
}

.eqpm_list .hidden {
    display: none;
}

.eqpm_list .more_button:before,
.eqpm_list .more_button:after {
    content: "";
    position: absolute;
    top: 48%;
    right: 9%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: min(calc(25/750 * 100vw), 25px);
    height: min(calc(2/750 * 100vw), 2px);
    background: #fff;
    display: block;
}

.eqpm_list .more_button:after {
    right: 12%;
    width: min(calc(2/750 * 100vw), 2px);
    height: min(calc(25/750 * 100vw), 25px);
    transition: 0.3s cubic-bezier(0.76, 0, 0.24, 1);
    will-change: transform;
}

.eqpm_list .more_button.active:after {
    transform: rotate(-90deg);
    transition: 0.5s;
    top: 26%;
}

.eqpm_slide .slick-arrow {
    width: min(calc(60 / 750 * 100vw), 60px);
    height: min(calc(60 / 750 * 100vw), 60px);
    top: min(calc(573 / 750 * 100vw), 573px);
    z-index: 5;
}

.eqpm_slide .slick-prev {
    background: url(../img/equipament_arrow_l.png) no-repeat center / contain;
    left: 0;
}

.eqpm_slide .slick-next {
    background: url(../img/equipament_arrow_r.png) no-repeat center / contain;
    right: 0;
}

video {
    width: calc(650/750 * 100vw);
    max-width: 650px;
    height: calc(379/750 * 100vw);
    max-height: 379px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/* ==============================
medical01
=================================== */
.medical01_ttl {
    width: min(calc(248 / 750 * 100vw), 248px);
    position: absolute;
    top: min(calc(240 / 750 * 100vw), 244px);
    left: 51.5%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/* ==============================
medical02
=================================== */
.medical02 {
    background: url(../img/medical02_bg.png) repeat top center/100%;
    padding-bottom: min(calc(67 / 750 * 100vw), 67px);
}

.medical02_slide img {
    margin: 0 auto;
    padding-left: min(calc(15/750 * 100vw), 15px);
}

.medical02_slide .slick-arrow {
    width: min(calc(60 / 750 * 100vw), 60px);
    height: min(calc(60 / 750 * 100vw), 60px);
    top: min(calc(344 / 750 * 100vw), 344px);
    z-index: 5;
}

.medical02_slide .slick-prev {
    background: url(../img/equipament_arrow_l.png) no-repeat center / contain;
    left: 0;
}

.medical02_slide .slick-next {
    background: url(../img/equipament_arrow_r.png) no-repeat center / contain;
    right: 0;
}

/* ==============================
medical03
=================================== */
.medical03 {
    background: url(../img/medical_03_bg.png?250423) no-repeat top center/100%;
}

.medical02_slide img {
    margin: 0 auto;
    padding-left: min(calc(15/750 * 100vw), 15px);
}

.medical03_point li {
    width: min(calc(739/750 * 100vw), 739px);
    padding-left: min(calc(11/750 * 100vw), 11px);
    margin-bottom: max(calc(-12/750 * 100vw), -12px);
}



.chui_btn {
    width: min(calc(704/750 * 100vw), 704px);
    position: absolute;
    top: 0;
    left: 51%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.chui_04 .kage {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    mix-blend-mode: plus-lighter;
}

/* ==============================
mto
=================================== */
.mto {
    background: url(../img/mto_bg.png) no-repeat top center/100%;
}

/* ==============================
case_bubun
=================================== */
.case_bubun {
    background: url(../img/case_bg.png)no-repeat top -1px center/100%;
}

.case_bubun {
    position: relative;
    z-index: 1;
}

.case_bubun_pic {
    width: min(calc(338/750 * 100vw), 338px);
    position: absolute;
    top: max(calc(-54/750 * 100vw), -54px);
    right: 0;
    z-index: 2;
}

.case_bubun_list {
    position: relative;
    z-index: 3;
}

.case_bubun_list li {
    padding-left: min(calc(12.5/750 * 100vw), 12.5px);
    margin-bottom: min(calc(13/750 * 100vw), 13px);
}

.case_bubun_list li:last-child {
    margin-bottom: min(calc(61/750 * 100vw), 61px);
}


/* ==============================
flow
=================================== */
.flow {
    background: url(../img/flow_bg.png)no-repeat top center/100%;
}

.flow_slide {
    padding-left: min(calc(15/750 * 100vw), 15px);
}

.flow_slide .slick-arrow {
    width: min(calc(229 / 750 * 100vw), 229px);
    height: min(calc(27 / 750 * 100vw), 27px);
    top: min(calc(943 / 750 * 100vw), 943px);
    z-index: 5;
}

.flow_slide .slick-prev {
    display: none;
}

.flow_slide .slick-next {
    background: url(../img/flow_slide_arrow.png) no-repeat center / contain;
    right: min(calc(24 / 750 * 100vw), 24px);
}

.flow_slide .slick-dots {
    bottom: max(calc(-26 / 750 * 100vw), -26px);
    left: 4.5%;
    z-index: 2;
    width: auto;
    display: inline-block !important;
}

.flow_slide .slick-dots li {
    margin: 0 min(calc(11 / 750 * 100vw), 11px);
}

.flow_slide.slick-dotted.slick-slider {
    margin-bottom: min(calc(155 / 750 * 100vw), 155px);
}

/* ==============================
faq
=================================== */
.faq {
    background: url(../img/faq_bg.png)no-repeat top center/100%;
    padding-bottom: min(calc(92 / 750 * 100vw), 92px);
}

.faq-item {
    width: min(calc(700 / 750 * 100vw), 700px);
    padding: min(calc(36 / 750 * 100vw), 36px) min(calc(35 / 750 * 100vw), 35px) min(calc(48 / 750 * 100vw), 48px) min(calc(40 / 750 * 100vw), 40px);
    background: white;
    border-radius: min(calc(10 / 750 * 100vw), 10px);
    box-shadow: 0 0 min(calc(10 / 750 * 100vw), 10px) rgba(0, 0, 0, 0.1);
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
}

.faq-question {
    position: relative;
    display: grid;
    grid-template-columns: min(calc(20/750 * 100vw), 20px) 1fr;
    column-gap: min(calc(33 / 750 * 100vw), 33px);
    align-items: flex-start;
    text-align: left;
    cursor: pointer;
    font-size: min(calc(30 / 750 * 100vw), 30px);
    font-weight: 500;
    letter-spacing: 0.052em;
    line-height: 1.7;

}

.faq-question img {
    margin-top: min(calc(5 / 750 * 100vw), 5px);
}

.faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    display: grid;
    transition: max-height 0.4s ease-out, opacity 0.4s ease-out, padding 0.4s ease-out, margin 0.4s ease-out;
    grid-template-columns: min(calc(20/750 * 100vw), 20px) 1fr;
    column-gap: min(calc(33/750 * 100vw), 33px);
    font-size: min(calc(26 / 750 * 100vw), 26px);
    color: #444;
    text-align: left;
    line-height: 1.92;
    letter-spacing: 0.065em;
    border-top: min(calc(1 / 750 * 100vw), 1px) solid #cecece;
}

.faq-answer-note {
    display: block;
    text-align: right;
    font-size: min(calc(18 / 750 * 100vw), 18px);
}

.faq-question.active+.faq-answer {
    max-height: 1000px;
    opacity: 1;
    padding-top: min(calc(15 / 750 * 100vw), 17px);
    margin-top: min(calc(34 / 750 * 100vw), 34px);
}

.faq-item:has(.faq-question.active):nth-of-type(2) {
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
    padding-bottom: min(calc(46 / 750 * 100vw), 46px);
}

.faq-item:has(.faq-question.active):nth-of-type(3) {
    margin: 0 auto min(calc(31 / 750 * 100vw), 31px);
    padding-bottom: min(calc(40 / 750 * 100vw), 40px);
}

.faq-item:nth-of-type(3) .faq-answer {
    letter-spacing: 0.085em;
}

.faq-item:has(.faq-question.active):nth-of-type(4),
.faq-item:has(.faq-question.active):nth-of-type(5) {
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
    padding-bottom: min(calc(40 / 750 * 100vw), 40px);
}

.faq-item:has(.faq-question.active):nth-of-type(6) {
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
    padding-bottom: min(calc(44 / 750 * 100vw), 44px);
}

.faq-item:has(.faq-question.active):nth-of-type(7) {
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
    padding-bottom: min(calc(48 / 750 * 100vw), 48px);
}

.faq-item:has(.faq-question.active):nth-of-type(8) {
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
    padding-bottom: min(calc(48 / 750 * 100vw), 48px);
}

.faq-item:has(.faq-question.active):nth-of-type(9) {
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
    padding-bottom: min(calc(48 / 750 * 100vw), 48px);
}

.faq-item:has(.faq-question.active):nth-of-type(10) {
    margin: 0 auto min(calc(30 / 750 * 100vw), 30px);
    padding-bottom: min(calc(64 / 750 * 100vw), 64px);
}


.faq-answer img {
    margin-top: min(calc(17 / 750 * 100vw), 17px);
}

.faq-answer p {
    display: inline;
}

.question-text:before,
.question-text:after {
    content: "";
    position: absolute;
    top: 59%;
    right: 0.2%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: min(calc(25/750 * 100vw), 25px);
    height: min(calc(2/750 * 100vw), 2px);
    background: #c3a983;
    display: block;
}

.question-text:after {
    right: -0.05%;
    transform: rotate(90deg);
    transition: 0.5s;
}

.faq-question.active .question-text:after {
    transform: rotate(0deg);
    transition: 0.5s;
}

.men_logo img {
    display: block;
    width: min(calc(354/750 * 100vw), 354px);
    margin: min(calc(45/750 * 100vw), 45px) auto 0 min(calc(82/750 * 100vw), 82px);
}

/* ==============================
float_btn
=================================== */
.float_btn {
    position: sticky;
    bottom: 0;
    display: grid;
    grid-template-columns: min(calc(260/750 * 100vw), 260px) min(calc(440/750 * 100vw), 440px);
    column-gap: min(calc(14/750 * 100vw), 14px);
    padding-bottom: min(calc(20/750 * 100vw), 20px);
    justify-content: center;
    align-items: baseline;
    z-index: 99;
}

/* ==============================
clinic
=================================== */

.clinic_accordion {
    background: #fff;
}

.clinic {
    background: #fff;
    padding-bottom: min(calc(30/750 * 100vw), 30px);
}

.state_name {
    position: relative;
    color: #c3a983;
    font-size: min(calc(30/750 * 100vw), 30px);
    margin: 0 min(calc(37/750 * 100vw), 37px) min(calc(37/750 * 100vw), 37px) min(calc(40/750 * 100vw), 40px);
    text-align: left;
    padding: min(calc(7/750 * 100vw), 7px) 0 min(calc(5/750 * 100vw), 5px) min(calc(21/750 * 100vw), 21px);
    border-left: #c3a983 solid min(calc(6/750 * 100vw), 6px);
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.clinic_list {
    margin-bottom: min(calc(55/750 * 100vw), 55px);
    display: grid;
    grid-template-columns: repeat(auto-fit, min(calc(325/750 * 100vw), 325px));
    gap: min(calc(20/750 * 100vw), 20px);
    padding: 0 min(calc(40/750 * 100vw), 40px);
    justify-content: center;
    box-sizing: border-box;
}

.clinic_card {
    width: min(calc(325/750 * 100vw), 325px);
    border: 1px solid #c3a983;
    background: #faf4ec;
    border-radius: min(calc(5/750 * 100vw), 5px);
    box-sizing: border-box;
    height: auto;
    text-align: left;
    padding: min(calc(14/750 * 100vw), 14px) min(calc(20/750 * 100vw), 20px) min(calc(20/750 * 100vw), 20px) min(calc(30/750 * 100vw), 30px);
}

.c_toyohashi .clinic_card,
.c_hamamatsu .clinic_card,
.c_yokkaichi .clinic_card {
    padding-bottom: min(calc(50/750 * 100vw), 47px);
}

.clinic_card.open {
    background: #faf4ec;
}

.clinic_card>.clinic_card_ttl {
    font-size: min(calc(26/750 * 100vw), 26px);
    color: #c3a983;
}

.clinic_card.open>.clinic_card_ttl {
    color: #fff;
}

.clinic_card>.clinic_card_txt {
    font-size: min(calc(18/750 * 100vw), 18px);
    color: #000;
    margin-top: min(calc(2/750 * 100vw), 2px);
    letter-spacing: 0.05em;
}

.clinic_card.open>.clinic_card_txt {
    color: #fff;
}

.clinic-inner {
    position: relative;
    width: min(calc(670/750 * 100vw), 670px);
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    border: solid min(calc(1/750 * 100vw), 1px) #c3a983;
    background: #fff;
    border-radius: min(calc(5/750 * 100vw), 5px);
    transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, margin 0.4s ease-in-out;
}

.clinic-inner.open {
    opacity: 1;
    max-height: 100%;
    margin-top: min(calc(21/750 * 100vw), 21px);
}

.clinic_list>li:nth-child(2n) .clinic-inner {
    margin-left: -106%;
}

.clinic-inner h4 {
    font-size: min(calc(30/750 * 100vw), 30px);
    color: #c3a983;
}

.clinic_info,
.clinic-info--head,
.clinic-info--txt {
    font-size: min(calc(22/750 * 100vw), 22px);
    color: #000;
    text-align: left;
    padding: 0 0 0 min(calc(33/750 * 100vw), 33px);
}

.clinic-info--txt {
    font-size: min(calc(18/750 * 100vw), 18px);
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.clinic-map,
.clinic-holiday,
.clinic-access,
.clinic-address {
    padding: min(calc(22/750 * 100vw), 22px) 0 min(calc(194/750 * 100vw), 19px);
    background: #faf4ec;
}

.table-heading,
.profile,
.clinic-hours,
.clinic-tel {
    padding: min(calc(20/750 * 100vw), 20px) 0 min(calc(27/750 * 100vw), 27px);
}

.clinic-hours .clinic-info--txt,
.clinic-tel .clinic-info--txt {
    font-size: min(calc(22/750 * 100vw), 22px);
}

.clinic-hours,
.clinic-tel {
    padding: min(calc(24/750 * 100vw), 24px) 0 min(calc(14/750 * 100vw), 14px);
}

.clinic-map {
    padding: 0;
}

.clinic-map iframe {
    width: 100%;
    height: min(calc(300/750 * 100vw), 300px);
    border: none;
}

.map-counseling {
    margin: min(calc(30/750 * 100vw), 30px) auto min(calc(13/750 * 100vw), 13px);
    display: grid;
    grid-template-columns: repeat(2, min(calc(280/750 * 100vw), 280px));
    column-gap: min(calc(20/750 * 100vw), 20px);
    justify-content: center;
}

.map-counseling a.inner_btn,
.map-counseling a.btn_map {
    display: inline-block;
    width: min(calc(280/750 * 100vw), 280px);
    padding: min(calc(29/750 * 100vw), 29px) min(calc(5/750 * 100vw), 5px);
    background: #c3a983;
    color: #fff;
    font-size: min(calc(22/750 * 100vw), 22px);
    border-radius: min(calc(5/750 * 100vw), 5px);
    cursor: pointer;
    line-height: 1;
}

.btn_map {
    letter-spacing: 0.12em;
}

.map-counseling a.inner_btn {
    background: #d21577;
}

.profile .name {
    padding: 0 0 0 min(calc(28/750 * 100vw), 28px);
    margin-bottom: min(calc(15/750 * 100vw), 15px);
    font-size: min(calc(30/750 * 100vw), 30px);
    text-align: left;
}

.profile .name span {
    font-size: min(calc(22/750 * 100vw), 22px);
    margin-right: min(calc(15/750 * 100vw), 15px);
}

.profile .comment,
.profile .history {
    padding: 0 0 0 min(calc(30/750 * 100vw), 30px);
    font-size: min(calc(18/750 * 100vw), 18px);
    text-align: left;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.profile .comment {
    width: 92%;
    padding-left: 0;
    margin: 0 auto;
    border-top: solid 1px #c3a983;
    padding-top: min(calc(15/750 * 100vw), 15px);
    margin-top: min(calc(12/750 * 100vw), 12px);
}

/* ==============================
アニメーション
=================================== */
@keyframes buttonMove {
    0% {
        transform: scale(0.9, 0.9);
    }

    100% {
        transform: scale(1, 1);
    }
}

.move {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.show {
    opacity: 1;
    transform: translateY(0);
}

/* 左からフェードイン */
.fade-in-left {
    transition: all 0.5s 0s ease;
    transition-delay: 0s;
    opacity: 0;
    transform: scale(1, 1) translateX(-20%);
    transition-delay: .25s;
}

.fade-in-left.show {
    opacity: 1;
    transform: scale(1, 1) translateX(0);
}

/* 右からフェードイン */
.fade-in-right {
    transition: all 0.5s 0s ease;
    transition-delay: 0s;
    opacity: 0;
    transform: scale(1, 1) translateX(20%);
    transition-delay: .25s;
}

.fade-in-right.show {
    opacity: 1;
    transform: scale(1, 1) translateX(0);
}

/* 上からフェードイン */
.fade-in-top {
    transition: all 0.8s 0s ease;
    transition-delay: 0s;
    opacity: 0;
    transform: scale(1, 1) translateY(-40%);
    transition-delay: .25s;
}

.fade-in-top.show {
    opacity: 1;
    transform: scale(1, 1) translateY(0);
}

/* 下からフェードイン */
.fade-in-bottom {
    transition: all 0.8s 0s ease;
    transition-delay: 0s;
    opacity: 0;
    transform: scale(1, 1) translateY(40%);
    transition-delay: .25s;
}

.fade-in-bottom.show {
    opacity: 1;
    transform: scale(1, 1) translateY(0);
}

/* ズームイン */
.zoom-in {
    transform: scale(1.8);
    transition: all 0.8s 0s ease;
}

.zoom-in.show {
    transform: scale(1);
}

/* ふわっと現れる */
.pop-in {
    transition: all 0.8s 0s ease;
    opacity: 0;
    transform: scale(1, 1);
    transition-delay: .25s;
}

.pop-in.show {
    opacity: 1;
    transform: scale(1, 1);
}

.footer_wrap {
    padding: min(calc(40/750 * 100vw), 40px);
    background: #c3a983;
    color: #fff;
}

.attention {
    background: #faf4ec;
}

.footer_wrap a {
    color: #fff;
}