@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 
--- fonts ---
font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
font-weight: 300 !important;
font-style: normal;

--- color ---
color: #222;
color: #2D8B48;

*/


/* ---------------------------------
header
--------------------------------- */
html {
    font-size: 62.5% !important;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Noto Sans JP, Arial, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
}
#body_wrap { position: relative; }
#body_wrap::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 45%;
    height: 70vh;
    background: #54A16A;
}
.l-header {
    background: none;
}
.l-header__inner {
    padding: 0 50px 0;
    max-width: none;
}
.l-header__logo {
    padding: 30px 0 !important;
}
.c-gnav>.menu-item>a .ttl {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 16px;
}
@media screen and (max-width: 1020px) {
    #body_wrap::before {
        width: 80% !important;
    }
    #sp_menu .c-widget__title {
        display: none;
    }
    .l-header__inner {
        padding: 15px 15px 0;
    }
    .c-headLogo__img {
        width: 90%;
        height: auto;
    }
    .c-headLogo {
        height: auto;
    }
    .c-listMenu a {
        font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
        font-weight: 300 !important;
        font-style: normal;
        font-size: 16px;
    }
    
}
@media screen and (max-width: 767px) {
    #body_wrap::before {
        width: 80%;
        height: 50vh;
        background: #54A16A;
    }
}
/* ---------------------------------
top 
--------------------------------- */
.top #content {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 80px 0 0;
    overflow: visible !important;
}
.top #content #main_content {
    width: 100%;
    max-width: none;
}
.l-mainContent__inner {
    overflow: visible !important;
}
.top #content #main_content .post_content { 
    padding: 0;
}
.top_mv {
    width: calc(100% - 80px);
    margin: 80px 0 100px 80px ;
    align-items: flex-start;
    overflow: visible !important;
}
.top_mv img {
    border-radius: 40px 0 0 40px;
}
.top_mv_txt {
    writing-mode: vertical-rl;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 36px !important;
    letter-spacing: 0.04em;
    position: relative;
    top: -80px;
}
.top_mv_txt span {
    padding: 10px;
    background: #fff;
}
.p-mainVisual__inner{
    border-radius: 40px 0 0 40px;
    overflow: hidden;
}
.p-mainVisual__slideTitle {
    background: #fff;
    text-shadow: none;
}
.top_flex_txt {
    padding: 0 5%;
}
.top_flex_txt .txt {
    color: #666;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
.top_ttl {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 20px !important;
    color: #2D8B48;
    padding-left: 70px;
    position: relative;
    margin-bottom: 10px !important;
}
.top_ttl::before {
    content: "";
    width: 55px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #2D8B48;
}
.top_ttl::after {
    content: "";
    width: 5px;
    height: 5px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #2D8B48;
    border-radius: 5px;
}
.post_content h2, .top_catch {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 30px;
    margin: 0 0 30px;
    padding: 0;
    background: none;
    color: #222;
    line-height: 180%;
    letter-spacing: 0.04em;
}
.post_content h2::before,
.post_content h2::after {
    display: none;
}

.top_prp img {
    border-radius: 40px 0 0 40px;
}
.top_about img {
    border-radius: 0 40px 40px 0;
}
.top_btn .wp-block-button__link {
    margin-top: 30px;
    background: none;
    color: #2D8B48;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 18px;
    padding: 20px 65px 20px 0;
    position: relative;
    background: url(./img/arrow_right.svg) no-repeat right center / 50px;
    transition: .3s;
}
.top_btn .wp-block-button__link:hover {
    opacity: .8;
    background: url(./img/arrow_right.svg) no-repeat right center / 52px;
}
.top_medical {
    width: 90%;
    max-width: 1080px;
    margin: auto;
}
.top_medical .top_ttl {
    padding: 0;
}
.top_medical .top_ttl::before,.top_medical .top_ttl::after {
    display: none;
}
.top_medical .txt {
    color: #666;
}
.top_medical .top_medical_list .swell-block-column {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 18px;
    text-align: center;
    border-left: solid 1px #DDD;
}
.top_medical .top_medical_list .swell-block-column:last-child {
    border-right: solid 1px #DDD;
}
.top_link .top_link_txt{
    background: #fff;
    writing-mode: vertical-rl;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 28px !important;
    letter-spacing: 0.04em;
    padding: 10px 0px;
    margin: auto;
    box-shadow: 3px 3px 0 #2D8B48;
}
.wp-block-cover__image-background {
    transition: .5s;
}
.top_link .swell-block-column:hover .wp-block-cover__image-background {
    opacity: .7;
}
@media screen and (max-width: 1020px) and (min-width: 768px) {
    
}
@media screen and (max-width: 767px) {
    .top #content {
        margin-top: 30px;
    }
    .top_mv {
        width: 95%;
        margin: 60px 0 70px auto;
        min-height: 0 !important;
        height: 55vh;
    }
    .top_mv_txt {
        font-size: 20px !important;
        margin: 0 0 0 auto;
        top: -40px;
    }
    .top_mv_txt span { padding: 7px; }
    .post_content h2, .top_catch {
        font-size: 22px !important;
    }
    .top_ttl {
        font-size: 16px !important;
    }
    .top_btn {
        margin: 0 0 0 auto !important;
    }
    .top_about {
        margin-bottom: 80px !important;
    }
    .top_prp,
    .top_about {
        margin-bottom: 60px !important;
    }
    .top_prp .top_prp_txt,
    .top_about .top_about_txt {
        order: 2;
        margin-top: 30px !important;
    }
    .post_content .top_prp .top_prp_img,
    .post_content .top_about .top_about_img {
        overflow: hidden;
        order: 1;
        flex-basis: 90% !important;
    }

    .post_content .top_prp .top_prp_img {
        margin-bottom: 30px !important;
    }
    .top_prp .top_prp_img img,
    .top_about .top_about_img img {
        width: 100%;
        height: 320px;
        object-fit: cover;
        border-radius: 20px;
    }
    .top_medical {
        margin-bottom: 60px !important;
    }
    .top_medical_img {
        overflow: hidden;
        position: relative;
        margin-bottom: 40px !important;
    }
    .top_medical_img img {
        width: 100%;
    }
    .top_medical .top_medical_list .swell-block-column,
    .top_medical .top_medical_list .swell-block-column:last-child {
        border: none !important;
    }
    .top_medical .txt {
        margin-bottom: 40px !important;
    }
    .top_medical_list img {
        width: 70%;
    }
    .top_medical_list p {
        font-size: 16px !important;
    }
    .top_link .top_link_txt{
        font-size: 20px !important;
    }
    .top_link .wp-block-cover {
        min-height: 220px !important;
    }
}


