@charset "UTF-8";

/* ##### base.css上書き base.css overwrite ##### */
html {
    font-family: var(--font_01);
    color: var(--color-default_text);
    letter-spacing: 0.1em;
    background-color: var(--color-default_bgc);
}

.wrapper {
    min-width: 375px;
}

.fead-cover {
    overflow: hidden;
    z-index: 2;
}

.fead-cover.-cover01::before {
    background-color: var(--color-bgc_01);
}

.fead-cover.-cover02::before {
    background-color: var(--color-bgc_02);
}

.map {
    padding-top: 70%;
}

/* ##### 共通使用 common ##### */
.h1-parent h1 {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5em;
    font-size: 10px;
    position: relative;
}

.logo {
    max-width: 250px;
}

.logo img {
    width: 100%;
}

.phone .tel {
    display: inline-block;
}

.phone .tel a {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: clamp(1.2rem, 0.84rem + 1.55vw, 2rem);
    color: var(--color-text_01);
}

.phone .tel a::before {
    content: "\f095";
    display: inline-block;
    margin-right: 0.2em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 90%;
    color: var(--color-text_01);
    line-height: 1;
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

.phone.-big a {
    font-size: clamp(1.6875rem, 1.18rem + 2.18vw, 2.8125rem);
}

.all-white * {
    color: white;
}

.color-text-01 {
    color: var(--color-text_01);
}

.color-text-02 {
    color: var(--color-text_02);
}

.color-text-03 {
    color: var(--color-text_03);
}

.color-text-04 {
    color: var(--color-text_04);
}

.color-text-05 {
    color: var(--color-text_05);
}

.color-text-06 {
    color: var(--color-text_06);
}

.color-text-07 {
    color: var(--color-text_07);
}

.color-text-08 {
    color: var(--color-text_08);
}

.color-bgc-01 {
    background-color: var(--color-bgc_01);
}

.color-bgc-02 {
    background-color: var(--color-bgc_02);
}

.color-bgc-03 {
    background-color: var(--color-bgc_03);
}

.color-bgc-04 {
    background-color: var(--color-bgc_04);
}

.color-bgc-05 {
    background-color: var(--color-bgc_05);
}

.color-bgc-06 {
    background-color: var(--color-bgc_06);
}

.color-bgc-07 {
    background-color: var(--color-bgc_07);
}

.color-bgc-08 {
    background-color: var(--color-bgc_08);
}

.marker {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, var(--color-bgc_06)));
    background: linear-gradient(transparent 60%, var(--color-bgc_06) 60%);
}

.map2 {
    padding-top: 35%;
}

.text-lead {
    line-height: 2;
    text-align: center;
}

.text-lh {
    line-height: 2;
}

.text-01 {
    font-size: 95%;
    line-height: 1.8;
}

.noinner-wrap .noinner {
    max-width: 600px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1em;
}

.noinner-wrap .noinner.-left {
    margin-left: auto;
}

.noinner-wrap .noinner.-right {
    margin-right: auto;
}

.time-box {
    padding: 0.5em 1em;
    border-radius: 3px;
    background-color: var(--color-bgc_04);
}

.time-box * {
    color: white;
}

.time-title {
    font-weight: bold;
    font-size: 18px;
}

.time-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    font-size: 12px;
}

.time-list dt {
    width: 3.5em;
    -moz-text-align-last: justify;
    text-align-last: justify;
}

.time-list dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1em;
}

.time-notice {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 0.5em;
    margin-left: auto;
    margin-right: auto;
    padding: 0.3em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    font-size: 12px;
}

.cross.-slip .cross-item {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.cross.-slip .cross-item .block-content {
    margin-top: 5em;
    margin-left: -5%;
    padding: 2em 2em 2em 14%;
    background-color: var(--color-bgc_05);
}

.cross.-slip .cross-item .block-content .title-03 {
    margin-top: -2em;
}

.cross.-slip .cross-item .block-img {
    margin-right: -5%;
    position: relative;
    z-index: 1;
}

.cross.-slip .cross-item:nth-child(even) .block-content {
    margin-top: 0;
    margin-left: 0;
    margin-right: -5%;
    padding: 2em 14% 2em 2em;
}

.cross.-slip .cross-item:nth-child(even) .block-img {
    margin-top: 5em;
    margin-left: -5%;
    margin-right: 0;
}

.parallel.-pattern-01 {
    position: relative;
}

.parallel.-pattern-01::before,
.parallel.-pattern-01::after {
    content: "";
    width: 2em;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
}

.parallel.-pattern-01::before {
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#00ffffff", GradientType=1);
    left: 0;
}

.parallel.-pattern-01::after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
    right: 0;
}

.parallel.-pattern-01 .block-content {
    background-color: var(--color-bgc_02);
}

.parallel.-pattern-01 .block-content .item {
    padding: 2em 3em;
}

.parallel.-pattern-02 .block-content {
    width: 50%;
    padding: 3em 0;
    position: relative;
    z-index: 2;
}

.parallel.-pattern-02 .block-img {
    width: 60%;
    margin-left: -10%;
}

