@charset "UTF-8";

/* Index
---------------------------------------------------------- */

.p-index_key {
    width: 100%;
    min-height: 590px;
    max-height: 658px;
    position: relative;
    z-index: 0;
}

@media screen and (max-width: 767px) {
    .p-index_key {
        min-height: unset;
    }
}

.p-index_key_slider [class^=slider_] {
    max-height: 710px;
    min-height: 640px;
}

@media screen and (max-width: 767px) {
    .p-index_key_slider [class^=slider_] {
        height: 445px;
        min-height: unset;
    }
}

.p-index_key::before {
    width: 96.5%;
    height: calc(100% - 50px);
    content: "";
    background: #f0f9f6;
    border-radius: 0 0 0px 0;
    display: block;
    position: absolute;
    left: 0;
    top: 50px;
    z-index: -2;
}

@media screen and (max-width: 767px) {
    .p-index_key::before {
        height: auto;
        aspect-ratio: 6/5;
    }
}

.p-index_key_slider {
    width: 90%;
    margin-left: auto;
    background: #fff;
    z-index: 1;
    border-radius: 40px 0 0 40px;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .p-index_key_slider {
        width: calc(100% - 40px);
        aspect-ratio: 6/5;
        border-radius: 20px 0 0 20px;
    }
}

.p-index_key_slider .slider_01,
.p-index_key_slider .slider_02,
.p-index_key_slider .slider_03 {
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
    .p-index_key_slider .slider_01,
    .p-index_key_slider .slider_02,
    .p-index_key_slider .slider_03 {
        aspect-ratio: 6/5;
        height: auto;
    }
}

.p-index_key_slider .slider_01 {
    background-image: url(/img/slider01_pc.webp);
}

@media screen and (max-width: 767px) {
    .p-index_key_slider .slider_01 {
        background-image: url(/img/slider01_sp.webp);
    }
}

.p-index_key_slider .slider_02 {
    background-image: url(/img/slider02_pc.webp);
}

@media screen and (max-width: 767px) {
    .p-index_key_slider .slider_02 {
        background-image: url(/img/slider02_sp.webp);
    }
}

.p-index_key_slider .slider_03 {
    background-image: url(/img/slider03_pc.webp);
}

@media screen and (max-width: 767px) {
    .p-index_key_slider .slider_03 {
        background-image: url(/img/slider03_sp.webp);
    }
}

.p-index_key_cont {
    position: absolute;
    z-index: 10;
    left: 50%;
    bottom: 98px;
    width: 80.56%;
    max-width: 1160px;
    padding: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
    .p-index_key_cont {
        bottom: 97px;
        left: 0;
        -webkit-transform: unset;
        transform: unset;
        width: 95%;
    }
}

