@charset "UTF-8";

/* 01_base
================================================ */
html {
    font-size: 62.5%;
    word-break: break-all;
    overflow: auto;
}

body {
    -webkit-text-size-adjust: 100%;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    /*300-900*/
    font-style: normal;
    color: #564F4B;
    letter-spacing: 0.04em;
    line-height: 1.7;
}

.container {
    margin: 0 auto;
    max-width: 1280px;
    width: 90%;
    padding: 80px 0;
}

/* 02_common text
================================================ */
h2.heading_title {
    color: #564F4B;
    font-weight: 500;
    font-size: 1.8rem;
    font-size: clamp(14px, calc(12.879999999999999px + 0.4vw), 18px);
    text-align: left;
    margin-bottom: 40px;
}

h2.heading_title::before {
    display: block;
    font-weight: 500;
    font-size: 3.6rem;
    font-size: clamp(32px, calc(30.88px + 0.4vw), 36px);
    line-height: 1.2;
    content: attr(data-label);
    color: #3E8E17;
}

h3.block_heading {
    font-size: 3.2rem;
    font-size: clamp(20px, calc(16.64px + 1.2vw), 32px);
    font-weight: 500;
    text-align: left;
}

p {
    font-size: 1.6rem;
    font-size: clamp(14px, calc(13.44px + 0.2vw), 16px);
    font-weight: 500;
    line-height: 2.3;
}

.br-sp {
    display: none;
}

.only_pc {
    display: block;
}

.only_sp {
    display: none;
}

@media screen and (max-width: 768px) {
    h2.heading_title {
        text-align: center;
    }

    .br-sp {
        display: block;
    }

    .only_pc {
        display: none;
    }

    .only_sp {
        display: block;
    }
}

/* 03_common  ViewMoreボタン
================================================ */
/* viewmore_01 （小さい） */
.viewmore_01 {
    width: 120px !important;
    height: 31px;
    font-family: "Zen Maru Gothic", serif;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    margin: 40px auto 0;
    padding: 10px 0;
    border: none;
    border-radius: 25px;
    background: #ECB7AA;
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    font-size: clamp(14px, calc(13.44px + 0.2vw), 16px);
    transition: 1s;
    position: relative;
}

.viewmore_01::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: '';
    position: absolute;
    right: 10px;
}

.viewmore_01:hover {
    background: #E19A88;
}

/* viewmore_01 （大きい） */
.viewmore_02 {
    width: 200px !important;
    height: 39px;
    font-family: "Zen Maru Gothic", serif;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 14px 55px;
    border: none;
    border-radius: 25px;
    background: #ECB7AA;
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    font-size: clamp(14px, calc(13.44px + 0.2vw), 16px);
    transition: 1s;
    position: relative;
}

.viewmore_02::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: '';
    position: absolute;
    right: 15px;
}

.viewmore_02:hover {
    background: #E19A88;
}

@media screen and (max-width: 768px) {
    .viewmore_01 {
        width: 100% !important;
        max-width: 200px;
        height: 39px;
    }

    .viewmore_02 {
        width: 100% !important;
        max-width: 200px;
        height: 39px;
        margin: 0 auto;
    }
}

/* header
================================================ */
#top-head {
    width: 100%;
    height: 120px;
    margin: auto;
    background: #fff;
    display: flex;
    position: fixed;
    z-index: 999;
}

#top-head .inner {
    float: left;
    max-width: 1280px;
    width: 98%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/*logo style*/
.inner h1 img.site_header_logo {
    width: 262px;
    width: clamp(160px, calc(131.44px + 10.2vw), 262px);
}

/*nav style*/
#top-head nav ul {
    display: flex;
    list-style-type: none;
    justify-content: flex-end;
}

/*nav link style*/
#top-head nav ul li a {
    text-decoration: none;
    margin: 15px;
    font-size: 16px;
    font-size: clamp(12px, calc(10.879999999999999px + 0.4vw), 16px);
    font-weight: 500;
    color: #564F4B;
}

#nav_toggle {
    display: none;
}

#top-head nav ul li.for_ctt {
    width: 214px;
    height: 46px;
    margin: 0 10px 10px;
    border-radius: 100px;
    text-align: center;
}

#top-head nav ul li.for_ctt a {
    font-size: 24px;
    font-size: clamp(18px, calc(16.32px + 0.6vw), 24px);
    font-weight: 700;
    line-height: 46px;
}

#top-head nav ul li.tel {
    background: #DAECD2;
    color: #3E8E17;
}

#top-head nav ul li.tel a {
    color: #3E8E17;
}

#top-head nav ul li.tel i {
    color: #3E8E17;
    margin-right: 8px;
}

#top-head nav ul li.web {
    background: #ECB7AA;
    color: #fff;
}

#top-head nav ul li.web a {
    color: #fff;
}

#top-head nav ul li.web i {
    color: #fff;
    margin-right: 8px;
}


/*============================
mobile style
============================*/
@media screen and (max-width:768px) {

    #top-head {
        height: 80px;
    }

    /*hamburger menu style*/
    #nav_toggle {
        display: block;
        width: 30px;
        height: 30px;
        position: relative;
        top: 4px;
        z-index: 100;
    }

    #nav_toggle div {
        position: relative;
    }

    /*hamburger menu close style*/
    #nav_toggle span {
        display: block;
        height: 2px;
        background: #3E8E17;
        border-radius: 5px;
        position: absolute;
        width: 100%;
        left: 0;
        -webkit-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }

    #nav_toggle span:nth-child(1) {
        top: 0px;
    }

    #nav_toggle span:nth-child(2) {
        top: 10px;
    }

    #nav_toggle span:nth-child(3) {
        top: 20px;
    }

    /*hamburger menu open style*/
    .open #nav_toggle span:nth-child(1) {
        top: 10px;
        -webkit-transform: rotate(135deg);
        -moz-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    .open #nav_toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }

    .open #nav_toggle span:nth-child(3) {
        top: 10px;
        -webkit-transform: rotate(-135deg);
        -moz-transform: rotate(-135deg);
        transform: rotate(-135deg);
    }

    /*nav style*/
    #top-head nav {
        display: none;
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        height: 1040px;
        background: #FDF7F3;
        z-index: 999;
    }

    #top-head nav ul {
        display: block;
        width: 100%;
        margin: 40px auto;
    }

    #top-head nav ul li {
        margin: 20px auto;
        text-align: center;
    }

    #top-head nav ul li:last-child {
        border: none;
    }

    /*nav link style*/
    #top-head nav ul li a {
        display: block;
        font-size: 20px;
        font-size: clamp(18px, calc(17.44px + 0.2vw), 20px);
    }

    #top-head nav ul li.for_ctt {
        margin: 20px auto;
    }
}

/* top
================================================ */
#top {
    padding-top: 120px;
    width: 100%;
    height: auto;
    position: relative;
}

#top .slide {
    position: relative;
    width: 100%;
    padding-top: 62.5%;
}

@keyframes slideshow {
    0% {
        opacity: 0
    }

    6% {
        opacity: 1
    }

    50% {
        opacity: 1
    }

    56% {
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

#top .slide img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: slideshow 8s linear infinite;
    object-fit: cover;
}

#top .slide img:nth-child(2) {
    animation-delay: 4s;
}

#top .top_text img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 11%;
    margin-top: 40px;
}

/* @keyframes slideshow2 {
    0% {
        opacity: 0
    }

    15% {
        opacity: 1
    }

    25% {
        opacity: 1
    }

    40% {
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

#top .top_text img {
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 11%;
    opacity: 0;
    animation: slideshow2 8s linear infinite;
}

#top .top_text img:nth-child(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 11%;
    animation-delay: 4s;
} */

@media screen and (max-width: 768px) {
    #top {
        padding-top: 80px;
    }

    #top .slide {
        position: relative;
        width: 100%;
        padding-top: 104.1025%;
    }

    #top .top_text img {
        width: 18%;
        margin-top: 40px;
    }

    /* #top .top_text img:nth-child(2) {
        width: 18%;
    } */
}

/* sc_table
================================================ */
.sc_table {
    background: #fff;
    display: flex;
    border: none;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 540px;
    width: auto;
    height: auto;
    gap: 15px;
    padding: 30px 60px;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    position: absolute;
    right: 0;
    margin-top: -186px;
}

.sc_table table {
    border-top: none;
}

.table,
table {
    width: 100%;
}

.sc_table tr {
    border-bottom: 1px solid #B6B3B0;
}