/* ---------------------------------
footer_info
--------------------------------- */
.foot_info_box {
    background: #F4F3EC;
    width: 52.4%;
    padding: 40px !important;
}
.foot_info_box_add {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
}
.foot_info_box_add {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
}
.foot_info_box_tel1 {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    border-right: solid 1px #ddd;
}
.foot_info_box_tel1 span {
    font-size: 32px !important;
    color: #2D8B48;
    letter-spacing: 0.04em;
    padding-left: 5px;
}
.foot_info_box_tel2 {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
}
.foot_info_box_tel2 span {
    font-size: 28px !important;
    color: #2D8B48;
    letter-spacing: 0.04em;
    padding-left: 5px;
}
.foot_info_map {
    width: 47.6%;
}
.foot_info_map .googlemap {
    width: 100%;
    height: 100%;
}
.foot_info_box_add {
    text-align: center;
}
.foot_info_box_acc {
    text-align: center;
    position: relative;
}
.foot_info_box_acc .swell-block-columns__inner {
    justify-content: space-between !important;
}
.foot_info_box_acc::before {
    content: "";
    width: 100%;
    height: 2px;
    border-bottom: dotted 2px #54A16A;
    position: absolute;
    top: 50%;
    left: 0;
}
.foot_info_box_acc01 {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    width: 44%;
    background: #fff;
    padding: 10px !important;
    border-radius: 5px;
    font-size: 13px !important;
    position: relative;
    z-index: 1;
}
.foot_info_box_acc01_name {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 20px !important;
    line-height: 1.2;
    margin-top: -10px;
}
.foot_info_box_acc02 {
    width: 6em !important;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    position: relative;
    z-index: 1;
    background: #F4F3EC;
}
.foot_info_box_acc03 {
    width: 28.5% !important;
    background: #54A16A;
    color: #fff;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    padding: 10px !important;
    border-radius: 5px;
    position: relative;
    z-index: 1;
    font-size: 13px !important;
}
.foot_info_box_acc03_name {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 20px !important;
    line-height: 1.2;
    margin-top: -10px;
}
.foot_info_box_time {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
}
.foot_info_box_time_head {
    width: 25% !important;
    border-left: solid 1px #ddd;
    border-right: solid 1px #ddd;
    font-size: 18px;
    line-height: 1.2;
}
.foot_info_box_time_head p:first-child {
    font-size: 16px;
    color: #2D8B48;
}
.foot_info_box_time_data {
    width: 10% !important;
    border-right: solid 1px #ddd;
    line-height: 1.2;
}
.foot_info_box_time_data.holiday {
    width: 14% !important;
}
.foot_info_box_time_data_op {
    text-indent: -9999px;
    position: relative;
}
.foot_info_box_time_data_op::before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 20px;
    border: solid 1px #54A16A;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.foot_info_box_time_data_ins {
    font-size: 18px;
    color: #B96416;
    background: #FBD8C4;
    padding: 5px;
    margin: 0 3px;
    border-radius: 3px;
}
.foot_info_box_time_data_sur {
    font-size: 18px;
    color: #2D8B48;
    background: #D0ECD8;
    padding: 5px;
    margin: 0 3px;
    border-radius: 3px;
}
@media screen and (max-width: 1020px) and (min-width: 768px) {
    
    .foot_info_telbox .swell-block-column {
        width: 48% !important;
    }
    .foot_info_map .googlemap {
        width: 100%;
        height: 100%;
        min-height: 300px;
    }
}
@media screen and (max-width: 767px) {
    .foot_info_box_acc .swell-block-columns__inner {
        height: auto !important;
        justify-content: center !important;
    }
    .foot_info_box_acc03 {
        width: 100% !important;
    }
    .foot_info_box {
        padding: 40px 5% !important;
    }
    .foot_info_box_acc {
        margin-bottom: 30px !important;
    }
    .foot_info_box_acc01,
    .foot_info_box_acc02 {
        margin-bottom: -4px !important;
    }
    .foot_info_box_acc01_name,
    .foot_info_box_acc03_name {
        font-size: 16px !important;
    }
    .foot_info_box_acc::before {
        width: 2px;
        height: 100%;
        border-right: dotted 2px #54A16A;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    .foot_info_box_time_head p:first-child,
    .foot_info_box_time_head,
    .foot_info_box_time_data,
    .foot_info_box_time_data_ins,
    .foot_info_box_time_data_sur {
        font-size: 13px !important;
    }
    .foot_info_box_time_data_op::before {
        width: 15px;
        height: 15px;
    }
    .foot_info_box_time_data_ins,
    .foot_info_box_time_data_sur {
        padding: 2px;
        margin: 0 1px;
    }
    .foot_info_box_tel1,
    .foot_info_box_tel2 {
        text-align: center;
        border: none;
    }
    .post_content .foot_info .foot_info_box_tel1 {
        margin-bottom: -20px !important;
    }
    .foot_info_map .googlemap {
        width: 100%;
        height: 300px;
    }
}

/* ---------------------------------
footer
--------------------------------- */
#footer {
    padding: 60px 0 50px;
}
.copyright {
    color: #999;
    margin: 50px auto 0;
}
.l-footer__nav a,
.l-footer__nav li:first-child a {
    border: none;
}
.l-footer__nav > .menu-item {
    width: 15%;
}
.l-footer__nav .menu-item.menu-item-has-children > a,
.l-footer__nav .menu-item-124 > a, .l-footer__nav .menu-item-125 > a {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 18px !important;
    padding: 0;
    margin-bottom: 10px;
}
.l-footer__nav .menu-item {
    margin-right: 30px;
}
.l-footer__nav .sub-menu .menu-item a{
    padding-left: 18px;
    position: relative;
    font-size: 14px;
    margin-bottom: 7px;
}
.l-footer__nav .sub-menu .menu-item a::before{
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 9px;
    border-color: transparent transparent transparent #54A16A;
}
@media screen and (max-width: 1020px) and (min-width: 768px) {
    .l-footer__nav > .menu-item {
        width: 24%;
        margin-right: 0;
    }
}
@media screen and (max-width: 767px) {
    #footer {
        padding: 40px 0 40px;
    }
    .l-footer .l-container {
        padding: 0 5%;
    }
    .l-footer__nav {
        flex-wrap: wrap;
    }
    .l-footer__nav .menu-item {
        margin: 0;
    }
    .l-footer__nav > .menu-item {
        width: 48%;
        margin-right: 0;
    }
    .l-footer__nav .sub-menu .menu-item a {
        margin-bottom: 3px;
    }
    .l-footer__nav .sub-menu .menu-item a::before {
        top: 11px;
        border-width: 3.5px 0 3.5px 7px;
        padding-left: 14px;
    }
    .copyright {
        margin: 30px auto 0;
    }
}