.parallel.-pattern-02 .block-img .img {
    position: relative;
}

.parallel.-pattern-02 .block-img .img::before {
    content: "";
    width: 50%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), color-stop(25%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 25%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#00ffffff", GradientType=1);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.float-box-wrap.-pattern-01 {
    background-color: var(--color-bgc_02);
    position: relative;
}

.float-box-wrap.-pattern-01::before,
.float-box-wrap.-pattern-01::after {
    content: "";
    width: 2em;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
}

.float-box-wrap.-pattern-01::before {
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#00ffffff", GradientType=1);
    left: 0;
}

.float-box-wrap.-pattern-01::after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#ffffff", GradientType=1);
    right: 0;
}

.float-box-wrap.-pattern-01 .float-box-title,
.float-box-wrap.-pattern-01 .float-box-content {
    padding: 1em 3em;
}

.grid-01 {
    display: -ms-grid;
    display: grid;
}

.grid-01-content,
.grid-01-img {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
}

.grid-01-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.grid-01-img .img {
    height: 100%;
}

.grid-01-img .img::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(240, 167, 200, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.grid-02 {
    display: -ms-grid;
    display: grid;
}

.grid-02-img,
.grid-02-content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
}

.grid-02-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2em;
    position: relative;
    z-index: 2;
}

.grid-02-img .img {
    height: 100%;
}

.grid-02-img .img::before {
    content: "";
    width: 80%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), color-stop(50%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#00ffffff", GradientType=1);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.grid-03 a {
    display: -ms-grid;
    display: grid;
}

.grid-03 a .grid-03-img,
.grid-03 a .grid-03-content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
}

.grid-03 a .grid-03-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    z-index: 1;
}

.scroll-box {
    max-height: 400px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.scroll-box::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.scroll-box::-webkit-scrollbar-track {
    background-color: var(--color-bgc-gray_02);
}

.scroll-box::-webkit-scrollbar-thumb {
    border-radius: 0.25rem;
    background-color: var(--color-bgc-gray_03);

    --bg-opacity: 1;
}

.scroll-box li+li {
    margin-top: 1em;
}

.card-01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.card-01 .card-img {
    width: 25%;
}

.card-01 .card-content {
    width: 10%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1em;
}

.card-02 .card-img {
    margin-bottom: 2em;
    position: relative;
}

.card-02 .card-img .num {
    width: 2em;
    height: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
    font-size: 1.5em;
    color: white;
    line-height: 1;
    border-radius: 100%;
    background-color: var(--color-bgc_01);
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    position: absolute !important;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}

.card-03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1em;
    border-radius: 1em;
    background-color: white;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
}

.card-03 .card-img {
    width: 25%;
}

.card-03 .card-content {
    width: 10%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1em;
}

.btn-abso {
    padding-bottom: 100px;
    position: relative;
}

.btn-abso .btn-01 {
    margin: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.zoom a .img {
    overflow: hidden;
}

.zoom a .img img {
    -webkit-transition: -webkit-transform 0.3s linear;
    transition: -webkit-transform 0.3s linear;
    transition: transform 0.3s linear;
    transition: transform 0.3s linear, -webkit-transform 0.3s linear;
}

.zoom a:hover .img img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.box-white {
    padding: 2em;
    border-radius: 5px;
    background-color: white;
}

.box-border {
    padding: 1em;
    border: 1px solid var(--color-border_02);
    border-radius: 5px;
}

.bnr {
    margin-top: 50px;
}

.bnr a {
    display: -ms-grid;
    display: grid;
    overflow: hidden;
    border-radius: 1em;
}

.bnr-img,
.bnr-content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
}

.bnr-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1em;
    position: relative;
    z-index: 1;
}

.bnr-title {
    font-size: 2em;
    color: var(--color-text_02);
    text-align: center;
    text-shadow: 2px 2px 1px white,
    -2px 2px 1px white,
    2px -2px 1px white,
    -2px -2px 1px white,
    2px 0px 1px white,
    0px 2px 1px white,
    -2px 0px 1px white,
    0px -2px 1px white;
}

@media (max-width: 1024px) {
    .h1-parent {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
    }

    .h1-parent h1 {
        width: 100%;
        padding-right: 75px;
        text-shadow: var(--shadow-white_01);
    }

    .map2 {
        padding-top: 50%;
    }

    .text-lead {
        text-align: left;
    }

    .text-lh {
        line-height: 1.8;
    }

    .parallel.-pattern-02 {
        display: -ms-grid;
        display: grid;
    }

    .parallel.-pattern-02 .block-content,
    .parallel.-pattern-02 .block-img {
        width: 100%;

        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 1;
        grid-column: 1;
    }

    .parallel.-pattern-02 .block-content .noinner {
        max-width: 100%;
    }

    .parallel.-pattern-02 .block-img {
        margin-left: 0;
    }

    .parallel.-pattern-02 .block-img .img {
        opacity: 0.3;
    }

    .parallel.-pattern-02 .block-img .img::before {
        display: none;
    }

    .box-white {
        padding: 2em 2em;
    }
}