.sc_table th,
.sc_table td {
    color: #564F4B;
    font-weight: 700;
    font-size: 1.4rem;
    font-size: clamp(12px, calc(11.44px + 0.2vw), 14px);
    padding: 8px 0;
    text-align: left;
}

.sc_table th:nth-child(1) {
    font-size: 1.6rem;
    font-size: clamp(13px, calc(12.16px + 0.3vw), 16px);
}

.sc_table .tal {
    width: 9em;
}

.sc_table .note {
    color: #564F4B;
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-size: clamp(13px, calc(12.16px + 0.3vw), 16px);
    line-height: 1.7;
}

.sc_table table br {
    display: block;
    content: "";
    margin: 10px 0;
}

@media screen and (max-width: 1240px) {
    .sc_table {
        max-width: 360px;
        padding: 30px 30px;
    }
}

@media screen and (max-width: 900px) {
    .sc_table {
        max-width: none;
        position: static;
        margin-top: 0;
        padding: 40px 25px;
    }
}

/* news
================================================ */
#news {
    background: #FDF7F3;
    width: 100%;
    height: auto;
}

#news .news_block.container {
    max-width: 1020px;
    height: auto;
    margin: 0 auto;
    padding: 120px 0;
}

#news .news_detail {
    display: flex;
    position: relative;
    padding: 0 25px;
}

#news ul.postlist {
    width: 810px;
}

#news ul.postlist li {
    padding: 20px 0;
    border-bottom: 1px solid #B6B3B0;
}

#news span.postList_date {
    font-size: 1.4rem;
    font-size: clamp(13px, calc(12.72px + 0.1vw), 14px);
    display: block;
    margin-bottom: 5px;
    color: #564F4B;
}

#news span.postList_title {
    font-size: 1.6rem;
    font-size: clamp(14px, calc(13.44px + 0.2vw), 16px);
    color: #564F4B;
}

#news h2.heading_title {
    width: 210px;
    margin-top: 30px;
}

#news .news_viewmore {
    position: absolute;
    bottom: 40px;
}

@media screen and (max-width: 768px) {
    #news .news_block.container {
        padding: 80px 0;
    }

    #news .news_detail {
        display: block;
        padding: 0;
    }

    #news h2.heading_title {
        width: 100%;
        margin-top: 0px;
    }

    #news .news_viewmore {
        position: static;
    }

    #news ul.postlist {
        width: 100%;
        margin: 0 auto;
    }

}

/* home_about
================================================ */
#home_about {
    background: url(../images/home/bg_home_about.jpg) center;
    background-size: cover;
    width: 100%;
    height: auto;
}

#home_about .about_block.container {
    max-width: 1180px;
}

#home_about .about_detail {
    width: 660px;
}

#home_about .about_detail p {
    margin: 40px 0;
}

@media screen and (max-width: 768px) {
    #home_about .about_detail {
        width: 100%;
    }

    #home_about h3.block_heading {
        text-align: center;
    }
}

/* home_features
================================================ */
#home_features {
    background: #FDF7F3;
    width: 100%;
    height: auto;
}

#home_features h2.heading_title {
    text-align: center;
}

#home_features h3.block_heading {
    text-align: center;
}

#home_features .features_flex {
    width: 100%;
    background: #fff;
}

#home_features .features_flex .container {
    padding: 0 0;
}

#home_features .card {
    display: flex;
    align-items: center;
    gap: 40px;
}

#home_features .card-image {
    width: 50%;
}

#home_features .card-text {
    width: 50%;
    margin: 0 75px 0 0;
}

#home_features .card-reverse {
    flex-direction: row-reverse;
}

#home_features .card-reverse .card-text {
    margin: 0 0 0 75px;
}

#home_features span.card_ttl {
    display: block;
    font-size: 3.2rem;
    font-size: clamp(28px, calc(26.88px + 0.4vw), 32px);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 30px;
}

#home_features span.card_nm {
    background: #DAECD2;
    color: #3E8E17;
    font-size: 1.8rem;
    font-size: clamp(16px, calc(15.44px + 0.2vw), 18px);
    border-radius: 6px;
    padding: 3px 10px;
    font-weight: 900;
    vertical-align: baseline;
    margin: 0 20px 0 0;
    letter-spacing: 0;
}

#home_features .card-text .viewmore_02 {
    margin: 30px 0 0 ;
}

@media (max-width: 1280px) {
    #home_features .card-text {
        margin: 0 40px 0 0;
    }

    #home_features .card-reverse .card-text {
        margin: 0 0 0 40px;
    }

}

@media (max-width: 768px) {
    #home_features .card {
        flex-direction: column;
    }

    #home_features .card-image {
        width: 100%;
    }

    #home_features .card-text {
        width: 100%;
        margin: 40px auto 80px;
    }

    #home_features .card-reverse .card-text {
        margin: 40px auto 80px;
    }

    #home_features span.card_ttl {
        text-align: center;
    }

    #home_features span.card_nm {
        width: 98px;
        display: block;
        margin: 0 auto 20px;
        padding: 8px 10px;
    }

    #home_features .card-text .viewmore_02 {
        margin: 30px auto 0 ;
    }
}


/* treatment
================================================ */
#treatment {
    background: #FDF7F3;
    width: 100%;
    height: auto;
}

#treatment h2.heading_title {
    text-align: center;
    margin-bottom: 80px;
}

#treatment .parts_list_medical {
    max-width: 1080px;
    margin: 0 auto;
}

#treatment .parts_list_medical .cs_medical_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px 30px;
}

#treatment .parts_list_medical .cs_medical_wrap li {
    width: 47.8%;
}

#treatment .parts_list_medical .cs_medical_wrap a {
    display: block;
    text-decoration: none;
    color: #564F4B;
}

#treatment .parts_list_medical .cs_medical_wrap .list_img {
    position: relative;
    width: 100%;
    padding-top: 56%;
}

#treatment .parts_list_medical .cs_medical_wrap .list_img .list_img_container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

#treatment .parts_list_medical .cs_medical_wrap .list_txt {
    text-align: left;
    position: relative;
    margin: 15px auto;
}

#treatment .parts_list_medical .cs_medical_wrap .list_txt .ttl {
    font-size: 2.0rem;
    font-size: clamp(18px, calc(17.44px + 0.2vw), 20px);
}

#treatment .parts_list_medical .cs_medical_wrap .list_txt .ttl::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 1px solid #3E8E17;
    border-right: 1px solid #3E8E17;
    content: '';
    position: absolute;
    right: 15px;
    top: 16px;
}

#treatment .medical_info {
    background: #fff;
    color: #ECB7AA;
    text-align: center;
    max-width: 870px;
    width: 100%;
    margin: 80px auto 0;
    padding: 40px 0;
    border-radius: 20px;
}

#treatment .medical_info h3.block_heading {
    text-align: center;
}

#treatment .medical_info h3.block_heading i.fa-solid.fa-address-card {
    margin-right: 20px;
}

@media (max-width: 768px) {
    #treatment .parts_list_medical .cs_medical_wrap li {
        width: 100%;
    }

    #treatment .medical_info h3.block_heading i.fa-solid.fa-address-card {
        margin-right: 0px;
        display: block;
    }

    #treatment .medical_info h3.block_heading i.fa-solid.fa-address-card {
        font-size: 2em;
    }

    #treatment .parts_list_medical .cs_medical_wrap .list_img {
        padding-top: 82.3529%;
    }
}


/* director
================================================ */
#director {
    width: 100%;
    height: auto;
}

#director h2.heading_title {
    text-align: center;
    margin-bottom: 40px;
}

#director h3.block_heading {
    text-align: center;
    margin: 0 auto 40px;
}

#director .dr_left {
    width: 50%;
}

#director .dr_half_wrap {
    display: flex;
    align-items: center;
    gap: 40px;
    max-width: 1080px;
    margin: 0 auto;
}

#director .dr_reverse {
    flex-direction: row-reverse;
}

#director img.dr_image {
    max-width: 580px;
    width: 100%;
    border-radius: 20px;
}

#director .dr_t01 {
    font-size: 2.4rem;
    font-size: clamp(20px, calc(18.88px + 0.4vw), 24px);
    font-weight: 500;
    line-height: 1;
    margin-bottom: 20px;
}

#director ul.dr_list {
    list-style: none;
}

#director ul.dr_list li {
    padding: 0.5em 1em 0.5em 2.3em;
    margin-bottom: 5px;
    border-bottom: 1px solid #B6B3B0;
    padding-left: 36px;
    background: url(../images/home/dr_check.png) left 10px top 16px no-repeat;
    background-size: 16px auto;
    font-size: 1.8rem;
    font-size: clamp(15px, calc(14.16px + 0.3vw), 18px);
    letter-spacing: 0;
}