/* ---------------------------------
layer_common 
--------------------------------- */
.w90 {
    width: 90% !important;
    max-width: 1280px !important;
    margin: auto !important;
}
#body_wrap.page::before {
    width: 45%;
    height: 470px;
}
.l-topTitleArea {
    width: calc(100% - 80px);
    min-height: 470px;
    margin: 0 0 60px auto;
}
.l-topTitleArea img {
    border-radius: 40px 0 0 40px;
}
.c-pageTitle{
    color: #222;
    background: #fff;
    writing-mode: vertical-rl;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 36px !important;
    letter-spacing: 0.04em;
    padding: 10px 0px;
    margin: auto;
    box-shadow: 3px 3px 0 #2D8B48;
    text-shadow: none;
}
.l-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.l-article {
    max-width: none;
}
.l-mainContent__inner>.post_content {
    padding: 0;
}
.layer_anchor {
    max-width: 1080px;
    margin: 0 auto 80px !important;
}
.layer_anchor .swell-block-column {
    border-left: solid 1px #ddd;
}
.layer_anchor .swell-block-column:last-child {
    border-right: solid 1px #ddd;
}
.layer_anchor a {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 18px !important;
    color: #222;
    position: relative;
    padding-right: 20px;
    transition: .5s;
}
.layer_anchor a::after {
    content: "";
    position: absolute;
    top: 5px;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 4.5px 0 4.5px;
    border-color: #54A16A transparent transparent transparent;
}
.layer_anchor a:hover {
    opacity: .7;
}
.layer_ttl01 {
    font-size: 28px !important;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    text-align: center;
    padding: 80px 0 10px !important;
    position: relative !important;
    margin: 0 auto 50px !important;
}
.layer_ttl01::after {
    content: "";
    position: absolute;
    width: 54px;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #54A16A;
    margin: auto;
    display: block !important;
}
.layer_ttl02 {
    font-size: 28px !important;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    margin: 60px 0 30px !important;
    padding: 0 0 0 70px !important;
    position: relative;
}
.layer_ttl02::before {
    content: "";
    width: 5px !important;
    height: 5px !important;
    background: #54A16A !important;
    position: absolute !important;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-radius: 5px;
}
.layer_ttl02::after {
    content: "";
    width: 55px;
    height: 1px;
    background: #54A16A;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.page .foot_info {
    margin-top: 100px;
}
#breadcrumb {
    display: none;
}
@media screen and (max-width: 767px) {
    .l-header__inner {
        padding: 0 15px;
    }
    .l-topTitleArea {
        width: 97%;
        min-height: 250px;
    }
    .l-topTitleArea img {
        object-position: center top;
    }
    #body_wrap.page::before {
        width: 84%;
        height: 280px;
    }
    .c-pageTitle {
        font-size: 24px !important;
    }
    .layer_anchor {
        width: 90%;
        margin: 0 auto 60px !important;
    }
    .swell-block-columns__inner {
        justify-content: center;
    }
    .layer_anchor .swell-block-column,
    .layer_anchor .swell-block-column:last-child { 
        border: none;
        width: 45%;
        padding-bottom: 8px;
        border-bottom: dashed 1px #54A16A;
    }
    .layer_ttl01 {
        font-size: 22px !important;
        margin: 0 auto 40px !important;
        padding: 40px 0 10px !important;
    }
    .layer_ttl02 {
        font-size: 22px !important;
    }
    .page .foot_info {
        margin-top: 50px;
    }
}
/* ---------------------------------
about 
--------------------------------- */