@media (max-width: 599px) {
    .h1-parent h1 {
        padding-right: 65px;
    }

    .map2 {
        padding-top: 80%;
    }

    .cross.-sp-content-box .-sp-content-item {
        display: contents;
    }

    .cross.-slip .cross-item .block-content {
        margin-left: 0;
    }

    .cross.-slip .cross-item .block-content .title-03 {
        margin-top: 0;
    }

    .cross.-slip .cross-item .block-content .text {
        padding: 1em;
        background-color: var(--color-bgc_05);
    }

    .cross.-slip .cross-item .block-img {
        margin-right: 0;
    }

    .cross.-slip .cross-item:nth-child(even) .block-content {
        margin-right: 0;
    }

    .cross.-slip .cross-item:nth-child(even) .block-img {
        margin-top: 0;
        margin-left: 0;
    }

    .box-white {
        padding: 2em 1em;
    }

    .card-03 .card-img {
        width: 35%;
    }

    .card-04 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .card-04 .card-img {
        width: 35%;
    }

    .card-04 .card-content {
        width: 10%;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding: 1em;
    }
}

/* #### jsスライダー js slider ##### */
/* ##### テーブル table ##### */
.table-wrap.double-line {
    margin-bottom: 0.5em;
    outline: 2px solid var(--color-border_02);
    border: 4px solid transparent;
}

.table-wrap.double-line table {
    border: 1px solid var(--color-border_02);
}

.time-table tr th,
.time-table tr td {
    padding: 1em;
    text-align: center;
}

.time-table tr th {
    color: white;
    background-color: var(--color-bgc_02);
}

.time-table tr th+th {
    border-left: 1px solid white;
}

.time-table tr td {
    background-color: white;
}

.time-table tr td+td {
    border-left: 1px solid var(--color-default_text);
}

.time-table tr:nth-of-type(n+2) th:nth-of-type(1) {
    border-top: 1px solid white;
}

.time-table tr:nth-of-type(n+2) td {
    border-top: 1px solid var(--color-default_text);
}

.table-fee {
    max-width: 700px;
    border: 1px solid var(--color-border_02);
}

.table-fee tr th,
.table-fee tr td {
    table-layout: fixed;
    padding: 1em;
}

.table-fee tr th {
    width: 25%;
    color: white;
    background-color: var(--color-bgc_02);
}

.table-fee tr+tr th {
    border-top: 1px solid white;
}

.table-fee tr+tr td {
    border-top: 1px solid var(--color-border_02);
}

.table-fee tr td+td {
    border-left: 1px solid var(--color-border_02);
}

@media (max-width: 599px) {
    .time-table tr th,
    .time-table tr td {
        padding: 0.5em 0.25em;
        font-size: 13px;
    }
    
    .table-fee {
        max-width: 100%;
    }

    .table-fee tr th {
        width: 35%;
    }
}

/* ##### タイトル title ##### */
.title-01 {
    margin-bottom: 1em;
    font-size: clamp(1.35rem, 0.94rem + 1.75vw, 2.25rem);
}

.title-02 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 1.5em;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(1.275rem, 0.89rem + 1.65vw, 2.125rem);
}

.title-02 .main::after {
    content: "";
    width: 80%;
    height: 1px;
    display: block;
    margin: 0.5em 0;
    margin-left: auto;
    margin-right: auto;
    background-color: var(--color-default_text);
}

.title-02 .sub {
    display: block;
    font-size: 70%;
}

.title-03 {
    width: 100%;
    margin-bottom: 1em;
    font-size: clamp(1.4rem, 1.24rem + 0.68vw, 1.75rem);
}

.title-03 span {
    display: block;
}

.title-03 .main {
    color: var(--color-text_02);
}

.title-03 .sub {
    color: var(--color-text_01);
    font-style: italic;
}

.title-03.-big {
    font-size: clamp(1.4875rem, 1.2rem + 1.24vw, 2.125rem);
}

.title-04 {
    margin-bottom: 1em;
    font-size: clamp(1rem, 0.89rem + 0.48vw, 1.25rem);
}

.title-05 {
    margin-bottom: 1em;
    font-size: clamp(1.35rem, 1.28rem + 0.29vw, 1.5rem);
}

.title-06 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 1em;
    padding-left: 1.5em;
    padding-right: 1.5em;
    font-size: clamp(1.2rem, 1.06rem + 0.58vw, 1.5rem);
    position: relative;
}

.title-06::before,
.title-06::after {
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
}

.title-06::before {
    content: "＼";
    left: 0;
}

.title-06::after {
    content: "／";
    right: 0;
}

.title-07 {
    display: inline;
    font-size: clamp(1.3125rem, 1.06rem + 1.09vw, 1.875rem);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, var(--color-bgc_06)));
    background: linear-gradient(transparent 60%, var(--color-bgc_06) 60%);
}

.title-07-wrap {
    margin-bottom: 1em;
}

.title-08 {
    margin-bottom: 0.5em;
    font-size: 16px;
}

.title-09 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 1em;
    padding: 0.5em 1em;
    font-size: clamp(1.275rem, 0.89rem + 1.65vw, 2.125rem);
    background-color: rgba(255, 255, 255, 0.8);
}