#director .dr_left .dr_viewmore {
    margin-top: 40px;
}

@media (max-width: 1080px) {
    #director img.dr_image {
        max-width: fit-content;
        width: 50%;
    }
}

@media (max-width: 768px) {
    #director img.dr_image {
        width: 100%;
    }

    #director .dr_half_wrap.dr_reverse {
        display: block;
    }

    #director .dr_left {
        width: 100%;
        margin-top: 40px;
    }

    #director .dr_t01 {
        text-align: center;
    }

}


/* footer
================================================ */
footer#siteFooter {
    background: #FDF7F3;
    width: 100%;
    height: auto;
}

#siteFooter .container {
    max-width: 1080px;
}

#siteFooter .ft_half_wrap {
    display: flex;
    gap: 40px;
    justify-content: center;
}

#siteFooter .left_box {
    width: 55%;
}

#siteFooter dl.career {
    font-size: 1.6rem;
    font-size: clamp(13px, calc(12.16px + 0.3vw), 16px);
    margin-bottom: 40px;
    align-items: center;
}

#siteFooter dl.career a {
    color: #564F4B;
}

#siteFooter dl.career div {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #B6B3B0;
}

#siteFooter dl.career dt {
    clear: both;
    padding: 10px;
    display: inline-block;
    width: 20%;
}

#siteFooter dl.career dd {
    padding: 10px;
    display: inline-block;
    width: 76%;
    margin-left: 10px;
}

#siteFooter .left_box table {
    max-width: 542px;
    width: 100%;
}

#siteFooter .left_box tr {
    border-bottom: 1px solid #B6B3B0;
}

#siteFooter .left_box th,
#siteFooter .left_box td {
    color: #564F4B;
    font-weight: 700;
    font-size: 1.4rem;
    font-size: clamp(12px, calc(11.44px + 0.2vw), 14px);
    padding: 8px 0;
    text-align: left;
    width: 44px;
}

#siteFooter .left_box th:last-child {
    padding: 8px -4px;
}

#siteFooter .left_box th:nth-child(1) {
    font-size: 1.6rem;
    font-size: clamp(13px, calc(12.16px + 0.3vw), 16px);
}

#siteFooter .left_box .tal {
    width: 9em;
    width: 126px;
}

#siteFooter .left_box .ft_note {
    color: #564F4B;
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-size: clamp(13px, calc(12.16px + 0.3vw), 16px);
    line-height: 1.7;
    margin: 16px 0 0;
}

#siteFooter .right_box {
    display: flex;
    flex-wrap: wrap;
    width: 45%;
}

#siteFooter .right_box iframe {
    border-radius: 20px;
    width: 100%;
}

#siteFooter .site_footer_logo {
    margin: 20px auto 10px;
    text-align: center;
}

#siteFooter .site_footer_logo img {
    width: 262px;
    width: clamp(160px, calc(131.44px + 10.2vw), 262px);
}

#siteFooter p.copyright {
    text-align: center;
    font-size: 1.2rem;
}

@media (max-width: 768px) {
    #siteFooter .ft_half_wrap {
        display: block;
    }

    #siteFooter .left_box {
        width: 100%;
    }

    #siteFooter .right_box {
        width: 100%;
    }

    #siteFooter .left_box table {
        max-width: initial;
        width: 100%;
    }

    #siteFooter .left_box .ft_note {
        margin: 20px 0 80px;
    }

}

/* ./下層ページ共通
================================================ */
.page_wrap {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding-top: 120px;
    padding-bottom: 60px;
}

article.local {
    max-width: 1280px;
    width: 100%;
    margin: 60px auto;
}

section.local_content {
    max-width: 1000px;
    width: 90%;
    margin: auto;
}

section.local_content_wd {
    max-width: 1000px;
    width: 90%;
    margin: auto;
}

.breadcrumb {
    max-width: 1110px;
    width: 90%;
    margin: 20px auto;
}

.breadcrumb__list {
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

.breadcrumb__list__item {
    color: #564F4B;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 12px;
    line-height: 1.4;
}

.breadcrumb__list__item.active {
    font-weight: 700;
}

.breadcrumb__list__item a {
    color: #564F4B;
}

.breadcrumb__list__item+li::before {
    content: "/";
    display: block;
    margin: 0 10px;
}

h2.ac_title {
    display: block;
    font-size: 3.6rem;
    font-size: clamp(26px, calc(18.857142857142858px + 2.232142857142857vw), 36px);
    font-weight: 500;
    letter-spacing: 0;
    color: #3E8E17;
    text-align: center;
    margin: 0 auto 40px;
}

h3.ac_subtitle {
    display: block;
    font-size: 3.0rem;
    font-size: clamp(23px, calc(21.04px + 0.7000000000000001vw), 30px);
    font-weight: 500;
    color: #ECB7AA;
    margin: 60px auto 30px;
}

h4 {
    display: block;
    font-size: 2.4rem;
    font-size: clamp(21px, calc(18.857142857142858px + 0.6696428571428571vw), 24px);
    font-weight: 500;
    color: #564F4B;
    margin: 0 auto 40px;
}

@media (max-width: 768px) {
    .page_wrap {
        padding-top: 80px;
    }

    article.local {
        width: 100%;
    }

    section.local_content_wd {
        width: 100%;
    }
}


/* ./caries
================================================ */
body#caries .page_header {
    width: 100%;
    height: 0;
    padding-top: 27.3437%;
    background: url('../images/caries/cs_hd.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

#caries .page_header p.hv_ttl {
    position: absolute;
    top: 50%;
    left: 140px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 4.0rem;
    font-size: clamp(30px, calc(27.2px + 1vw), 40px);
    color: #fff;
    letter-spacing: 0.08em;
}

#caries .ac_2list {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-direction: row-reverse;
}

#caries .ac_2list div {
    width: 50%;
}

#caries .ac_2list div img {
    width: 100%;
    border-radius: 20px;
}

#caries .target {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: 40px;
}

#caries ul.tgt_list {
    list-style: none;
}

#caries ul.tgt_list li {
    padding: 0.5em 1em 0.5em 2.3em;
    margin-bottom: 5px;
    padding-left: 36px;
    background: url(../images/home/dr_check.png) left 10px top 16px no-repeat;
    background-size: 16px auto;
    font-size: 1.8rem;
    font-size: clamp(15px, calc(14.16px + 0.3vw), 18px);
    letter-spacing: 0;
}

#caries .caries_flow_vl {
    background: url(../images/caries/cs02.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 490px;
}

#caries .step {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: -120px;
    margin-bottom: 60px;
}

#caries .stepbar {
    margin: 0 auto;
    width: 100%;
}

#caries .stepbar .stepbarwrap {
    position: relative;
}

#caries .stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
}

#caries .stepbar .stepbarwrap .steptitle .stepcircle {
    display: inline-block;
    width: 2.4em;
    height: 2.4em;
    content: "";
    border-radius: 50%;
    background-color: #ECB7AA;
    color: #fff;
    text-align: center;
}

#caries .stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.1em;
    font-size: 2.0rem;
}

#caries .stepbar .stepbarwrap .steptitle .title {
    margin: 0.2em 0.5em;
    font-size: 2.4rem;
    font-size: clamp(19px, calc(17.6px + 0.5vw), 24px);
}

#caries .stepbar .stepbarwrap .steptxt .txt {
    font-size: 0.9em;
}

#caries .stepbar .stepbarwrap .stepline {
    width: 2px;
    height: 20px;
    background-color: #ECB7AA;
    position: absolute;
    /* top: 6.7em; */
    top: 85%;
    left: 1.1em;
}

#caries .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
}

#caries .step h4 {
    margin: 0 auto 20px;
}


@media (max-width: 768px) {
    body#caries .page_header {
        padding-top: 89.7435%;
        background-position: right 72% bottom 50%;
    }

    #caries .page_header p.hv_ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    #caries .ac_2list {
        display: block;
    }

    #caries .ac_2list div {
        width: 100%;
        margin: 0 auto 40px;
    }

    #caries h3.ac_subtitle {
        text-align: center;
    }

    #caries .target {
        border-radius: 0px;
        padding: 60px 40px;
    }

    #caries h4 {
        text-align: center;
    }

    #caries .caries_flow_vl {
        height: 248px;
    }

    #caries .step {
        background-position: top;
        margin-top: -86px;
        padding: 60px 30px;
    }
}