.about_philosophy {
    background: #54A16A;
    color: #fff;
    border-radius: 40px;
    padding: 80px 5%;
}
.about_philosophy .layer_ttl01 {
    color: #fff !important;
    padding: 0 0 10px 0 !important;
}
.about_philosophy .layer_ttl01::after {
    background: #fff !important;
}
.about_philosophy ol,
.about_philosophy ul {
    list-style-type: none !important;
}
.about_philosophy ol {
    padding: 0;
    counter-reset: num;
}
.about_philosophy ol > li {
    counter-increment: num;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    padding: 15px 20px 0 90px;
    position: relative;
    margin-bottom: 30px;
}
.about_philosophy ol > li:last-child {
    margin-bottom: 0;
}
.about_philosophy ol > li .u-fz-l {
    font-size: 24px !important;
    border-bottom: dashed 1px #fff;
    display: block;
    padding-bottom: 7px;
}
.about_philosophy ol > li::after {
    content: counter(num, decimal-leading-zero);
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 70px;
    position: absolute;
    left: 0;
    top: 0;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 24px !important;
    color: #54A16A;
    text-align: center;
    line-height: 70px;
}
.about_philosophy ol > li > ul {
    margin-top: 30px;
    padding: 0;
}
.about_philosophy ol > li > ul > li {
    font-size: 20px;
    padding-left: 26px;
    margin-bottom: 10px;
    position: relative;
}
.about_philosophy ol > li > ul > li::before {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 11px;
    border: solid 3px #fff;
    position: absolute;
    top: 10px;
    left: 0;
}
.about_doctor .wp-block-group__inner-container > .layer_ttl02 {
    margin-top: 60px !important;
}
.about_doctor img{
    border-radius: 30px;
}
.about_doctor_name {
    color: #fff !important;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    text-align: left;
    width: auto !important;
    padding: 28px 40px 20px;
    background: #54A16A;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 30px 0 30px 0;
}
.about_doctor_name span.u-fz-l {
    font-size: 20px !important;
}
.about_doctor_name span.u-fz-xl {
    font-size: 36px !important;
    padding: 0 20px 0 0;
}
.about_career,
.about_awards {
    padding: 0 !important;
    position: relative;
}
.about_career::after,
.about_awards::after {
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 24px;
    background: #54A16A;
}
.about_career > li,
.about_awards > li {
    padding: 20px;
    color: #444;
    padding-left: 4em;
    list-style-type: none;
    position: relative;
}
.about_career > li::before,
.about_awards > li::before {
    content: "";
    width: 9px;
    height: 9px;
    position: absolute;
    top: 30px;
    left: 20px;
    background: #54A16A;
    border-radius: 10px;
}
.about_career > li > span.u-fz-l,
.about_awards > li > span.u-fz-l {
    display: inline-block;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 18px !important;
    color: #54A16A;
    width: 6em;
    letter-spacing: 0.04em;
    position: absolute;
}
.about_career > li > span.u-fz-s,
.about_awards > li > span.u-fz-s {
    display: inline-block;
    padding-left: 9em;
    position: relative;
}
.about_awards > li > span.u-fz-s {
    padding-left: 150px;
}
.about_awards > li > span.u-fz-l {
    width: 7em;
    padding-right: 60px;
}
.about_awards > li > span.u-fz-l::before {
    content: "";
    width: 36px;
    height: 1px;
    position: absolute;
    top: 15px;
    right: 0;
    background: #54A16A;
}
.about_career > li:nth-child(2n-1),
.about_awards > li:nth-child(2n-1){
    background: #EEF6F0;
}
.about_awards_wrap {
    position: relative;
}
.about_awards_btn {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 18px !important;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 2;
}
.about_awards_btn .wp-block-button__link {
    background: url(./img/arrow_bottom.svg) no-repeat right center / 36px !important;
    color: #2D8B48 !important;
    padding: 0 52px 0 0 !important;
}
.about_awards_btn .wp-block-button__link::before {
    content: "すべて見る";
}
.about_awards_btn .wp-block-button__link:hover {
    opacity: .7;
}
.about_awards {
    overflow: hidden;
    position: relative;
}
.about_awards.is-hide {
    height: 750px;
}
.about_awards::before {
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.9) 50%, #fff 100%);
    background:         linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.9) 50%, #fff 100%);
    bottom: 0;
    content: "";
    height: 200px;
    position: absolute;
    width: 100%;
    z-index: 1;
}
.about_awards_btn.is-show {
    bottom: -3em;
}
.about_awards_btn.is-show .wp-block-button__link {
    background: url(./img/arrow_top.svg) no-repeat right center / 36px !important;
}
.about_awards_btn.is-show .wp-block-button__link::before {
    content: "閉じる";
}
.about_awards_btn.is-show + .about_awards::before {
    display: none;
}