.title-10 {
    margin-bottom: 1em;
    padding-bottom: 1em;
    font-size: clamp(1.1375rem, 0.92rem + 0.95vw, 1.625rem);
    position: relative;
}

.title-10::before,
.title-10::after {
    content: "";
    height: 0.3em;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.title-10::before {
    width: 30%;
    background-color: var(--color-bgc_01);
    z-index: 2;
}

.title-10::after {
    width: 100%;
    background-color: var(--color-bgc-gray_03);
    z-index: 1;
}

.title-10.-mini {
    padding-bottom: 0.5em;
    font-size: clamp(1.1rem, 0.98rem + 0.53vw, 1.375rem);
}

.title-10.-mini::before,
.title-10.-mini::after {
    height: 0.2em;
}

.title-11 {
    margin-bottom: 1em;
    padding-left: 2em;
    font-weight: bold;
    font-size: clamp(1.2rem, 1.06rem + 0.58vw, 1.5rem);
    position: relative;
}

.title-11 .sub {
    width: 1.5em;
    height: 1.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: white;
    line-height: 1;
    border-radius: 100%;
    background-color: var(--color-bgc_02);
    position: absolute;
    top: 0;
    left: 0;
}

.title-12 {
    margin: 0.5em 0;
    font-size: clamp(1.4875rem, 1.2rem + 1.24vw, 2.125rem);
}

.title-box-01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 1em;
    padding: 1.5em 0;
    position: relative;
}

.title-box-01::before,
.title-box-01::after {
    content: "";
    height: 0.3em;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.title-box-01::before {
    width: 30%;
    background-color: var(--color-bgc_01);
    z-index: 2;
}

.title-box-01::after {
    width: 100%;
    background-color: var(--color-bgc-gray_03);
    z-index: 1;
}

/* #### リスト list ##### */
.list-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.list-sns li+li {
    margin-left: 0.5em;
}

.list-sns li a {
    font-size: 2.5em;
}

.list-sns li a[href=""],
.list-sns li a[href="#"] {
    display: none;
}

.list-sns li a .icon-fa-brands-line::before {
    color: var(--color-text_01);
    background-color: transparent;
}

.list-sns li a .icon-fa-brands-instagram::before {
    color: var(--color-text_01);
}

.list-treatment li a {
    height: 100%;
    display: block;
    padding: 1em;
    border: 1em solid var(--color-border_05);
    background-color: white;
}

.list-treatment li a [class*=title] {
    margin-top: 1em;
}

.list-faq {
    padding: 1em 0;
    border-bottom: 1px solid var(--color-border-gray_03);
}

.list-faq dt {
    padding: 0.5em 3em 0.5em 1.5em;
    font-weight: bold;
    font-size: clamp(1.2rem, 1.06rem + 0.58vw, 1.5rem);
    position: relative;
}

.list-faq dt::after {
    content: "\f107";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--color-text_01);
    -webkit-transition: -webkit-transform 0.3s linear;
    transition: -webkit-transform 0.3s linear;
    transition: transform 0.3s linear;
    transition: transform 0.3s linear, -webkit-transform 0.3s linear;
    position: absolute;
    top: 0.5em;
    right: 1em;
}

.list-faq.action dt::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.list-faq dt:hover {
    cursor: pointer;
}

.list-faq dt::before {
    content: "Q.";
    color: var(--color-text_02);
    line-height: 1;
    position: absolute;
    top: 0.7em;
    left: 0;
}

.list-faq dd {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-left: 1.5em;
    font-size: clamp(1.1rem, 0.98rem + 0.53vw, 1.375rem);
    position: relative;
}

.list-faq dd::before {
    content: "A.";
    color: var(--color-text_02);
    line-height: 1;
    position: absolute;
    top: 0.7em;
    left: 0;
}

.list-flow li {
    padding: 2em;
    border-radius: 5px;
    background-color: white;
}

.list-flow li+li {
    margin-top: 3em;
}

.list-achieve {
    padding: 1em;
    border-radius: 0.5em;
    background-color: var(--color-bgc_05);
}

.list-achieve dt,
.list-achieve dd {
    font-family: var(--font_02);
    font-weight: bold;
    font-size: 80%;
}

.list-reason li .item {
    height: 100%;
    padding: 2em 1em;
    border-radius: 10px;
    background-color: white;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
}

.list-flat.-ver2 {
    font-size: 14px;
}

.list-flat.-ver2 dt {
    width: 35%;
}

.list-flat.-ver2 dt.first-letter::first-letter {
    font-size: 150%;
    color: var(--color-text_01);
    line-height: 1;
}

.list-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-table+.list-table>dt {
    border-top: 1px solid white;
}

.list-table+.list-table>dd {
    border-top: 1px solid var(--color-border_01);
}

.list-table-wrap {
    max-width: 1000px;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid var(--color-border_01);
    border-radius: 2em;
}

.list-table>dt,
.list-table>dd {
    padding: 1.5em;
}

.list-table>dt {
    width: 25%;
    color: white;
    background-color: var(--color-bgc_01);
}

.list-table>dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-book li:nth-child(1) .card-04 .card-img {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
}