/* ./perio 歯周病
================================================ */
body#perio .page_header {
    width: 100%;
    height: 0;
    padding-top: 27.3437%;
    background: url('../images/perio/perio_hd.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

#perio .page_header p.hv_ttl {
    position: absolute;
    top: 50%;
    left: 140px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 4.0rem;
    font-size: clamp(30px, calc(27.2px + 1vw), 40px);
    color: #fff;
    letter-spacing: 0.08em;
}

#perio .ac_2list {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-direction: row-reverse;
}

#perio .ac_2list div {
    width: 50%;
}

#perio .ac_2list div img {
    width: 100%;
    border-radius: 20px;
}

#perio .target {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: 40px;
}

#perio ul.tgt_list {
    list-style: none;
}

#perio ul.tgt_list li {
    padding: 0.5em 1em 0.5em 2.3em;
    margin-bottom: 5px;
    padding-left: 36px;
    background: url(../images/home/dr_check.png) left 10px top 16px no-repeat;
    background-size: 16px auto;
    font-size: 1.8rem;
    font-size: clamp(15px, calc(14.16px + 0.3vw), 18px);
    letter-spacing: 0;
}

#perio .perio_flow_vl {
    background: url(../images/perio/perio02.png) no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 490px;
}

#perio .step {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: -120px;
    margin-bottom: 60px;
}

#perio .stepbar {
    margin: 0 auto;
    width: 100%;
}

#perio .stepbar .stepbarwrap {
    position: relative;
}

#perio .stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
    height: 60px;
}

#perio .stepbar .stepbarwrap .steptitle .stepcircle {
    color: #fff;
    text-align: center;
}

#perio .stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.1em;
    font-size: 2.0rem;
    border-radius: 50%;
    background-color: #ECB7AA;
    width: 24px;
    height: 24px;
}

#perio .stepbar .stepbarwrap .steptitle .title {
    margin: 0.2em 0.5em;
    font-size: 2.4rem;
    font-size: clamp(21px, calc(18.857142857142858px + 0.6696428571428571vw), 24px);
    line-height: normal;
}

#perio .stepbar .stepbarwrap .steptxt .txt {
    font-size: 0.9em;
}

#perio .stepbar .stepbarwrap .stepline {
    width: 2px;
    height: 20px;
    background-color: #ECB7AA;
    position: absolute;
    /* top: 6.7em; */
    top: 85%;
    left: 1.1em;
}

#perio .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
}

#perio .step h4 {
    margin: 0 auto 20px;
}


@media (max-width: 768px) {
    body#perio .page_header {
        padding-top: 89.7435%;
        background-position: right 72% bottom 50%;
    }

    #perio .page_header p.hv_ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    #perio .ac_2list {
        display: block;
    }

    #perio .ac_2list div {
        width: 100%;
        margin: 0 auto 40px;
    }

    #perio h3.ac_subtitle {
        text-align: center;
    }

    #perio .target {
        border-radius: 0px;
        padding: 60px 40px;
    }

    #perio h4 {
        text-align: center;
    }

    #perio .perio_flow_vl {
        height: 248px;
    }

    #perio .step {
        background-position: top;
        margin-top: -86px;
        padding: 60px 30px;
    }
}



/* ./preventive 予防歯科
================================================ */
body#preventive .page_header {
    width: 100%;
    height: 0;
    padding-top: 27.3437%;
    background: url('../images/preventive/preventive_hd.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

#preventive .page_header p.hv_ttl {
    position: absolute;
    top: 50%;
    left: 140px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 4.0rem;
    font-size: clamp(30px, calc(27.2px + 1vw), 40px);
    color: #fff;
    letter-spacing: 0.08em;
}

#preventive .ac_2list {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-direction: row-reverse;
}

#preventive .ac_2list div {
    width: 50%;
}

#preventive .ac_2list div img {
    width: 100%;
    border-radius: 20px;
}

#preventive .target {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: 40px;
}

#preventive ul.tgt_list {
    list-style: none;
}

#preventive ul.tgt_list li {
    padding: 0.5em 1em 0.5em 2.3em;
    margin-bottom: 5px;
    padding-left: 36px;
    background: url(../images/home/dr_check.png) left 10px top 16px no-repeat;
    background-size: 16px auto;
    font-size: 1.8rem;
    font-size: clamp(15px, calc(14.16px + 0.3vw), 18px);
    letter-spacing: 0;
}

#preventive .preventive_flow_vl {
    background: url(../images/preventive/preventive02.png) no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 490px;
}

#preventive .step {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: -120px;
    margin-bottom: 60px;
}

#preventive .stepbar {
    margin: 0 auto;
    width: 100%;
}

#preventive .stepbar .stepbarwrap {
    position: relative;
}

#preventive .stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
    height: 60px;
}

#preventive .stepbar .stepbarwrap .steptitle .stepcircle {
    color: #fff;
    text-align: center;
}

#preventive .stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.1em;
    font-size: 2.0rem;
    border-radius: 50%;
    background-color: #ECB7AA;
    width: 24px;
    height: 24px;
}

#preventive .stepbar .stepbarwrap .steptitle .title {
    margin: 0.2em 0.5em;
    font-size: 2.4rem;
    font-size: clamp(21px, calc(18.857142857142858px + 0.6696428571428571vw), 24px);
    line-height: normal;
}

#preventive .stepbar .stepbarwrap .steptxt .txt {
    font-size: 0.9em;
}

#preventive .stepbar .stepbarwrap .stepline {
    width: 2px;
    height: 20px;
    background-color: #ECB7AA;
    position: absolute;
    /* top: 6.7em; */
    top: 85%;
    left: 1.1em;
}

#preventive .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
}

#preventive .step h4 {
    margin: 0 auto 20px;
}


@media (max-width: 768px) {
    body#preventive .page_header {
        padding-top: 89.7435%;
        background-position: right 72% bottom 50%;
    }

    #preventive .page_header p.hv_ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: max-content;
    }

    #preventive .ac_2list {
        display: block;
    }

    #preventive .ac_2list div {
        width: 100%;
        margin: 0 auto 40px;
    }

    #preventive h3.ac_subtitle {
        text-align: center;
    }

    #preventive .target {
        border-radius: 0px;
        padding: 60px 40px;
    }

    #preventive h4 {
        text-align: center;
    }

    #preventive .preventive_flow_vl {
        height: 248px;
    }

    #preventive .step {
        background-position: top;
        margin-top: -86px;
        padding: 60px 30px;
    }
}




/* ./denture 入れ歯（義歯）
================================================ */
body#denture .page_header {
    width: 100%;
    height: 0;
    padding-top: 27.3437%;
    background: url('../images/denture/denture_hd.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

#denture .page_header p.hv_ttl {
    position: absolute;
    top: 50%;
    left: 140px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 4.0rem;
    font-size: clamp(30px, calc(27.2px + 1vw), 40px);
    color: #fff;
    letter-spacing: 0.08em;
}

#denture .ac_2list {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-direction: row-reverse;
}

#denture .ac_2list div {
    width: 50%;
}

#denture .ac_2list div img {
    width: 100%;
    border-radius: 20px;
}

#denture .target {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: 40px;
}

#denture ul.tgt_list {
    list-style: none;
}

#denture ul.tgt_list li {
    padding: 0.5em 1em 0.5em 2.3em;
    margin-bottom: 5px;
    padding-left: 36px;
    background: url(../images/home/dr_check.png) left 10px top 16px no-repeat;
    background-size: 16px auto;
    font-size: 1.8rem;
    font-size: clamp(15px, calc(14.16px + 0.3vw), 18px);
    letter-spacing: 0;
}

#denture .denture_flow_vl {
    background: url(../images/denture/denture02.png) no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 490px;
}

#denture .step {
    background: #FDF7F3;
    border-radius: 60px;
    padding: 60px;
    margin-top: -120px;
    margin-bottom: 60px;
}

#denture .stepbar {
    margin: 0 auto;
    width: 100%;
}

#denture .stepbar .stepbarwrap {
    position: relative;
}

#denture .stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
    height: 60px;
}

#denture .stepbar .stepbarwrap .steptitle .stepcircle {
    color: #fff;
    text-align: center;
}

#denture .stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.1em;
    font-size: 2.0rem;
    border-radius: 50%;
    background-color: #ECB7AA;
    width: 24px;
    height: 24px;
}

#denture .stepbar .stepbarwrap .steptitle .title {
    margin: 0.2em 0.5em;
    font-size: 2.4rem;
    font-size: clamp(21px, calc(18.857142857142858px + 0.6696428571428571vw), 24px);
    line-height: normal;
}

