@charset "utf-8";
/* Theme Name: res */
/*@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap');*/
html, body {
    font-size: 18px;
    line-height: 2;
    color: #454545;
    letter-spacing: .1em;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: relative;
}

body:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 20px;
    /* background: #aa9d77; */
    left: 0;
    top: 0;
    z-index: 1;
}

#wrap {
    overflow: hidden;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

img {
    max-width: 100%;
    height: auto;
}

li {
    list-style: none;
}

a {
    color: inherit;
}

.txt_link {
    color: #222;
    text-decoration: underline;
}

:root {
    --guideline-color: #222;
}

a:hover {
    opacity: .85;
    transition: .3s;
}

.inner, .inner900, .inner1000, .inner1240, .inner1280, .inner1340, .inner1500 {
    max-width: calc(1200px + 10%);
    width: 100%;
    margin: 0 auto;
    padding: 0 5%;
}

.inner900 {
    max-width: calc(900px + 10%);
}

.inner1000 {
    max-width: calc(1000px + 10%);
}

.inner1240 {
    max-width: calc(1240px + 10%);
}

.inner1280 {
    max-width: calc(1280px + 10%);
}

.inner1340 {
    max-width: calc(1340px + 10%);
}

.inner1500 {
    max-width: calc(1500px + 10%);
}

table {
    table-layout: fixed;
}

td input {
    max-width: 100%;
}

.map {
    position: relative;
    width: 100%;
    padding: 500px 0 0 0;
    overflow: hidden;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 0;
    height: 100%;
}

a[href^="tel:"] {
    cursor: default;
}

a[href^="tel:"]:hover {
    opacity: 1;
}

.slick-slide {
    outline: none;
}

.adjust {
    display: none;
}

.tb_only {
    display: none;
}

.sp_only {
    display: none;
}

.tb_pc {
    display: inherit;
}