.list-book li:nth-child(3) .card-04 .card-img {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
}

.list-anchor {
    margin: 2em 0;
}

.list-anchor a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em 3em 0.5em 1em;
    border: 2px solid var(--color-border_01);
    border-radius: 0.2em;
    background-color: white;
    position: relative;
}

.list-anchor a::after {
    content: "\f103";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--color-text_01);
    position: absolute;
    top: 0.5em;
    right: 1em;
}

.list-anchor a:hover {
    color: white;
    background-color: var(--color-bgc_01);
    opacity: 1;
}

.list-anchor a:hover::after {
    color: white;
}

@media (max-width: 1024px) {
    .list-flow li+li {
        margin-top: 2em;
    }

    .list-flat.-ver2 dt {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .list-flat.-ver2 dd {
        width: 100%;
    }
}

@media (max-width: 599px) {
    .list-check li::before {
        top: 0.2em;
    }

    .list-flat dt {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .list-flat dd {
        width: 100%;
        padding-left: 1em;
    }

    .list-treatment li a {
        padding: 0.5em;
        border: 0.5em solid var(--color-border_05);
    }

    .list-flow li+li {
        margin-top: 1em;
    }

    .list-table>dt,
    .list-table>dd {
        width: 100%;
        padding: 0.5em 2em;
    }

    .list-book li:nth-child(1) .card-04 .card-img,
    .list-book li:nth-child(3) .card-04 .card-img {
        -webkit-transform: none;
        transform: none;
    }
}

/* ##### ボタン button ##### */
.btn-01 {
    width: 90%;
    max-width: 240px;
    margin-top: 4em;
    margin-left: auto;
    margin-right: auto;
}

.btn-01 a,
.btn-01 button {
    width: 100%;
    height: 100%;
    display: block;
    padding: 1em 3em 1em 1em;
    font-size: 18px;
    text-align: center;
    border: 1px solid var(--color-default_border);
    border-radius: 2px;
    position: relative;
}

.btn-01 a::after,
.btn-01 button::after {
    content: "\f0a9";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 120%;
    color: var(--color-text_01);
    line-height: 1;
    position: absolute;
    top: 1em;
    right: 1em;
}

.btn-01 a:hover,
.btn-01 button:hover {
    color: white;
    border: 1px solid var(--color-border_01);
    background-color: var(--color-bgc_01);
    opacity: 1;
}

.btn-01 a:hover::after,
.btn-01 button:hover::after {
    color: white;
}

.btn-01.-big {
    max-width: 380px;
}

.btn-01.-big a,
.btn-01.-big button {
    padding: 1.5em 3em 1.5em 1.5em;
    font-size: clamp(1rem, 0.89rem + 0.48vw, 1.25rem);
}

.btn-01.-white a,
.btn-01.-white button {
    color: var(--color-default_text);
    background-color: white;
}

.btn-01.-white a:hover,
.btn-01.-white button:hover {
    color: white;
    background-color: var(--color-bgc_01);
}

.btn-01.-white a:hover::after,
.btn-01.-white button:hover::after {
    color: white;
}

.btn-01.-pink a,
.btn-01.-pink button {
    color: white;
    border: 1px solid var(--color-border_01);
    background-color: var(--color-bgc_01);
}

.btn-01.-pink a::after,
.btn-01.-pink button::after {
    color: white;
    top: 1.4em;
}

.btn-01.-pink a:hover,
.btn-01.-pink button:hover {
    color: var(--color-text_01);
    background-color: white;
}

.btn-01.-pink a:hover::after,
.btn-01.-pink button:hover::after {
    color: var(--color-text_01);
}

.btn-01.-back a,
.btn-01.-back button {
    padding: 1em 1em 1em 3em;
}

.btn-01.-back a::after,
.btn-01.-back button::after {
    content: "\f0a8";
    left: 1em;
    right: auto;
}

.btn-02 {
    width: 150px;
}

.btn-02 a,
.btn-02 button {
    width: 100%;
    display: block;
    padding: 0.5em 1em;
    color: white;
    text-align: center;
    border: 1px solid var(--color-bgc_02);
    border-radius: 2px;
    background-color: var(--color-bgc_02);
}

.btn-02 a:hover,
.btn-02 button:hover {
    color: var(--color-text_02);
    background-color: white;
    opacity: 1;
}

.btn-02.-pattern-02 a,
.btn-02.-pattern-02 button {
    border: 1px solid var(--color-bgc_01);
    background-color: var(--color-bgc_01);
}

.btn-02.-pattern-02 a:hover,
.btn-02.-pattern-02 button:hover {
    color: var(--color-text_01);
    background-color: white;
}

.btn-02.-pattern-03 a,
.btn-02.-pattern-03 button {
    border: 1px solid var(--color-bgc-gray_01);
    background-color: var(--color-bgc-gray_01);
}

.btn-02.-pattern-03 a:hover,
.btn-02.-pattern-03 button:hover {
    color: var(--color-text-gray_01);
    background-color: white;
}

/* ##### ヘッダー header ##### */
header {
    background-color: white;
}

.header-inner {
    width: 100%;
    max-width: 1200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5em;
}

.header-inner .list-sns {
    margin-left: 0.5em;
}

.header-inner nav {
    display: none;
}

.header-inner .phone-box {
    margin-bottom: -1.8em;
}

.header-box {
    -webkit-box-flex: 1;
    -ms-flex: 1 0;
    flex: 1 0;
    margin: 0 0.5em;
}

.header-address {
    font-size: 14px;
}

.phone-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.fixed-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
}

.fixed-list li {
    min-width: 220px;
    margin: 0 0.5em;
}

.fixed-list li a {
    width: 100%;
    display: block;
    margin: 2px 4px;
    color: white;
    text-align: center;
    border-radius: 2px;
}

.fixed-list li a .border {
    display: block;
    padding: 0.5em 4em 0.5em 2em;
    position: relative;
}

.fixed-list li a .border::after {
    content: "\f0a9";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 1;
    position: absolute;
    top: 0.8em;
    right: 1em;
}

.fixed-list li.fixed-list-contact a {
    outline: 2px solid var(--color-border_01);
    border: 4px solid white;
    background-color: var(--color-bgc_01);
}

.fixed-list li.fixed-list-contact a .border {
    outline: 2px solid var(--color-bgc_01);
    border: 2px solid white;
}

.fixed-list li.fixed-list-recruit a {
    outline: 2px solid var(--color-border_02);
    border: 4px solid white;
    background-color: var(--color-bgc_02);
}

.fixed-list li.fixed-list-recruit a .border {
    outline: 2px solid var(--color-bgc_02);
    border: 2px solid white;
}

.fixed-list.type-b li a {
    overflow: hidden;
    border: 1px none;
    position: relative;
}

.fixed-list.type-b li a::before {
    content: "";
    width: 30px;
    height: 100%;
    background-color: white;
    opacity: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    animation: reflection 2s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    z-index: 1;
}

@-webkit-keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

@keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

@media (max-width: 1024px) {
    header {
        width: 65%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        overflow: visible;
        background-color: white;
        -webkit-transition: right 0.3s linear;
        transition: right 0.3s linear;
        position: fixed;
        top: 0;
        right: -65%;
        z-index: 30;
    }

    .header-inner {
        height: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .header-inner nav {
        width: 100%;
        height: 10%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-positive: 1;
        flex-grow: 1;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    .header-inner .fixed-content li .time-notice {
        display: none;
    }

    .header-box {
        width: 100%;
        -webkit-box-flex: unset;
        -ms-flex: unset;
        flex: unset;
        margin: 0;
        padding: 0.5em;
    }

    .header-box-logo {
        text-align: center;
    }

    .header-box-logo .logo {
        margin-left: auto;
        margin-right: auto;
    }

    .header-box-logo .address {
        margin-top: 0.5em;
    }

    .fixed-content {
        position: fixed;
        bottom: 1em;
        right: 1em;
        z-index: 10;
    }

    .fixed-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .fixed-list li {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin: 0;
    }

    .fixed-list li+li {
        margin-left: 0.5em;
    }
}

@media (max-width: 599px) {
    header {
        width: 100%;
        right: -100%;
    }
    
    .time-notice {
        font-size: 10px;
    }

    .fixed-content {
        width: calc(100% - 2em);
    }

    .fixed-list {
        width: 100%;
    }

    .fixed-list li {
        width: 46%;
        min-width: 46%;
        margin: 1% 2%;
    }

    .fixed-list li a {
        font-size: 14px;
    }

    .fixed-list li a .border {
        padding: 0.5em 2.5em 0.5em 0.5em;
    }

    .fixed-list li a .border::after {
        right: 0.5em;
    }
}

/* ##### ナビ nav ##### */
nav {
    width: 100%;
    background-color: white;
    z-index: 10;
}

.nav-list {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.nav-list>li>a,
.nav-list>li>.dropdown-btn {
    display: inline-block;
    padding-left: 2em;
    padding-right: 2em;
    border-right: 1px solid var(--color-border-gray_01);
}

.nav-list>li:first-of-type a,
.nav-list>li:first-of-type .dropdown-btn {
    border-left: 1px solid var(--color-border-gray_01);
}

@media (max-width: 1024px) {
    .base-nav {
        display: none;
    }

    .nav-list {
        width: 100%;
        display: block;
    }

    .nav-list>li+li {
        margin-top: 1em;
    }

    .nav-list>li>a,
    .nav-list>li .dropdown-btn {
        border-right: none;
    }

    .nav-list>li:first-of-type a,
    .nav-list>li:first-of-type .dropdown-btn {
        border-left: none;
    }
}

/* ##### フッター footer ##### */
footer {
    padding: 100px 0;
    background-image: url("/import/tenant_1/202.181.103.241/html/images/common/bg_001.webp");
    background-size: 100% auto;
    background-repeat: repeat;
    background-position: center center;
    background-color: var(--color-bgc_06);
}

.footer-nav-list {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}

.footer-nav-list li {
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}

.footer-nav-list li+li {
    margin-top: 1em;
}

.footer-nav-list li a {
    padding-left: 1.2em;
    position: relative;
}

.footer-nav-list li a::before {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
}

.footer-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer-box .footer-logo-box {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
}

.hospital {
    padding: 2em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    border-radius: 1em;
    background-color: white;
    box-shadow: 20px 20px 60px #fae0e0, -20px -20px 60px white;
}

.hospital-heading {
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    font-size: 18px;
    font-weight: bold;
    position: relative;
}

.hospital-heading::before,
.hospital-heading::after {
    content: "";
    height: 0.2em;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.hospital-heading::before {
    width: 30%;
    background-color: var(--color-bgc_01);
    z-index: 2;
}

.hospital-heading::after {
    width: 100%;
    background-color: var(--color-bgc-gray_03);
    z-index: 1;
}

.hospital-text {
    font-size: 13px;
}

.copyright {
    margin-top: 3em;
    padding: 1em;
    font-size: 12px;
    text-align: right;
}

@media (max-width: 1024px) {
    .footer-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .hospital {
        max-width: 500px;
        margin-top: 1em;
        margin-left: auto;
        margin-right: auto;
    }
    
    .footer-box .footer-logo-box {
        margin-right: 0;
    }
}

/* ##### メインビジュアル hero section ##### */
.hero-section.-top {
    position: relative;
}

.hero-section.-top .hero-section-content {
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
}

.hero-section.-top .hero-section-title {
    font-size: clamp(1.5rem, 1.05rem + 1.94vw, 2.5rem);
    color: var(--color-text_02);
    text-align: center;
    text-shadow: var(--shadow-white_01);
}

.hero-section.-top .hero-section-btn {
    width: 140px;
    position: absolute;
    bottom: 1em;
    right: 1em;
    z-index: 1;
}

.hero-section.-top .hero-section-btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: white;
    outline: 4px solid var(--color-border_03);
    border: 2px solid white;
    border-radius: 100%;
    background-color: var(--color-bgc_03);
}

_::-webkit-full-page-media,
_:future,
:root .hero-section.-top .hero-section-btn a {
    outline: none;
}

.hero-section.-top .hero-section-btn a .square-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em;
    font-size: 14px;
    text-align: center;
}

.hero-section.-top .hero-section-btn a .square-inner::after {
    content: "\f061";
    display: inline-block;
    margin-top: 0.5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 150%;
    line-height: 1;
}

.hero-section.-lower {
    position: relative;
}

.hero-section.-lower .hero-section-img .img {
    display: block;
    position: relative;

    -webkit-clip-path: ellipse(80% 100% at 50% 0%);
    clip-path: ellipse(80% 100% at 50% 0%);
}

.hero-section.-lower .hero-section-img .img::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(240, 167, 200, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.hero-section.-lower .hero-section-img .img::after {
    content: "";
    display: block;
    padding-top: 25%;
}

.hero-section.-lower .hero-section-img .img img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
    position: absolute;
    top: 0;
    left: 0;
}

.hero-section.-lower .hero-section-content {
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
}

.hero-section.-lower .hero-section-title {
    font-size: clamp(1.5rem, 1.05rem + 1.94vw, 2.5rem);
    color: var(--color-text_02);
    text-shadow: var(--shadow-white_01);
}

@media (max-width: 1024px) {
    .hero-section.-lower .hero-section-img .img {
        -webkit-clip-path: ellipse(90% 100% at 50% 0%);
        clip-path: ellipse(90% 100% at 50% 0%);
    }

    .hero-section.-lower .hero-section-img .img::after {
        padding-top: 40%;
    }
}

@media (max-width: 599px) {
    .hero-section.-lower .hero-section-img .img {
        -webkit-clip-path: ellipse(100% 100% at 50% 0%);
        clip-path: ellipse(100% 100% at 50% 0%);
    }

    .hero-section.-lower .hero-section-img .img::after {
        padding-top: 70%;
    }
}

/* ##### bodyにクラス名が追加された時のcss add-class ##### */
.nav-fixed nav {
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0;
    left: 0;
}

.fixed.fixed-content {
    position: fixed;
    bottom: 1em;
    right: 1em;
    z-index: 10;
}

@media (max-width: 1024px) {
    .drawer-active header {
        -webkit-box-shadow: -2px 0px 15px -5px #000;
        box-shadow: -2px 0px 15px -5px #000;
        right: 0;
    }

    .drawer-active main,
    .drawer-active footer {
        -webkit-filter: blur(3px);
        filter: blur(3px);
    }

    .drawer-active .hamburger {
        left: 1em;
    }

    .drawer-active .header-box-logo {
        padding-left: 3em;
    }

    .drawer-active .fixed-content {
        width: 100%;
        position: static;
    }

    .drawer-active .header-inner .fixed-content li .time-notice {
        display: block;
    }
}

/* ##### カスタムコンテンツ custom contents ##### */
.image-change {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.image-thumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.image-thumb li {
    width: calc((100% - 18px) / 4);
    margin-top: 6px;
}

.image-thumb li+li {
    margin-left: 6px;
}

.image-thumb li.active-img {
    outline: 3px solid var(--color-border_02);
}

.image-thumb li:hover {
    cursor: pointer;
}

.list-cc-explanation dt {
    margin-bottom: 0.5em;
    padding-left: 1.5em;
    font-weight: bold;
    font-size: clamp(1rem, 0.89rem + 0.48vw, 1.25rem);
    position: relative;
}

.list-cc-explanation dt::before {
    content: "";
    width: 1em;
    height: 1em;
    background-color: var(--color-bgc_03);
    position: absolute;
    top: 0.25em;
    left: 0;
}

.list-cc-explanation dd {
    padding-left: 1em;
    font-size: 14px;
}

.image-cube {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.image-cube-item {
    width: 50%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.image-cube-item:nth-child(n+2) {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.side-box+.side-box {
    margin-top: 3em;
}

.side-list li {
    padding-left: 1em;
}

.side-list li+li {
    margin-top: 1em;
}

.side-list li a {
    display: inline-block;
    padding-left: 1.5em;
    position: relative;
}

.side-list li a::before {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    color: var(--color-text_01);
    line-height: 1;
    position: absolute;
    top: 0.25em;
    left: 0;
}

.recommend {
    position: relative;
}

.recommend::before {
    content: "";
    width: 90%;
    height: 105%;
    display: block;
    margin-left: -999rem;
    padding-left: 999rem;
    background-color: rgba(153, 135, 106, 0.1);
    position: absolute;
    top: -2.5%;
    right: 10%;
    z-index: -1;
}

@media (max-width: 1024px) {
    .side-box {
        width: 48%;
        margin: 1%;
    }

    .side-box+.side-box {
        margin-top: 1%;
    }

    .side-box-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media (max-width: 599px) {
    .side-box {
        width: 98%;
    }

    .side-box+.side-box {
        margin-top: 3em;
    }
}

/* ##### お問い合わせ メールフォーム form ##### */
/* ##### 見たまま編集画面 edit page ##### */
[data-element-id] .uk-slideshow>li {
    opacity: 1;
}

[data-element-id] [data-ab-test-contents] {
    padding: 1.5em 0.2em 0.2em;
    border: 2px solid #8b008b;
    position: relative;
}

[data-element-id] [data-ab-test-contents]::before {
    content: "Aパターン";
    width: 100%;
    display: block;
    padding: 0.5em 0.2em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: #8b008b;
    position: absolute;
    top: 0;
    left: 0;
}

[data-element-id] [data-ab-test-contents]+[data-ab-test-contents] {
    border: 2px solid #556b2f;
}

[data-element-id] [data-ab-test-contents]+[data-ab-test-contents]::before {
    content: "Bパターン";
    background-color: #556b2f;
}

[data-element-id] .abtest-parent>div>div {
    opacity: 1;
}

[data-element-id] .abtest-parent>div>div:nth-of-type(n+2) {
    display: block;
}

[data-element-id] *::before,
[data-element-id] *::after {
    pointer-events: none;
}

[data-element-id] .bg-cont {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

[data-element-id] .only-mobile,
[data-element-id] .only-sp {
    display: block;
    padding: 2em 1em 1em;
    border: 2px solid blue;
    position: relative;
}

[data-element-id] .only-mobile::before,
[data-element-id] .only-sp::before {
    content: "モバイルのみ表示";
    width: 100%;
    display: block;
    padding: 0.5em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: blue;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .edit-landmark {
    padding: 2em 1em 1em;
    outline: 2px solid silver;
    position: relative;
}

[data-element-id] .edit-landmark::before {
    content: "要素のコピー、複製、削除、移動はここをダブルクリック";
    width: 100%;
    display: block;
    padding: 1em 0.5em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: silver;
    position: absolute;
    top: 0;
    left: 0;
}

.abtest-parent>div>div[data-ab-test-contents] {
    opacity: 1;
}

.abtest-parent>div>div[data-ab-test-contents]:nth-of-type(n+2) {
    display: block;
}

[data-element-id] header,
[data-element-id] nav {
    margin-top: 30px;
}

[data-element-id] .header-inner .phone-box {
    margin-bottom: 0;
}

[data-element-id] .nav-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

[data-element-id] .nav-list li {
    margin: 5px;
}

[data-element-id] .dropdown-menu {
    overflow: visible;
    padding: 2em 1em 1em;
    border: 2px solid blue;
    position: relative;
}

[data-element-id] .dropdown-menu::before {
    content: "降りてくる吹き出し";
    width: 100%;
    display: block;
    padding: 0.5em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: blue;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .dropdown-menu .dropdown-box {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    position: static;
}

[data-element-id] .grid-01-content,
[data-element-id] .grid-02-content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

[data-element-id] .grid-01-content {
    min-width: 500px;
    margin: auto;
}

[data-element-id] .grid-02-content {
    min-width: 500px;
    max-width: 80%;
    margin: 0 auto 0 0;
}

.facalimg{
  height: 550px !important;
    object-fit: cover;
    position: relative !important;
}

@media (max-width: 1024px) {
.facalimg {
    height: 450px !important;

}
}

@media (max-width: 599px) {
.facalimg {
    height: 210px !important;
}
}