#denture .stepbar .stepbarwrap .steptxt .txt {
    font-size: 0.9em;
}

#denture .stepbar .stepbarwrap .stepline {
    width: 2px;
    height: 20px;
    background-color: #ECB7AA;
    position: absolute;
    /* top: 6.7em; */
    top: 85%;
    left: 1.1em;
}

#denture .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
}

#denture .step h4 {
    margin: 0 auto 20px;
}


@media (max-width: 768px) {
    body#denture .page_header {
        padding-top: 89.7435%;
        background-position: right 72% bottom 50%;
    }

    #denture .page_header p.hv_ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: max-content;
    }

    #denture .ac_2list {
        display: block;
    }

    #denture .ac_2list div {
        width: 100%;
        margin: 0 auto 40px;
    }

    #denture h3.ac_subtitle {
        text-align: center;
    }

    #denture .target {
        border-radius: 0px;
        padding: 60px 40px;
    }

    #denture h4 {
        text-align: center;
    }

    #denture .pdenture_flow_vl {
        height: 248px;
    }

    #denture .step {
        background-position: top;
        margin-top: -86px;
        padding: 60px 30px;
    }
}


/* ./about 当院について
================================================ */
body#about .page_header {
    width: 100%;
    height: 0;
    padding-top: 27.3437%;
    background: url('../images/about/about_hd.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

#about .page_header p.hv_ttl {
    position: absolute;
    top: 50%;
    left: 140px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 4.0rem;
    font-size: clamp(30px, calc(27.2px + 1vw), 40px);
    color: #fff;
    letter-spacing: 0.08em;
}

#about .local img.about01 {
    width: 100%;
}

#about section.local_content div {
    margin: 60px auto;
}

#about section.local_content p {
    margin-bottom: 40px;
}

@media (max-width: 768px) {
    body#about .page_header {
        padding-top: 89.7435%;
        background-position: right 82% bottom 50%;
    }

    #about .page_header p.hv_ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: max-content;
    }
}



/* ./feature 当院の特徴
================================================ */
body#feature .page_header {
    width: 100%;
    height: 0;
    padding-top: 27.3437%;
    background: url('../images/feature/feature_hd.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

#feature .page_header p.hv_ttl {
    position: absolute;
    top: 50%;
    left: 140px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 4.0rem;
    font-size: clamp(30px, calc(27.2px + 1vw), 40px);
    color: #fff;
    letter-spacing: 0.08em;
}

#feature section.local_content p {
    margin-bottom: 40px;
}

@media (max-width: 768px) {
    body#feature .page_header {
        padding-top: 89.7435%;
        background-position: right 82% bottom 50%;
    }

    #feature .page_header p.hv_ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: max-content;
    }

    #feature .local_content h3.ac_subtitle {
        text-align: center;
    }
}


/* ./first 初診の方へ
================================================ */
body#first .page_header {
    width: 100%;
    height: 0;
    padding-top: 27.3437%;
    background: url('../images/first/first_hd.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

#first .page_header p.hv_ttl {
    position: absolute;
    top: 50%;
    left: 140px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 4.0rem;
    font-size: clamp(30px, calc(27.2px + 1vw), 40px);
    color: #fff;
    letter-spacing: 0.08em;
}

#first .ac_2list {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-direction: row-reverse;
}

#first .ac_2list div {
    width: 50%;
}

#first .ac_2list div img {
    width: 100%;
    border-radius: 20px;
}

#first section.local_content p {
    margin-bottom: 40px;
}

@media (max-width: 768px) {
    body#first .page_header {
        padding-top: 89.7435%;
        background-position: right 72% bottom 50%;
    }

    #first .page_header p.hv_ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: max-content;
    }

    #first .ac_2list {
        display: block;
    }

    #first .ac_2list div {
        width: 100%;
        margin: 0 auto 40px;
    }

    #first .local_content h3.ac_subtitle {
        text-align: center;
    }
}