.about_facility {
    width: 90%;
    max-width: 1280px;
    margin: auto;
}
.about_facility_map {
    counter-reset: num;
}
.about_facility_map .swell-block-columns__inner {
    justify-content: space-between !important;
}
.about_facility_map ul.-list-flex {
    gap: 0;
}
.about_facility_map .swell-block-columns {
    counter-increment: num;
}
.about_facility_map ul { padding: 0; }
.about_facility_map li{
    width: 30%;
    border-bottom: dashed 1px #54A16A;
    list-style-position: inside;
    padding: 0 0 5px 1em;
    text-indent: -1em !important;
    margin-right: 2%;
    position: relative;
}
.about_facility_map li.w100 {
    width: 100%;
}
.about_facility_map li::marker {
    color: #54A16A;
    font-size: 24px;
    line-height: 1;
}
.about_facility_map .about_facility_img{
    padding-left: 90px;
    position: relative;
}
.about_facility_map .about_facility_img::after{
    content: counter(num)"F";
    width: 70px;
    height: 70px;
    background: #54A16A;
    border-radius: 70px;
    position: absolute;
    left: 0;
    top: 0;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 24px !important;
    color: #fff;
    text-align: center;
    line-height: 70px;
}
.about_facility_detail .swell-block-columns__inner {
    justify-content: space-between;
}
.about_facility_detail {
    margin-top: 80px;
}
.about_facility_detail_block {
    position: relative;
}
.about_facility_detail_block:nth-child(n+4) {
    margin-top: 40px;
}
.about_facility_detail_block:nth-child(3) .about_facility_detail_ttl{
    font-size: 18px !important;
}
.about_facility_detail_block .wp-block-image {
    border-radius: 20px;
    overflow: hidden;
}
.about_facility_detail_ttl{
    color: #fff;
    background: #54A16A;
    writing-mode: vertical-rl;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 24px !important;
    letter-spacing: 0.04em;
    padding: 10px 0px;
    position: absolute;
    top: -10px;
    left: 10px;
}
@media screen and (max-width: 1020px) {
    .about_philosophy ol {
        padding: 0 !important;
        width: 100% !important;
    }
    .about_facility_detail_block,
    .about_facility_detail_block:nth-child(n+4) {
        margin: 0 0 30px !important;
    }
    .about_facility_map .swell-block-columns {
        margin-bottom: 40px;
    }
    .about_facility_map .about_facility_img{
        padding: 50px 0 0 0;
    }
    .about_facility_map .about_facility_img::after {
        width: 50px;
        height: 50px;
        line-height: 50px;
        font-size: 20px !important;
        right: 0;
        margin: auto;
        padding: 0;
    }
}
@media screen and (max-width: 767px) {
    .about_philosophy { padding: 60px 0; }
    .about_philosophy .wp-block-group__inner-container {
        width: 90%;
        margin: auto;
    }
    .about_philosophy ol > li {
        padding: 60px 0 0 0;
    }
    .about_philosophy ol > li .u-fz-l {
        font-size: 16px !important;
    }
    .about_philosophy ol > li > ul {
        margin-top: 20px;
    }
    .about_philosophy ol > li > ul > li {
        font-size: 16px !important;
        margin-bottom: 6px;
    }
    .about_philosophy ol > li::after {
        width: 50px;
        height: 50px;
        line-height: 50px;
        font-size: 20px !important;
        right: 0;
        margin: auto;
        padding: 0;
    }
    .about_doctor .wp-block-cover{
        min-height: 240px !important;
        overflow: visible;
        margin-bottom: 100px !important;
    }
    .about_doctor_name {
        font-size: 14px !important;
        border-radius: 10px;
        width: 90% !important;
        padding: 10px 20px;
        margin: auto !important;
        top: auto;
        bottom: -60px;
        left: 0;
        right: 0;
    }
    .about_doctor_name span.u-fz-l {
        font-size: 16px !important;
    }
    .about_doctor_name span.u-fz-xl {
        font-size: 22px !important;
    }
    .about_career > li,
    .about_awards > li {
        padding: 15px 15px 15px 3em;
    }
    .about_career > li > span.u-fz-l,
    .about_awards > li > span.u-fz-l {
        position: relative;
        display: block;
        width: 100% !important;
        position: relative;
    }
    .about_awards > li > span.u-fz-l::before { display: none; }
    .about_career > li > span.u-fz-s,
    .about_awards > li > span.u-fz-s {
        display: block;
        width: 100%;
        padding: 0;
        margin-top: 5px;
    }
    .about_career > li br, .about_awards > li br{
        display: none;
    }
    .about_facility_map li {
        width: 48%;
    }
    .about_facility_detail {
        width: 90%;
        margin: 60px auto 0;
    }
    .about_facility_detail .swell-block-columns__inner {
        width: 100%;
        padding: 0;
        margin: 0;
    }
    .about_facility_detail_block {
        width: 100% !important;
    }
}
/* ---------------------------------
medical 
--------------------------------- */
.med_prp .layer_ttl01 {
    padding: 20px 0 10px 0 !important;
}
.med_prp_block {
    margin: 0 4.5% !important;
}
.med_prp01 .wp-block-image img,
.med_prp03 .wp-block-image img {
    border-radius: 0 40px 40px 0;
}
.med_prp02 {
    margin: 80px 0;
}
.med_prp02 .wp-block-image img {
    border-radius: 40px 0 0 40px;
}
.med_prp03 {
    margin-bottom: 80px;
}
.med_prp_caution,
.med_prp_price,
.med_prp_message {
    margin: 80px auto 0 !important;
}
.med_prp .med_prp_catch{
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 28px !important;
    color: #2D8B48;
}
.med_prp .med_prp02 .swell-block-columns__inner {
    width: 100% !important;
    margin: 0 0 0 auto;
    justify-content: space-between !important;
}
.med_prp_flow .layer_ttl02 {
    margin-bottom: 50px !important;
}
.med_prp_flow .swell-block-columns__inner {
    justify-content: space-between !important;
    position: relative;
    counter-reset: flow;
}
.med_prp_flow .swell-block-columns__inner::after {
    content: "";
    width: calc(100% - 20px);
    height: 2px;
    border-bottom: dotted 2px #54A16A;
    position: absolute;
    right: 0;
    top: 85px;
    z-index: -1;
}
.med_prp_flow_list .swell-block-column {
    position: relative;
    counter-increment: flow;
}
.med_prp_flow_list .swell-block-column::before {
    content: counter(flow, decimal-leading-zero);
    width: 60px;
    height: 60px;
    border-radius: 60px;
    position: absolute;
    top: -20px;
    left: 0;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 24px !important;
    color: #fff;
    text-align: center;
    line-height: 60px;
    background: #54A16A;
}
.med_prp_flow .wp-block-image img {
    border-radius: 10px;
}
.med_prp_flow_ttl {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 24px !important;
    color: #2D8B48;
    margin-bottom: 10px;
    text-align: center;
    line-height: 1.4;
    margin: 20px 0 15px !important;
}
.med_prp_caution {
    margin-top: 40px !important;
    background: #F4F3EC;
    padding: 35px 50px 25px;
    border-radius: 20px;
}
.med_prp_caution_ttl {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 24px !important;
    color: #2D8B48;
    margin: 0 auto !important;
}
.med_prp_caution .swell-block-columns__inner {
    align-items: center;
}
.med_prp_caution ul {
    padding: 0;
}
.med_prp_caution ul > li {
    color: #444;
    padding-left: 17px;
    list-style-type: none;
    position: relative;
    margin-bottom: 10px;
}
.med_prp_caution ul > li::before {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: 8px;
    left: 0;
    background: #54A16A;
    border-radius: 10px;
}
.med_price_list {
    margin-top: 30px;
}
.med_price_list .swell-block-column {
    border: solid 2px #54A16A;
    border-radius: 20px;
    padding: 15px 15px 20px;
}
.med_price_list .med_price_txt {
    text-align: center;
    padding-bottom: 8px;
    border-bottom: solid 1px #ddd;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    margin-bottom: 15px !important;
    letter-spacing: 0.06em;
}
.med_price_list .med_price_txt .u-fz-l{
    font-size: 28px !important;
}
.med_price_list .med_price_txt .u-fz-xl{
    font-size: 36px !important;
    padding: 0 0 0 20px;
}
.med_price_list ul {
    display: flex;
    justify-content: center;
}
.med_price_list ul > li {
    color: #444;
    padding-left: 17px;
    list-style-type: none;
    position: relative;
    margin: 0 30px 0 0;
}
.med_price_list ul > li::before {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: 8px;
    left: 0;
    background: #54A16A;
    border-radius: 10px;
}
.med_prp_message {
    position: relative;
    color: #fff;
    margin-top: 150px !important;
}
.med_prp_message::after {
    content: "";
    width: 87%;
    height: calc(100% + 100px);
    background: #54A16A;
    border-radius: 30px 0 0 30px;
    position: absolute;
    top: -50px;
    right: 0;
    z-index: -1;
}
.med_prp_message .swell-block-columns__inner {
    align-items: center;
}
.med_prp_message_ttl {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 28px !important;
    color: #fff;
    padding: 0 0 10px 0 !important;
    border-bottom: solid 1px #fff;
    margin-bottom: 30px !important;
}
.med_prp_message_ttl::before {
    display: none !important;
}
.med_prp_message .med_doc_img {
    margin: 0 4.5%;
}
.med_prp_message .med_doc_img img{
    border-radius: 30px;
}
.med_first {
    margin-top: 80px;
}
.med_first .wp-block-image {
    margin-bottom: 60px;
}
.med_first .wp-block-image img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    border-radius: 40px;
}
.med_first .layer_ttl03 {
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 28px !important;
    text-align: center;
    letter-spacing: 0.04em;
    padding: 0;
    margin: 0 0 30px 0 !important;
}
.med_first .layer_ttl03::before {
    display: none;
}
.med_first_img {
    width: 90%;
    max-width: 1280px;
    margin: auto;
}
.med_first_img img {
    height: auto;
}
.med_dep {
    margin-top: 60px !important;
}
.med_dep .swell-block-columns__inner{
    justify-content: space-between;
    text-align: center;
}
.med_dep_ttl{
    color: #fff;
    background: #54A16A;
    font-family: fot-tsukuaoldmin-pr6n, "Yu Mincho", "YuMincho", sans-serif;
    font-weight: 300 !important;
    font-style: normal;
    font-size: 24px !important;
    letter-spacing: 0.04em;
    padding: 0 10px;
    position: relative;
    top: -40px;
    display: inline-block;
}
.med_dep_txt {
    margin-top: -40px;
    text-align: left;
}
.med_first .med_dep .wp-block-image { margin-bottom: 10px; }
.med_first .med_dep .wp-block-image img {
    height: auto;
}
.med_dep .swell-block-column:nth-child(n+3) {
    margin-top: 40px;
}