.p-index_key_copy {
    position: absolute;
    left: 5%;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 10;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

@media screen and (max-width: 767px) {
    .p-index_key_copy {
        top: unset;
        bottom: 20px;
    }
}

.p-index_key_copy>span {
    background-color: #50cea9;
    font-size: 40px;
    font-size: 4rem;
    color: #fff;
    z-index: 2;
    display: inline-block;
    line-height: 1;
    padding: 6px 0 12px 10px;
    border-radius: 4px;
    margin-top: 12px;
}

@media screen and (max-width: 767px) {
    .p-index_key_copy>span {
        font-size: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .p-index_key_copy>span {
        margin-top: 6px;
    }
}

.p-index_key_copy>span.-sub {
    font-size: 20px;
}

@media screen and (max-width: 767px) {
    .p-index_key_copy>span.-sub {
        font-size: 13px;
    }
}

.p-index_news {
    position: relative;
    z-index: 1;
}

.p-index_news::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: -40px;
    background: #f0f9f6;
    height: 130px;
    width: 96.5%;
    border-radius: 0 0 30px 0;
    z-index: -1;
}

@media screen and (max-width: 767px) {
    .p-index_news::before {
        height: 80px;
        top: -20px;
        border-radius: 0 0 15px 0;
    }
}

.p-index_news .c-php_news_inner {
    background-color: #fff;
    padding: 35px 40px;
    border-radius: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 40px;
    -webkit-box-shadow: 0px 0px 14px 0px rgba(13, 99, 74, 0.1);
    box-shadow: 0px 0px 14px 0px rgba(13, 99, 74, 0.1);
}

@media screen and (max-width: 767px) {
    .p-index_news .c-php_news_inner {
        display: block;
        padding: 30px 20px;
        border-radius: 10px;
        margin-top: 30px;
    }
}

.p-index_news .c-php_news_list {
    height: 200px;
    overflow-Y: scroll;
    width: 760px;
    padding-right: 20px;
}

@media screen and (max-width: 767px) {
    .p-index_news .c-php_news_list {
        height: 240px;
        margin-top: 15px;
		 width: 100%;
    }
}

.p-index_news .c-php_news_list::-webkit-scrollbar {
    width: 6px;
}

@media screen and (max-width: 767px) {
    .p-index_news .c-php_news_list::-webkit-scrollbar {
        width: 4px;
    }
}

.p-index_news .c-php_news_list::-webkit-scrollbar-track {
    background-color: #eae9e8;
    border-radius: 3px;
}

.p-index_news .c-php_news_list::-webkit-scrollbar-thumb {
    width: 10px;
    background-color: #50cea9;
    border-radius: 3px;
}

.p-index_news .c-php_news_list .-row {
    border-bottom: dotted 1px #c6bbb0;
    padding: 14px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 767px) {
    .p-index_news .c-php_news_list .-row {
        display: block;
    }
}

.p-index_news .c-php_news_update {
    margin-right: 60px;
    color: #50cea9;
}

@media screen and (max-width: 767px) {
    .p-index_news .c-php_news_update {
        font-size: 1.2rem;
    }
}

.p-index_feature {
    margin: 100px auto 90px;
}

@media screen and (max-width: 767px) {
    .p-index_feature {
        margin: 40px auto 45px;
    }
}

.p-index_feature_list {
    position: relative;
}

.p-index_feature_list_img {
    border-radius: 40px;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list_img {
        border-radius: 15px 15px 15px 0;
    }
}

.p-index_feature_list_txt_num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #50cea9;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.p-index_feature_list_txt_num .-txt {
    font-family: "Pacifico", cursive;
    line-height: 1;
    margin-bottom: -5px;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list_txt_num .-txt {
        font-size: 1.1rem;
    }
}

.p-index_feature_list_txt_num .-num {
    font-size: 5.6rem;
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list_txt_num .-num {
        font-size: 3.4rem;
    }
}

.p-index_feature_list_txt_ttl {
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list_txt_ttl {
        font-size: 2rem;
    }
}

.p-index_feature_list.-wide {
    max-width: 1200px;
    margin: auto;
}

.p-index_feature_list.-wide>li {
    margin-bottom: 50px;
}

.p-index_feature_list.-wide>li a {
    display: block;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-wide>li {
        margin-bottom: 35px;
    }
}

.p-index_feature_list.-wide .p-index_feature_list_txt {
    background-color: #fff;
    margin-top: -70px;
    position: relative;
    max-width: 830px;
    padding: 40px 50px;
    border-radius: 0 30px 30px 30px;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-wide .p-index_feature_list_txt {
        background-color: unset;
        margin-top: 0;
        padding: 0;
    }
    .p-index_feature_list.-wide .p-index_feature_list_txt_ttl {
        margin-top: 20px;
    }
}

@media screen and (min-width: 768px) {
    .p-index_feature_list.-wide .p-index_feature_list_txt::before,
    .p-index_feature_list.-wide .p-index_feature_list_txt::after {
        content: "";
        display: block;
        width: 30px;
        height: 30px;
        background-image: url(/common/img/corner.svg);
        background-size: cover;
        position: absolute;
    }
}

.p-index_feature_list.-wide .p-index_feature_list_txt_num {
    margin-right: 20px;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-wide .p-index_feature_list_txt_num {
        margin-top: -54px;
        width: 60px;
        height: 54px;
        border-radius: 0 20px 0 0;
        background-color: #fff;
        position: relative;
    }
    .p-index_feature_list.-wide .p-index_feature_list_txt_num::before,
    .p-index_feature_list.-wide .p-index_feature_list_txt_num::after {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        background-image: url(/common/img/corner.svg);
        background-size: cover;
        position: absolute;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    .p-index_feature_list.-wide .p-index_feature_list_txt_num::before {
        top: -20px;
        left: 0;
    }
    .p-index_feature_list.-wide .p-index_feature_list_txt_num::after {
        right: -20px;
        bottom: 0;
    }
}

.p-index_feature_list.-wide .u-flex {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-wide .u-flex {
        margin-bottom: 20px;
    }
}

.p-index_feature_list.-wide>li:nth-child(odd) .p-index_feature_list_txt::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: -30px;
    left: 0px;
}