.sp_tb {
    display: none;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.flex.start {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.flex.end {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.flex.center {
    -webkit-justify-content: center;
    justify-content: center;
}

.flex.around {
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.flex.between {
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.flex.stretch {
    -webkit-align-items: stretch;
    align-items: stretch;
}

.flex.ai_center {
    -webkit-align-items: center;
    align-items: center;
}

.flex.ai_start {
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.flex.ai_end {
    -webkit-align-items: flex-end;
    align-items: flex-end;
}

.flex.nowrap {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flex.column {
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
}

.flex.row {
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
}

.flex.c_reverse {
    -ms-flex-direction: column-reverse;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.flex.r_reverse {
    -ms-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.noshrink {
    flex: 0 0 auto;
}

.grow {
    flex: 1 1 auto;
}

.txt_center {
    text-align: center;
}

.txt_right {
    text-align: right;
}

.mgn_a {
    margin-left: auto;
    margin-right: auto;
}

.mgn_l {
    margin-left: auto;
}

.mgn_r {
    margin-right: auto;
}

.no_mgn {
    margin-bottom: 0 !important;
}

.mb5 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb35 {
    margin-bottom: 35px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb45 {
    margin-bottom: 45px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb55 {
    margin-bottom: 55px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb65 {
    margin-bottom: 65px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb75 {
    margin-bottom: 75px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb85 {
    margin-bottom: 85px;
}

.mb90 {
    margin-bottom: 90px;
}

.mb95 {
    margin-bottom: 95px;
}

.mb100 {
    margin-bottom: 100px;
}

.mb105 {
    margin-bottom: 105px;
}

.mb110 {
    margin-bottom: 110px;
}

.mb115 {
    margin-bottom: 115px;
}

.mb120 {
    margin-bottom: 120px;
}

.mb125 {
    margin-bottom: 125px;
}

.mb130 {
    margin-bottom: 130px;
}

.mb135 {
    margin-bottom: 135px;
}

.mb140 {
    margin-bottom: 140px;
}

.mb145 {
    margin-bottom: 145px;
}

.mb150 {
    margin-bottom: 150px;
}

.mb155 {
    margin-bottom: 155px;
}

.mb160 {
    margin-bottom: 160px;
}

.mb165 {
    margin-bottom: 165px;
}

.mb170 {
    margin-bottom: 170px;
}

.mb175 {
    margin-bottom: 175px;
}

.mb180 {
    margin-bottom: 180px;
}

.mb185 {
    margin-bottom: 185px;
}

.mb190 {
    margin-bottom: 190px;
}

.mb195 {
    margin-bottom: 195px;
}

.mb200 {
    margin-bottom: 200px;
}

.mb05em {
    margin-bottom: 0.5em;
}

.mb10em {
    margin-bottom: 1.0em;
}

.mb15em {
    margin-bottom: 1.5em;
}

.mb20em {
    margin-bottom: 2.0em;
}

.mb25em {
    margin-bottom: 2.5em;
}

.mb30em {
    margin-bottom: 3.0em;
}

@media (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }

    .slick-slide img, #sb_instagram .sbi_photo_wrap {
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }
}

.txt_white {
    color: #fff !important;
}

.bg_white {
    background-color: #fff !important;
}

.shadow_w {
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
}

em {
    font-style: normal;
}

.min {
    font-family: a-otf-ryumin-pr6n, serif;
    font-style: normal;
    font-weight: 300;
}

.zen_m {
    font-family: zen-maru-gothic, sans-serif;
    font-style: normal;
    font-weight: 500;
}

.zen_b {
    font-family: zen-maru-gothic, sans-serif;
    font-style: normal;
    font-weight: 700;
}

.paganini {
    font-family: paganini, serif;
    font-style: normal;
    font-weight: 300;
}

.txt_col01 {
    color: #aa9d77 !important;
}

.txt_col02 {
    color: #82a4bf !important;
}

.txt_col03 {
    color: #c2d8e9 !important;
}

.txt_col04 {
    color: #676252 !important;
}

.txt_col05 {
    color: #454545 !important;
}

.txt_col06 {
    color: #c0b289 !important;
}

.txt_col07 {
    color: #b4ae9b !important;
}

.txt_col08 {
    color: #f8f7f4 !important;
}

.txt_col09 {
    color: #eef6f7 !important;
}

.txt_col10 {
    color: #e7eff6 !important;
}

.txt_col11 {
    color: #ebf0f4 !important;
}

.bg_col01 {
    background-color: #aa9d77 !important;
}

.bg_col02 {
    background-color: #82a4bf !important;
}

.bg_col03 {
    background-color: #c2d8e9 !important;
}

.bg_col04 {
    background-color: #676252 !important;
}

.bg_col05 {
    background-color: #454545 !important;
}

.bg_col06 {
    background-color: #c0b289 !important;
}

.bg_col07 {
    background-color: #b4ae9b !important;
}

.bg_col08 {
    background-color: #f8f7f4 !important;
}

.bg_col09 {
    background-color: #eef6f7 !important;
}

.bg_col10 {
    background-color: #e7eff6 !important;
}

.bg_col11 {
    background-color: #ebf0f4 !important;
}
.bg_col12 {
    background-color: #084947 !important;
}

.mt50{ margin-top: 50px;}

@media (min-width: 768px) and (max-width: 960px) {
    .pc_only {
        display: none;
    }

    .tb_only {
        display: inherit;
    }

    .sp_only {
        display: none;
    }

    .tb_pc {
        display: inherit;
    }

    .sp_tb {
        display: inherit;
    }
}

@media (max-width: 767px) {
    html, body {
        font-size: 4.27vw;
        letter-spacing: 0;
    }

    .inner, .inner900, .inner1000, .inner1240, .inner1280, .inner1340, .inner1500 {
        padding: 0 3.2vw;
    }

    .pc_only {
        display: none;
    }

    .tb_only {
        display: none;
    }

    .sp_only {
        display: inherit;
    }

    .tb_pc {
        display: none;
    }

    .sp_tb {
        display: inherit;
    }

    .map {
        padding-top: calc(500 / 750 * 100vw);
    }

    .mb5 {
        margin-bottom: calc(5 / 750 * 100vw);
    }

    .mb10 {
        margin-bottom: calc(10 / 750 * 100vw);
    }

    .mb15 {
        margin-bottom: calc(15 / 750 * 100vw);
    }

    .mb20 {
        margin-bottom: calc(20 / 750 * 100vw);
    }

    .mb25 {
        margin-bottom: calc(25 / 750 * 100vw);
    }

    .mb30 {
        margin-bottom: calc(30 / 750 * 100vw);
    }

    .mb35 {
        margin-bottom: calc(35 / 750 * 100vw);
    }

    .mb40 {
        margin-bottom: calc(40 / 750 * 100vw);
    }

    .mb45 {
        margin-bottom: calc(45 / 750 * 100vw);
    }

    .mb50 {
        margin-bottom: calc(50 / 750 * 100vw);
    }

    .mb55 {
        margin-bottom: calc(55 / 750 * 100vw);
    }

    .mb60 {
        margin-bottom: calc(60 / 750 * 100vw);
    }

    .mb65 {
        margin-bottom: calc(65 / 750 * 100vw);
    }

    .mb70 {
        margin-bottom: calc(70 / 750 * 100vw);
    }

    .mb75 {
        margin-bottom: calc(75 / 750 * 100vw);
    }

    .mb80 {
        margin-bottom: calc(80 / 750 * 100vw);
    }

    .mb85 {
        margin-bottom: calc(85 / 750 * 100vw);
    }

    .mb90 {
        margin-bottom: calc(90 / 750 * 100vw);
    }

    .mb95 {
        margin-bottom: calc(95 / 750 * 100vw);
    }

    .mb100 {
        margin-bottom: calc(100 / 750 * 100vw);
    }

    .mb105 {
        margin-bottom: calc(105 / 750 * 100vw);
    }

    .mb110 {
        margin-bottom: calc(110 / 750 * 100vw);
    }

    .mb115 {
        margin-bottom: calc(115 / 750 * 100vw);
    }

    .mb120 {
        margin-bottom: calc(120 / 750 * 100vw);
    }

    .mb125 {
        margin-bottom: calc(125 / 750 * 100vw);
    }

    .mb130 {
        margin-bottom: calc(130 / 750 * 100vw);
    }

    .mb135 {
        margin-bottom: calc(135 / 750 * 100vw);
    }

    .mb140 {
        margin-bottom: calc(140 / 750 * 100vw);
    }

    .mb145 {
        margin-bottom: calc(145 / 750 * 100vw);
    }

    .mb150 {
        margin-bottom: calc(150 / 750 * 100vw);
    }

    .mb155 {
        margin-bottom: calc(155 / 750 * 100vw);
    }

    .mb165 {
        margin-bottom: calc(165 / 750 * 100vw);
    }

    .mb170 {
        margin-bottom: calc(170 / 750 * 100vw);
    }

    .mb175 {
        margin-bottom: calc(175 / 750 * 100vw);
    }

    .mb180 {
        margin-bottom: calc(180 / 750 * 100vw);
    }

    .mb185 {
        margin-bottom: calc(185 / 750 * 100vw);
    }

    .mb190 {
        margin-bottom: calc(190 / 750 * 100vw);
    }

    .mb195 {
        margin-bottom: calc(195 / 750 * 100vw);
    }

    .mb200 {
        margin-bottom: calc(200 / 750 * 100vw);
    }

    .txt_width {
        max-width: calc(646 / 750 * 100vw);
        margin-left: auto;
        margin-right: auto;
    }

    body:before {
        height: calc(20 / 750 * 100vw);
    }

    body:after {
        display: none;
    }
}

/* ヘッダー header
------------------------------------------------------------------*/
header {
    position: absolute;
    width: 100%;
    top: 50px;
    left: 0;
    z-index: 10;
    padding: 0 40px 0 30px;
}

@media (min-width: 768px) and (max-width: 1499px) {
    header {
        padding: 0 40px 0 30px;
    }
}

@media (min-width: 768px) and (max-width: 1399px) {
    h1 {
        max-width: 300px;
        width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1299px) {
    h1 {
        max-width: 240px;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    h1 {
        max-width: 200px;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
}

@media (max-width: 767px) {
    header {
        top: 6.5vw;
        padding: 0 0 0 3.2vw;
    }

    h1 {
        max-width: calc(346 / 750 * 100vw);
    }
}

/* メインイメージ main_img
------------------------------------------------------------------*/
.main_img {
    position: relative;
}

.main_img .slide_main {
    opacity: 0;
}

.main_img .slide_main li {
    min-height: 700px;
    height: 100vh;
}

.main_img.tab .slide_main li {
    height: auto;
}

.main01 {
    background: url(images/index/main01-test.jpg) no-repeat center left / cover;
}

.main02 {
    background: url(images/index/main02-test.jpg) no-repeat center / cover;
}

.main03 {
    background: url(images/index/main03-test.jpg) no-repeat center left / cover;
}

.main_img .slick-slide .sp_only {
    display: none !important;
}

.wrap_main01 {
    width: 90%;
    position: absolute;
    z-index: 1;
    right: 0;
    left: 0;
    margin: auto;
    height: 250px;
    top: 0;
    bottom: 7%;
}

.copy_main01 {
    font-size: 200%;
    letter-spacing: .25em;
    font-weight: normal;
    line-height: 2.2;
    margin-bottom: 57px;
}

.copy_main01 em {
    font-size: 150%;
    letter-spacing: .25em;
    line-height: 1;
}

.copy_main01 em span {
    font-size: 74.07%;
    letter-spacing: .25em;
    line-height: 1;
}

.copy_main02 {
    font-size: 111.11%;
    letter-spacing: .25em;
    line-height: 1.5;
    position: relative;
    max-width: 640px;
}

.copy_main02:before {
    content: "";
    position: absolute;
    background: url("images/index/deco_main01.svg") no-repeat center / cover;
    width: 249px;
    height: 30px;
    left: 0;
    top: -36px;
}

.copy_main02:after {
    content: "";
    position: absolute;
    background: url("images/index/deco_main02.svg") no-repeat center / cover;
    width: 289px;
    height: 48px;
    right: 14px;
    bottom: -52px;
}

.en_main {
    position: absolute;
    font-size: 200px;
    line-height: .62;
    letter-spacing: .2em;
    left: 0;
    bottom: 0;
    z-index: 1;
    opacity: .2;
}

.row_main01 {
    position: absolute;
    max-width: 1240px;
    width: calc(100% - 10px);
    right: 10px;
    bottom: 0;
    z-index: 1;
}

.web_main {
    width: 13%;
}

.web_fix_nav {
    width: 140px;
}

.web_main a, .web_fix_nav a {
    height: 160px;
    position: relative;
    padding: 5px 15px 0;
}

.web_fix_nav a {
    height: 150px;
}

.web_main a:after, .web_fix_nav a:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid #fff;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    right: 10px;
    bottom: 6px;
    transform: rotate(45deg);
}

.web_main .icn, .web_fix_nav .icn {
    display: block;
    line-height: 1;
    margin-bottom: 12px;
}

.web_main .txt, .web_fix_nav .txt {
    display: block;
    line-height: 1.5;
}

.tbl_main {
    width: 33.6%;
    height: 160px;
}

.tel_main {
    width: 27.4%;
    position: relative;
}

.tel_fix_nav {
    width: 270px;
}

.tel_main:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 50px;
    background: #bcb192;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.tel_main:after {
    content: "";
    position: absolute;
    width: 1px;
    height: 50px;
    background: #bcb192;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.tel_main a {
    height: 160px;
    padding: 0 15px 7px;
}

.tel_main .txt, .tel_fix_nav .txt {
    position: relative;
    display: inline-block;
    line-height: 1.6;
    padding-left: 25px;
    margin-bottom: 8px;
}

.tel_main .txt:before, .tel_fix_nav .txt:before {
    content: "";
    position: absolute;
    background: url("images/page/icn_tel01.svg") no-repeat center / cover;
    width: 14px;
    height: 15px;
    left: 2px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.tel_fix_nav .txt:before {
    background-image: url("images/page/icn_tel02.svg");
}

.tel_main .num, .tel_fix_nav .num {
    font-size: 188.89%;
    letter-spacing: .2em;
    line-height: 1;
    display: block;
}

.access_main {
    width: 26%;
    height: 160px;
    padding: 0 15px 10px;
}

.list_main01 li {
    position: relative;
    padding-left: 30px;
    line-height: 1.6;
}

.list_main01 li:before {
    content: "";
    position: absolute;
    background: url("images/page/icn_address01.svg") no-repeat center / cover;
    width: 11px;
    height: 15px;
    left: 7px;
    top: .75em;
}

.list_main01 em {
    font-size: 166.67%;
    letter-spacing: .1em;
    line-height: 1;
    font-style: italic;
}

@media (min-width: 768px) and (max-width: 1299px) {
    .wrap_main01 {
        height: 220px;
    }

    .copy_main01 {
        font-size: 177.78%;
        margin-bottom: 50px;
    }

    .copy_main02 {
        font-size: 100%;
        max-width: 480px;
    }

    .copy_main02:before {
        width: 166px;
        height: 20px;
        top: -28px;
    }

    .copy_main02:after {
        width: 181px;
        height: 30px;
        bottom: -40px;
    }

    .tel_main .txt {
        font-size: 88.89%;
        letter-spacing: .1em;
        padding-left: 20px;
    }

    .tel_main .txt:before {
        width: 12px;
        height: 13px;
    }

    .tel_main .num {
        font-size: 166.67%;
    }

    .list_main01 li {
        font-size: 88.89%;
        letter-spacing: .1em;
    }

    .en_main {
        font-size: 160px;
        bottom: 160px;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .web_main a, .tbl_main, .tel_main a, .access_main {
        height: 130px;
    }

    .web_main .icn {
        max-width: 24px;
        margin-bottom: 5px;
    }

    .web_main .txt {
        font-size: 88.89%;
        letter-spacing: .1em;
    }

    .tbl_main {
        font-size: 88.89%;
        letter-spacing: .1em;
    }

    .tel_main .txt {
        font-size: 77.78%;
    }

    .tel_main .num {
        font-size: 144.44%;
    }

    .list_main01 li {
        font-size: 77.78%;
        padding-left: 18px;
    }

    .list_main01 li:before {
        width: 7px;
        height: 10px;
        left: 0;
    }

    .en_main {
        font-size: 120px;
        bottom: 130px;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .wrap_main01 {
        height: 192px;
    }

    .copy_main01 {
        font-size: 155.56%;
        margin-bottom: 40px;
    }

    .web_main {
        position: absolute;
        right: 10px;
        top: -100px;
        width: 120px;
    }

    .web_main a {
        height: 100px;
    }

    .tbl_main, .tel_main a, .access_main {
        height: 126px;
    }

    .tbl_main {
        width: 38%;
    }

    .tel_main {
        width: 32%;
    }

    .access_main {
        width: 30%;
    }

    .en_main {
        bottom: 100px;
    }
}

@media only screen and (max-width: 767px) {
    .main_img {
        margin-bottom: 6.5vw;
    }

    .main_img .slide_main li {
        min-height: auto;
        height: auto;
    }

    .main01 {
        background: none;
    }

    .main_img .slick-slide .sp_only {
        display: inherit !important;
    }

    .main_img .slick-slide .tb_pc {
        display: none !important;
    }

    .wrap_main01 {
        width: 100%;
        height: auto;
        bottom: auto;
        top: 49vw;
    }

    .copy_main01 {
        font-size: 131.25%;
        letter-spacing: .15em;
        margin-bottom: 8.5vw;
    }

    .copy_main01 em {
        font-size: 157.14%;
        letter-spacing: .05em;
    }

    .copy_main01 em span {
        font-size: 60.61%;
        letter-spacing: .05em;
    }

    .copy_main02 {
        font-size: 95.75%;
        line-height: 1.58;
        max-width: 100%;
        letter-spacing: .15em;
    }

    .copy_main02:before {
        width: calc(249 / 750 * 100vw);
        height: calc(30 / 750 * 100vw);
        left: 3vw;
        top: -4vw;
    }

    .copy_main02:after {
        width: calc(289 / 750 * 100vw);
        height: calc(48 / 750 * 100vw);
        right: 3vw;
        bottom: -7.5vw;
    }

    .en_main {
        display: none;
    }

    .row_main01 {
        position: relative;
        max-width: 100%;
        width: 100%;
        padding: 0 3.2vw;
        bottom: auto;
        right: auto;
        background: none !important;
        -webkit-flex-direction: column-reverse;
        flex-direction: column-reverse;
        color: #454545 !important;
        margin: 5.5vw 0 0;
    }

    .web_main, .tel_main {
        display: none;
    }

    .tbl_main {
        width: 100%;
        height: auto;
    }

    .access_main {
        width: 100%;
        height: auto;
        margin-bottom: 2.5vw;
    }

    .access_main em {
        font-size: 143.75%;
    }

    .list_main01 li {
        letter-spacing: .1em;
        padding-left: 6vw;
    }

    .list_main01 li:not(:last-child) {
        margin-bottom: 2vw;
    }

    .list_main01 li:before {
        background-image: url("images/page/icn_address02.svg");
        width: calc(22 / 750 * 100vw);
        height: calc(30 / 750 * 100vw);
        top: .5em;
        left: .5vw;
    }
}

/* グローバルナビゲーション gnav
------------------------------------------------------------------*/
.gnav {
    transition: .3s;
    width: 100%;
}

header .gnav {
    max-width: 1075px;
    padding: 10px 0 0 0;
}

header .gnav .flex, .fix_nav.is_fixed .flex {
    align-items: center !important;
}

.d-flex {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fix_nav .gnav {
    width: 1000px;
    margin-top: 10px;
}

/*.gnav.is_fixed {
	position: fixed;
	left: 0;
	z-index: 10;
	transition: .3s;
}*/
.fix_nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    transition: .5s;
    width: 100%;
    transform: translateY(-100%);
    opacity: 0;
    background: rgba(255, 255, 255, .9);
    padding: 0 0 0 30px;
}

.fix_nav.is_fixed {
    transition: .5s;
    transform: translateY(0);
    opacity: 1;
    z-index: 10;
}

.fix_nav .logo {
    width: 280px;
}

.fix_nav .logo img {
    width: 100%;
}

.gnav > ul > li {
    position: relative;
}

.gnav > ul > li > a {
    display: block;
    font-size: 100%;
    letter-spacing: .1em;
    position: relative;
    /*padding: 0 0 10px;*/
}

.gnav > ul > li > a:after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    background: #fff;
    border-radius: 50%;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    transition: .3s;
    opacity: 0;
}

.fix_nav .gnav > ul > li > a:after {
    background: #454545;
}

.gnav > ul > li.nav_drawer > a:after {
    width: 9px;
    height: 9px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    background: none;
    border-radius: 0;
}

.fix_nav .gnav > ul > li.nav_drawer > a:after {
    border-bottom-color: #454545;
    border-right-color: #454545;
}

.gnav > ul > li > a:hover:after, .gnav > ul > li > a.active:after {
    opacity: 1;
    transition: .3s;
}

.gnav .nav_sub {
    display: none;
    position: absolute;
    top: calc(100% + 22px);
    left: 50%;
    transform: translateX(-50%);
    width: 430px;
    background: rgba(180, 174, 155, .9);
    padding: 20px 18px 22px;
}

.gnav .nav_drawer:hover .nav_sub,
.fix_nav .nav_drawer:hover .nav_sub{
    display: block;
}

.gnav .nav_drawer:before{
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    height: 30px;
    background-color: transparent;
    bottom: -25px;
}
.fix_nav .gnav .nav_drawer:before{
    height: 52px;
    bottom: -45px;
}

.fix_nav .gnav .nav_sub {
    top: calc(100% + 45px);
}

.fix_nav .gnav .nav_sub {
    background: rgba(255, 255, 255, .9);
}

.gnav .nav_sub li {
    width: 48%;
}

.gnav .nav_sub li:not(:first-child) {
    margin-top: 4px;
}

.gnav .nav_sub li a {
    display: block;
    position: relative;
    padding-left: 10px;
    font-size: 17px;
}

.gnav .nav_sub li a:hover {
    opacity: 1;
}

.gnav .nav_sub li a:before {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    background: #fff;
    border-radius: 50%;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: 0;
    transition: .3s;
}

.fix_nav .gnav .nav_sub li a:before {
    background: #454545;
}

.gnav .nav_sub li a:hover:before, .gnav .nav_sub li a.active:before {
    opacity: 1;
    transition: .3s;
}

@media (min-width: 768px) and (max-width: 1799px) {
    .fix_nav .logo {
        width: 300px;
    }

    .web_fix_nav {
        width: 120px;
    }

    .web_fix_nav a {
        height: 120px;
    }

    .fix_nav .gnav .nav_sub {
        top: calc(100% + 30px);
    }
}

@media (min-width: 768px) and (max-width: 1699px) {
    .tel_fix_nav {
        width: 225px;
    }

    .tel_fix_nav .txt {
        font-size: 88.89%;
        letter-spacing: .1em;
        padding-left: 20px;
    }

    .tel_fix_nav .txt:before {
        width: 12px;
        height: 13px;
    }

    .tel_fix_nav .num {
        font-size: 155.56%;
    }

    .fix_nav .gnav {
        width: 800px;
    }

    .fix_nav .gnav > ul > li > a {
        font-size: 100%;
    }

    .fix_nav .gnav .nav_sub {
        top: calc(100% + 32px);
    }
}

@media (min-width: 768px) and (max-width: 1599px) {
    .fix_nav .logo {
        width: 240px;
    }

    .gnav .nav_sub {
        transform: translateX(-60%);
    }

    .fix_nav .gnav .nav_sub {
        transform: translateX(-50%);
    }
}

@media (min-width: 768px) and (max-width: 1499px) {
    .fix_nav .logo {
        display: none;
    }

    .tel_fix_nav {
        margin: 0 20px 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 1399px) {
    header .gnav {
        width: calc(96% - 300px);
    }
}

@media (min-width: 768px) and (max-width: 1299px) {
    header .gnav {
        width: calc(96% - 210px);
    }

    .gnav > ul > li > a {
        font-size: 96%;
    }

    .fix_nav .gnav {
        width: calc(100% - 350px);
    }

    .ic-sns{
        width: 36px;
    }

    .tel_fix_nav {
        width: 200px;
    }

    .tel_fix_nav .txt {
        font-size: 77.78%;
    }

    .tel_fix_nav .num {
        font-size: 133.33%;
    }

    .web_fix_nav {
        width: 100px;
    }

    .web_fix_nav .icn {
        max-width: 24px;
        margin-bottom: 5px;
    }

    .web_fix_nav .txt {
        font-size: 77.78%;
        letter-spacing: .1em;
    }
    .consultation_block_inner .col_img{
        width: 55%;
    }
    .consultation_block_inner .col_txt{
        width: 45% !important;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .fix_nav {
        padding-left: 20px;
    }

    header .gnav {
        width: calc(96% - 200px);
    }

    .gnav > ul > li > a, .fix_nav .gnav > ul > li > a {
        font-size: 88.89%;
    }

    .gnav .nav_sub, .fix_nav .gnav .nav_sub {
        width: 350px;
    }

    .gnav .nav_sub li a, .fix_nav .gnav .nav_sub li a {
        font-size: 88.89%;
        letter-spacing: .1em;
    }

    .fix_nav .gnav .nav_sub {
        top: calc(100% + 34px);
    }
}

@media (min-width: 768px) and (max-width: 999px) {
    .fix_nav .gnav {
        margin: 0;
    }

    .fix_nav .gnav > ul > li {
        width: calc(100% / 3);
    }

    .fix_nav .gnav > ul > li:not(:nth-child(-n+3)) {
        margin-top: 10px;
    }

    .fix_nav .gnav > ul > li > a {
        text-align: center;
    }

    .fix_nav .gnav .nav_sub {
        top: calc(100% + 13px);
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .fix_nav .gnav {
        width: calc(100% - 305px);
    }

    .gnav > ul > li {
        width: calc(100% / 3);
    }

    .gnav > ul > li:not(:nth-child(-n+3)) {
        margin-top: 10px;
    }

    .gnav > ul > li > a, .fix_nav .gnav > ul > li > a {
        font-size: 77.78%;
        text-align: center;
    }

    .gnav .nav_sub, .fix_nav .gnav .nav_sub {
        width: 330px;
        transform: translateX(-50%);
    }

    .gnav .nav_sub li a, .fix_nav .gnav .nav_sub li a {
        font-size: 77.78%;
    }

    .fix_nav .gnav .nav_sub {
        top: calc(100% + 17px);
    }

    .tel_fix_nav {
        width: 175px;
        margin: 0 15px 0 auto;
    }

    .tel_fix_nav .txt {
        font-size: 66.67%;
    }

    .tel_fix_nav .num {
        font-size: 122.22%;
    }
    
    .consultation_block_inner .col_txt{
        width: 100% !important;
    }
    .consultation_block_inner .col_img .ttl{
        left: 50% !important;
        transform: translateX(-50%);
    }
}

@media only screen and (max-width: 767px) {
    .gnav, .fix_nav {
        display: none;
    }

    .btn_gnav_sp {
        position: fixed;
        top: 5.5vw;
        right: 3.2vw;
        height: calc(100 / 750 * 100vw);
        width: calc(100 / 750 * 100vw);
        background: #aa9d77;
        z-index: 10000;
        outline: none;
    }

    .btn_gnav_sp .txt_gnav {
        position: absolute;
        width: calc(48 / 750 * 100vw);
        right: 0;
        left: 0;
        bottom: 0;
        margin: auto;
    }

    .btn_gnav_sp .icn_gnav {
        width: calc(40 / 750 * 100vw);
        height: 2px;
        position: absolute;
        top: -3.5vw;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background: #fff;
        transition: transform .3s ease-in-out;
    }

    .btn_gnav_sp .icn_gnav:before, .btn_gnav_sp .icn_gnav:after {
        content: "";
        width: 100%;
        height: 2px;
        position: absolute;
        left: 0;
        background: #fff;
        transition: transform .3s ease-in-out;
    }

    .btn_gnav_sp .icn_gnav:before {
        top: -1.5vw;
    }

    .btn_gnav_sp .icn_gnav:after {
        bottom: -1.5vw;
    }

    .open .btn_gnav_sp .icn_gnav {
        background: none;
    }

    .open .btn_gnav_sp .icn_gnav:before, .open .btn_gnav_sp .icn_gnav:after {
        background: #fff;
        transition: transform .3s ease-in-out;
    }

    .open .btn_gnav_sp .icn_gnav:before {
        transform: rotate(45deg);
        top: 0;
    }

    .open .btn_gnav_sp .icn_gnav:after {
        transform: rotate(-45deg);
        bottom: 0;
    }

    .gnav_sp {
        padding: 19vw 0 0;
        overflow-y: auto;
        overflow-x: hidden;
        background: rgba(255, 255, 255, .9);
        position: fixed;
        top: 0;
        right: 0;
        z-index: 9999;
        height: 100%;
        visibility: hidden;
        opacity: 0;
        width: 80%;
        transition: opacity .6s ease, visibility .6s ease;
        line-height: 1.45;
    }

    .bg_gnav {
        visibility: hidden;
        transition: .3s;
        opacity: 0;
    }

    .open .bg_gnav {
        width: 100%;
        height: 100%;
        position: fixed;
        z-index: 9998;
        background: rgba(0, 0, 0, 0);
        visibility: visible;
        opacity: 1;
        transition: .3s;
        left: 0;
        top: 0;
    }

    .gnav_sp .nav_main {
        padding-bottom: 20vw;
    }

    .gnav_sp .nav_main > ul {
        padding: 0 3vw;
        display: block;
    }

    .gnav_sp .nav_main > ul > li {
        opacity: 0;
        transform: translateX(50%);
        transition: transform .6s ease, opacity .2s ease;
    }

    .gnav_sp .nav_main > ul > li:first-child {
        border-top: 1px solid #dddddd;
    }

    .gnav_sp .nav_main > ul > li.nav_drawer {
        padding: 0;
        border-bottom: none;
    }


    .gnav_sp .nav_main > ul > li > a {
        padding: 3.5vw 4vw 3.5vw 0;
        border-bottom: 1px solid #dddddd;
        display: -webkit-box; /*--- Androidブラウザ用 ---*/
        display: -ms-flexbox; /*--- IE10 ---*/
        display: -webkit-flex; /*--- safari（PC）用 ---*/
        display: flex;
        -webkit-box-pack: justify; /*--- Androidブラウザ用 ---*/
        -ms-flex-pack: justify; /*--- IE10 ---*/
        -webkit-justify-content: space-between; /*--- safari（PC）用 ---*/
        justify-content: space-between;
        -webkit-flex-wrap: wrap; /* Safari */
        flex-wrap: wrap;
        -ms-align-items: center;
        align-items: center;
        position: relative;
        letter-spacing: 0;
    }

    .gnav_sp .nav_main > ul > li.nav_drawer > a {
        border-bottom: none;
    }

    .gnav_sp .nav_main > ul > li > a:after {
        content: "";
        position: absolute;
        right: 0;
        top: 1vw;
        bottom: 0;
        width: 0;
        height: 0;
        border-left: calc(16 / 750 * 100vw) solid #676252;
        border-top: calc(12 / 750 * 100vw) solid transparent;
        border-bottom: calc(12 / 750 * 100vw) solid transparent;
        margin: auto;
    }

    .gnav_sp .nav_main > ul > li.nav_drawer > a:after {
        transform: rotate(90deg);
    }

    .gnav_sp .nav_main > ul > li.nav_drawer > a.open:after {
        transform: rotate(-90deg);
    }

    .gnav_sp .nav_main > ul > li > a .ja {
    }

    .gnav_sp .nav_main > ul > li > a .en {
        font-size: 62.5%;
        letter-spacing: .1em;
        margin-top: 1vw;
    }

    .gnav_sp .nav_sub {
        background: rgba(180, 174, 155, .9);
        padding: 5.5vw 8vw 6vw;
        /*display: none;*/ /* クリックで開閉させる場合はコメント解除 */
        display: none;
    }


    .gnav_sp .nav_main > ul > li.nav_drawer:hover .nav_sub{
        display: block;
    }

    .gnav_sp .nav_sub li {
        opacity: 0;
        transform: translateX(50%);
        transition: transform .6s ease, opacity .2s ease;
    }

    .gnav_sp .nav_sub li:not(:last-child) {
        margin-bottom: 2.5vw;
    }

    .gnav_sp .nav_sub a {
        padding: 1vw 6vw 1vw;
        display: block;
        position: relative;
        color: #fff;
    }

    .gnav_sp .nav_sub a:after {
        content: "";
        position: absolute;
        left: 0;
        top: 1vw;
        bottom: 0;
        width: 0;
        height: 0;
        border-left: calc(16 / 750 * 100vw) solid #fff;
        border-top: calc(12 / 750 * 100vw) solid transparent;
        border-bottom: calc(12 / 750 * 100vw) solid transparent;
        margin: auto;
    }

    .open .gnav_sp {
        visibility: visible;
        opacity: 1;
    }

    .open .gnav_sp .nav_main > ul > li, .open .gnav_sp .nav_sub li {
        opacity: 1;
        transform: translateX(0);
        transition: transform 1s ease, opacity .9s ease;
    }

    /* 240403 */
    .gnav_sp .groupbnr{
        margin-top: 15px;
        padding: 5px 15px;
    }
    .gnav_sp .groupbnr p{
        height: 17vw;
        text-align: center;
        margin-bottom: 15px;
    }
    .gnav_sp .groupbnr a{ width: 100%;height: 100%; display: block;}
    .gnav_sp .groupbnr p img{
        height: 100%; width: auto;
    }
    .gnav_sp .groupbnr p.bnr1 a{
        background-color: #82a4bf;
    }
    .gnav_sp .groupbnr p.bnr2 a{
        background-color: #8fdfdd;
    }

   
    /* 240403 */
}

/* NEW OPEN index_open
------------------------------------------------------------------*/
.ttl_index_open01 {
    background: #eef6f7;
    padding: 40px 0;
    position: relative;
}

.ttl_index_open01 .ja {
    position: relative;
    z-index: 1;
}

.ttl_index_open01 .ja .left {
    font-size: 155.56%;
    letter-spacing: .1em;
    display: block;
    line-height: 1;
    position: relative;
    padding-right: 25px;
    margin-right: 30px;
}

.ttl_index_open01 .ja .left:after {
    content: "";
    position: absolute;
    width: 1px;
    background: #454545;
    height: 30px;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.ttl_index_open01 .ja .right {
    font-size: 277.78%;
    letter-spacing: .1em;
    line-height: 1;
    display: block;
}

.ttl_index_open01 .en {
    display: block;
    position: absolute;
    font-size: 150px;
    line-height: 1;
    letter-spacing: .1em;
    width: 100%;
    left: 0;
    top: 10px;
    bottom: 0;
    margin: auto;
    z-index: 0;
    height: 150px;
}

.bg_index_open01 {
    background: url("images/index/bg_index_open01.jpg") no-repeat center / cover;
    padding: 80px 0;
}

.box_index_open01 {
    border: 1px solid #fff;
    padding: 20px;
    max-width: 750px;
}

.box_index_open01 .box {
    padding: 60px 5% 72px;
}

.box_index_open01 .ttl {
    margin-bottom: 40px;
}

.box_index_open01 .ttl .ja {
    display: block;
    font-size: 188.89%;
    letter-spacing: .1em;
    line-height: 1.5;
    margin-bottom: 15px;
}

.box_index_open01 .ttl .en {
    display: block;
    font-size: 66.67%;
    letter-spacing: .5em;
    line-height: 1;
}

.list_index_open01 {
    border-top: 1px solid #eeeeee;
    max-width: 510px;
}

.list_index_open01 li {
    border-bottom: 1px solid #eee;
    padding: 15px 30px;
}

.list_index_open01 dt {
    display: block;
    width: 90px;
    line-height: 35px;
}

.list_index_open01 dd {
    width: calc(100% - 110px);
    font-size: 111.11%;
    letter-spacing: .1em;
    line-height: 1.6;
}

@media (min-width: 768px) and (max-width: 1299px) {
    .ttl_index_open01 {
        height: 100%;
    }

    .ttl_index_open01 .en {
        font-size: 120px;
        height: 120px;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .ttl_index_open01 {
        height: 100%;
    }

    .ttl_index_open01 .en {
        font-size: 100px;
        height: 100px;
    }

    .ttl_index_open01 .ja .left {
        font-size: 133.33%;
    }

    .ttl_index_open01 .ja .right {
        font-size: 222.22%;
    }
}

@media (max-width: 767px) {
    .ttl_index_open01 {
        height: 100%;
    }

    .ttl_index_open01 .en {
        font-size: 437.5%;
        height: calc(140 / 750 * 100vw);
        width: calc(795 / 750 * 100vw);
        letter-spacing: -.03em;
        left: -3vw;
        top: 1vw;
    }

    .ttl_index_open01 .ja .left {
        font-size: 100%;
        letter-spacing: 0;
        padding-right: 4vw;
        margin-right: 4vw;
    }

    .ttl_index_open01 .ja .left:after {
        height: calc(50 / 750 * 100vw);
    }

    .ttl_index_open01 .ja .right {
        font-size: 156.25%;
        letter-spacing: 0;
    }

    .bg_index_open01 {
        background-image: url("images/index/bg_index_open01_sp.jpg");
        padding: 5vw 0 5vw;
    }

    .box_index_open01 {
        max-width: 100%;
        padding: calc(20 / 750 * 100vw);
    }

    .box_index_open01 .box {
        padding: 9vw 5%;
    }

    .box_index_open01 .ttl {
        margin-bottom: 4.5vw;
    }

    .box_index_open01 .ttl .ja {
        font-size: 156.25%;
        margin-bottom: 2vw;
    }

    .box_index_open01 .ttl .en {
        font-size: 62.5%;
    }

    .list_index_open01 {
        max-width: calc(500 / 750 * 100vw);
        margin: 0 auto;
        border: none;
    }

    .list_index_open01 li {
        padding: 0;
        border-bottom: none;
    }

    .list_index_open01 li:not(:last-child) {
        margin-bottom: 4vw;
    }

    .list_index_open01 dl {
        display: block;
    }

    .list_index_open01 dt {
        width: 100%;
        line-height: calc(50 / 750 * 100vw);
        font-size: 87.5%;
        margin-bottom: 2.5vw;
    }

    .list_index_open01 dd {
        font-size: 100%;
        letter-spacing: 0;
        line-height: 1.56;
        width: 100%;
        text-align: center;
    }
}

/* 新着情報 index_news
------------------------------------------------------------------*/
.index_news {
    padding: 100px 0;
}

.ttl_index_news01 {
    width: 225px;
}

.ttl_index_news01 .ja {
    display: block;
    font-size: 188.89%;
    letter-spacing: .1em;
    line-height: 1;
    margin-bottom: 25px;
}

.ttl_index_news01 .en {
    display: block;
    font-size: 66.67%;
    letter-spacing: .5em;
    line-height: 1;
}

/* ※パーフェクトスクロールバー用基本css ここからデザインに合わせて適宜変更してください */
.index_news ul {
    width: calc(100% - 225px);
    overflow: hidden;
    position: relative;
    padding-right: 50px;
    max-height: 195px;
    height: auto;
    touch-action: auto !important;
    line-height: 1.78;
}

.index_news li {
    border-bottom: 1px solid #eee;
    padding: 30px 20px 33px;
}

.index_news li:first-child {
    border-top: 1px solid #eee;
}

.index_news li dt {
    font-weight: bold;
    font-size: 88.89%;
    letter-spacing: .1em;
    width: 150px;
}

.index_news li dd {
    width: calc(100% - 150px);
}

.index_news li dd a {
    color: #222; /* コーダーさんへに記載されている★標準テキスト：リンク色に変更*/
    text-decoration: underline;
}

/* パーフェクトスクロールバー */
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
    background: #c2d8e9 !important;
    right: 0px !important;
    width: 4px !important;
}

.ps-container > .ps-scrollbar-y-rail {
    background: transparent !important;
    right: 0px !important;
    width: 4px !important;
    opacity: 1;
}

.ps-container:hover > .ps-scrollbar-y-rail {
    opacity: 1;
}

@media (min-width: 768px) and (max-width: 1299px) {
    .ttl_index_news01 {
        width: 180px;
    }

    .ttl_index_news01 .ja {
        font-size: 166.67%;
    }

    .index_news ul {
        width: calc(100% - 180px);
    }

    .index_news li {
        padding: 30px 0 33px;
    }
    .list_index_topics01 {
        margin-left: 180px !important;
    }

}

@media (min-width: 768px) and (max-width: 960px) {
    .index_news li dl {
        display: block;
    }

    .index_news li dt {
        width: 100%;
    }

    .index_news li dd {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .list_index_topics01 {
        margin-left: 0px !important;
    }
    .index_news {
        padding: 13vw 0 10.5vw;
    }

    .row_index_news01 {
        display: block;
        max-width: calc(646 / 750 * 100vw);
        margin: 0 auto;
    }

    .ttl_index_news01 {
        width: 100%;
        margin-bottom: 5vw;
    }

    .ttl_index_news01 .ja {
        font-size: 156.25%;
        margin-bottom: 4vw;
    }

    .ttl_index_news01 .en {
        font-size: 62.5%;
    }

    .index_news ul {
        max-height: calc(412 / 750 * 100vw);
        width: 100%;
        padding-right: 4vw;
    }

    .index_news li {
        padding: 4.5vw 0 5.5vw;
    }

    .index_news li dl {
        display: block;
    }

    .index_news li dt {
        width: 100%;
        font-size: 87.5%;
        letter-spacing: 0;
    }

    .index_news li dd {
        width: 100%;
        line-height: 1.5625;
    }

    .ic-sns{
        width: 55px;
    }
}

/* 新型コロナウイルス対策について index_covid
------------------------------------------------------------------*/
.index_covid {
    margin-bottom: 150px;
}

.acc_default {
    position: relative;
    border: 10px solid #fff;
    background: url("images/index/bg_index_covid01.jpg") no-repeat center top / auto;
}

.acc_default:before {
    content: "";
    position: absolute;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    border: 1px solid #b4ae9b;
    right: 0;
    left: -10px;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 0;
}

.js_accordion_toggle {
    padding: 15px 0 0;
}

.js_accordion_toggle, .js_accordion_item {
    position: relative;
    z-index: 1;
}

.js_accordion_toggle .txt {
    font-size: 188.89%;
    margin-bottom: 7px;
}

.js_accordion_toggle .en {
    max-width: 150px;
    height: 25px;
    border-radius: 30px;
    position: relative;
}

.js_accordion_toggle .en:before {
    content: "OPEN";
    font-size: 88.89%;
    position: absolute;
    width: 100%;
    top: 3px;
    bottom: 0;
    line-height: 1;
    left: 0;
    margin: auto;
    letter-spacing: .2em;
}

.js_accordion_toggle.is_open .en:before {
    content: "CLOSE";
}

.js_accordion_toggle .arw {
    padding: 0;
    position: absolute;
    background: url("images/index/arw_index_covid.svg") no-repeat center / cover;
    width: 10px;
    height: 12px;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.js_accordion_toggle.is_open .arw {
    transform: scaleY(-1);
}

.js_accordion_toggle .arw:after {
    display: none;
}

.js_accordion_item {
    padding: 5px 5% 50px;
}

.row_index_covid01 {
    max-width: 1040px;
}

.row_index_covid01 .col {
    width: 30.8%;
    max-width: 320px;
    margin-right: 3.8%;
    padding: 20px 15px 18px;
}

.row_index_covid01 .col:nth-child(3n), .row_index_covid01 .col:last-child {
    margin-right: 0;
}

.row_index_covid01 .col:not(:nth-child(-n+3)) {
    margin-top: 30px;
}

.row_index_covid01 .icn {
    margin-bottom: 10px;
}

.row_index_covid01 .txt {
    line-height: 1.3;
}

@media (min-width: 768px) and (max-width: 1299px) {
    .index_covid {
        margin-bottom: 100px;
    }

    .js_accordion_toggle .txt {
        font-size: 166.67%;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .row_index_covid01 .col {
        width: 32%;
        margin-right: 2%;
    }

    .row_index_covid01 .txt {
        font-size: 88.89%;
        letter-spacing: .1em;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .row_index_covid01 .icn {
        max-width: 80px;
    }
}

@media (max-width: 767px) {
    .index_covid {
        margin-bottom: 13vw;
    }

    .acc_default {
        border-width: calc(10 / 750 * 100vw);
        background-image: url("images/index/bg_index_covid01_sp.jpg");
        background-size: 100% auto;
    }

    .acc_default:before {
        width: calc(100% + calc(20 / 750 * 100vw));
        height: calc(100% + calc(20 / 750 * 100vw));
        left: calc(-10 / 750 * 100vw);
    }

    .js_accordion_toggle {
        height: calc(186 / 750 * 100vw);
        padding: 2vw 0 0;
    }

    .js_accordion_toggle .txt {
        font-size: 106.25%;
        letter-spacing: .1em;
        margin-bottom: 1.2vw;
    }

    .js_accordion_toggle .en {
        max-width: calc(250 / 750 * 100vw);
        height: calc(40 / 750 * 100vw);
        border-radius: calc(40 / 750 * 100vw);
    }

    .js_accordion_toggle .en:before {
        font-size: 62.5%;
        top: 1.6vw;
    }

    .js_accordion_toggle .arw {
        width: calc(15 / 750 * 100vw);
        height: calc(18 / 750 * 100vw);
        right: 4vw;
        top: .5vw;
    }

    .js_accordion_item {
        padding: 0 2vw 7vw;
    }

    .row_index_covid01 {
        max-width: calc(646 / 750 * 100vw);
    }

    .row_index_covid01 .col {
        width: 47%;
        max-width: calc(303 / 750 * 100vw);
        margin-right: 6% !important;
        padding: 4vw 3vw 5vw;
        height: calc(260 / 750 * 100vw);
    }

    .row_index_covid01 .col:not(:nth-child(-n+2)) {
        margin-top: 5vw;
    }

    .row_index_covid01 .col:nth-child(2n), .row_index_covid01 .col:last-child {
        margin-right: 0 !important;
    }

    .row_index_covid01 .icn {
        max-width: calc(124 / 750 * 100vw);
        margin-bottom: 0;
    }

    .row_index_covid01 .txt {
        font-size: 87.5%;
        line-height: 1.2;
        letter-spacing: 0;
    }

    .row_index_covid01 .txt.flex {
        height: calc(68 / 750 * 100vw);
    }
}

/* なんばエッセ歯科・小児歯科の特長 index_feature
------------------------------------------------------------------*/
.index_feature {
    margin-bottom: 180px;
}

.bg_index_feature01 {
    background: url("images/index/ptn_index_feature01.png") repeat left top / auto, url("images/index/bg_index_feature01.jpg") no-repeat center / cover;
    margin-bottom: 10px;
    padding: 150px 0 0;
}

.ttl_index_feature01 {
    height: 116px;
    background: url("images/index/txt_index_feature01.svg") no-repeat center / auto;
    padding: 0 0 10px;
    margin-bottom: 40px;
}

.ttl_index_feature01 .ja {
    font-size: 155.56%;
    letter-spacing: .1em;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.15), 0 0 10px rgba(0, 0, 0, 0.15), 0 0 15px rgba(0, 0, 0, 0.15);
}

.copy_index_feature01 {
    font-size: 277.78%;
    letter-spacing: .1em;
    font-style: italic;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.15), 0 0 10px rgba(0, 0, 0, 0.15), 0 0 15px rgba(0, 0, 0, 0.15);
    width: 90%;
    max-width: 1600px;
    line-height: 1.9;
    padding-right: 1.4em;
    position: relative;
    z-index: 2;
}

.copy_index_feature01 em {
    font-size: 140%;
    letter-spacing: .08em;
    line-height: 1;
    font-style: italic;
    margin-right: -1.4em;
}

.copy_index_feature01 em span {
    font-size: 80%;
    letter-spacing: .08em;
    line-height: 1;
}

.row_index_feature01 {
    position: relative;
    z-index: 1;
    margin: -75px auto 0;
}

.row_index_feature01 .col {
    width: calc(50% - 10px);
    position: relative;
    background: url("images/index/img_index_feature01.jpg") no-repeat center / cover;
    height: 680px;
}

.row_index_feature01 .col_r {
    margin-top: 150px;
    background-image: url("images/index/img_index_feature02.jpg");
}

.row_index_feature01 .col .wrap {
    position: absolute;
    right: 40px;
    bottom: -50px;
    max-width: 460px;
    height: 615px;
    width: 90%;
}

.row_index_feature01 .col_r .wrap {
    height: 578px;
    right: auto;
    left: 40px;
    max-width: 570px;
    width: 570px;
}

.row_index_feature01 .box {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.row_index_feature01 .box_copy {
    font-size: 188.89%;
    letter-spacing: .1em;
    line-height: 1.7;
    padding: 55px 50px 60px;
    position: relative;
    z-index: 0;
}

_:-ms-lang(x)::-ms-backdrop, .row_index_feature01 .col_l .box_copy {
    position: absolute;
    right: 0;
    top: 0;
}

_:-ms-lang(x)::-ms-backdrop, .row_index_feature01 .col_r .box_copy {
    position: absolute;
    left: 0;
    top: 0;
}

.row_index_feature01 .box_copy .h4 {
    font-weight: 300;
}

.row_index_feature01 .box_copy .h4 span {
    border-right: 1px dashed #c2d8e9;
}

.row_index_feature01 .box_txt {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    padding: 44px 44px 40px 38px;
}

.row_index_feature01 .col_r .box_txt {
    right: 0;
    bottom: 0;
    left: auto;
}

.row_index_feature01 .box .txt {
    font-size: 111.11%;
    letter-spacing: .1em;
    line-height: 1.8;
}

.bg_index_feature02 {
    background: rgba(69, 69, 69, .3);
    position: relative;
    z-index: 0;
    padding: 150px 0 143px;
    margin: -50px 0 0;
    margin-bottom: 10px;
}

.row_index_feature02 .col {
    width: 50%;
}

.row_index_feature02 .box {
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.15), 0 0 10px rgba(0, 0, 0, 0.15), 0 0 15px rgba(0, 0, 0, 0.15);
    padding: 50px 30px 0;
}

.row_index_feature02 .copy {
    font-size: 166.67%;
    letter-spacing: .1em;
    font-style: italic;
    font-weight: 300;
    margin-bottom: 30px;
    line-height: 1.4;
}

.row_index_feature02 .copy em {
    font-size: 166.67%;
    letter-spacing: .1em;
    font-style: italic;
}

.row_index_feature02 .txt {
    font-size: 111.11%;
    letter-spacing: .1em;
    line-height: 1.8;
    max-width: 660px;
}

.bg_index_feature03 {
    background: url("images/index/frame_index_feature01.png") no-repeat center top / auto, url("images/index/bg_index_feature02.jpg") no-repeat center top / contain #c2d4d4;
    padding: 110px 0 100px;
    position: relative;
    margin-bottom: 10px;
}

.bg_index_feature03:after {
    content: "";
    position: absolute;
    background: url("images/page/ptn01.png") repeat left top / auto;
    height: 75px;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 0;
}

.wrap_index_feature01 {
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
}

.copy_index_feature02 .icn {
    display: block;
    line-height: 1;
    margin-bottom: 30px;
}

.copy_index_feature02 .ja01 {
    display: inline-block;
    font-size: 111.11%;
    letter-spacing: .1em;
    color: #fff9b4;
    position: relative;
    z-index: 0;
    margin-bottom: 12px;
}

.copy_index_feature02 .ja01:before {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature01.png") no-repeat center / cover;
    width: 78px;
    height: 145px;
    left: -105px;
    top: -125px;
    z-index: -1;
}

.copy_index_feature02 .ja01:after {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature02.png") no-repeat center / cover;
    width: 97px;
    height: 157px;
    right: -125px;
    top: -135px;
    z-index: -1;
}

.copy_index_feature02 .ja02 {
    display: block;
    line-height: 1.7;
}

.copy_index_feature02 .ja02 span {
    display: inline;
    font-size: 244.44%;
    letter-spacing: .1em;
    border-bottom: 4px dotted #fff;
}

.copy_index_feature02 .ja02 small {
    font-size: 77.27%;
    letter-spacing: .1em;
    line-height: 1;
}

.wrap_index_feature01 .img_l {
    position: absolute;
    left: 45px;
    bottom: 5px;
}

.wrap_index_feature01 .img_l .txt, .wrap_index_feature01 .img_r .txt {
    font-size: 111.11%;
    letter-spacing: 0;
    line-height: 1.4;
    color: #888;
    position: relative;
    z-index: 1;
}

.wrap_index_feature01 .img_l .txt {
    margin-top: 17px;
}

.wrap_index_feature01 .img_r .txt {
    margin: 0 0 15px 22px;
}

.wrap_index_feature01 .img_l .txt:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 1px;
    background: #888;
    transform: rotate(35deg);
    right: -16px;
    top: -16px;
}

.wrap_index_feature01 .img_l .txt:after {
    content: "";
    position: absolute;
    width: 30px;
    height: 1px;
    background: #888;
    transform: rotate(-18deg);
    right: 15px;
    bottom: -28px;
}

.wrap_index_feature01 .img_r .txt:before {
    content: "";
    position: absolute;
    width: 25px;
    height: 1px;
    background: #888;
    transform: rotate(-12deg);
    left: -5px;
    top: -22px;
}

.wrap_index_feature01 .img_r .txt:after {
    content: "";
    position: absolute;
    width: 25px;
    height: 1px;
    background: #888;
    transform: rotate(38deg);
    left: -24px;
    bottom: -17px;
}

.wrap_index_feature01 .img_r {
    position: absolute;
    right: 60px;
    bottom: 15px;
}

.wrap_index_feature01 .img {
    position: relative;
    z-index: 0;
}

.wrap_index_feature01 .img_l .img:before {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature03.png") no-repeat center / cover;
    width: 242px;
    height: 184px;
    left: -20px;
    top: 10px;
}

.wrap_index_feature01 .img_r .img:before {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature04.png") no-repeat center / cover;
    width: 223px;
    height: 153px;
    left: -35px;
    top: 12px;
}

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

.row_index_feature03 .col {
    width: 32.7%;
    max-width: 490px;
    border-radius: 15px;
    position: relative;
    padding: 6px;
}

.row_index_feature03 .col_c {
    margin-top: 50px;
}

.row_index_feature03 .col_l:before {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature05.png") no-repeat center / cover;
    width: 112px;
    height: 80px;
    top: -60px;
    left: 23px;
    z-index: 1;
}

.row_index_feature03 .col_l:after {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature06.png") no-repeat center / cover;
    width: 104px;
    height: 90px;
    bottom: 20px;
    right: -40px;
    z-index: 1;
}

.row_index_feature03 .col_c:before {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature07.png") no-repeat center / cover;
    width: 91px;
    height: 99px;
    top: -97px;
    left: -35px;
    z-index: 1;
}

.row_index_feature03 .col_c:after {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature08.png") no-repeat center / cover;
    width: 83px;
    height: 140px;
    top: -121px;
    right: -30px;
    z-index: 1;
}

.row_index_feature03 .col_r:after {
    content: "";
    position: absolute;
    background: url("images/index/deco_index_feature09.png") no-repeat center / cover;
    width: 70px;
    height: 112px;
    bottom: 20px;
    right: -30px;
    z-index: 1;
}

.row_index_feature03 .img {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

.row_index_feature03 .ttl {
    font-size: 200%;
    text-shadow: 2px 2px 0px #ffffff, -2px 2px 0px #ffffff, 2px -2px 0px #ffffff, -2px -2px 0px #ffffff, 2px 0px 0px #ffffff, 0px 2px 0px #ffffff, -2px 0px 0px #ffffff, 0px -2px 0px #ffffff;
    letter-spacing: .1em;
    line-height: 1.15;
    position: absolute;
    width: 100%;
    bottom: 25px;
    left: 0;
    padding-bottom: 15px;
}

.row_index_feature03 .ttl:after {
    content: "";
    position: absolute;
    width: 52px;
    height: 4px;
    background: url("images/index/bdr_index_feature01.svg") no-repeat center / cover;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

.row_index_feature03 .ttl span {
    font-size: 72.22%;
    letter-spacing: .1em;
    line-height: 1;
}

.row_index_feature03 .box {
    padding: 2px 45px 35px;
}

.row_index_feature03 .txt {
    color: #888;
}

.bg_index_feature04 {
    position: relative;
    z-index: 0;
    padding: 80px 0 0;
}

.bg_index_feature04:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 82%;
    max-height: 563px;
    background: url("images/index/ptn_index_feature01.png") repeat left top / auto, url("images/index/bg_index_feature03.jpg") no-repeat center / cover;
    z-index: -1;
    left: 0;
    top: 0;
}

.copy_index_feature03 {
    font-size: 277.78%;
    letter-spacing: .1em;
    line-height: 1.6;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.15), 0 0 10px rgba(0, 0, 0, 0.15), 0 0 15px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 1;
    font-style: italic;
    margin-bottom: 28px;
}

.txt_index_feature01 {
    font-size: 111.11%;
    letter-spacing: .1em;
    line-height: 1.8;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.15), 0 0 10px rgba(0, 0, 0, 0.15), 0 0 15px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 1;
    margin-bottom: 93px;
}

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

.row_index_feature04 .col {
    width: 32%;
    max-width: 460px;
    background: url("images/index/img_index_feature10.jpg") no-repeat center / cover;
    height: 340px;
    position: relative;
}

.row_index_feature04 .col_c {
    background-image: url("images/index/img_index_feature11.jpg");
}

.row_index_feature04 .col_r {
    background-image: url("images/index/img_index_feature12.jpg");
}

.row_index_feature04 .ttl {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 133.33%;
    letter-spacing: .1em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 30px 17px 25px;
}

.row_index_feature04 .ttl .en {
    display: inline-block;
    position: relative;
    transform: rotate(-90deg);
    top: -2px;
    left: 3px;
    padding: 3px 0;
}

_:-ms-lang(x)::-ms-backdrop, .row_index_feature04 .ttl .en {
    top: -30px;
}

.row_index_feature01 .col_r .box_copy {
    padding: 55px 30px 60px;
}

.row_index_feature01 .col_r .box_txt {
    padding: 44px 30px 50px 30px;
}

.box_index_feature01 {
    padding: 45px 5% 50px;
    z-index: 1;
    position: relative;
    border: 1px solid;
}

.box_index_feature01 .ttl {
    font-size: 133.33%;
}

@media (min-width: 768px) and (max-width: 1599px) {
    .wrap_index_feature01 .img_l {
        left: 0;
    }

    .wrap_index_feature01 .img_r {
        right: 0;
    }
}

@media (min-width: 768px) and (max-width: 1499px) {
    .row_index_feature02 .txt {
        text-align: left;
    }

    .row_index_feature02 .txt br {
        display: none;
    }

    .wrap_index_feature01 .img_l .txt, .wrap_index_feature01 .img_r .txt {
        font-size: 88.89%;
    }
}

@media (min-width: 768px) and (max-width: 1399px) {
    .row_index_feature02 .copy {
        font-size: 144.44%;
    }

    .row_index_feature02 .txt {
        font-size: 100%;
        max-width: 100%;
    }

    .wrap_index_feature01 .img_l .img {
        max-width: 170px;
        width: 100%;
    }

    .wrap_index_feature01 .img_l .img:before {
        width: 200px;
        height: 152px;
    }

    .wrap_index_feature01 .img_r .img {
        max-width: 130px;
        width: 100%;
    }

    .wrap_index_feature01 .img_r .img:before {
        width: 180px;
        height: 123px;
    }

    .row_index_feature03 .col_l:before {
        width: 80px;
        height: 57px;
        top: -53px;
    }

    .row_index_feature03 .col_l:after {
        width: 70px;
        height: 60px;
    }

    .row_index_feature03 .col_c:before {
        width: 70px;
        height: 76px;
        top: -70px;
        left: -30px;
    }

    .row_index_feature03 .col_c:after {
        width: 60px;
        height: 101px;
        top: -95px;
    }

    .row_index_feature03 .col_r:after {
        width: 50px;
        height: 80px;
    }

    .row_index_feature03 .box {
        padding: 0 30px 30px;
    }

    .row_index_feature03 .ttl {
        font-size: 166.67%;
    }
}

@media (min-width: 768px) and (max-width: 1299px) {
    .index_feature {
        margin-bottom: 120px;
    }

    .bg_index_feature01 {
        padding: 100px 0 0;
    }

    .copy_index_feature01 {
        font-size: 222.22%;
        padding-right: 2em;
    }

    .row_index_feature01 .col {
        height: 540px;
    }

    .row_index_feature01 .col .wrap {
        max-width: 410px;
        height: 530px;
    }

    .row_index_feature01 .col_r .wrap {
        max-width: 415px;
        height: 630px;
        width: 415px;
    }

    .row_index_feature01 .box_copy {
        font-size: 166.67%;
        padding: 40px;
    }

    .row_index_feature01 .col_r .box_copy {
        padding: 40px 20px;
        z-index: 1;
    }

    .row_index_feature01 .box_txt {
        padding: 35px 40px 40px 30px;
    }

    .row_index_feature01 .col_r .box_txt {
        padding: 35px 25px 40px 53px;
        z-index: 0;
    }

    .row_index_feature01 .box .txt {
        font-size: 100%;
    }

    .bg_index_feature02 {
        padding: 150px 0 100px;
    }

    .bg_index_feature03 {
        padding: 80px 0 80px;
    }

    .copy_index_feature02 .ja02 span {
        font-size: 200%;
    }

    .copy_index_feature02 .ja01:before {
        width: 50px;
        height: 93px;
        left: -75px;
        top: -70px;
    }

    .copy_index_feature02 .ja01:after {
        width: 70px;
        height: 113px;
        right: -65px;
        top: -85px;
    }

    .bg_index_feature04 {
        padding: 60px 0 0;
    }

    .copy_index_feature03 {
        font-size: 222.22%;
    }

    .txt_index_feature01 {
        font-size: 100%;
        margin-bottom: 70px;
    }

    .row_index_feature04 .col {
        height: 300px;
    }

    .row_index_feature04 .ttl {
        font-size: 111.11%;
    }

    _:-ms-lang(x)::-ms-backdrop, .row_index_feature04 .ttl .en {
        top: -24px;
    }

    .bg_index_feature03:after {
        height: 55px;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .row_index_feature02 .copy {
        font-size: 122.22%;
    }

    .row_index_feature02 .copy em {
        font-size: 150%;
    }

    .wrap_index_feature01 .img_l .img {
        max-width: 130px;
    }

    .wrap_index_feature01 .img_l .img:before {
        width: 160px;
        height: 122px;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .row_index_feature03 .col {
        width: 49%;
    }

    .row_index_feature03 .col:last-child {
        margin: 10px auto 0;
    }

    .wrap_index_feature01 .img_l .img {
        margin-left: -30px;
    }

    .wrap_index_feature01 .img_r .txt {
        margin: 0 0 15px -15px;
    }
}

@media (min-width: 768px) and (max-width: 999px) {
    .row_index_feature01 {
        display: block;
        margin: 30px auto 0;
    }

    .row_index_feature01 .col {
        width: 100%;
    }

    .bg_index_feature02 {
        padding: 100px 0;
        margin: 0;
    }

    .wrap_index_feature01 {
        max-width: 700px;
        margin: 0 auto 50px;
    }

    .copy_index_feature02 {
        margin-bottom: 40px;
    }

    .copy_index_feature02 .ja02 span {
        font-size: 222.22%;
    }

    .wrap_index_feature01 .img_l {
        position: relative;
        left: auto;
        bottom: auto;
        max-width: 340px;
    }

    .wrap_index_feature01 .img_l .img {
        max-width: 170px;
        margin: 0;
    }

    .wrap_index_feature01 .img_l .img:before {
        width: 242px;
        height: 184px;
    }

    .wrap_index_feature01 .img_r .txt {
        margin: 0 0 15px 22px;
    }

    .wrap_index_feature01 .img_r .img {
        max-width: 130px;
    }

    .wrap_index_feature01 .img_r .img:before {
        width: 223px;
        height: 153px;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .index_feature {
        margin-bottom: 100px;
    }

    .ttl_index_feature01 {
        height: 100px;
        background-size: auto 100%;
    }

    .ttl_index_feature01 .ja {
        font-size: 133.33%;
    }

    .copy_index_feature01 {
        font-size: 188.89%;
    }

    .bg_index_feature02 {
        padding: 0 0 80px;
    }

    .row_index_feature02 {
        display: block;
    }

    .row_index_feature02 .col {
        width: 100%;
    }

    .row_index_feature02 .col_l {
        margin: 0 auto 80px;
    }

    .row_index_feature02 .box {
        padding: 40px 5% 0;
    }

    .row_index_feature04 .col {
        height: 260px;
    }

    .row_index_feature04 .ttl {
        font-size: 100%;
        padding: 20px 14px;
    }

    .row_index_feature01 .col_r .wrap {
        max-width: 470px;
        width: 470px;
    }
}

@media (max-width: 767px) {
    .index_feature {
        margin-bottom: 13vw;
    }

    .bg_index_feature01 {
        background: url("images/index/ptn_index_feature01_sp.png") repeat right top / calc(125 / 750 * 100vw) auto, url("images/index/bg_index_feature01_sp.jpg") no-repeat center / cover;
        padding: 16vw 0 0;
        margin-bottom: 2.6vw;
    }

    .ttl_index_feature01 {
        height: calc(92 / 750 * 100vw);
        background-size: auto 100%;
        padding: 0 0 1vw;
        margin-bottom: 6.5vw;
    }

    .ttl_index_feature01 .ja {
        font-size: 87.5%;
        text-shadow: 0 0 2px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 15%), 0 0 8px rgb(0 0 0 / 15%);
    }

    .copy_index_feature01 {
        font-size: 137.5%;
        text-align: center;
        line-height: 1.8;
        padding: 0;
        margin-bottom: 4vw;
        width: 100%;
        max-width: 100%;
        text-shadow: 0 0 2px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 15%), 0 0 8px rgb(0 0 0 / 15%);
    }

    .copy_index_feature01 em {
        font-size: 136.36%;
        margin-right: 0;
        letter-spacing: .1em;
    }

    .copy_index_feature01 em span {
        font-size: 100%;
        letter-spacing: .1em;
    }

    .row_index_feature01 {
        display: block;
        margin: 0 auto;
    }

    .row_index_feature01 .col {
        width: 100%;
        background-size: 100% auto;
        background-position: center top;
        height: auto;
        padding: 51.5vw 0 7vw;
        background-color: #fff;
    }

    .row_index_feature01 .col_r {
        margin-top: 0;
        padding-bottom: 70vw;
    }

    .row_index_feature01 .col .wrap {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        max-width: calc(646 / 750 * 100vw);
        height: auto;
        margin: 0 auto;
        width: 100%;
    }

    .row_index_feature01 .box_copy {
        font-size: 156.25%;
        letter-spacing: 0;
        padding: 6.5vw 3.7vw 6.5vw;
        height: calc(650 / 750 * 100vw);
    }

    .row_index_feature01 .col_r .box_copy {
        height: calc(650 / 750 * 100vw);
    }

    .row_index_feature01 .box_txt {
        padding: 4vw 3vw 1.5vw 0vw;
    }

    .row_index_feature01 .col_r .box_txt {
        right: 0;
        bottom: -63vw;
    }

    .row_index_feature01 .box .txt {
        font-size: 100%;
        line-height: 2.2;
        letter-spacing: 0;
    }

    .bg_index_feature02 {
        padding: 0;
        margin: 0;
    }

    .row_index_feature02 {
        display: block;
    }

    .row_index_feature02 .col {
        width: 100%;
    }

    .row_index_feature02 .box {
        text-shadow: 0 0 2px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 15%), 0 0 8px rgb(0 0 0 / 15%);
        padding: 7vw 3vw 11vw;
    }

    .row_index_feature02 .copy {
        font-size: 93.75%;
        letter-spacing: 0;
        line-height: 1.8;
        margin-bottom: 2vw;
    }

    .row_index_feature02 .copy em {
        font-size: 156.25%;
    }

    .row_index_feature02 .txt {
        font-size: 100%;
        letter-spacing: 0;
        line-height: 2;
    }

    .bg_index_feature03 {
        background: url("images/index/frame_index_feature01_sp.png") no-repeat center top / 100% auto, url("images/index/bg_index_feature02_sp.jpg") no-repeat center top / 100% auto;
        background-color: #c2d4d4;
        padding: 15vw 0 9vw;
        margin-bottom: 2.6vw;
    }

    .bg_index_feature03:after {
        height: 6vw;
        background-size: calc(24 / 750 * 100vw);
    }

    .wrap_index_feature01 {
        margin-bottom: 9.5vw;
    }

    .copy_index_feature02 {
        margin-bottom: 5vw;
    }

    .copy_index_feature02 .icn {
        max-width: calc(100 / 750 * 100vw);
        margin-bottom: .5vw;
    }

    .copy_index_feature02 .ja01 {
        font-size: 87.5%;
        margin-bottom: 0;
    }

    .copy_index_feature02 .ja01:before {
        width: calc(78 / 750 * 100vw);
        height: calc(145 / 750 * 100vw);
        left: -2vw;
        top: -20vw;
    }

    .copy_index_feature02 .ja01:after {
        width: calc(97 / 750 * 100vw);
        height: calc(157 / 750 * 100vw);
        right: -5vw;
        top: -21vw;
    }

    .copy_index_feature02 .ja02 span {
        font-size: 187.5%;
        letter-spacing: 0;
    }

    .copy_index_feature02 .ja02 small {
        font-size: 83.33%;
        letter-spacing: 0;
    }

    .wrap_index_feature01 .img_l {
        position: relative;
        left: auto;
        bottom: auto;
        max-width: calc(372 / 750 * 100vw);
    }

    .wrap_index_feature01 .img_l .img {
        max-width: calc(212 / 750 * 100vw);
        margin: 0;
    }

    .wrap_index_feature01 .img_l .img:before {
        width: calc(242 / 750 * 100vw);
        height: calc(184 / 750 * 100vw);
        left: -3vw;
        top: 1vw;
    }

    .wrap_index_feature01 .img_l .txt, .wrap_index_feature01 .img_r .txt {
        font-size: 62.5%;
        text-shadow: 0px 0px 5px #c2d4d4, 0px 0px 5px #c2d4d4, 0px 0px 10px #c2d4d4, 0px 0px 10px #c2d4d4, 0px 0px 15px #c2d4d4, 0px 0px 15px #c2d4d4;
    }

    .wrap_index_feature01 .img_l .txt {
        margin-top: 2vw;
    }

    .wrap_index_feature01 .img_l .txt:before {
        width: calc(32 / 750 * 100vw);
        right: -2vw;
        top: -2vw;
    }

    .wrap_index_feature01 .img_l .txt:after {
        width: calc(32 / 750 * 100vw);
        right: 2vw;
        bottom: -4.5vw;
    }

    .wrap_index_feature01 .img_r {
        right: 0;
        bottom: 7vw;
    }

    .wrap_index_feature01 .img_r .txt {
        margin: 0 0 2vw 3vw;
    }

    .wrap_index_feature01 .img_r .txt:before {
        left: -.5vw;
        top: -3.5vw;
        width: calc(24 / 750 * 100vw);
    }

    .wrap_index_feature01 .img_r .txt:after {
        left: -3vw;
        bottom: -2vw;
        width: calc(24 / 750 * 100vw);
    }

    .wrap_index_feature01 .img_r .img {
        max-width: calc(158 / 750 * 100vw);
    }

    .wrap_index_feature01 .img_r .img:before {
        width: calc(223 / 750 * 100vw);
        height: calc(153 / 750 * 100vw);
        left: -5vw;
        top: 1vw;
    }

    .row_index_feature03 {
        display: block;
        margin-bottom: calc(110 / 750 * 100vw);
    }

    .row_index_feature03 .col {
        width: 100%;
        max-width: 100%;
        border-radius: calc(30 / 750 * 100vw);
        padding: calc(12 / 750 * 100vw);
    }

    .row_index_feature03 .col:not(:first-child) {
        margin-top: 7vw !important;
    }

    .row_index_feature03 .col_l:before {
        width: calc(167 / 750 * 100vw);
        height: calc(119 / 750 * 100vw);
        top: -10.5vw;
        left: 3.5vw;
    }

    .row_index_feature03 .col_l:after {
        width: calc(125 / 750 * 100vw);
        height: calc(108 / 750 * 100vw);
        bottom: -2vw;
        right: 3.5vw;
    }

    .row_index_feature03 .col_c:before {
        width: calc(91 / 750 * 100vw);
        height: calc(99 / 750 * 100vw);
        top: -9vw;
        left: 3.5vw;
    }

    .row_index_feature03 .col_c:after {
        width: calc(83 / 750 * 100vw);
        height: calc(140 / 750 * 100vw);
        top: -14vw;
        right: auto;
        left: 18vw;
    }

    .row_index_feature03 .col_r:after {
        width: calc(101 / 750 * 100vw);
        height: calc(160 / 750 * 100vw);
        right: 4vw;
        bottom: -9vw;
    }

    .row_index_feature03 .img {
        border-radius: calc(20 / 750 * 100vw);
    }

    .row_index_feature03 .ttl {
        font-size: 175%;
        bottom: 3.5vw;
    }

    .row_index_feature03 .ttl:after {
        width: calc(78 / 750 * 100vw);
        height: calc(6 / 750 * 100vw);
    }

    .row_index_feature03 .ttl span {
        font-size: 71.43%;
    }

    .row_index_feature03 .box {
        padding: 0 2vw 6vw;
    }

    .bg_index_feature04 {
        padding: 10vw 0 0;
    }

    .bg_index_feature04:after {
        background: url("images/index/ptn_index_feature01_sp.png") repeat right top / calc(125 / 750 * 100vw) auto, url("images/index/bg_index_feature03_sp.jpg") no-repeat center top / 100% auto;
        height: calc(1025 / 750 * 100vw);
    }

    .copy_index_feature03 {
        text-align: center;
        font-size: 187.5%;
        letter-spacing: 0;
        text-shadow: 0 0 2px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 15%), 0 0 8px rgb(0 0 0 / 15%);
        margin-bottom: 3vw;
    }

    .txt_index_feature01 {
        font-size: 100%;
        letter-spacing: 0;
        line-height: 2;
        text-shadow: 0 0 2px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 15%), 0 0 8px rgb(0 0 0 / 15%);
        max-width: calc(630 / 750 * 100vw);
        margin: 0 auto 8vw;
    }

    .row_index_feature04 {
        display: block;
        max-width: calc(646 / 750 * 100vw);
        margin: 0 auto;
    }

    .row_index_feature04 .col {
        width: 100%;
        max-width: 100%;
        height: calc(476 / 750 * 100vw);
    }

    .row_index_feature04 .col:not(:last-child) {
        margin-bottom: 6vw;
    }

    .row_index_feature04 .ttl {
        font-size: 125%;
        letter-spacing: 0;
        top: 4vw;
        right: 4vw;
        padding: 3.5vw 2.5vw 5vw;
    }

    .row_index_feature04 .ttl .en {
        padding: .5vw 0;
        top: 0;
        left: 0;
    }

    .row_index_feature01 .col_r .box_txt {
        padding: 4vw 3vw 1.5vw 0vw;
    }

    .row_index_feature01 .col_r .box_copy {
        padding: 6.5vw 3.7vw 6.5vw;
    }

    .row_index_feature01 .col_r .wrap {
        width: calc(646 / 750 * 100vw);
    }

    .box_index_feature01 {
        padding: 5vw 5% 6vw;
    }

    .box_index_feature01 .ttl {
        font-size: 112.5%;
    }
}

/* 診療案内 index_medical
------------------------------------------------------------------*/
.index_medical {
    margin-bottom: 200px;
}

.ttl_index_medical01 {
    position: relative;
    height: 150px;
    margin-bottom: 82px;
}

.ttl_index_medical01 .ja {
    display: block;
    font-size: 155.56%;
    letter-spacing: .3em;
    line-height: 1.6;
    position: relative;
    z-index: 1;
}

.ttl_index_medical01 .en {
    display: block;
    position: absolute;
    font-size: 150px;
    line-height: 1;
    letter-spacing: .1em;
    width: 100%;
    left: 0;
    top: 10px;
    bottom: 0;
    margin: auto;
    z-index: 0;
    height: 150px;
}

.row_index_medical01 {
    width: 90%;
    max-width: 1720px;
    margin-bottom: 100px;
}

.row_index_medical01 .col {
    width: calc(50% - 10px);
}

.row_index_medical01 .col .img {
    position: relative;
    background: url("images/index/img_index_medical01.jpg") no-repeat center / cover;
    height: 530px;
    margin-bottom: 55px;
}

.row_index_medical01 .col_r .img {
    background-image: url("images/index/img_index_medical02.jpg");
}

.row_index_medical01 .img .box {
    position: absolute;
    width: 150px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    right: 30px;
    top: 30px;
    font-size: 111.11%;
    letter-spacing: .1em;
}

.row_index_medical01 .img .box a {
    position: relative;
    padding: 32px 15px 33px;
    width: 100%;
}

.row_index_medical01 .img .box a:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid #454545;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    right: 4px;
    bottom: 0;
    transform: rotate(45deg);
}

.row_index_medical01 .img .box .medical-item {
    position: relative;
    padding: 32px 15px 33px;
    width: 100%;
}

.row_index_medical01 .img .box .medical-item:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid #454545;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    right: 4px;
    bottom: 0;
    transform: rotate(45deg);
}

.row_index_medical01 .img .box em {
    font-size: 160%;
    letter-spacing: .1em;
    line-height: 1;
}

.row_index_medical01 .col .txt {
    line-height: 1.67;
    padding: 0 0 30px;
}

.row_index_medical02 {
    max-width: 1320px;
    margin-bottom: 70px;
}

.row_index_medical02 .col {
    width: 24%;
    max-width: 300px;
}

.row_index_medical02 .col:nth-child(2n) {
    padding-top: 50px;
}

.row_index_medical02 .col:not(:nth-child(-n+4)) {
    margin-top: 20px;
}

.row_index_medical02 .col a {
    height: 300px;
    background: url("images/index/bg_index_medical01.jpg") no-repeat center / cover;
}

.row_index_medical02 .col a.bg02 {
    background-image: url("images/index/bg_index_medical02.jpg");
}

.row_index_medical02 .col a.bg03 {
    background-image: url("images/index/bg_index_medical03.jpg");
}

.row_index_medical02 .col a.bg04 {
    background-image: url("images/index/bg_index_medical04.jpg");
}

.row_index_medical02 .col a.bg05 {
    background-image: url("images/index/bg_index_medical05.jpg");
}

.row_index_medical02 .col a.bg06 {
    background-image: url("images/index/bg_index_medical06.jpg");
}

.row_index_medical02 .col a.bg07 {
    background-image: url("images/index/bg_index_medical07.jpg");
}

.row_index_medical02 .col a.bg08 {
    background-image: url("images/index/bg_index_medical08.jpg");
}

.row_index_medical02 .col .ttl {
    width: 80px;
    font-size: 155.56%;
    letter-spacing: .1em;
    position: relative;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 18px 15px 16px;
    display: block;
    line-height: 1.8;
}

.row_index_medical02 .col .ttl:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid #454545;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    right: 4px;
    bottom: 2px;
    transform: rotate(45deg);
}

.bg_index_medical01 {
    max-width: 1710px;
    background: url("images/index/bg_index_medical09.png") no-repeat center bottom / auto;
    width: 90%;
    padding: 0 5% 100px;
}

.bg_index_medical01 .box {
    max-width: 392px;
    width: 100%;
    height: 370px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background: url("images/index/icn_index_medical01.svg") no-repeat right 10px top 60px / auto;
    padding: 60px 45px;
}

_:-ms-lang(x)::-ms-backdrop, .bg_index_medical01 .box {
    margin: 0;
}

.bg_index_medical01 .ttl {
    font-size: 177.78%;
    letter-spacing: .1em;
    position: relative;
    padding-top: 45px;
    margin-left: 18px;
}

.bg_index_medical01 .txt {
    font-size: 111.11%;
    letter-spacing: .1em;
    line-height: 1.8;
}

@media (min-width: 768px) and (max-width: 1299px) {
    .index_medical {
        margin-bottom: 150px;
    }

    .ttl_index_medical01 {
        height: 120px;
    }

    .ttl_index_medical01 .en {
        font-size: 120px;
        height: 120px;
    }

    .row_index_medical01 {
        margin-bottom: 80px;
    }

    .row_index_medical01 .col .img {
        height: 400px;
        margin-bottom: 40px;
    }

    .row_index_medical01 .img .box {
        font-size: 88.89%;
        right: 20px;
        top: 20px;
        width: 110px;
    }

    .row_index_medical01 .img .box a {
        padding: 22px 15px 22px;
    }

    .row_index_medical01 .img .box .medical-item {
        padding: 22px 15px 22px;
    }

    .row_index_medical02 .col a {
        height: 260px;
    }

    .row_index_medical02 .col .ttl {
        width: 70px;
        font-size: 133.33%;
    }

    .bg_index_medical01 {
        padding: 0 5% 60px;
    }

    .bg_index_medical01 .box {
        max-width: 350px;
        height: 330px;
        background-size: 80px auto;
    }

    .bg_index_medical01 .ttl {
        font-size: 155.56%;
    }

    .bg_index_medical01 .txt {
        font-size: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .row_index_medical01 .col .txt {
        text-align: left;
    }

    .row_index_medical01 .col .txt br {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .row_index_medical02 {
        -webkit-justify-content: center;
        justify-content: center;
    }

    .row_index_medical02 .col:not(:nth-child(-n+3)) {
        margin-top: 20px;
    }

    .row_index_medical02 .col {
        width: 32%;
        max-width: 260px;
        margin-right: 2%;
    }

    .row_index_medical02 .col:nth-child(3n), .row_index_medical02 .col:last-child {
        margin-right: 0;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .ttl_index_medical01 {
        height: 100px;
        margin-bottom: 60px;
    }

    .ttl_index_medical01 .en {
        font-size: 100px;
        height: 100px;
    }

    .ttl_index_medical01 .ja {
        font-size: 133.33%;
    }

    .row_index_medical01 .col .img {
        height: 320px;
    }

    .row_index_medical02 .col a {
        height: 240px;
    }

    .row_index_medical02 .col .ttl {
        font-size: 122.22%;
        padding: 12px 15px 10px;
    }
}

@media (max-width: 767px) {
    .index_medical {
        margin-bottom: 0;
    }

    .ttl_index_medical01 {
        height: calc(150 / 750 * 100vw);
        margin-bottom: 7vw;
    }

    .ttl_index_medical01 .en {
        font-size: 468.75%;
        height: calc(150 / 750 * 100vw);
        width: calc(810 / 750 * 100vw);
        left: -3vw;
        top: 2vw;
        letter-spacing: .05em;
    }

    .ttl_index_medical01 .ja {
        font-size: 118.75%;
    }

    .row_index_medical01 {
        width: 100%;
        max-width: 100%;
        display: block;
        margin-bottom: 8.5vw;
    }

    .row_index_medical01 .col {
        width: 100%;
    }

    .row_index_medical01 .col_l {
        margin-bottom: 8vw;
    }

    .row_index_medical01 .col .img {
        height: calc(530 / 750 * 100vw);
        margin-bottom: 3.5vw;
    }

    .row_index_medical01 .col .box {
        font-size: 100%;
        top: 3vw;
        right: 3vw;
        width: calc(170 / 750 * 100vw);
        letter-spacing: 0;
        line-height: 1.6;
    }

    .row_index_medical01 .img .box a {
        padding: 5.5vw 1vw 4.5vw;
    }

    .row_index_medical01 .img .box .medical-item {
        padding: 5.5vw 1vw 4.5vw;
    }

    .row_index_medical01 .img .box a:after {
        right: 1vw;
        border-width: calc(14 / 750 * 100vw) 0 calc(14 / 750 * 100vw) calc(14 / 750 * 100vw);
    }

    .row_index_medical01 .img .box em {
        font-size: 156.25%;
        margin-top: -1vw;
        letter-spacing: 0;
    }

    .row_index_medical01 .col .txt {
        font-size: 100%;
        line-height: 2;
        text-align: left;
        padding: 0;
    }

    .row_index_medical02 {
        max-width: 100%;
        margin-bottom: 9.5vw;
    }

    .row_index_medical02 .col {
        width: 49%;
        max-width: calc(330 / 750 * 100vw);
    }

    .row_index_medical02 .col:nth-child(2n) {
        padding-top: 6.5vw;
    }

    .row_index_medical02 .col:not(:nth-child(-n+2)) {
        margin-top: -1vw;
    }

    .row_index_medical02 .col a {
        height: calc(330 / 750 * 100vw);
    }

    .row_index_medical02 .col .ttl {
        width: calc(100 / 750 * 100vw);
        font-size: 125%;
        letter-spacing: 0;
        padding: 2vw;
    }

    .row_index_medical02 .col .ttl:after {
        right: 0;
        bottom: -.8vw;
        border-width: calc(14 / 750 * 100vw) 0 calc(14 / 750 * 100vw) calc(14 / 750 * 100vw);
    }

    .bg_index_medical01 {
        width: 100%;
        max-width: 100%;
        background-image: url("images/index/bg_index_medical09_sp.png");
        background-size: 100% auto;
        padding: 0 3.2vw 20vw;
    }

    .bg_index_medical01 .box {
        max-width: calc(550 / 750 * 100vw);
        height: calc(420 / 750 * 100vw);
        background-size: calc(87 / 750 * 100vw) auto;
        background-position: right 2vw top 8vw;
        padding: 7.5vw 5vw 7vw;
    }

    .bg_index_medical01 .ttl {
        font-size: 125%;
        padding-top: 7.5vw;
        margin-left: 4vw;
    }

    .bg_index_medical01 .txt {
        font-size: 100%;
        line-height: 1.56;
        letter-spacing: 0;
    }
}

/* index_greeting
------------------------------------------------------------------*/
.index_greeting {
    background: url("images/index/bg_index_greeting01.jpg") no-repeat center bottom / auto;
    padding: 0 0 153px;
    position: relative;
}

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

.row_index_greeting01 .col_l {
    width: 45%;
    max-width: 860px;
    background: url("images/index/img_index_greeting01.jpg") no-repeat center / cover;
    height: 870px;
    position: relative;
}

.row_index_greeting01 .col_l .img01 {
    position: absolute;
    right: -50px;
    top: 170px;
}

.row_index_greeting01 .col_l .img02 {
    position: absolute;
    right: 50px;
    bottom: 140px;
}

.row_index_greeting01 .name_dr {
    position: absolute;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    right: -85px;
    bottom: 102px;
}

.row_index_greeting01 .name_dr .ja01 {
    font-size: 111.11%;
    letter-spacing: .1em;
    display: block;
    line-height: 1;
}

.row_index_greeting01 .name_dr .ja02 {
    font-size: 166.67%;
    letter-spacing: .1em;
    line-height: 1.4;
    margin-bottom: 6px;
    display: inline-block;
}

.row_index_greeting01 .name_dr .en {
    font-size: 77.78%;
    letter-spacing: .1em;
    line-height: 1;
    display: inline-block;
}

.row_index_greeting01 .col_r {
    width: 47.65625%;
    max-width: 915px;
    padding: 5px 45px 0 0;
    background: url("images/index/img_index_greeting02.jpg") no-repeat right top / auto;
}

.copy_index_greeting01 {
    font-size: 277.78%;
    letter-spacing: .1em;
    line-height: 1.8;
    margin-bottom: 57px;
}

.txt_index_greeting01 {
    line-height: 2.22;
    max-width: 595px;
    position: relative;
    z-index: 1;
}

.en_index_greeting {
    position: absolute;
    font-size: 250px;
    letter-spacing: .1em;
    line-height: .62;
    right: 53px;
    bottom: 0;
    z-index: 0;
}

@media (min-width: 768px) and (max-width: 1629px) {
    .copy_index_greeting01 {
        font-size: 213%;
    }
}

@media (min-width: 768px) and (max-width: 1499px) {
    .row_index_greeting01 .col_r {
        padding: 0 50px 0 0;
    }

    .copy_index_greeting01 {
        margin-bottom: 40px;
    }
}

@media (min-width: 768px) and (max-width: 1399px) {
    .row_index_greeting01 .col_r {
        width: 47%;
    }

    .row_index_greeting01 .name_dr {
        right: -70px;
    }
}

@media (min-width: 768px) and (max-width: 1299px) {
    .index_greeting {
        padding: 0 0 100px;
    }

    .copy_index_greeting01 {
        font-size: 177.78%;
    }

    .en_index_greeting {
        font-size: 200px;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .row_index_greeting01 .col_l {
        width: 39%;
    }

    .row_index_greeting01 .name_dr .ja01 {
        font-size: 100%;
    }

    .row_index_greeting01 .name_dr .ja02 {
        font-size: 144.44%;
    }

    .row_index_greeting01 .col_r {
        width: 51%;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .index_greeting {
        padding: 0 0 80px;
    }

    .row_index_greeting01 .col_l {
        width: 28%;
    }

    .row_index_greeting01 .col_l .img01 {
        width: 160px;
    }

    .row_index_greeting01 .name_dr {
        bottom: 175px;
    }

    .row_index_greeting01 .col_r {
        width: 60%;
    }

    .copy_index_greeting01 {
        font-size: 155.56%;
    }

    .en_index_greeting {
        font-size: 150px;
    }
}

@media (max-width: 767px) {
    .index_greeting {
        background: url("images/index/bg_index_greeting01_sp.jpg") no-repeat center bottom / 100% auto;
        padding: 0 7vw 13vw;
    }

    .row_index_greeting01 {
        display: block;
        margin-bottom: 7vw;
    }

    .row_index_greeting01 .col_l {
        display: none;
    }

    .row_index_greeting01 .col_r {
        width: 100%;
        max-width: 100%;
        padding: 10.5vw 0 0;
        background-size: calc(160 / 750 * 100vw)
    }

    .row_index_greeting01 .col_r .img {
        height: calc(510 / 750 * 100vw);
        position: relative;
        margin-bottom: 6vw;
    }

    .row_index_greeting01 .col_r .img01 {
        position: absolute;
        max-width: calc(300 / 750 * 100vw);
        right: 0;
        top: 0;
    }

    .row_index_greeting01 .col_r .img02 {
        max-width: calc(270 / 750 * 100vw);
        position: absolute;
        left: -7vw;
        bottom: 0;
    }

    .row_index_greeting01 .name_dr {
        right: auto;
        bottom: auto;
        left: 21.5vw;
        top: -.5vw;
    }

    .row_index_greeting01 .name_dr .ja01 {
        font-size: 125%;
    }

    .row_index_greeting01 .name_dr .ja02 {
        font-size: 156.25%;
        display: block;
        margin: 0 1vw 0 .5vw;
    }

    .row_index_greeting01 .name_dr .en {
        display: block;
        font-size: 68.75%;
        padding-top: 4vw;
    }

    .copy_index_greeting01 {
        font-size: 150%;
        letter-spacing: 0;
        line-height: 1.67;
        margin-bottom: 7vw;
    }

    .txt_index_greeting01 {
        font-size: 100%;
        letter-spacing: 0;
        line-height: 2;
    }

    .img_index_greeting01 {
        max-width: calc(646 / 750 * 100vw);
        position: relative;
        z-index: 1;
        margin-left: -7vw;
    }

    .en_index_greeting {
        font-size: 781.25%;
        right: -1vw;
    }
}

/* instagram index_instagram
------------------------------------------------------------------*/
.index_instagram {
    padding: 80px 0;
}

.wrap_index_instagram {
    position: relative;
    max-width: 700px;
}

#sb_instagram {
    padding-bottom: 0 !important;
}

.btn_index_instagram {
    position: absolute;
    width: 80px;
    height: 80px;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
}

.btn_index_instagram a {
    display: block;
}

@media (min-width: 768px) and (max-width: 960px) {
}

@media (max-width: 767px) {
    .index_instagram {
        padding: 11vw 0 5vw;
    }

    .wrap_index_instagram {
        max-width: calc(700 / 750 * 100vw);
    }

    #sb_instagram #sbi_images, #sb_instagram #sbi_images .sbi_item {
        padding: calc(10 / 750 * 100vw) !important;
    }

    .btn_index_instagram {
        width: calc(120 / 750 * 100vw);
        height: calc(120 / 750 * 100vw);;
    }
}

/* RECRUIT index_recruit
------------------------------------------------------------------*/
.index_recruit_topics {
    margin-bottom: 100px;
}
.index_recruit_topics .inner{
    
}
.index_recruit-bnr a{
    max-width: 700px;
    margin: 0 auto;
    border: 1px solid #454545;
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: center;
}
.index_recruit-img { 
    width: 40%;
}
.index_recruit {
    width: 64%;
    padding: 0 15px 10px;
}
.txt_index_recruit01 {
    font-size: 16px;
    text-align: left;
    margin-bottom: 20px;
}
.index_recruit a {
    display: block;
    position: relative;
    height: 100%;
}


h2.ttl_index_recruit01{
    font-size: 40px;
}



.ttl_index_recruit01 {
    font-size: 70px;
    letter-spacing: .1em;
    line-height: 1;
}

@media (min-width: 1500px) and (max-width: 1799px) {
    .ttl_index_recruit01 {
        font-size: 55px;
    }
}


@media (min-width: 768px) and (max-width: 999px) {

    .index_recruit {
        width: 90%;
        margin: 0 auto 15px;
    }

    .ttl_index_recruit01 {
        font-size: 50px;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
}

@media (max-width: 767px) {
    .index_recruit_topics {
        display: block;
        margin-bottom: 30px;
    }
    .index_recruit_topics .inner{
        align-items: flex-start;
        gap: 2px;
    }
    .index_recruit-img{
        width: 42%;
    }

    .index_recruit {
        width: 58%;
        margin: 0 auto 0;
    }

    .index_recruit a {
        height: 100%;
    }
    .index_recruit-img{
        height: 100%;
        object-fit: cover;
    }

    .wrap_index_recruit01 {
        padding: 0;
        max-width: 100%;
        width: 100%;
    }
    .txt_index_recruit01 {
        line-height: 1.88;
        text-align: left;
        font-size: 3vw;
        margin-bottom: 5px;
    }
    h2.ttl_index_recruit01{
        font-size: 145%;

    }
    .ttl_index_recruit01 {
        text-align: center;
        margin-left: -1vw;
        letter-spacing: .05em;
        line-height: 1em;
    }
}
@media (max-width: 600px){
    .wrap_index_recruit01 .txt_index_recruit01{
        font-size: 2.8vw;
    }
}
@media (max-width: 500px){
    .index_recruit-img{
        width: 50%;
    }
    
    
}
/* トピックス index_topics
------------------------------------------------------------------*/
.index_topics {
    width: 50%;
    padding: 25px 70px 0;
}
.inner .index_topics{
    width: 100%;
    padding: 25px 0 100px;
}

.ttl_index_topics01 {
    margin-bottom: 40px;
}

.ttl_index_topics01 .ja {
    display: block;
    font-size: 188.89%;
    letter-spacing: .1em;
    line-height: 1;
    margin-bottom: 25px;
}

.ttl_index_topics01 .en {
    display: block;
    font-size: 66.67%;
    letter-spacing: .5em;
    line-height: 1;
}

.list_index_topics01 {
    margin-left: 225px;
}

.list_index_topics01 li:not(:last-child) {
    margin-bottom: 20px;
}

.list_index_topics01 .thmb {
    width: 130px;
}

.list_index_topics01 .img_thmb {
    width: 130px;
    height: 130px;
}

.list_index_topics01 .txt_post {
    width: calc(100% - 160px);
}

.list_index_topics01 .txt_post .date {
    font-size: 88.89%;
    font-weight: bold;
    line-height: 1;
}

.list_index_topics01 .txt_post .txt_excerpt {
    line-height: 1.78;
    margin-top: 10px;
}

.slide_index01 {
    margin-bottom: 40px;
}

.slide_index01 li {
    margin: 0 5px;
}

@media (min-width: 768px) and (max-width: 1299px) {
    .index_topics {
        padding: 0 50px 0;
    }

    .ttl_index_topics01 {
        margin-bottom: 30px;
    }

    .ttl_index_topics01 .ja {
        font-size: 166.67%;
        margin-bottom: 15px;
    }

    .list_index_topics01 .thmb {
        width: 100px;
    }

    .list_index_topics01 .img_thmb {
        width: 100px;
        height: 100px;
    }

    .list_index_topics01 .txt_post {
        width: calc(100% - 120px);
    }

    .list_index_topics01 .txt_post .txt_excerpt {
        font-size: 88.89%;
        letter-spacing: .1em;
    }
}

@media (min-width: 768px) and (max-width: 999px) {
    .index_topics {
        width: 100%;
        padding: 0 5%;
    }

    .list_index_topics01 {
        max-width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
}

@media (max-width: 767px) {
    .index_topics {
        width: 100%;
        padding: 0 7vw;
    }

    .ttl_index_topics01 {
        margin-bottom: 5.5vw;
    }

    .ttl_index_topics01 .ja {
        font-size: 156.25%;
        margin-bottom: 3vw;
    }

    .ttl_index_topics01 .en {
        font-size: 62.5%;
    }

    .list_index_topics01 {
        max-width: 100%;
    }

    .list_index_topics01 li {
        border-bottom: 1px solid #eee;
        padding: 6vw 0;
    }

    .list_index_topics01 li:not(:last-child) {
        margin-bottom: 0;
    }

    .list_index_topics01 li:first-child {
        border-top: 1px solid #eee;
    }

    .list_index_topics01 .thmb {
        width: calc(130 / 750 * 100vw);
    }

    .list_index_topics01 .img_thmb {
        width: calc(130 / 750 * 100vw);
        height: calc(130 / 750 * 100vw);
    }

    .list_index_topics01 .txt_post {
        width: calc(100% - calc(170 / 750 * 100vw));
    }

    .list_index_topics01 .txt_post .date {
        font-size: 81.25%;
    }

    .list_index_topics01 .txt_post .txt_excerpt {
        font-size: 87.5%;
        letter-spacing: 0;
        line-height: 1.64;
        margin-top: 2vw;
    }

    .slide_index01 {
        margin-bottom: 14vw;
    }

    .slide_index01 li {
        margin: 0 calc(10 / 750 * 100vw);
    }
}

/* フッター footer
------------------------------------------------------------------*/
.main_foot {
    background: #f8f7f4;
    padding: 35px 0;
}

.row_foot01 > .col_l {
    width: 280px;
}

.row_foot01 > .col_r {
    width: calc(96% - 280px);
    max-width: 725px;
}

.tel_foot {
    width: 48%;
    max-width: 315px;
}

.tel_foot .txt {
    position: relative;
    display: inline-block;
    line-height: 1.6;
    padding-left: 18px;
}

.tel_foot .txt:before {
    content: "";
    position: absolute;
    background: url("images/page/icn_tel02.svg") no-repeat center / cover;
    width: 14px;
    height: 15px;
    left: -4px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.tel_foot .num {
    font-size: 222.22%;
    letter-spacing: .18em;
    line-height: 1;
    display: block;
}

.web_foot {
    width: 48.5%;
    max-width: 350px;
}

.web_foot a {
    height: 80px;
    position: relative;
}

.web_foot a:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid #fff;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    right: 9px;
    bottom: 5px;
    transform: rotate(45deg);
}

.web_foot .icn {
    display: block;
    line-height: 1;
    margin-right: 20px;
}

.web_foot .txt {
    font-size: 133.33%;
    letter-spacing: .1em;
    line-height: 1;
}

.address_foot {
    font-size: 111.11%;
    letter-spacing: .1em;
    line-height: 1.8;
    margin-bottom: 20px;
}

.bottom_foot {
    padding: 63px 0 84px;
}

.row_foot02 .col_l {
    width: 40%;
}

.tbl_foot {
    max-width: 400px;
}

.tbl_time02 .box {
    padding: 8px 5px;
}

.tbl_foot .box {
    padding: 16px 0 14px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.tbl_time02 thead th {
    padding-bottom: 8px;
    border-bottom: none;
}

.tbl_time02 tbody td {
    font-size: 100%;
}

.tbl_time02 .txt {
    padding-left: 7%;
}

.row_foot02 .col_r {
    width: 55%;
}

.list_foot01 {
    width: 32%;
    max-width: 180px;
}

.map {
    position: relative;
}

.btn_map {
    position: absolute;
    width: 200px;
    left: 30px;
    top: 30px;
    z-index: 1;
    display: none;
}

.btn_map a {
    height: 50px;
    position: relative;
}

.btn_map a:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid #fff;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    right: 3px;
    bottom: 0;
    transform: rotate(45deg);
}

.btn_map .icn {
    display: block;
    line-height: 1;
    margin: 0 8px 3px 0;
}

.btn_map .txt {
    display: block;
    line-height: 1;
}

.pagetop {
    position: fixed;
    right: 20px;
    bottom: 50px;
    z-index: 1000;
}

.copyright {
    padding: 23px 0 25px;
}

.bnr_foot01 {
    max-width: 600px;
    margin: 60px auto;
}

.bnr_foot01.box-sns{
    margin-top: 10px;
    position: relative
}

#essekids .row_common03{
    justify-content: center;
}
.bnr_foot01.box-sns .bnr01{
    width: 210px;
    position: absolute;
    top: -38px;
    right: -80px;
}
.bnr_foot01.box-sns .bnr01 img{
    max-width: 100%;
    height: auto
}
@media (min-width: 768px) and (max-width: 1299px) {
    .row_foot01 > .col_r {
        max-width: 600px;
    }

    .tel_foot .txt {
        font-size: 88.89%;
    }

    .tel_foot .txt:before {
        width: 12px;
        height: 13px;
    }

    .tel_foot .num {
        font-size: 177.78%;
    }

    .address_foot {
        font-size: 100%;
    }

    .list_foot01 {
        font-size: 88.89%;
        letter-spacing: .1em;
    }

    .tbl_time02 .txt {
        padding-left: 6%;
    }
}

@media (min-width: 961px) and (max-width: 1099px) {
    .address_foot .adjust {
        display: block;
    }

    .list_foot01.list_l {
        width: 43%;
    }

    .list_foot01.list_c {
        width: 25%;
    }

    .list_foot01.list_r {
        width: 28%;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .row_foot01 {
        display: block;
    }

    .row_foot01 > .col_l {
        width: 100%;
        text-align: center;
        margin: 0 auto 20px;
    }

    .row_foot01 > .col_r {
        width: 100%;
        margin: 0 auto;
    }

    .bottom_foot {
        padding: 50px 0 60px;
    }

    .row_foot02 {
        display: block;
    }

    .row_foot02 .col_l {
        width: 100%;
        margin: 0 auto 40px;
    }

    .address_foot {
        text-align: center;
    }

    .tbl_foot {
        margin: 0 auto;
    }

    .row_foot02 .col_r {
        width: 100%;
    }

    .nav_foot {
        max-width: 600px;
        margin: 0 auto;
    }

    .list_foot01 {
        font-size: 100%;
        width: auto;
        max-width: 100%;
    }

    .consultation_block {
        padding: 0 0 20px !important;
    }
    .consultation_block_inner .col_txt{
        width: 100% !important;
        padding: 15px 0 15vw;
        text-align: center;
    } 
    .consultation_block_inner .col_txt .ttl02{
        margin: 0 auto;
    }
    .consultation_block_inner .col_txt .txt{
        padding-right: unset !important;
        max-width: 750px;
        margin: 0 auto;
        text-align: left;
    }
    .consultation_block_inner .col_txt .btn_common01{
        text-align: center !important;
        margin-left: auto !important;
    }

    .bnr_foot01.box-sns .bnr01 {
        position: unset;
        margin: 30px auto 0;
    }
}

@media (max-width: 767px) {
    .main_foot {
        padding: 10vw 0 9vw;
    }

    .row_foot01 {
        display: block;
    }

    .row_foot01 > .col_l {
        width: 100%;
        max-width: 100%;
        text-align: center;
        margin-bottom: 4vw;
    }

    .logo_foot {
        max-width: calc(646 / 750 * 100vw);
        margin: 0 auto;
    }

    .logo_foot img {
        width: 100%;
    }

    .row_foot01 > .col_r {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        display: block;
    }

    .tel_foot {
        width: 100%;
        max-width: 100%;
        margin-bottom: 4vw;
    }

    .tel_foot a {
        display: block;
    }

    .tel_foot .txt {
        font-size: 93.75%;
        padding-left: 4vw;
    }

    .tel_foot .txt:before {
        width: calc(24 / 750 * 100vw);
        height: calc(25 / 750 * 100vw);
        left: 0;
        top: .5vw;
    }

    .tel_foot .num {
        font-size: 281.25%;
        margin-top: -1.5vw;
        letter-spacing: .1em;
    }

    .web_foot {
        width: 1000%;
        max-width: calc(646 / 750 * 100vw);
        margin: 0 auto;
    }

    .web_foot a {
        height: calc(100 / 750 * 100vw);
    }

    .web_foot a:after {
        border-width: calc(14 / 750 * 100vw) 0 calc(14 / 750 * 100vw) calc(14 / 750 * 100vw);
        right: .8vw;
        bottom: 0;
    }

    .web_foot .icn {
        max-width: calc(44 / 750 * 100vw);
        margin-right: 2vw;
    }

    .web_foot .txt {
        font-size: 118.75%;
    }

    .bottom_foot {
        padding: 9vw 0;
    }

    .row_foot02 {
        display: block;
        margin-bottom: 8.5vw;
    }

    .row_foot02 .col_l {
        width: 100%;
        max-width: 100%;
        margin-bottom: 8vw;
    }

    .address_foot {
        text-align: center;
        font-size: 93.75%;
        letter-spacing: 0;
        line-height: 1.33;
        margin-bottom: 3vw;
    }

    .tbl_time02 .box {
        padding: 3vw 5.5vw 3.6vw;
    }

    .tbl_time02 .txt {
        padding-left: 7vw;
        font-size: 68.75%;
        color: #fff;
    }

    .tbl_time02 tbody td {
        font-size: 62.5%;
    }

    .tbl_time02 table {
        max-width: 100%;
    }

    .row_foot02 .col_r {
        width: 100%;
    }

    .nav_foot {
        max-width: calc(646 / 750 * 100vw);
        margin: 0 auto;
    }

    .list_foot01 {
        width: 50%;
        max-width: 100%;
    }

    .list_foot01.list_l {
        width: 100%;
        margin-bottom: 5.5vw;
    }

    .btn_map {
        position: relative;
        left: auto;
        top: auto;
        width: calc(646 / 750 * 100vw);
        margin: 0 auto;
    }

    .btn_map a {
        height: calc(100 / 750 * 100vw);
    }

    .btn_map a:after {
        border-width: calc(14 / 750 * 100vw) 0 calc(14 / 750 * 100vw) calc(14 / 750 * 100vw);
        right: 1vw;
    }

    .btn_map .icn {
        width: calc(28 / 750 * 100vw);
        margin: 0 2vw .5vw 0;
    }

    .btn_map .icn img {
        width: 100%;
    }

    .btn_map .txt {
        font-size: 118.75%;
        letter-spacing: .1em;
    }

    .copyright {
        font-size: 93.75%;
        letter-spacing: .1em;
        padding: 6vw 0 22vw;
    }

    .pagetop {
        display: none !important;
    }

    .fix {
        position: fixed;
        width: 100%;
        left: 0;
        bottom: 0;
        z-index: 9;
    }

    .fix_tel a {
        height: calc(100 / 750 * 100vw);
    }

    .fix_tel .icn {
        max-width: calc(28 / 750 * 100vw);
        display: block;
        line-height: 1;
        margin-bottom: 1vw;
    }

    .fix_tel .num {
        display: block;
        line-height: 1;
        font-size: 100%;
        letter-spacing: .1em;
    }

    .fix_tel ,
    .fix_web ,
    .fix_bnr{
        width: calc(100%/3);
    }

    .pagetop_sp {
        z-index: 99;
        width: calc(150 / 750 * 100vw);
        position: fixed;
        bottom: calc(120 / 750 * 100vw);
        right: 3px;
    }

    .fix_web a, .pagetop_sp a {
        display: block;
    }

    .bnr_foot01 {
        margin-top: calc(60 / 750 * 100vw);
    }

    .clearspace{
        display: none;
    }
    .bnr_foot01.box-sns .bnr01 {
        position: unset;
        margin: 30px auto 0;
    }
}

/* youtubeコンテンツ index_youtube
------------------------------------------------------------------*/
.index_youtube iframe {
    height: 394px;
}

@media (max-width: 767px) {
    .index_youtube iframe {
        height: calc(394 / 750 * 100vw);
    }
}

/* コピペ用 copy&paste
------------------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 960px) {
}

.home .btn_common01 {
    width: 48%;
}

#sb_instagram.sbi_col_4 #sbi_images .sbi_item {
    padding: 5px !important;
}

.flex.bnr_foo p {
    width: calc(100% / 3 - 10px);
}

.home .hdg4 {
    border-bottom: unset !important;
    display: block;
    margin-bottom: -10px;
    padding-bottom: 0;
}

.recruit .tbl_default.reverse th {
    width: 20%;
}

@media (max-width: 767px) {
    .home .btn_common01:first-child {
        margin-bottom: 10px;
    }

    .home .box_common02 .ttl small:before {
        display: none;
    }

    .flex.bnr_foo {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    .flex.bnr_foo p {
        width: 95%;
    }
}

.pediatric .content_low {
    padding: 0px 0 200px;
}

.pediatric .hdg4top {
    border-bottom: unset !important;
    display: block;
    margin-bottom: -10px;
    padding-bottom: 0;
}

.pediatric #pediatric01 {
    padding-top: 100px;
}

.pediatric-test .content_low {
    padding: 0px 0 200px;
}

.pediatric-test .hdg4 {
    border-bottom: unset !important;
    display: block;
    margin-bottom: -10px;
    padding-bottom: 0;
}

.pediatric-test #pediatric01 {
    padding-top: 100px;
}

.col3 {
    display: flex;
    flex-wrap: wrap;
}

.col3 figure {
    width: calc((100% / 3) - 10px);
    padding: 10px;
}

@media (max-width: 767px) {
    .col3 figure {
        width: calc((100% / 2) - 10px);
        padding: 10px;
    }
}

@media (max-width: 375px) {
    .col3 figure {
        width: 100%;
        padding: 10px;
    }
}

.homepage img {
    height: auto;
}

.box_supervisor {
    margin-top: 30px;
}

.gr_supervisor {
    display: flex;
    padding: 20px;
    border: 2px solid #aa9d77;
    justify-content: space-between;
}

.gr_supervisor dt {
    width: 300px;
}

.gr_supervisor dd {
    width: calc(100% - 330px);
}

.tit_supervisor {
    background: #aa9d77;
    padding: 10px 20px;
    font-weight: bold;
    color: #fff
}

.gr_supervisor_link a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    height: 50px;
    margin: 10px auto;
    background: #676252;
    color: #fff;
}

#topic_path ul {
    display: flex;
}

@media (min-width: 768px) {
    .gr_supervisor_link a {
        font-size: 16px;
    }

    .tit_supervisor {
        font-size: 20px;
    }

    #topic_path {
        margin: -60px 0 50px 0;
    }
    .pagetop_sp{ display: none !important;}
}

@media (max-width: 767px) {
    .gr_supervisor {
        display: block
    }

    .gr_supervisor dt {
        margin-bottom: 15px;
    }

    .gr_supervisor dt, .gr_supervisor dd {
        width: 100%;
    }

    .box_supervisor {
        margin-top: 10px;
    }

    .gr_supervisor_link a {
        width: 41vw;
        height: 10vw;
    }

    #topic_path {
        margin-bottom: 30px;
        margin-top: -10px;
    }

    #topic_path ul {
        flex-wrap: wrap;
    }
}

.pediatric #topic_path {
    padding: 30px 0;
    margin: 0;
}

.pediatric-test #topic_path {
    padding: 30px 0;
    margin: 0;
}

.supervisor_name_jp {
    margin-top: 15px;
}

.supervisor_name_jp, .supervisor_name_en {
    text-align: center;
    font-family: a-otf-ryumin-pr6n, serif;
    line-height: 28px;
}

.supervisor_name_jp span:first-child {
    margin-right: 15px;
}

.supervisor_name_en {
    color: #b4ae9b
}

.txt-logo {
    font-size: 15px;
    text-align: right;
    color: #fff;
    font-weight: 400;
}

.low_head h1 {
    display: flex;
    flex-direction: column;
}

.head-title {
    font-size: 188.89%;
    display: block;
    text-align: center;
}

/*
.block-list ul {
	display: grid;
	grid-template-columns: repeat(3, 3fr);
	grid-column-gap: 20px;
	grid-row-gap: 20px;
	margin: 20px 0 40px;
}
.block-list li {
	border-radius: 20px;
	padding: 20px;
	background: #f8f7f4;
}
*/
.block-list li .ttl {
    text-align: center;
    text-shadow: 2px 2px 0px #ffffff, -2px 2px 0px #ffffff, 2px -2px 0px #ffffff, -2px -2px 0px #ffffff, 2px 0px 0px #ffffff, 0px 2px 0px #ffffff, -2px 0px 0px #ffffff, 0px -2px 0px #ffffff;
    letter-spacing: .1em;
    line-height: 1.4em;
    font-size: 20px;
}

.block-item {
    display: flex;
    justify-content: center;
    background: #fff;
    position: relative;
    margin: 20px 0 0;
    padding: 20px;
    border-radius: 10px;
    width: 100%;
}

/*
.block-item:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-left: 7px solid #454545;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	right: 4px;
	bottom: 2px;
	transform: rotate(45deg);
}
*/
.block-item p:last-child {
    padding-right: 0;
}

.caption {
    text-align: center;
    line-height: 1.6em;
}

.flex_box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.block-list ul.list02 {
    max-width: 900px;
    margin: 35px auto;
    text-align: center;
}

.block-list ul.list02 li {
    background: #bcb192;
    color: #fff;
    line-height: 1.4em;
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 250px;
    height: 100%;
    margin: auto;
}

.block-list ul.list02 li:last-child:before {
    display: none;
}

/*
.block-list ul.list02 li:after {
	content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid #fff;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    right: 10px;
    bottom: 6px;
    transform: rotate(45deg);
}
*/
.block-list ul.list02 li:before {
    position: absolute;
    content: '';
    background: url(images/icon-right.png) no-repeat center;
    width: 40px;
    height: 40px;
    right: -50px;
    background-size: contain;
    z-index: 2;
}

.box_common02.content-box {
    text-align: center;
    max-width: 900px;
    margin: auto;
    padding: 40px;
    border: revert-layer;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    border-radius: 15px;
}

.group-item {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    max-width: 860px;
    margin: 0 auto 40px;
}

.group-item li {
    width: 28%;
    margin: 20px;
    border: 1px solid #82a4bf;
    background: transparent;
    border-radius: 50%;
    padding: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.group-item li .item-box {
    background: #82a4bf;
    border-radius: 50%;
    text-align: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 230px;
    margin-right: 2%;
    line-height: 1.4em;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    position: relative;
    padding: 15px;
}

.group-item li .item-box:before {
    content: "";
    position: absolute;
    background: url(images/deco_index_feature03_new.png) no-repeat center / cover;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    pointer-events: none;
}

.group-item li .item-box:last-child {
    margin-right: 0;
}

.block-fullcontent02 .group-item {
    margin: 20px auto 60px;
}

.block-fullcontent02 {
    position: relative;
    background: #edf4fa;
    padding: 80px 0;;
    margin-bottom: 10px;
    z-index: 1;
}

.block-fullcontent02 .btn_common01 {
    margin-top: 40px;
    margin-bottom: 40px;
}

.block-fullcontent02:after {
    content: "";
    position: absolute;
    background: url("images/bg_index_greeting01_new.png");
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: left;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: -1;
}

.none-hover a:hover {
    opacity: 1;
}

.mt40 {
    margin-top: 40px;
}

.block-list {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 60px;
}

.block-item.left {
    background: #bcb192;
}

.block-list .block-item {
    flex-direction: column;
}

.block-item.right .block-inner {
    /* background: #82a4bf; */
    background: #a89c79;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.block-item.right .block-inner:last-child {
    margin-bottom: 0;
    background: #82a4bf;
}

.block-item.right .block-inner .ttl {
    text-align: center;
    color: #fff;
    line-height: 1.2em;
    font-size: 28px;
}

.block-item.right .block-inner .ttl small {
    font-weight: 300;
}

.item-inner {
    background: #fff;
    border-radius: 10px;
    padding: 10px;
    margin: 10px 0 0;
    font-family: a-otf-ryumin-pr6n, serif;
    font-style: normal;
    font-weight: 300;
}

.block-item.left {
    /* background: #bcb192; */
    background: #686355;
    height: max-content;
}

.block-item .box_common01 {
    padding: 0;
    border: 0;
    color: #fff;
}
.bd01 .box_common01{
    border-color: #aa9d77 ;
}
.block-item .box_common01 .list_default li:before {
    left: 0;
    top: 10px;
    background: #454545;
    border-radius: 50%;
    width: 5px;
    height: 5px;
}

.block-item.left .ttl {
    text-align: center;
    color: #fff;
    line-height: 1.6em;
    font-size: 28px;
    padding-bottom: 20px;
}

.ttl-custom span {
    display: block;
    border-top: 1px solid #454545;
    border-bottom: 1px solid #454545;
    width: max-content;
    margin: 0 auto 20px;
    padding: 0 25px;
}

.block-fullcontent {
    background: url("images/bg_new01.png") no-repeat;
    padding: 0 0 80px;
}

.block-fullcontent .head-title span {
    display: block;
    background: #aa9d77;
    color: #fff;
    border-radius: 50px;
    width: max-content;
    margin: auto;
    padding: 5px 20px;

}

.block-fullcontent .head-title {
    position: relative;
    z-index: 1;
    padding: 60px 0 40px;
}

.block-fullcontent .head-title:before {
    background: #aa9d77;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 55%;
    left: 0;
    z-index: -1;
    content: '';
    transform: translateY(-50%);
}

.block-fullcontent p.img {
    padding: 60px 0;
    text-align: center;
}

.txt-top {
    font-size: 20px;
    color: #000;
    font-weight: bold;
}

.txt-bot {
    line-height: 1.4em;
    color: #aa9d77;
    font-size: 32px;
    display: block;
}

.block-bg ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.block-bg ul li {
    width: 50%;
    padding: 60px 40px;
    position: relative;
    cursor: pointer;
}

.block-bg ul li.bg01 {
    background: url("images/bg_new02.png") no-repeat;
}

.block-bg ul li.bg02 {
    background: url("images/bg_new03.png") no-repeat;
}

.block-bg ul li.bg01 .bg-item {
    margin-left: auto;
}

.block-bg ul li.bg02 .bg-item {
    margin-right: auto;
}

.block-bg ul li .bg-item {
    max-width: 600px;
    text-align: center;
}

.block-bg ul li .bg-item p {
    color: #fff;
    line-height: 1.4em;
    font-size: 32px;
    padding-bottom: 28px;
}

.block-bg ul li .bg-item a:not(.link-btn) {
    position: relative;
    background: #fff;
    font-size: 16px;
    padding: 10px 40px;
    margin-top: 15px;
    color: #454545;
    border-radius: 20px;
}

.block-bg ul li:hover{
    opacity: .8;
}

.block-bg .link-btn{
    position: absolute;
    inset: 0;
}

.block-bg ul li .bg-item a:before {
    position: absolute;
    content: "";
    background: url(images/icon-right.png) no-repeat right center / cover;
    width: 12px;
    height: 12px;
    right: 20px;
    bottom: 0;
    top: 0;
    margin: auto;
}

.block-item .list_default {
    background: #fff;
    color: #454545;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    padding: 20px
}

.block-item .box_common01 .list_default li {
    font-weight: bold;
    padding-left: 20px;
    padding-bottom: 0;
}

.block-fullcontent02 .btn_common01 {
    position: relative;
    max-width: 100%;
    width: auto;
}

.block-fullcontent02 .btn_common01:before {
    background: #676252;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0;
    content: '';
}

.block-fullcontent02 .btn_common01 a {
    width: 450px;
    margin: auto;
}

.block-fullcontent02 .head-title span {
    position: relative;
}

.block-fullcontent02 .head-title span:before {
    position: absolute;
    content: '';
    top: 0;
    left: -40px;
    background: url(images/icon_shape01.png) no-repeat;
    width: 37px;
    height: 100%;
    background-size: contain;
}

.block-fullcontent02 .head-title span:after {
    position: absolute;
    content: '';
    top: 0;
    right: -55px;
    background: url(images/icon_shape02.png) no-repeat;
    width: 37px;
    height: 100%;
    background-size: contain;
}
.w50{
    width: 50px;
}

.btn_topic a{
    color: white;
    background: #c2d8e9;
    height: fit-content;
    padding: 10px 55px;
    display: block;
    position: relative;
}
.flex_tp{
    display: flex;
    justify-content: space-between;
}
.btn_topic a:before {
    position: absolute;
    content: "";
    background: url(images/page/arw_acc02.svg) no-repeat right center / cover;
    width: 15px;
    height: 12px;
    right: 20px;
    bottom: 0;
    top: 0;
    margin: auto;
}

.listcate{
    text-align: center;
    margin-bottom: 20px;
}
.listcate a{
    display: inline-block;
    width: 100%;
}

.consultation_block{
    background-color: #8FDFDC;
    padding: 80px 0;
}
.consultation_block_inner .col_img {
    max-width: unset !important;
    position: relative;
}
.consultation_block_inner .col_img .ttl{
    position: absolute;
    bottom: -6%;left: 0;
}

.consultation_block_inner .col_txt .txt{
    padding-right: 30%;
    color: #084947;
}
.consultation_block_inner .col_txt .btn_common01{
    text-align: left;
    margin-left: 0;
}
.consultation_block_inner .col_txt .ttl02{ 
    display: inline-block;
    font-size: 32px;
    position: relative;
    padding: 10px 0 15px;
    margin-bottom: 35px;
    text-align: center;
    color: #084947;
    font-weight: bold;
}
.consultation_block_inner .col_txt .ttl02 .txt_b{
    font-size: 120%;

}
.consultation_block_inner .col_txt .ttl02::before{
    position: absolute;
    content: "";
    bottom: 0; left: 50%; transform: translateX(-50%);
    height: 2px; width: 110px;
    background-color: #fff;
}
.consultation_block_inner .col_txt .ttl02::after{
    position: absolute;
    content: "";
    bottom: 0; left: 50%; transform: translateX(-50%);
    height: 1px; width: 100%;
    background-color: #fff;
}
.consultation_block_inner .col_txt{
    align-self: center;
}


@media (min-width: 768px) and (max-width: 1400px) {
    .block-fullcontent p.img {
        width: 750px;
        margin: auto;
    }

    .box_common02.content-box {
        max-width: 750px;
    }

    .block-fullcontent {
        background-position: -90px 0;
    }

    .block-fullcontent .head-title:before {
        top: 57%;
    }

    .block-item .box_common01 .list_default li {
        font-size: 17px;
    }

    .txt-logo {
        font-size: .75vw;
    }

}
@media (min-width: 961px) and (max-width: 1400px) {
    .consultation_block_inner .col_txt {
        width: 45% !important;
    }
}
@media (min-width: 768px) {

    .supervisor_name_jp span:nth-child(2) {
        font-size: 20px;
    }

   

    .supervisor_name_jp, .supervisor_name_en {
        font-size: 16px;
    }

    .block-item.left {
        width: 42%;
    }

    .block-item.right {
        width: 42%;
        margin-left: 40px;
        padding: 0;
    }

    .list-box_defau {
        display: flex;
        justify-content: space-between;
    }

    .list-box_defau .txt {
        font-size: 16px;
        margin: 0;
    }

    .list-box_defau .defaul-left {
        width: 60%;
    }

    .list-box_defau .defaul-right {
        width: 38%;
    }

    .list-box_defau .box_common02 .ttl span {
        font-size: 120.77%;
    }

    .list-box_defau .box_common02.defaul-right .ttl span {
        font-size: 120.77%;
        background: url(images/index/icn_index_medical01.svg) no-repeat;
        background-position: left;
        display: block;
        width: 100%;
        text-align: center;
    }

    .list-box_defau .box_common02 {
        padding: 25px;
        height: max-content;
        margin: 0;
    }

   

}

@media (max-width: 767px) {
.spmb0{ margin-bottom:  0 !important;}

    .btn_topic a {
        color: white;
        background: #c2d8e9;
        height: fit-content;
        padding: 10px 25px 10px 15px;
        display: block;
        position: relative;
    }

    .btn_topic a:before {
        width: 12px;
        height: 12px;
        right: 5px;
    }
    

    .copy_main01.copy_main01_fix {
        letter-spacing: 0;
    }

    .txt-logo {
        font-size: 2.2vw;
    }

    .block-fullcontent {
        position: relative;
        z-index: 1;
        background: #e4f2ff;
    }

    .caption {
        font-size: 18px;
    }

    .block-item .box_common01 .list_default li {
        font-size: 16px;
    }

    .block-item.right .block-inner .ttl {
        font-size: 20px;
    }

    .block-fullcontent .head-title {
        padding: 40px 0;
    }

    .block-fullcontent .head-title span {
        font-size: 24px;
    }

    .box_common02.content-box {
        padding: 20px 10px;
    }

    .txt-bot {
        font-size: 20px;
    }

    .txt-top {
        font-size: 18px;
    }

    .block-bg ul li {
        width: auto;
        padding: 40px;
    }

    .block-bg ul {
        display: block;
    }

    .block-fullcontent p.img {
        padding: 40px 0;
    }

    .block-fullcontent p.img img.sp_only {
        margin: 0 auto;
    }

    .block-fullcontent {
        padding: 0 0 40px;
    }

    .block-bg ul li .bg-item a {
        font-size: 14px;
    }

    .block-bg ul li .bg-item p {
        font-size: 20px;
        padding-bottom: 20px;
    }

    .ttl-custom span {
        width: auto;
        line-height: 1.6em;
        font-size: 24px;
        margin: 0 auto 40px;
    }

    .block-fullcontent02 .btn_common01 a {
        width: auto;
    }

    .block-list .block-item.left {
        padding: 20px;
    }

    .block-list .block-item {
        padding: 0;
        margin-top: 30px;
    }

    .block-item.right .block-inner {
        margin-bottom: 30px;
    }

    .block-item.left .ttl {
        font-size: 20px;
    }

    .block-list {
        display: block;
        padding-bottom: 40px;
    }

    .pediatric-test #pediatric01 {
        padding-top: 50px;
    }

    .list-box_defau .box_common02 {
        margin-bottom: 20px;
    }

    .list-box_defau .box_common02:last-child {
        margin-bottom: 0;
    }

    .block-list ul.list02 li {
        height: auto;
        margin: 0 auto 50px;
    }

    .block-list ul.list02 li:last-child {
        margin: auto;
    }

    .block-list ul.list02 li:before {
        background: url(images/icon-down.png) no-repeat center;
        top: auto;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        bottom: -55px;
        background-size: contain;
    }

    .block-fullcontent .group-item li {
        width: auto;
    }

    .group-item li {
        width: 180px;
        height: 180px;
        font-size: 14px;
    }

    .block-fullcontent02 .group-item {
        display: flex;
        margin: 25px auto 0;
        max-width: 100%;
    }

    .group-item li .item-box {
        width: 100%;
        height: 100%;
    }

    .block-fullcontent02 .btn_common01 {
        width: 100%;
    }

    .block-fullcontent02 {
        padding: 30px 0 40px;
    }

    .block-fullcontent .head-title:before {
        top: 50%;
    }

    .consultation_block {
        padding: 0 0 0;
    }
    .consultation_block_inner .col_txt{
        padding: 15px 0 15vw;
    } 
    .consultation_block_inner .col_txt .txt{
        color: #084947;
        padding: 0 0 10vw;
    }
    .consultation_block_inner .col_txt .ttl02{
        position: relative;
        display: block;
        font-size: 36px;
        padding: 10px 0 15px;
        margin-bottom: 35px;
        text-align: center;
        color: #084947;
        font-weight: bold;
    }
    .consultation_block_inner .col_txt .ttl02::after{
       width: 100%;
    }
    .consultation_block_inner .col_txt .btn_common01{
        margin-top: 20px;
        margin-left: auto;
        text-align: center;
    }

    .consultation_block_inner .col_txt .ttl02 .txt_b{
        font-size: 150%;
        padding-left: 5px;
    }
    .consultation_block_inner .col_img{ position: relative;}
    .consultation_block_inner .col_img .ttl{ 
        position: absolute;
        bottom: -6%; left: 50%; transform: translateX(-50%);
    }

}

@media (max-width: 640px) {
    .group-item li {
        width: 170px;
        height: 170px;
        font-size: 14px;
        margin: 5px 5px 20px;
    }

    .consultation_block_inner .col_txt .ttl02{
        font-size: 26px;
    }
    .consultation_block_inner .col_txt .ttl02 .txt_b{
        font-size: 120%;
    }
}
@media (max-width: 420px){
    .consultation_block_inner .col_txt .ttl02{
        font-size: 22px;
    }
}

@media (max-width: 375px) {
    .block-fullcontent .group-item li {
        margin: 0 10px 0 0;
    }

    .block-fullcontent .group-item li:last-child {
        margin: 0;
    }

    .group-item li a {
        font-size: 12px;
    }

    .group-item li {
        margin: 5px 5px 20px;
        font-size: 14px;
        width: 160px;
        height: 160px;
    }

    .block-fullcontent02 .btn_common01 {
        margin-top: 20px;
        margin-bottom: 30px;
    }

    .consultation_block_inner .col_txt .ttl02{
        font-size: 20px;
    }
}

@media (max-width: 360px) {
    .block-fullcontent02 .group-item {
        display: flex;
    }

    .block-fullcontent .group-item li {
        margin: 0 0 20px;
    }

}