@media screen and (max-width: 1020px) {
    .med_prp01,.med_prp02,.med_prp03 {
        width: 90% !important;
        max-width: 1280px !important;
        margin: 80px auto !important;
    }
    .med_prp01 .wp-block-image img,
    .med_prp02 .wp-block-image img,
    .med_prp03 .wp-block-image img {
        /* height: 320px; */
        object-fit: cover;
        border-radius: 30px;
    }
    .med_prp02 .med_prp_block {
        order: 2;
    }
    .med_prp02 .wp-block-image {
        order: 1;
    }
    .med_prp .med_prp_catch {
        padding-top: 30px !important;
    }
    .med_prp_flow .wp-block-image img {
        border-radius: 20px;
    }
    .med_prp_flow_list .swell-block-column {
        width: 46%;
    }
    .med_prp_flow_list .swell-block-column:nth-child(n+3) {
        margin-top: 40px;
    }
    .med_prp_caution_ttl {
        width: 100%;
        text-align: center;
    }
    .med_price_list .med_price_txt .u-fz-l { font-size: 20px !important; }
    .med_prp_message::after {
        top: -60px;
        width: 100%;
        height: 90%;
        border-radius: 30px;
    }
    .med_prp_message .med_doc_img {
        width: 40%;
        margin: auto !important;
        order: 2;
    }
    .med_prp_message .med_doc_txt {
        width: 90%;
        margin: auto;
        order: 1;
    }
    .med_doc_img img {
        height: 400px;
        object-fit: cover;
    }
    .med_first {
        margin-top: 0;
    }
    .med_first .wp-block-image img {
        height: 400px;
        border-radius: 40px;
    }
    .med_dep .wp-block-image img {
        border-radius: 20px;
    }
    .med_dep .swell-block-column {
        width: 46%;
    }
    .med_dep .swell-block-column:nth-child(n+3) {
        margin-top: 30px;
    }
}
@media screen and (max-width: 767px) {
    .med_prp01,.med_prp02,.med_prp03 {
        margin: 60px auto !important;
    }
    .med_prp .med_prp_catch { font-size: 18px !important; }
    .med_prp01 {
        margin: 0 auto 60px !important;
    }
    .med_prp01 .swell-block-column,
    .med_prp02 .swell-block-column,
    .med_prp03 .swell-block-column {
        width: 100% !important;
        margin: auto;
    }
    .med_prp_block { padding: 0 !important; }
    .med_prp_flow_list .swell-block-column, 
    .med_prp_flow_list .swell-block-column:nth-child(n+3) {
        width: 100%;
        margin-top: 30px;
        background: #fff;
        padding-bottom: 15px;
    }
    .med_prp_flow .swell-block-columns__inner::after {
        content: "";
        width: 2px;
        height: 100%;
        border-left: dotted 2px #54A16A;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1;
    }
    .med_prp_caution, .med_prp_price, .med_prp_message {
        margin: 60px auto 0 !important;
    }
    .med_prp_flow_ttl {
        font-size: 20px !important;
    }
    .med_prp .med_prp_catch {
        font-size: 20px !important;
    }
    .med_prp_caution {
        padding: 25px 30px 25px;
    }
    .med_price_list .med_price_txt .u-fz-xl {
        font-size: 28px !important;
        padding: 0 0 0 10px;
    }
    .med_price_list .med_price_txt {
        padding-bottom: 4px;
        margin-bottom: 14px !important;
    }
    .med_price_list .swell-block-column {
        padding: 11px 11px 14px;
    }
    .med_prp_message {
        margin-top: 130px !important;
    }
    .med_prp_message_ttl {
        font-size: 24px !important;
    }
    .med_prp_message > .swell-block-columns__inner {
        width: 100% !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .med_prp_message > .swell-block-columns__inner .med_doc_txt {
        width: 90%;
    }
    .med_prp_message > .swell-block-columns__inner .med_doc_img {
        width: 80% !important;
    }
    .med_first .wp-block-image {
        margin-bottom: 40px;
    }
    .med_first .wp-block-image img { height: 280px !important; }
    .med_first .layer_ttl03 {
        font-size: 20px !important;
    }
    .med_first .wp-block-image img {
        height: 220px !important;
    }
    .med_dep .swell-block-column, .med_dep .swell-block-column:nth-child(n+3) {
        width: 100%;
        margin-top: 20px;
    }
}