.p-index_feature_list.-wide>li:nth-child(odd) .p-index_feature_list_txt::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 40px;
    right: -30px;
}

.p-index_feature_list.-wide>li:nth-child(even) .p-index_feature_list_txt {
    border-radius: 30px 0px 30px 30px;
    margin-left: auto;
}

.p-index_feature_list.-wide>li:nth-child(even) .p-index_feature_list_txt::before {
    top: -30px;
    right: 0px;
}

.p-index_feature_list.-wide>li:nth-child(even) .p-index_feature_list_txt::after {
    top: 40px;
    left: -30px;
}

@media screen and (min-width: 768px) {
    .p-index_feature_list.-mini {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media screen and (min-width: 768px) {
    .p-index_feature_list.-mini>li {
        width: calc((100% - 60px) / 3);
    }
    .p-index_feature_list.-mini>li:nth-child(2) {
        margin-top: 40px;
    }
    .p-index_feature_list.-mini>li:nth-child(3) {
        margin-top: 80px;
    }
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-mini>li:not(:last-child) {
        margin-bottom: 35px;
    }
}

.p-index_feature_list.-mini>li a {
    display: block;
}

.p-index_feature_list.-mini .p-index_feature_list_img {
    position: relative;
    border-radius: 30px 30px 30px 0;
    margin-bottom: 20px;
}

.p-index_feature_list.-mini .p-index_feature_list_txt_num {
    position: relative;
    bottom: 0;
    width: 70px;
    height: 64px;
    background-color: #fff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 0 20px 0 0;
    margin-top: -64px;
    position: relative;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-mini .p-index_feature_list_txt_num {
        width: 60px;
        height: 54px;
        margin-top: -54px;
    }
}

.p-index_feature_list.-mini .p-index_feature_list_txt_num::before,
.p-index_feature_list.-mini .p-index_feature_list_txt_num::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(/common/img/corner.svg);
    background-size: cover;
    position: absolute;
}

.p-index_feature_list.-mini .p-index_feature_list_txt_num::before {
    top: -20px;
    left: 0;
}

.p-index_feature_list.-mini .p-index_feature_list_txt_num::after {
    bottom: 0;
    right: -20px;
}

.p-index_feature_list.-mini .p-index_feature_list_txt_num .-txt {
    font-size: 1.4rem;
    margin-bottom: -5px;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-mini .p-index_feature_list_txt_num .-txt {
        font-size: 1.1rem;
    }
}

.p-index_feature_list.-mini .p-index_feature_list_txt_num .-num {
    font-size: 4rem;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-mini .p-index_feature_list_txt_num .-num {
        font-size: 3.4rem;
    }
}

.p-index_feature_list.-mini .p-index_feature_list_txt_ttl {
    font-size: 2.2rem;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .p-index_feature_list.-mini .p-index_feature_list_txt_ttl {
        font-size: 2rem;
    }
}

.p-index_trouble {
    background-color: #f9f9f3;
    padding: 90px 0 40px;
}

@media screen and (max-width: 767px) {
    .p-index_trouble {
        padding: 45px 0 20px;
    }
}

.p-index_trouble_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 930px;
    margin: auto;
}

@media screen and (max-width: 767px) {
    .p-index_trouble_list {
        max-width: 100%;
    }
}

.p-index_trouble_list>li {
    width: 200px;
    margin: 0 55px 50px;
}

.p-index_trouble_list>li a {
    display: block;
}

@media screen and (max-width: 767px) {
    .p-index_trouble_list>li {
        width: 38vw;
        margin: 0 2vw 25px;
    }
}

.p-index_trouble_list .-txt {
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
    margin-top: 10px;
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    .p-index_trouble_list .-txt {
        font-size: 1.3rem;
    }
}

.p-index_first {
    padding-top: 70px;
}

@media screen and (max-width: 767px) {
    .p-index_first {
        padding-top: 35px;
    }
}

.p-index_first_bnr {
    border-radius: 40px;
    overflow: hidden;
    display: block;
    position: relative;
}

@media screen and (max-width: 767px) {
    .p-index_first_bnr {
        border-radius: 15px;
    }
}