/* ./reserve WEB予約
================================================ */
.reserve .local, .reserve .breadcrumb {
    background-color: rgba(61, 176, 234, .1)
}
.reserve .local {
    margin-top: 0;
    padding-top: 80px;
    padding-bottom: 146px
}
@media screen and (max-width: 768px) {
    .reserve .local {
        padding-top: 20px;
        padding-bottom: 60px
    }
}
.reserve .local__content h2 {
    margin-top: 0
}
.reserve .local .c-inner01 {
    max-width: 1110px
}
@media screen and (max-width: 768px) {
    .reserve .local .c-inner01 {
        padding: 0
    }
}
@media screen and (max-width: 768px) {
    .reserve .reserve__wrp {
        padding: 0 25px
    }
}
.reserve .thanks__content {
    background-color: #fff;
    color: #3e3a39;
    font-size: 24px;
    font-family: "Noto Serif JP", serif;
    width: 100%;
    padding: 55px 30px 62px;
    text-align: center
}
.reserve .thanks__content p {
    margin-bottom: 0
}
@media screen and (max-width: 768px) {
    .reserve .thanks__content {
        font-size: 20px;
        text-align: justify;
        padding: 16px 24px 30px
    }
}
.reserve .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    pointer-events: none;
    opacity: 0;
    z-index: 9000;
    background-color: rgba(0, 0, 0, .2);
    overflow-y: auto
}
.reserve .modal p {
    margin: 0
}
.reserve .modal.is-active {
    opacity: 1;
    pointer-events: auto
}
.reserve .modal__overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer
}
.reserve .modal__content {
    top: 0px;
    position: relative;
    background-color: #fff;
    width: 100%;
    max-width: 650px;
    height: 375px;
    padding: 24px 50px 42px;
    -webkit-box-shadow: 0px 0px 20px 10px rgba(0, 0, 0, .25);
    box-shadow: 0px 0px 20px 10px rgba(0, 0, 0, .25)
}
@media screen and (max-width: 768px) {
    .reserve .modal__content {
        padding: 24px 16px 20px;
        height: 354px
    }
}
.reserve .modal__ttl {
    color: #548C2F;
    font-size: 18px;
    margin-bottom: 18px !important;
    text-align: center
}
.reserve .modal__inner {
    border: 1px solid #b2b2b2;
    background-color: #fff;
    overflow: scroll;
    padding: 10px 20px;
    height: 255px
}
@media screen and (max-width: 768px) {
    .reserve .modal__inner {
        font-size: 16px;
        padding: 10px 16px
    }
}
.reserve .square_btn {
    cursor: pointer;
    right: 10px;
    top: 10px;
    position: absolute;
    width: 28px;
    height: 28px;
    background: #3e3a39;
    margin-left: auto;
    border-radius: 100px;
    z-index: 2
}
.reserve .square_btn::before, .reserve .square_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 15px;
    background: #fff
}
.reserve .square_btn:before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}
.reserve .square_btn::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}
.reserve .modal-btn {
    color: #548C2F;
    text-decoration: underline;
    cursor: pointer
}
.form__field textarea, .form__field input[type=text], .form__field input[type=tel], .form__field input[type=email] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    color: inherit;
    height: 56px;
    border: 1px solid #b2b2b2;
    padding: 10px 20px;
    resize: none
}
@media screen and (max-width: 768px) {
    .form__field textarea, .form__field input[type=text], .form__field input[type=tel], .form__field input[type=email] {
        font-size: 16px;
        padding: 8px 20px;
        height: 44.8px
    }
}
.form__field textarea::-webkit-input-placeholder, .form__field input[type=text]::-webkit-input-placeholder, .form__field input[type=tel]::-webkit-input-placeholder, .form__field input[type=email]::-webkit-input-placeholder {
    color: #b2b2b2
}
.form__field textarea::-moz-placeholder, .form__field input[type=text]::-moz-placeholder, .form__field input[type=tel]::-moz-placeholder, .form__field input[type=email]::-moz-placeholder {
    color: #b2b2b2
}
.form__field textarea:-ms-input-placeholder, .form__field input[type=text]:-ms-input-placeholder, .form__field input[type=tel]:-ms-input-placeholder, .form__field input[type=email]:-ms-input-placeholder {
    color: #b2b2b2
}
.form__field textarea::-ms-input-placeholder, .form__field input[type=text]::-ms-input-placeholder, .form__field input[type=tel]::-ms-input-placeholder, .form__field input[type=email]::-ms-input-placeholder {
    color: #b2b2b2
}
.form__field textarea::placeholder, .form__field input[type=text]::placeholder, .form__field input[type=tel]::placeholder, .form__field input[type=email]::placeholder {
    color: #b2b2b2
}
.form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 30px;
    width: 100%
}
@media screen and (max-width: 768px) {
    .form {
        gap: 20px
    }
}
.form__group {
    margin-bottom: 30px
}
.form__inner {
    background-color: #fff;
    display: block;
    width: 100%;
    padding: 35px 0 87px
}
@media screen and (max-width: 768px) {
    .form__inner {
        padding: 0;
        background-color: rgba(0, 0, 0, 0)
    }
}
.form__inner.is_margin {
    margin-top: 50px
}
.form__inner .form__group {
    max-width: 860px;
    width: 100%;
    margin: 0 auto 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
@media screen and (max-width: 768px) {
    .form__inner .form__group {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        gap: 12px;
        margin: 0 auto 10px
    }
}
.form__inner .form__group.bd {
    border-bottom: 1px solid #b2b2b2;
    padding-bottom: 20px
}
@media screen and (max-width: 768px) {
    .form__inner .form__group.bd {
        padding-bottom: 25px
    }
}
.form .select-box {
    position: relative
}
.form .select-box::after {
    content: "＞";
    font-size: 18px;
    color: #548C2F;
    position: absolute;
    top: 14px;
    right: 16px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}
@media screen and (max-width: 768px) {
    .form .select-box::after {
        font-size: 16px;
        top: 11px
    }
}
.form input, .form select, .form textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0px;
    background-color: #fff
}
.form input::-webkit-date-and-time-value {
    text-align: left
}
.form input[type=date], .form select {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #548C2F;
    color: #548C2F;
    font-size: 18px;
    font-weight: 400;
    height: 56px;
    width: 100%;
    padding: 0 16px;
    font-family: "Noto Sans JP", serif;
    resize: none
}
@media screen and (max-width: 768px) {
    .form input[type=date], .form select {
        font-size: 16px;
        height: 44.8px;
        padding: 8px 12px
    }
}
.form .note {
    color: #548C2F;
    margin-top: 12px;
    margin-bottom: 0
}
@media screen and (max-width: 768px) {
    .form .note {
        margin-top: 10px
    }
}
.form .text-center {
    text-align: center
}
@media screen and (max-width: 768px) {
    .form .text-center {
        text-align: left
    }
}
.form .ty02 .form__col {
    position: relative
}
.form .ty02 .form__col:first-child {
    max-width: 209px;
    width: 100%;
    margin-top: 10px
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:first-child {
        width: 100%;
        margin-top: 0
    }
}
.form .ty02 .form__col:last-child {
    max-width: 648px;
    width: 100%;
    line-height: 1.69
}
.form .ty02 .form__col:last-child .wpcf7-form-control-wrap {
    display: block;
    width: calc((100% - 18px)/2)
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .wpcf7-form-control-wrap {
        width: calc((100% - 8px)/2)
    }
}
.form .ty02 .form__col:last-child .form__field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 18px
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field {
        gap: 8px
    }
}
.form .ty02 .form__col:last-child .form__field.w-100 span {
    width: 100%
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field.sp-w-100 span {
        width: 100%
    }
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap {
    width: 100%
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .wpcf7-list-item {
    width: calc((100% - 18px)/2)
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 18px;
    width: 128%
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label {
        gap: 8px
    }
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label label span {
    padding-left: 36px;
    color: #b2b2b2;
    border: 1px solid #b2b2b2
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label label span::after {
    content: none
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label label span::before {
    content: "◎";
    font-size: 18px;
    color: #b2b2b2;
    position: absolute;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 16px
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label label span::before {
        font-size: 16px
    }
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label input[type=radio]:checked+span {
    color: #548C2F;
    background-color: #fff
}
.form .ty02 .form__col:last-child .form__field.w-sex .wpcf7-form-control-wrap .radio-label input[type=radio]:checked+span::before {
    color: #548C2F;
    content: "◉"
}
.form .ty02 .form__col:last-child .form__field.w-birth .birth-select {
    width: calc((100% - 36px)/3);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field.w-birth .birth-select {
        width: calc((100% - 16px)/3);
        gap: 5px
    }
}
.form .ty02 .form__col:last-child .form__field.w-birth .birth-select span {
    width: calc(100% - 36px);
    position: relative
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field.w-birth .birth-select span {
        width: calc(100% - 8px)
    }
}
.form .ty02 .form__col:last-child .form__field.w-birth .birth-select .text {
    color: #b2b2b2;
    width: auto;
    margin-bottom: 0
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field.w-birth .birth-select .text {
        font-size: 16px
    }
}
.form .ty02 .form__col:last-child .form__field.w-birth .birth-select .wpcf7-form-control-wrap {
    position: relative
}
.form .ty02 .form__col:last-child .form__field.w-birth .birth-select .wpcf7-form-control-wrap::after {
    content: "▼";
    font-size: 18px;
    color: #b2b2b2;
    position: absolute;
    position: absolute;
    top: 12px;
    right: 16px
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__col:last-child .form__field.w-birth .birth-select .wpcf7-form-control-wrap::after {
        font-size: 14.4px;
        right: 6px;
        top: 10px
    }
}
.form .ty02 .form__col:last-child .form__field.w-birth .birth-select .wpcf7-form-control-wrap select {
    color: #b2b2b2;
    border: 1px solid #b2b2b2
}
.form .ty02 .form__col:last-child .form__field.w-birth .birth-select .wpcf7-form-control-wrap select option {
    color: #b2b2b2
}
.form .ty02 .form__field-name label {
    font-size: 18px;
    color: #548C2F
}
@media screen and (max-width: 768px) {
    .form .ty02 .form__field-name label {
        font-size: 16px
    }
}
.form .ty01 .form__col {
    position: relative
}
.form .ty01 .form__col:first-child {
    background-color: #6EAA39
}
@media screen and (max-width: 768px) {
    .form .ty01 .form__col:first-child {
        width: 100%
    }
}
.form .ty01 .form__col:last-child {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 40px 0
}
@media screen and (max-width: 768px) {
    .form .ty01 .form__col:last-child {
        padding: 30px 35px
    }
}
.form__field {
    width: 100%
}
.form__field-name {
    width: 100%
}
.form .flex-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: left;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px;
    margin: 0 auto
}
@media screen and (max-width: 768px) {
    .form .flex-box {
        gap: 20px
    }
}
.form .hd {
    color: #fff;
    padding: 5px 10px
}
.form__field-name label, .form__field-name span {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    gap: 10px;
    font-size: 20px;
    line-height: 36px
}
@media screen and (max-width: 768px) {
    .form__field-name label, .form__field-name span {
        font-size: 16px
    }
}
.form__field-name label mark, .form__field-name span mark {
    background-color: #ff7400;
    color: #fff;
    font-size: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 43px;
    height: 22px;
    border-radius: 5px
}
@media screen and (max-width: 768px) {
    .form__field-name label mark, .form__field-name span mark {
        font-size: 12.8px;
        width: 34.4px;
        height: 17.6px
    }
}
.form__field-text {
    color: #3e3a39;
    font-size: 24px !important;
    font-family: "Noto Serif JP", serif;
    font-weight: 600 !important;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .form__field-text {
        font-size: 20px !important;
        margin-bottom: 20px
    }
}
.form__field textarea {
    height: 180px;
    line-height: 1.5em
}
.form__field.is_flex, .form__field .is_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px
}
.form__field-box {
    width: 315px
}
@media screen and (max-width: 768px) {
    .form__field-box {
        width: 77%
    }
}
.form__field-box .date {
    position: relative
}
.form__field-box .date.wpcf7-form-control {
    padding: 10px 16px 10px 65px
}
@media screen and (max-width: 768px) {
    .form__field-box .date.wpcf7-form-control {
        padding: 8px 12px 8px 52px
    }
}
.form__field-box .date.wpcf7-form-control::-webkit-calendar-picker-indicator {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0
}
.form__field-box .date::before {
    content: "";
    display: block;
    background: url(../img/local/ico_date.svg) no-repeat center center/cover;
    width: 29px;
    height: 29px;
    border-style: solid;
    position: absolute;
    top: 50%;
    left: 16px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
    border: none
}
@media screen and (max-width: 768px) {
    .form__field-box .date::before {
        width: 23.2px;
        height: 23.2px
    }
}
.form__agree {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -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;
    margin-top: 20px;
    margin-bottom: 20px
}
@media screen and (max-width: 768px) {
    .form__agree {
        margin-top: 16px;
        margin-bottom: 24px;
        text-align: center
    }
}
@media screen and (max-width: 768px) {
    .form__agree p {
        margin-bottom: 9px
    }
}
.form__agree label {
    color: #548C2F
}
@media screen and (max-width: 768px) {
    .form__agree label {
        font-size: 16px
    }
}
@media screen and (max-width: 768px) {
    .form__agree .wpcf7-list-item-label {
        width: calc(100% - 20px)
    }
}
.form input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}
.form input[type=radio] {
    display: none
}
.form .radio-label {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 980px;
    margin: 0 auto
}
.form .radio-label label span {
    background-color: #fff;
    color: #548C2F;
    font-size: 18px;
    width: 100%;
    height: 56px;
    padding: 10px 16px;
    width: 315px;
    border: 1px solid #548C2F;
    position: relative
}
@media screen and (max-width: 768px) {
    .form .radio-label label span {
        font-size: 16px;
        width: 77%;
        height: 44.8px;
        padding: 8px 12px
    }
}
.form .radio-label label span::after {
    content: "＞";
    font-size: 18px;
    color: #548C2F;
    position: absolute;
    top: 50%;
    right: 16px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
@media screen and (max-width: 768px) {
    .form .radio-label label span::after {
        font-size: 16px;
        right: 12.8px
    }
}
.form .radio-label input[type=radio]:checked+span {
    color: #fff;
    background-color: #548C2F
}
.form .radio-label input[type=radio]:checked+span::after {
    color: #fff
}
.form .wpcf7-checkbox, .form .wpcf7-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px
}
@media screen and (max-width: 768px) {
    .form .wpcf7-checkbox, .form .wpcf7-radio {
        gap: 20px
    }
}
.form .wpcf7-checkbox .wpcf7-list-item, .form .wpcf7-radio .wpcf7-list-item {
    margin: 0
}
@media screen and (max-width: 768px) {
    .form .wpcf7-checkbox .wpcf7-list-item, .form .wpcf7-radio .wpcf7-list-item {
        width: 100%
    }
}
.form .wpcf7-checkbox .wpcf7-list-item label, .form .wpcf7-radio .wpcf7-list-item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    cursor: pointer
}
@media screen and (max-width: 768px) {
    .form .wpcf7-checkbox .wpcf7-list-item label, .form .wpcf7-radio .wpcf7-list-item label {
        gap: 0;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}
.form .wpcf7-checkbox .wpcf7-list-item label input, .form .wpcf7-radio .wpcf7-list-item label input {
    width: 16px;
    height: 16px
}
@media screen and (max-width: 768px) {
    .form .wpcf7-checkbox .wpcf7-list-item label input, .form .wpcf7-radio .wpcf7-list-item label input {
        gap: 0;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        margin: 0;
        margin-top: 6px
    }
}
.form input[type=checkbox] {
    position: relative;
    width: 16px;
    height: 16px;
    border: 1px solid #548C2F;
    vertical-align: -5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}
.form input[type=checkbox]:checked {
    background-color: #548C2F
}
.form input[type=checkbox]:checked:before {
    position: absolute;
    top: 1px;
    left: 4px;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
    width: 4px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    content: ""
}
.form button[type=submit] {
    border: none;
    background-color: #548C2F;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
    max-width: 315px;
    width: 100%;
    height: 68px;
    color: #fff;
    font-size: 24px;
    font-weight: normal
}
@media screen and (max-width: 768px) {
    .form button[type=submit] {
        font-size: 20px;
        height: 54px
    }
}
.form .wpcf7-not-valid-tip {
    font-size: 12px;
    font-weight: 500
}
.local {
    margin-top: 80px;
    padding-bottom: 60px;
    display: block;
    width: 100%
}
@media screen and (max-width: 768px) {
    .local {
        margin-top: 40px
    }
}
.local .c-inner {
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 50px;
    width: 100%
}
.local .c-inner.m-tm01 {
    margin: 40px auto
}
@media screen and (max-width: 768px) {
    .local .c-inner {
        max-width: 590px;
        padding: 0 20px
    }
}
.local__content {
    color: #0f2d3d;
    display: block;
    font-size: 16px;
    line-height: 1.6;
    font-weight: normal
}
.local__content section {
    padding-top: 1px;
    padding-bottom: 100px;
    position: relative
}
@media screen and (max-width: 768px) {
    .local__content section {
        font-size: 14px;
        padding-bottom: 80px
    }
}
.local__content section.is_purple {
    background: #f8f9fa
}
.local__content section.is_purple .local__howToList ul li {
    background-color: #fff
}
.local__content section.is_purple .local__qaList ul li {
    background-color: #fff
}
.local__content section.is_bg_color:nth-child(odd) {
    background: #eeeef6
}
.local__content section.is_bg_color:nth-child(odd) .local__howToList ul li {
    background-color: #fff
}
.local__content section.is_bg_color:nth-child(odd) .local__qaList ul li {
    background-color: #fff
}
.local__content section.is_bg_color:nth-child(even) .local__howToList ul li {
    background-color: #eeeef6
}
.local__content section.is_bg_color:nth-child(even) .local__qaList ul li {
    background-color: #eeeef6
}
.local__content section.is_padding {
    padding-top: 100px
}
@media screen and (max-width: 768px) {
    .local__content section.is_padding {
        padding-top: 60px
    }
}
.local__content h2 {
    border-bottom: solid 8px rgba(61, 176, 234, .2);
    color: #3db0ea;
    display: block;
    width: 100%;
    font-family: "Noto Serif JP", serif;
    font-size: 36px;
    letter-spacing: .05em;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    margin: 80px 0 50px;
    padding: 25px 0;
    position: relative
}
@media screen and (max-width: 768px) {
    .local__content h2 {
        font-size: 28px;
        margin: 40px 0 24px;
        padding: 20px 0
    }
}
.local__content h2::before {
    background: #5fa5c9;
    content: "";
    position: absolute;
    inset: auto auto 5px 0;
    margin: auto;
    width: 100%;
    height: 1px;
    z-index: 1
}
.local__content h3 {
    color: #548C2F;
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
    margin: 60px 0 50px;
    padding-bottom: 10px;
    position: relative
}
@media screen and (max-width: 768px) {
    .local__content h3 {
        font-size: 20px;
        margin: 30px 0 20px
    }
}
.local__content h3::before {
    background: #3db0ea;
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    margin: auto;
    max-width: 500px;
    width: 100%;
    height: 1px
}
.local__content h3.is_margin {
    margin-top: 30px
}
@media screen and (max-width: 768px) {
    .local__content h3.is_margin {
        margin-top: 20px
    }
}
.local__content h4 {
    background: #DEEBD4;
    color: #fff;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    margin: 40px 0 30px;
    letter-spacing: .1em;
    padding: 10px 0
}
@media screen and (max-width: 768px) {
    .local__content h4 {
        font-size: 18px;
        margin: 30px 0 20px
    }
}
.local__content h5, .local__content h6 {
    color: #DEEBD4;
    display: block;
    font-family: "Noto Serif JP", serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: normal;
    margin: 20px 0
}
.local__content p {
    margin-bottom: 2em
}
.local__content p, .local__content a {
    font-size: 16px;
    letter-spacing: .1em;
    line-height: 2;
    font-weight: normal
}
@media screen and (max-width: 768px) {
    .local__content p, .local__content a {
        font-size: 14px
    }
}
.local__content p.is_center, .local__content a.is_center {
    text-align: center
}
.local__content a[href] {
    background: #817a76;
    border-radius: 50vw;
    color: #fff;
    display: inline-block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0;
    padding: 10px 25px
}
.local__content a[href]+a {
    margin-left: 10px
}
@media screen and (max-width: 768px) {
    .local__content a[href]+a {
        margin-top: 10px;
        margin-left: 0
    }
}
@media(hover: hover) {
    .local__content a[href]:hover {
        text-decoration: none
    }
}
.local__content .lead {
    font-size: 30px;
    padding-left: 44px;
    margin-bottom: 2em;
    position: relative
}
@media screen and (max-width: 768px) {
    .local__content .lead {
        font-size: 23px;
        padding-left: 30px
    }
}
.local__content .lead::before {
    background: #111;
    content: "";
    position: absolute;
    inset: 25px auto auto 0;
    width: 32px;
    height: 2px
}
@media screen and (max-width: 768px) {
    .local__content .lead::before {
        width: 20px;
        height: 2px;
        top: 20px
    }
}
.local__content .is-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 44px;
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: normal;
    text-align: center
}
.local__content .is-name span {
    font-size: 20px
}
@media screen and (max-width: 768px) {
    .local__content .is-name {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 10px;
        font-size: 32px
    }
    .local__content .is-name span {
        font-size: 20px
    }
}
.local__content .list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: normal;
    letter-spacing: 0
}
.local__content .list li span {
    font-size: 18px;
    line-height: 1.8;
    min-width: 140px
}
.local__content .price {
    color: #5852a1;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: solid 1px #ccc
}
@media screen and (max-width: 768px) {
    .local__content .price {
        font-size: 18px
    }
}
.local__content ul, .local__content ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    line-height: 22px;
    font-weight: 500;
    padding-left: 20px;
    margin-bottom: 2em
}
.local__content ul li {
    list-style: disc
}
.local__content ol li {
    list-style: decimal
}
.local__content ul.is_checklist li {
    list-style: none
}
.local__content ul.is_checklist li::before {
    content: "☑ ";
    font-size: 20px
}
.local__content table {
    margin-bottom: 4em;
    width: 100%
}
@media screen and (max-width: 768px) {
    .local__content table {
        table-layout: auto
    }
    .local__content table tr, .local__content table td, .local__content table th {
        display: block
    }
}
.local__content table tr {
    border-top: solid 1px rgba(61, 176, 234, .5)
}
@media screen and (max-width: 768px) {
    .local__content table tr {
        border-top: none
    }
}
.local__content table tr:not(:last-child) td {
    border-bottom: solid 1px rgba(61, 176, 234, .5)
}
.local__content table th {
    background-color: rgba(100, 182, 234, .3);
    border: none;
    color: #548C2F;
    font-size: 16px;
    font-weight: 500;
    padding: 20px;
    line-height: 2;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap
}
.local__content table th.is_blue {
    background-color: rgba(3, 110, 209, .05)
}
.local__content table th:last-child {
    border-right: none
}
.local__content table th.is_center {
    text-align: center
}
@media screen and (max-width: 768px) {
    .local__content table th {
        font-size: 14px;
        padding: 8px
    }
}
.local__content table td {
    font-size: 16px;
    font-weight: normal;
    line-height: 2;
    padding: 20px
}
.local__content table td:nth-child(n+2).is_center {
    text-align: center
}
.local__content table td:nth-child(n+2).is_left {
    text-align: left
}
.local__content table td:nth-child(n+2).is_right {
    text-align: right
}
@media screen and (max-width: 768px) {
    .local__content table td {
        font-size: 14px;
        padding: 8px
    }
    .local__content table td.is_price {
        white-space: nowrap
    }
}
.local__content .imgBox {
    margin: 30px auto 40px !important
}
.local__content .imgBox.w-80 {
    width: 80%
}
.local__content .imgBox.w-70 {
    width: 60%
}
.local__content .imgBox.w640 {
    width: 640px
}
.local__content .imgBox.w640 img {
    width: 100%
}
@media screen and (max-width: 768px) {
    .local__content .imgBox.w640 {
        width: 100%
    }
}
.local__content .imgBox.w480 {
    width: 480px
}
.local__content .imgBox.w480 img {
    width: 100%
}
@media screen and (max-width: 768px) {
    .local__content .imgBox.w480 {
        width: 100%
    }
}
.local__content .alignleft {
    float: left;
    margin-right: 30px;
    margin-bottom: 30px
}
@media screen and (max-width: 768px) {
    .local__content .alignleft {
        float: none;
        display: block;
        margin: 0 auto 30px
    }
}
.local__content .alignright {
    float: right;
    margin-left: 30px;
    margin-bottom: 30px
}
@media screen and (max-width: 768px) {
    .local__content .alignright {
        float: none;
        display: block;
        margin: 0 auto 30px
    }
}
.local__content .aligncenter {
    display: block;
    margin: 0 auto
}
.local__content .youtubeBox {
    text-align: center;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden
}
.local__content .youtubeBox iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
.local__content .card {
    display: block;
    width: 100%
}
.local__content .card__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px 30px;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 40px
}
.local__content .card__list>li {
    width: calc(100%/2 - 30px/2*1)
}
@media screen and (max-width: 768px) {
    .local__content .card__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 30px 30px
    }
    .local__content .card__list>li {
        width: calc(100%/1 - 30px/1*0)
    }
}
.local__content .card__2list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 50px;
    padding: 0;
    margin-bottom: 40px
}
@media screen and (max-width: 768px) {
    .local__content .card__2list.is_sp_opposite>div:nth-child(1) {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
    .local__content .card__2list.is_sp_opposite>div:nth-child(2) {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}
.local__content .card__2list h3, .local__content .card__2list h4, .local__content .card__2list h5, .local__content .card__2list h6 {
    margin-top: 0
}
.local__content .card__2list__item {
    list-style: none
}
.local__content .card__2list__item.is-arrow {
    position: relative
}
.local__content .card__2list__item.is-arrow::after {
    background: url(../img/local/ico_arrow.webp) no-repeat;
    background-size: 100% auto;
    content: "";
    position: absolute;
    inset: 150px -34px auto auto;
    margin: auto;
    width: 16px;
    height: 18px
}
.local__content .card__2list__item.is-before {
    position: relative
}
.local__content .card__2list__item.is-before::before {
    content: "BEFORE";
    color: #817a76;
    display: block;
    font-family: "Lora", serif;
    font-size: 30px;
    font-weight: normal;
    line-height: 1.2
}
@media screen and (max-width: 768px) {
    .local__content .card__2list__item.is-before::before {
        font-size: 24px
    }
}
.local__content .card__2list__item.is-after::before {
    content: "AFTER";
    color: #817a76;
    display: block;
    font-family: "Lora", serif;
    font-size: 30px;
    font-weight: normal;
    line-height: 1.2
}
@media screen and (max-width: 768px) {
    .local__content .card__2list__item.is-after::before {
        font-size: 24px
    }
}
@media screen and (max-width: 768px) {
    .local__content .card__2list {
        -ms-grid-columns: (1fr)[1];
        grid-template-columns: repeat(1, 1fr);
        gap: 40px 50px;
        padding: 0;
        margin-bottom: 40px
    }
    .local__content .card__2list__item.is-arrow::before {
        inset: auto 0 -12px 0;
        margin: auto;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }
}
.local__content .card__3list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
    padding: 0;
    margin-bottom: 40px
}
@media screen and (max-width: 768px) {
    .local__content .card__3list {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr)
    }
}
.local__content .card__3list__item {
    text-align: center
}
.local__content .card__21list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2fr 1fr;
    grid-template-columns: 2fr 1fr;
    gap: 40px 30px;
    padding: 0;
    margin-bottom: 40px
}
@media screen and (max-width: 768px) {
    .local__content .card__21list {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr
    }
}
.local__content .card__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.local__content .card__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
    width: 100%
}
.local__content .card__title {
    display: block;
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    text-align: center;
    padding: 0
}
.local__content .card__title:after {
    display: none
}
.local__content .card__img {
    display: block;
    width: 100%
}
.local__content .card__img picture {
    display: block;
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: calc(1/1*100%);
    overflow: hidden
}
.local__content .card__img picture img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%
}
.local__content .line {
    border-top: solid 1px #d4d8e3;
    margin: 40px 0
}
.local__content .borderBox {
    border: solid 1px #d4d8e3;
    padding: 48px
}
.local__content .borderBox h2, .local__content .borderBox h3, .local__content .borderBox h4, .local__content .borderBox h5, .local__content .borderBox h6 {
    margin-top: 0
}
.local__content .borderBox p {
    margin-bottom: 0
}
@media screen and (max-width: 768px) {
    .local__content .borderBox {
        padding: 30px 20px
    }
}
.local__content .borderBox+.borderBox {
    margin-top: 30px
}
.local__content .checkBox {
    border: solid 1px #168db6;
    -webkit-box-shadow: 6px 6px 0 rgba(22, 141, 182, .3);
    box-shadow: 6px 6px 0 rgba(22, 141, 182, .3);
    padding: 40px;
    position: relative;
    margin: 60px auto 40px;
    max-width: 800px;
    width: 100%
}
@media screen and (max-width: 768px) {
    .local__content .checkBox {
        padding: 10px
    }
}
.local__content .checkBox ul {
    display: -ms-grid;
    display: grid;
    gap: 0 30px;
    margin-bottom: 10px
}
.local__content .checkBox ul.is_2list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr)
}
@media screen and (max-width: 768px) {
    .local__content .checkBox ul.is_2list {
        -ms-grid-columns: (1fr)[1];
        grid-template-columns: repeat(1, 1fr)
    }
}
.local__content .checkBox ul li {
    font-size: 16px;
    font-weight: normal;
    line-height: 2
}
.local__content .grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
}