.p-index_first_bnr .c-ttl_bnr {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    left: 80px;
    top: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width: 767px) {
    .p-index_first_bnr .c-ttl_bnr {
        left: 20px;
    }
}

.p-index_treatment {
    padding: 90px 0;
    position: relative;
}

@media screen and (max-width: 767px) {
    .p-index_treatment {
        padding: 50px 0 10px;
    }
}

.p-index_treatment_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.p-index_treatment_list>li {
    width: 31.2%;
}

@media screen and (max-width: 767px) {
    .p-index_treatment_list>li {
        width: 100%;
        margin-bottom: 35px;
    }
}

.p-index_treatment_list>li .c-ttl_dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.p-index_treatment_list>li .c-btn_base {
    width: 90%;
    margin: 20px auto 0;
}

@media screen and (max-width: 767px) {
    .p-index_treatment_list>li .c-btn_base {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .p-index_treatment_list_txt {
        width: 90%;
        margin: auto;
    }
}

.p-index_treatment_list_img {
    border-radius: 30px;
    margin-bottom: 20px;
}

.p-index_treatment_list.-four {
    margin-top: 60px;
}

.p-index_treatment_list.-four>li {
    width: 22.5%;
}

@media screen and (min-width: 768px) {
    .p-index_treatment_list.-four>li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media screen and (min-width: 768px) {
    .p-index_treatment_list.-four>li .p-index_treatment_list_txt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%;
    }
    .p-index_treatment_list.-four>li .p-index_treatment_list_txt p {
        margin-bottom: 20px;
    }
    .p-index_treatment_list.-four>li .p-index_treatment_list_txt .c-btn_base {
        margin-top: auto;
    }
}

@media screen and (max-width: 767px) {
    .p-index_treatment_list.-four>li {
        width: 100%;
    }
}

.p-index_greeting {
    position: relative;
    padding: 90px 0;
    background-color: #f0f9f6;
}

@media screen and (max-width: 767px) {
    .p-index_greeting {
        padding: 43px 0 45px;
    }
}

.p-index_greeting .l-cont_ss {
    position: relative;
}

.p-index_greeting_img {
    position: absolute;
    width: 515px;
    bottom: -90px;
    right: -80px;
}

@media screen and (max-width: 767px) {
    .p-index_greeting_img {
        width: 74%;
        margin: 0 auto;
        left: 0;
        right: 0;
        top: 60px;
    }
}

.p-index_greeting_txt {
    max-width: 570px;
}

@media screen and (max-width: 767px) {
    .p-index_greeting_txt p {
        width: 90%;
        margin: auto;
    }
}

.p-index_greeting_txt .c-ttl_sec {
    text-align: left;
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .p-index_greeting_txt .c-ttl_sec {
        text-align: center;
        position: relative;
        margin-bottom: 0;
    }
    .p-index_greeting_txt .c-ttl_sec::after {
        content: "";
        display: block;
        aspect-ratio: 4/5;
        width: 90%;
        margin: auto;
    }
}

.p-index_greeting_txt .u-flex {
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
    .p-index_greeting_txt .u-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media screen and (max-width: 767px) {
    .p-index_greeting_txt .u-flex .c-btn_base {
        width: 48%;
    }
}

.p-index_greeting_txt .u-flex .c-btn_base:first-child {
    margin-right: 24px;
}

@media screen and (max-width: 767px) {
    .p-index_greeting_txt .u-flex .c-btn_base:first-child {
        margin-right: 0;
    }
}

.p-index_calendar {
    padding: 90px 0 68px;
}

@media screen and (max-width: 767px) {
    .p-index_calendar {
        padding: 45px 0 45px;
    }
}

@media screen and (min-width: 768px) {
    .p-index_calendar_cont .calendarBox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.p-index_calendar_cont .calendarBox .calendar {
    max-width: 550px;
    width: 47%;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar {
        width: 100%;
        margin-top: 30px;
    }
}

.p-index_calendar_cont .calendarBox .calendar .month {
    font-size: 2rem;
    text-align: center;
    font-weight: 500;
    padding-bottom: 15px;
    color: #4e4827;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar .month {
        font-size: 1.4rem;
        padding-bottom: 8px;
    }
}

.p-index_calendar_cont .calendarBox .calendar table {
    width: 100%;
    color: #4e4827;
}

.p-index_calendar_cont .calendarBox .calendar table tr:first-child {
    background-color: #f2f5f5;
    height: 40px;
    line-height: 40px;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table tr:first-child {
        height: 30px;
        line-height: 30px;
    }
}

.p-index_calendar_cont .calendarBox .calendar table tr:first-child th {
    padding-bottom: 0;
}

.p-index_calendar_cont .calendarBox .calendar table tr:first-child th:first-child {
    border-radius: 20px 0 0 20px;
}

.p-index_calendar_cont .calendarBox .calendar table tr:first-child th:last-child {
    border-radius: 0 20px 20px 0;
}

.p-index_calendar_cont .calendarBox .calendar table th,
.p-index_calendar_cont .calendarBox .calendar table td {
    font-size: 1.5rem;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table th,
    .p-index_calendar_cont .calendarBox .calendar table td {
        font-size: 1rem;
    }
}

.p-index_calendar_cont .calendarBox .calendar table th {
    padding-bottom: 8px;
    font-weight: 500;
}

.p-index_calendar_cont .calendarBox .calendar table td {
    border-bottom: 1px #eff3f3 solid;
    position: relative;
    padding: 28px 0;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td {
        padding: 20px 0;
    }
}

.p-index_calendar_cont .calendarBox .calendar table td.close {
    color: #fff;
}

.p-index_calendar_cont .calendarBox .calendar table td.close::before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f9b8af;
    display: block;
    position: absolute;
    bottom: 50%;
    right: 50%;
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
    z-index: -1;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.close::before {
        width: 25px;
        height: 25px;
    }
}

.p-index_calendar_cont .calendarBox .calendar table td.close::after {
    content: "休診";
    color: #f8a59b;
    font-size: 1.2rem;
    position: absolute;
    bottom: 0;
    right: 50%;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    z-index: -1;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.close::after {
        width: 100%;
        font-size: 1rem;
    }
}

.p-index_calendar_cont .calendarBox .calendar table td.am_close {
    color: #fff;
}

.p-index_calendar_cont .calendarBox .calendar table td.am_close::before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #91bff6;
    display: block;
    position: absolute;
    bottom: 50%;
    right: 50%;
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
    z-index: -1;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.am_close::before {
        width: 25px;
        height: 25px;
    }
}

.p-index_calendar_cont .calendarBox .calendar table td.am_close::after {
    content: "午前休";
    font-size: 1.2rem;
    position: absolute;
    bottom: 0;
    right: 50%;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    z-index: -1;
    white-space: nowrap;
    color: #82b1eb;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.am_close::after {
        width: 100%;
        font-size: 1rem;
    }
}

.p-index_calendar_cont .calendarBox .calendar table td.pm_close {
    color: #fff;
}

.p-index_calendar_cont .calendarBox .calendar table td.pm_close::before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffc64b;
    display: block;
    position: absolute;
    bottom: 50%;
    right: 50%;
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
    z-index: -1;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.pm_close::before {
        width: 25px;
        height: 25px;
    }
}

.p-index_calendar_cont .calendarBox .calendar table td.pm_close::after {
    content: "午後休";
    color: #f3ba3f;
    font-size: 1.2rem;
    font-family: "Noto Sans JP", sans-serif;
    position: absolute;
    bottom: 0;
    right: 50%;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    z-index: -1;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.pm_close::after {
        width: 100%;
        font-size: 1rem;
    }
}

.p-index_calendar_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    font-size: 1.3rem;
    padding-top: 10px;
}

.p-index_calendar_cont .calendarBox .calendar table td.other {
    color: #fff;
}

.p-index_calendar_cont .calendarBox .calendar table td.other::before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e2decf;
    display: block;
    position: absolute;
    bottom: 50%;
    right: 50%;
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
    z-index: -1;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.other::before {
        width: 25px;
        height: 25px;
    }
}

.p-index_calendar_cont .calendarBox .calendar table td.other::after {
    content: "その他";
    font-size: 1.2rem;
    position: absolute;
    bottom: 0;
    right: 50%;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    z-index: -1;
    white-space: nowrap;
    color: #e2decf;
}

@media screen and (max-width: 767px) {
    .p-index_calendar_cont .calendarBox .calendar table td.other::after {
        width: 100%;
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .p-index_calendar_list {
        font-size: 1rem;
    }
}

.p-index_calendar_list .close span {
    color: #f9b8af;
}

.p-index_calendar_list .am_close span {
    color: #91bff6;
}

.p-index_calendar_list .pm_close span {
    color: #ffc64b;
}

.p-index_calendar_list .other span {
    color: #e2decf;
}

.c-detail {
    padding: 0 0 90px;
}

@media screen and (max-width: 767px) {
    .c-detail {
        padding: 0 0 45px;
        margin-top: 30px;
    }
}

.c-detail_cont {
    padding: 36px 80px 40px;
    background-color: #f7f7f7;
}

@media screen and (max-width: 767px) {
    .c-detail_cont {
        padding: 24px 10px 24px 13px;
    }
}

.c-detail_inner {
    height: 240px;
    overflow-y: scroll;
    padding-right: 16px;
    scrollbar-color: #c3b69e #f0f0f0;
    scrollbar-width: thin;
}

@media screen and (max-width: 767px) {
    .c-detail_inner {
        height: 180px;
    }
}

.c-detail_inner::-webkit-scrollbar {
    width: 4px;
}

@media screen and (max-width: 767px) {
    .c-detail_inner::-webkit-scrollbar {
        width: 2px;
    }
}

.c-detail_inner::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #f0f0f0;
}

.c-detail_inner::-webkit-scrollbar-thumb {
    background-color: #c3b69e;
}

.c-detail_ttl {
    line-height: 1.5;
    margin-bottom: 22px;
    font-weight: 500;
    font-size: 16px;
    font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
    .c-detail_ttl {
        margin-bottom: 8px;
        font-size: 14px;
        font-size: 1.4rem;
    }
}

.c-detail_txt {
    line-height: 1.7;
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 1em;
    color: #656565;
}

@media screen and (max-width: 767px) {
    .c-detail_txt {
        line-height: 1.55;
        font-size: 11px;
        font-size: 1.1rem;
    }
}

.c-detail_txt ul li {
    text-indent: -0.5em;
    padding-left: 0.5em;
}

.c-detail_txt ul+p {
    margin-top: 0.5em;
}

.c-detail_txt a {
    text-decoration: underline;
    display: inline;
}

.c-detail_txt .-inner_ttl {
    display: block;
    font-weight: 500;
    font-size: 1.2em;
    margin: 0.35em 0 0.3em;
}

.c-detail_txt .-inner_ttl_sub {
    display: block;
    font-weight: bold;
    margin: 0.7em 0 0.3em;
}

.l-main .p-index_key .slick-dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 49.7%;
    margin-left: auto;
    right: 0;
}

@media screen and (max-width: 1390px) {
    .l-main .p-index_key .slick-dots {
        width: 45%;
    }
}

@media screen and (max-width: 1260px) {
    .l-main .p-index_key .slick-dots {
        width: 40%;
    }
}

@media screen and (max-width: 1160px) {
    .l-main .p-index_key .slick-dots {
        width: 36%;
    }
}

@media screen and (max-width: 767px) {
    .l-main .p-index_key .slick-dots {
        width: 86vw;
        bottom: -40vw;
        right: unset;
        left: 47%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

.l-main .p-index_key .slick-dots li {
    width: 30px;
    height: 4px;
    margin: 0 3px;
}

@media screen and (max-width: 767px) {
    .l-main .p-index_key .slick-dots li {
        width: 17px;
        height: 3px;
        margin: 0 2px;
    }
}

.l-main .p-index_key .slick-dots li button {
    width: 30px;
    height: 4px;
}

@media screen and (max-width: 767px) {
    .l-main .p-index_key .slick-dots li button {
        width: 17px;
        height: 3px;
    }
}

.l-main .p-index_key .slick-dots li button::before {
    content: "";
    background-color: #d7d0c3;
    width: 30px;
    height: 4px;
    opacity: 1;
}

@media screen and (max-width: 767px) {
    .l-main .p-index_key .slick-dots li button::before {
        width: 17px;
        height: 3px;
    }
}

.l-main .p-index_key .slick-dots li.slick-active button::before {
    content: "";
    background-color: #aa997a;
    width: 30px;
    height: 4px;
    opacity: 1;
}

@media screen and (max-width: 767px) {
    .l-main .p-index_key .slick-dots li.slick-active button::before {
        width: 17px;
        height: 3px;
    }
}