@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@100;200;300;400;500;600;700&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');


/* # root1 START # */
:root {
    --color-primary: #133a58;
    --color-01: #005cb2;
    --color-02: #d1d1d1;
    --color-03: #d4d0a3;
    --color-04: #243077;
    --color-05: #003d6c;
    --banner-bgc01: #f6ae24;
    --image-url01: url('/import/tenant_1/162.43.14.227/C05/img/icon/check01.webp');
}
/* # root1 END # */

/* # root2 START # */
/* :root {
    --color-primary: #930303;
    --color-01: #b20000;
    --color-02: #d1d1d1;
    --color-03: #d2e7f7;
    --color-04: #772424;
    --color-05: #c5a9a8;
    --banner-bgc01: #ffffff;
    --image-url01: url('/import/tenant_1/162.43.14.227/C05/img/icon/check01_red.webp');
} */
/* # root2 END # */

/* # root3 START # */
/* :root {
    --color-primary: #4e368b;
    --color-01: #2f6f45;
    --color-02: #d1d1d1;
    --color-03: #cccccc;
    --color-04: #452b84;
    --color-05: #206429;
    --banner-bgc01: #f6ae24;
    --image-url01: url('/import/tenant_1/162.43.14.227/C05/img/icon/check01_purple.webp');
} */
/* # root3 END # */


:root {
    --ff00: "Noto Sans JP", sans-serif;
    --ff01: "Shippori Mincho", serif;
    --ff02: "IBM Plex Sans JP", sans-serif;
    --awesome: "Font Awesome 5 Free";
    --notosans: "Noto Sans JP", sans-serif;
    --roboto: "Roboto", sans-serif;
    --color-secondery: #ff0;
}

.mgen {
    font-family: var(--ff02);
}

/*common*/

body {
    margin: 0;
    padding: 0;
    font-family: var(--ff02);
    font-size: 16px;
    color: #000;
    line-height: 1.5;
}

.drawer-active {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
}

a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.red {
    color: #df0101;
}

.bg-content {
    position: relative;
    z-index: 2;
}

.bg-content .ttl {
    text-shadow: 1px 1px 0px white, -1px 1px 0px white, 1px -1px 0px white, -1px -1px 0px white, 1px 0px 0px white, 0px 1px 0px white, -1px 0px 0px white, 0px -1px 0px white;
}

.bg-content .txt {
    text-shadow: 1px 1px 10px white,
        -1px 1px 10px white,
        1px -1px 10px white,
        -1px -1px 10px white,
        1px 0px 10px white,
        0px 1px 10px white,
        -1px 0px 10px white,
        0px -1px 10px white;
}

.bg-img {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.bg-img .img {
    width: 100%;
    height: 100%;
}

.bg-img img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: "object-fit: cover; object-position: center center;";
}

.bg-parent {
    position: relative;
}

.list-inner {
    width: 100%;
    height: 100%;
}

.txt {
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    font-size: 17px;
    line-height: 2;
    letter-spacing: 1px;
}

.indent-cmn-01 {
    padding-left: 1em;
    text-indent: -1.25em;
}
.indent-cmn-02 {
    padding-left: 1em;
    text-indent: -1em;
}

@media (max-width:599px) {

    .inner,
    .inner1100,
    .inner1200,
    .inner1300,
    .inner1400,
    .inner1500,
    .inner500,
    .inner600,
    .inner700,
    .inner800,
    .inner900 {
        width: 94%;
    }

    .txt {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0;
    }
}

/* base.css上書き */
.up-ml-i0 {
    margin-left: calc(50% - 50vw);
}

.up-mr-i0 {
    margin-right: calc(50% - 50vw);
}

/* color */
.color-01 {
    color: var(--color-primary);
}

.color-02 {
    color: var(--color-secondery);
}

.color-03 {
    color: var(--color-01);
}

.color-04 {
    color: var(--color-02);
}

.color-05 {
    color: var(--color-03);
}

.color-06 {
    color: var(--color-04);
}

.color-07 {
    color: var(--color-05);
}

.bgcolor-01 {
    background-color: var(--color-primary);
}

.bgcolor-02 {
    background-color: var(--color-secondery);
}

.bgcolor-03 {
    background-color: var(--color-01);
}

.bgcolor-04 {
    background-color: var(--color-02);
}

.bgcolor-05 {
    background-color: var(--color-03);
}

.bgcolor-06 {
    background-color: var(--color-04);
}

.bgcolor-07 {
    background-color: var(--color-05);
}

.yellow-line {
    display: inline-block;
    line-height: 1.1;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #ff0));
    background: linear-gradient(transparent 60%, #ff0 0%);
}

.-delay1 {
    -webkit-transition-delay: 0.1s !important;
    transition-delay: 0.1s !important;
}

.-delay2 {
    -webkit-transition-delay: 0.2s !important;
    transition-delay: 0.2s !important;
}

.-delay3 {
    -webkit-transition-delay: 0.3s !important;
    transition-delay: 0.3s !important;
}

.-delay4 {
    -webkit-transition-delay: 0.4s !important;
    transition-delay: 0.4s !important;
}

.-delay5 {
    -webkit-transition-delay: 0.5s !important;
    transition-delay: 0.5s !important;
}

.-delay6 {
    -webkit-transition-delay: 0.6s !important;
    transition-delay: 0.6s !important;
}

.-delay7 {
    -webkit-transition-delay: 0.7s !important;
    transition-delay: 0.7s !important;
}

/* left right */
@media (max-width: 1024px) {
    .tb>[class^="left-cmn"] {
        width: 100%;
    }

    .tb>[class^="right-cmn"] {
        width: 100%;
    }

    .tb>.right-cmn01 {
        margin-top: 10px;
    }

    .tb>.right-cmn02 {
        margin-top: 15px;
    }

    .tb>.right-cmn03 {
        margin-top: 20px;
    }

    .tb>.right-cmn {
        margin-top: 25px;
    }
}

@media (max-width: 599px) {
    [class^="left-cmn"] {
        width: 100%;
    }

    [class^="right-cmn"] {
        width: 100%;
    }

    .right-cmn01 {
        margin-top: 5px;
    }

    .right-cmn02 {
        margin-top: 10px;
    }

    .right-cmn03 {
        margin-top: 15px;
    }

    .right-cmn {
        margin-top: 20px;
    }
}

.pc-br {
    display: block;
}

.pc-br.tb {
    display: block;
}

@media (max-width: 1024px) {
    .tb-br {
        display: block;
    }

    .pc-br.tb {
        display: inline;
    }
}

@media (max-width: 599px) {
    .pc-br {
        display: inline;
    }

    .sp-br {
        display: block;
    }
}

/* float */
.up-fl-left {
    float: left;
}

.up-fl-right {
    float: right;
}

.up-fl-none {
    float: none;
}

.up-flc-left {
    clear: left;
}

.up-flc-rigjt {
    clear: right;
}

.up-flc-both {
    clear: both;
}

.float-box {
    display: block;
}

.float-box::before,
.float-box:after {
    content: "";
    display: block;
    clear: both;
}

.float-box-img {
    float: right;
}

.float-box-title {
    float: left;
}

.float-box-content {
    float: left;
}

.float-box-wrap.-noinner .float-box:nth-child(odd) .noinner {
    margin-left: auto;
}

.float-box-wrap.-noinner .float-box:nth-child(odd) [class*=btn] {
    margin-right: 0;
}

.float-box-wrap.-noinner .float-box:nth-child(even) .noinner {
    margin-right: auto;
}

.float-box-wrap.-noinner .float-box:nth-child(even) [class*=btn] {
    margin-left: 0;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-img {
    float: left;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-title {
    float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-content {
    float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-img {
    float: left;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-title {
    float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-content {
    float: right;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(odd) .noinner {
    margin-left: 0;
    margin-right: auto;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(odd) [class*=btn] {
    margin-left: 0;
    margin-right: 0;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(even) .noinner {
    margin-left: auto;
    margin-right: 0;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(even) [class*=btn] {
    margin-left: 0;
    margin-right: 0;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-img {
    float: right;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-title {
    float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-content {
    float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-img {
    float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-title {
    float: right;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-content {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-img {
    float: left;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-title {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-content {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-img {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-title {
    float: left;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-content {
    float: left;
}

@media (max-width: 1024px) {
    .up-fl-left\@tb {
        float: left;
    }

    .up-fl-right\@tb {
        float: right;
    }

    .up-fl-none\@tb {
        float: none;
    }

    .up-flc-left\@tb {
        clear: left;
    }

    .up-flc-rigjt\@tb {
        clear: right;
    }

    .up-flc-both\@tb {
        clear: both;
    }
}

@media (max-width: 599px) {
    .up-fl-left\@sp {
        float: left;
    }

    .up-fl-right\@sp {
        float: right;
    }

    .up-fl-none\@sp {
        float: none;
    }

    .up-flc-left\@sp {
        clear: left;
    }

    .up-flc-rigjt\@sp {
        clear: right;
    }

    .up-flc-both\@sp {
        clear: both;
    }
}

/*  レイアウト  */
.cross-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.cross-item:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.cross-item:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.cross.-rowr .cross-item:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.cross.-rowr .cross-item:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.cross.-none .cross-item:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.cross.-none .cross-item:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.parallel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.parallel.-jc-fs {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.parallel.-jc-fe {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.parallel.-jc-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.parallel.-rowr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

@media (max-width: 1024px) {
    .cross.-rowr\@tb .cross-item:nth-of-type(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .cross.-rowr\@tb .cross-item:nth-of-type(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .cross.-none\@tb .cross-item:nth-of-type(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .cross.-none\@tb .cross-item:nth-of-type(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .parallel.-jc-fs\@tb {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .parallel.-jc-fe\@tb {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .parallel.-jc-c\@tb {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .parallel.-row\@tb {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .parallel.-rowr\@tb {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
}

@media (max-width: 599px) {
    .cross.-rowr\@sp .cross-item:nth-of-type(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .cross.-rowr\@sp .cross-item:nth-of-type(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .cross.-none\@sp .cross-item:nth-of-type(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .cross.-none\@sp .cross-item:nth-of-type(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .parallel.-jc-fs\@sp {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .parallel.-jc-fe\@sp {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .parallel.-jc-c\@sp {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .parallel.-row\@sp {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .parallel.-rowr\@sp {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
}

/*  Y方向の余白（margin）  */
.space-v5>.space+.space {
    margin-top: 5px;
}

.space-v10>.space+.space {
    margin-top: 10px;
}

.space-v50>.space+.space {
    margin-top: 50px;
}

.space-v80>.space+.space {
    margin-top: 80px;
}

.space-v100>.space+.space {
    margin-top: 100px;
}

@media (max-width: 1024px) {
    .space-v5\@tb>.space+.space {
        margin-top: 5px;
    }

    .space-v10\@tb>.space+.space {
        margin-top: 10px;
    }

    .space-v50\@tb>.space+.space {
        margin-top: 50px;
    }

    .space-v80\@tb>.space+.space {
        margin-top: 80px;
    }

    .space-v100\@tb>.space+.space {
        margin-top: 100px;
    }
}

@media (max-width: 599px) {
    .space-v5\@sp>.space+.space {
        margin-top: 5px;
    }

    .space-v10\@sp>.space+.space {
        margin-top: 10px;
    }

    .space-v50\@sp>.space+.space {
        margin-top: 50px;
    }

    .space-v80\@sp>.space+.space {
        margin-top: 80px;
    }

    .space-v100\@sp>.space+.space {
        margin-top: 100px;
    }
}

/*********************************************
    show hide
*********************************************/
.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

/* 共通コンテンツ間隔 */

[class*="section-m"],
[class*="section-p"] {
    --section-xlarge: 150px;
    --section-large: 100px;
    --section-medium: 90px;
    --section-small: 80px;
    --section-xsmall: 60px;
}

.section-my-xlarge {
    margin-top: var(--section-xlarge);
    margin-bottom: var(--section-xlarge);
}

.section-mt-xlarge {
    margin-top: var(--section-xlarge);
}

.section-mb-xlarge {
    margin-bottom: var(--section-xlarge);
}

.section-my-large {
    margin-top: var(--section-large);
    margin-bottom: var(--section-large);
}

.section-mt-large {
    margin-top: var(--section-large);
}

.section-mb-large {
    margin-bottom: var(--section-large);
}

.section-my-medium {
    margin-top: var(--section-medium);
    margin-bottom: var(--section-medium);
}

.section-mt-medium {
    margin-top: var(--section-medium);
}

.section-mb-medium {
    margin-bottom: var(--section-medium);
}

.section-my-small {
    margin-top: var(--section-small);
    margin-bottom: var(--section-small);
}

.section-mt-small {
    margin-top: var(--section-small);
}

.section-mb-small {
    margin-bottom: var(--section-small);
}

.section-my-xsmall {
    margin-top: var(--section-xsmall);
    margin-bottom: var(--section-xsmall);
}

.section-mt-xsmall {
    margin-top: var(--section-xsmall);
}

.section-mb-xsmall {
    margin-bottom: var(--section-xsmall);
}

.section-py-xlarge {
    padding-top: var(--section-xlarge);
    padding-bottom: var(--section-xlarge);
}

.section-pt-xlarge {
    padding-top: var(--section-xlarge);
}

.section-pb-xlarge {
    padding-bottom: var(--section-xlarge);
}

.section-py-large {
    padding-top: var(--section-large);
    padding-bottom: var(--section-large);
}

.section-pt-large {
    padding-top: var(--section-large);
}

.section-pb-large {
    padding-bottom: var(--section-large);
}

.section-py-medium {
    padding-top: var(--section-medium);
    padding-bottom: var(--section-medium);
}

.section-pt-medium {
    padding-top: var(--section-medium);
}

.section-pb-medium {
    padding-bottom: var(--section-medium);
}

.section-py-small {
    padding-top: var(--section-small);
    padding-bottom: var(--section-small);
}

.section-pt-small {
    padding-top: var(--section-small);
}

.section-pb-small {
    padding-bottom: var(--section-small);
}

.section-py-xsmall {
    padding-top: var(--section-xsmall);
    padding-bottom: var(--section-xsmall);
}

.section-pt-xsmall {
    padding-top: var(--section-xsmall);
}

.section-pb-xsmall {
    padding-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.85);
        margin-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.85);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.85);
        margin-bottom: calc(var(--section-large) * 0.85);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.85);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.85);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.85);
        margin-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.85);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.85);
        margin-bottom: calc(var(--section-small) * 0.85);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.85);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.85);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.85);
        margin-bottom: calc(var(--section-xsmall) * 0.85);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.85);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.85);
    }

    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.85);
        padding-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.85);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.85);
        padding-bottom: calc(var(--section-large) * 0.85);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.85);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.85);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.85);
        padding-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.85);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.85);
        padding-bottom: calc(var(--section-small) * 0.85);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.85);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.85);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.85);
        padding-bottom: calc(var(--section-xsmall) * 0.85);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.85);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.85);
    }
}

@media (max-width: 599px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.7);
        margin-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.7);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.7);
        margin-bottom: calc(var(--section-large) * 0.7);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.7);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.7);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.7);
        margin-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.7);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.7);
        margin-bottom: calc(var(--section-small) * 0.7);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.7);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.7);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.7);
        margin-bottom: calc(var(--section-xsmall) * 0.7);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.7);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.7);
    }

    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.7);
        padding-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.7);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.7);
        padding-bottom: calc(var(--section-large) * 0.7);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.7);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.7);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.7);
        padding-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.7);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.7);
        padding-bottom: calc(var(--section-small) * 0.7);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.7);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.7);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.7);
        padding-bottom: calc(var(--section-xsmall) * 0.7);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.7);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.7);
    }
}

/* 共通 */
.bg01 {
    background: url('/import/tenant_1/162.43.14.227/C05/img/top/bg01.webp') 0 0 no-repeat;
    background-size: 100% auto;
    background-repeat: repeat;
    background-position: top center;
}

.bg02 {
    background: rgb(0, 104, 193);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 104, 193, 1)), to(rgba(106, 182, 237, 1)));
    background: linear-gradient(180deg, rgba(0, 104, 193, 1) 0%, rgba(106, 182, 237, 1) 100%);
}

.bg03 {
    background: url('/import/tenant_1/162.43.14.227/C05/img/top/bg02.webp');
    background-size: 100% auto;
    background-repeat: repeat;
    background-position: top center;
}

.sp-only {
    display: none;
}

@media (max-width: 1024px) {
    .sp-only {
        display: block;
    }

    .pc-only {
        display: none;
    }
}

.pic-radius img {
    border-radius: 40px;
}

.pic-radius10 img {
    border-radius: 10px;
}

.pic-border {
    border: 1px solid #6ea0d1;
    border-radius: 30px;
}

/* タイトル */
[class*="ttl-cmn"] {
    --ttl-fz-xlarge: 44px;
    --ttl-fz-large: 40px;
    --ttl-fz-medium: clamp(24px, 19.152px + 1.29vw, 45.008px);
    --ttl-fz-medium: clamp(1.5rem, 1.255rem + 1.22vw, 2.25rem);
    --ttl-fz-small: clamp(1.25rem, 1.036rem + 0.88vw, 1.75rem);
    --ttl-fz-xsmall: clamp(1.125rem, 1.071rem + 0.22vw, 1.25rem);
    --ttl-mb-xlarge: 70px;
    --ttl-mb-large: 60px;
    --ttl-mb-medium: 50px;
    --ttl-mb-small: 40px;
    --ttl-mb-xsmall: 24px;
}

/* 共通タイトル１ */

[class*="ttl-cmn"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: var(--ff02);
}

.ttl-cmn01 {
    margin-bottom: var(--ttl-mb-medium);
}

.ttl-cmn01 .large {
    /* display: -webkit-box;
    display: -ms-flexbox;
    display: flex; */
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: clamp(1.25rem, 1.036rem + 0.88vw, 1.75rem);
}

.ttl-cmn01 .small {
    display: block;
    font-weight: 500;
    font-size: clamp(14px, 13.072px + 0.25vw, 18px);
    font-size: clamp(0.875rem, 0.817rem + 0.25vw, 1.125rem);
}

.ttl-cmn01>* {
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
    position: relative;
}

.ttl-cmn01.ttl-white>* {
    color: #fff;
}

.ttl-cmn02 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: var(--ttl-mb-xsmall);
}

.ttl-cmn02 .sub {
    width: 100%;
    margin-bottom: 10px;
    font-size: 16px;
}

.ttl-cmn02 .large {
    display: block;
    font-size: clamp(1.125rem, 1.071rem + 0.22vw, 1.25rem);
}

.ttl-cmn02>* {
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
    position: relative;
}

.ttl-brackets {
    max-width: 525px;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem 3rem;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.ttl-brackets.mw-fit-content {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
}

.ttl-brackets.mw-fit-content.ttl-left {
    margin-left: 0;
}

.ttl-brackets.mw-100 {
    max-width: 100%;
}

.ttl-brackets:before,
.ttl-brackets:after {
    content: "";
    width: 15px;
    height: 15px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: absolute;
}

.ttl-brackets:before {
    border-top: 1px solid #212121;
    border-left: 1px solid #212121;
    top: 0px;
    left: 0px;
}

.ttl-brackets:after {
    border-bottom: 1px solid #212121;
    border-right: 1px solid #212121;
    bottom: 0px;
    right: 0px;
}

.ttl-brackets.ttl-white:before,
.ttl-brackets.ttl-white:after {
    border-color: #fff;
}

.ttl-vertical-brackets {
    padding: 3rem 1rem;
    position: relative;
}

.ttl-vertical-brackets:before,
.ttl-vertical-brackets:after {
    content: "";
    width: 30px;
    height: 35%;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: absolute;
}

.ttl-vertical-brackets:before {
    border-bottom: 1px solid #212121;
    border-left: 1px solid #212121;
    bottom: 0px;
    left: 0px;
}

.ttl-vertical-brackets:after {
    border-top: 1px solid #212121;
    border-right: 1px solid #212121;
    top: 0px;
    right: 0px;
}

.ttl-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.ttl-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.ttl-vertical {
    -ms-writing-mode: tb-lr;
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
}

.ttl-fz-xlarge {
    font-size: var(--ttl-fz-xlarge) !important;
}

.ttl-fz-large {
    font-size: var(--ttl-fz-large) !important;
}

.ttl-fz-medium {
    font-size: var(--ttl-fz-medium) !important;
}

.ttl-fz-small {
    font-size: var(--ttl-fz-small) !important;
}

.ttl-fz-xsmall {
    font-size: var(--ttl-fz-xsmall) !important;
}

.ttl-mb-xlarge {
    margin-bottom: var(--ttl-mb-xlarge);
}

.ttl-mb-large {
    margin-bottom: var(--ttl-mb-large);
}

.ttl-mb-medium {
    margin-bottom: var(--ttl-mb-medium);
}

.ttl-mb-small {
    margin-bottom: var(--ttl-mb-small);
}

.ttl-mb-xsmall {
    margin-bottom: var(--ttl-mb-xsmall);
}

.ttl-mb-none {
    margin-bottom: 0;
}

.title-num {
    margin-bottom: 1em;
    padding-left: 1.5em;
    font-weight: 500;
    font-size: 24px;
    position: relative;
}

.title-num .main {
    font-weight: 400;
}

.title-num .num {
    color: var(--color-primary);
    position: absolute;
    top: -2px;
    left: 0;
    font-size: 120%;
}

.title-num .sub {
    font-size: 70%;
}

@media (max-width: 1024px) {
    .ttl-cmn01 {
        margin-bottom: calc(var(--ttl-mb-large) * 0.9);
    }

    .ttl-cmn01>* {
        font-size: 36px;
        letter-spacing: 0.1em;
    }

    .ttl-cmn02 {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.9);
    }

    .ttl-cmn02>* {
        font-size: 40px;
        letter-spacing: 0.1em;
    }

    .ttl-fz-xlarge {
        font-size: calc(var(--ttl-fz-xlarge) * 0.8) !important;
    }

    .ttl-fz-large {
        font-size: calc(var(--ttl-fz-large) * 0.8) !important;
    }

    .ttl-mb-xlarge {
        margin-bottom: calc(var(--ttl-mb-xlarge) * 0.8);
    }

    .ttl-mb-large {
        margin-bottom: calc(var(--ttl-mb-large) * 0.8);
    }

    .ttl-mb-medium {
        margin-bottom: calc(var(--ttl-mb-medium) * 0.8);
    }

    .ttl-mb-small {
        margin-bottom: calc(var(--ttl-mb-small) * 0.8);
    }

    .ttl-mb-xsmall {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.8);
    }

    .ttl-mb-none\@tb {
        margin-bottom: 0;
    }

    .ttl-brackets {
        padding: 0.5rem 2rem 0.2rem;
    }

    .title-num {
        font-size: 20px;
    }

    .title-num .main,
    .title-num .sub {
        display: block;
    }
}

@media (max-width: 599px) {
    .ttl-cmn01 {
        margin-bottom: calc(var(--ttl-mb-large) * 0.55);
    }

    .ttl-cmn01>* {
        font-size: 30px;
        letter-spacing: 1px;
    }

    .ttl-cmn02 {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.45);
    }

    .ttl-cmn02>* {
        font-size: 36px;
    }

    .ttl-fz-xlarge {
        font-size: calc(var(--ttl-fz-xlarge) * 0.7) !important;
    }

    .ttl-fz-large {
        font-size: calc(var(--ttl-fz-large) * 0.7) !important;
    }

    .ttl-center\@sp {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .ttl-vertical {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        padding: 1rem 2rem .8rem;
        -ms-writing-mode: unset;
        -webkit-writing-mode: unset;
        writing-mode: unset;
    }

    .ttl-mb-xlarge {
        margin-bottom: calc(var(--ttl-mb-xlarge) * 0.7);
    }

    .ttl-mb-xlarge {
        margin-bottom: calc(var(--ttl-mb-xlarge) * 0.7);
    }

    .ttl-mb-large {
        margin-bottom: calc(var(--ttl-mb-large) * 0.7);
    }

    .ttl-mb-medium {
        margin-bottom: calc(var(--ttl-mb-medium) * 0.7);
    }

    .ttl-mb-small {
        margin-bottom: calc(var(--ttl-mb-small) * 0.7);
    }

    .ttl-mb-xsmall {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.7);
    }

    .ttl-mb-none\@sp {
        margin-bottom: 0;
    }
}

/* リスト */
/*===================================
共通ボタン
===================================*/

[class*="btn-cmn"] {
    --btn-mt-xlarge: 90px;
    --btn-mt-large: 60px;
    --btn-mt-medium: 50px;
    --btn-mt-small: 40px;
    --btn-mt-xsmall: 30px;
}

/* btn-cmn01 */

[class*="btn-cmn"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.btn-cmn01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: var(--btn-mt-large);
}

.btn-cmn01>* {
    width: 230px;
    max-width: 100%;
    max-height: 57px;
    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: 1em 1em .8em;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;
    border: 1px solid;
    position: relative;
}

.btn-cmn01.large>* {
    width: 270px;
    padding: 1em;
}

.btn-cmn01.xlarge>* {
    width: 360px;
    padding: 1em;
}

.btn-cmn01>*:hover,
a:hover .btn-cmn01>* {
    color: #fff;
    border-color: transparent;
    opacity: 1;
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.btn-cmn01>*:before {
    content: "";
    width: 0;
    height: 0;
    border-width: 7px 7px 0 0;
    border-style: solid;
    border-color: #3a3a3a transparent transparent transparent;
    position: absolute;
    top: 3px;
    left: 3px;
    z-index: 1;
}

.btn-cmn01>a:hover:before,
a:hover .btn-cmn01>*:before {
    border-color: #fff transparent transparent transparent;
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.btn-cmn01>* span {
    display: block;
    z-index: 2;

}

.btn-cmn01>* span:before,
.btn-cmn01>* span:after {
    content: "";
    width: 0;
    height: 1px;
    background-color: #3a3a3a;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
}

.btn-cmn01>* span:before {
    top: 0;
    left: 0;
}

.btn-cmn01>* span:after {
    bottom: 0;
    left: 0;
}

.btn-cmn01>*:hover span:before,
.btn-cmn01>*:hover span:after,
a:hover .btn-cmn01>* span:before,
a:hover .btn-cmn01>* span:after {
    width: 100%;
}

.btn-cmn01>*:after {
    content: "";
    width: 0;
    height: 100%;
    background-color: #3a3a3a;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

.btn-cmn01>*:hover:after,
a:hover .btn-cmn01>*:after {
    width: 100%;
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.btn-cmn01.btn-white>* {
    color: #fff;
}

.btn-cmn01.btn-white>*:hover,
a:hover .btn-cmn01.btn-white>* {
    color: #3a3a3a;
}

.btn-cmn01.btn-white>*:before {
    border-color: #fff transparent transparent transparent;
}

.btn-cmn01.btn-white>*:hover:before,
a:hover .btn-cmn01.btn-white>*:before {
    border-color: #3a3a3a transparent transparent transparent;
}

.btn-cmn01.btn-white>* span:before,
.btn-cmn01.btn-white>* span:after {
    background-color: #fff;
}

.btn-cmn01.btn-white>*:after {
    background-color: #fff;
}

.btn-cmn01.btn-color01>* {
    background-color: var(--color-01);
}

.btn-cmn01.btn-color02>* {
    background-color: var(--color-02);
}

.btn-cmn01.contact-btn>*:after {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: 600;
}

/* btn-cmn02 */

.btn-cmn02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.btn-cmn02>* {
    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;
}

.btn-cmn02>*::before {
    content: "\f054";
    width: 15px;
    height: 15px;
    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;
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 10px;
    color: #fff;
    border-radius: 100%;
    background-color: var(--color-01);
}

.btn-cmn03 {
    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;
}

.btn-cmn03>* {
    width: 300px;
    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;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    -webkit-transition: 0.3s, 0.4s ease;
    transition: 0.3s, 0.4s ease;
    position: relative;
}

.btn-cmn03 a:hover {
    opacity: 1;
}

.btn-cmn03>*:hover {
    color: var(--color-primary);
    background-color: #fff;
    opacity: 1;
}

.btn-cmn03>*:before {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: 600;
}

.btn-cmn03>*:after {
    content: "";
    width: 0;
    height: 0;
    border-width: 5.5px 0 5.5px 10px;
    border-style: solid;
    border-color: transparent transparent transparent var(--banner-bgc01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.btn-cmn03.contact-btn>* {
    pointer-events: auto;
}

.btn-cmn03.contact-btn>*::before {
    content: "\f0e0";
    margin-right: 0.5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 24px;
}

.btn-cmn03.list-btn>* {
    pointer-events: auto;
}

.btn-cmn03.list-btn>*::before {
    content: "\f137";
    margin-right: 0.5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 24px;
}

/* 共通ボタン上書き */

.btn-mt-xlarge {
    margin-top: var(--btn-mt-xlarge);
}

.btn-mt-large {
    margin-top: var(--btn-mt-large);
}

.btn-mt-medium {
    margin-top: var(--btn-mt-medium);
}

.btn-mt-small {
    margin-top: var(--btn-mt-small);
}

.btn-mt-xsmall {
    margin-top: var(--btn-mt-xsmall);
}

.btn-mt-none {
    margin-top: 0;
}

.btn-w-full>* {
    width: 100%;
}

.btn-w-xlarge>* {
    width: 350px;
}

.btn-w-xlarge>* {
    width: 300px;
}

.btn-w-medium>* {
    width: 250px;
}

.btn-w-small>* {
    width: 200px;
}

.btn-w-xsmall>* {
    width: 150px;
}

.btn-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.btn-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.btn-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

@media (max-width: 599px) {
    .btn-cmn01 {
        margin-top: calc(var(--btn-mt-large) * 0.8);
    }

    .btn-cmn03>* {
        font-size: 14px;
    }

    .btn-cmn04 {
        margin-top: calc(var(--btn-mt-xlarge) * 0.7);
    }

    .btn-mt-xlarge {
        margin-top: calc(var(--btn-mt-xlarge) * 0.7);
    }

    .btn-mt-large {
        margin-top: calc(var(--btn-mt-large) * 0.7);
    }

    .btn-mt-medium {
        margin-top: calc(var(--btn-mt-medium) * 0.7);
    }

    .btn-mt-small {
        margin-top: calc(var(--btn-mt-small) * 0.7);
    }

    .btn-mt-xsmall {
        margin-top: calc(var(--btn-mt-xsmall) * 0.7);
    }

    .btn-mt-none {
        margin-top: 0;
    }

    .btn-left\@sp {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .btn-center\@sp {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .btn-right\@sp {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

/* btn ttl wrap */

[class*="ttl-btn-wrap"] {
    --wrap-mb-xlarge: 70px;
    --wrap-mb-large: 60px;
    --wrap-mb-medium: 50px;
    --wrap-mb-small: 40px;
    --wrap-mb-xsmall: 24px;
}

[class*="ttl-btn-wrap"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

[class*="ttl-btn-wrap"] [class*="ttl-cmn"] {
    margin-bottom: 0;
}

[class*="ttl-btn-wrap"] [class*="btn-cmn"] {
    margin-top: 0;
}

/* table */
.table01 {
    position: relative;
}

.table01 table {
    width: 100%;
}

.table01 table tr {
    border-bottom: 1px dashed var(--color-primary);
}

.table01 table th {
    width: 30%;
    min-width: 150px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.8em;
    border-right: 1px solid var(--color-primary);
}

.table01 table td {
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.8em;
}

.table02 {
    position: relative;
}

.table02 table {
    width: 100%;
}

.table02 table tr {
    border-bottom: 1px dashed var(--color-primary);
}

.table02 table thead tr {
    border-bottom: 2px solid var(--color-primary);
}

.table02 table th {
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 400;
    background-color: var(--color-primary);
    color: #fff;
}

.table02 table th+th {
    border-left: 1px solid var(--color-02);
}

.table02 table td {
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.8em;
}

.table02 table td+td {
    border-left: 1px solid var(--color-primary);
}

@media (max-width: 1024px) {
    .table02 table {
        width: 800px;
    }
}

@media (max-width: 599px) {
  
  .table01 table th{
    min-width: 100px;
  }
    .table02 table {
        width: 600px;
    }
}

/* block-type */
.block-type01 {
    position: relative;
}

.block-type01 .item {
    overflow: hidden;
    border: 1px solid #e1e1e1;
    border-radius: 10px;
}

.block-type01 .tit {
    padding: 5px 0;
    font-weight: 600;
    font-size: clamp(1.125rem, 0.921rem + 1.02vw, 1.75rem);
    color: #fff;
    text-align: center;
}

.block-type01 .tbox {
    padding: 15px;
    text-align: center;
}

.block-type01 .tbox .main-txt {
    font-size: clamp(1.5rem, 1.255rem + 1.22vw, 2.25rem);
    line-height: 1;
}

.block-type01 .tbox .main-txt .big {
    display: inline-block;
    font-weight: 600;
    font-size: 200%;
    letter-spacing: 2px;
}

.block-type01 .tbox .sub-txt {
    font-size: 14px;
}

.block-type02 .item .pic {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.block-type02 .item .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.block-type02 .item .tbox {
    text-align: center;
    position: relative;
    z-index: 2;
}

@media (max-width: 599px) {
    .block-type02 {
        max-width: 94%;
        margin-left: auto;
        margin-right: auto;
    }

    .block-type02 .item .tbox {
        text-align: left;
    }
}

.block-type03 .tit {
    margin-top: 20px;
}

.block-type03 .box {
    padding-bottom: 40px;
}

.block-type03 .box .box-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.block-type03 .box:nth-child(even) .box-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-type03 .box .pbox {
    width: calc(50% - 40px);
}

.block-type03 .box .pbox img {
    z-index: 2;
}

.block-type03 #map1 iframe,.block-type03 #map2 iframe{
  max-height: 350px
}

.block-type03 .box .pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.block-type03 .box .tbox {
    width: 50%;
    padding-left: 5%;
    padding-right: 5%;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.block-type03 .box:nth-child(even) .tbox {
    padding-right: 5%;
    padding-left: calc(50% - 600px);
}

.block-type03 .box .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: var(--color-02);
    position: absolute;
    top: 40px;
}

.block-type03 .box:nth-child(odd) .pic:before {
    left: 40px;
}

.block-type03 .box:nth-child(even) .pic:before {
    left: auto;
    right: 40px;
}

.block-type03 .box .pbox iframe {
    width: 100%;
    z-index: 2;
    position: relative;
}

@media (max-width: 599px) {
    .block-type03 .box {
        padding-bottom: 0;
    }

    .block-type03 .box .box-inner {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .block-type03 .txt {
        margin-top: 10px;
    }

    .block-type03 .box:nth-child(odd) .pic {
        margin-left: 0;
    }

    .block-type03 .box:nth-child(even) .pic {
        margin-right: 0;
    }

    .block-type03 .box .pic:before {
        top: 10px;
    }

    .block-type03 .box .pic:before {
        right: auto;
        left: 10px;
    }

    .block-type03 .box:nth-child(odd) .pic:before {
        left: 10px;
    }

    .block-type03 .box:nth-child(even) .tbox {
        padding: 0;
    }

    .block-type03 .box .tbox {
        width: 94%;
        margin: 0 auto;
        padding: 0;
    }

    .block-type03 .box .pbox {
        width: 94%;
        margin: 0 auto 10px;
    }

    .block-type03 .box .pbox.-iframe {
        margin-bottom: 20px;
    }

    .block-type03 .box .pbox iframe {
        aspect-ratio: 6 / 4;
        height: auto;
    }
}

@media (min-width: 1301px) {
    .block-type03 .box .tbox {
        padding-right: calc(50% - 600px);
    }
}

.block-type04 {
    position: relative;
}

.block-type04 .box {
    padding: 50px;
}

.block-type04 .item {
    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: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.block-type04 .item.-rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-type05 .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow: hidden;
    padding: 100px 50px;
    border-radius: 5px;
    border-radius: 10px;
}

.block-type05 .item {
    width: 50%;
    position: relative;
}

.block-type05 .item+.item:before {
    content: "";
    width: 1px;
    height: 100%;
    display: block;
    background-color: var(--color-04);
    position: absolute;
    top: 0;
    left: 0;
}

@media (max-width: 599px) {
    .block-type05 .box {
        padding: 50px 30px;
    }

    .block-type05 .item {
        width: 100%;
    }

    .block-type05 .item+.item {
        margin-top: 50px;
        padding-top: 50px;
    }

    .block-type05 .item+.item:before {
        width: 100%;
        height: 1px;
    }
}

.block-type06 {
    position: relative;
}

.block-type06 .pbox {
    position: absolute;
    bottom: 0;
    left: 0;
}

@media (max-width: 599px) {
    .block-type06 .pbox {
        position: static;
    }
}

.block-type07 .item {
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
}

.block-type07 .item:before {
    content: "";
    width: 85%;
    height: 100%;
    display: block;
    background-color: var(--color-02);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

.block-type07 .item .item-inner {
    position: relative;
    z-index: 5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.block-type07 .item:nth-child(odd) .item-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-type07 .item .tbox {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.block-type07 .item+.item {
    margin-top: 100px;
}

.block-type07 .item .tit {
    margin-top: 5%;
}

.block-type07 .item:nth-child(even):before {
    background-color: var(--color-02);
    left: unset;
    right: 0;
}

.block-type07 .item .left {
    width: 50%;
    padding-right: 5%;
    padding-left: 5%;
}

.block-type07 .item .right {
    width: 50%;
}

@media (max-width: 599px) {
    .block-type07 .item {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .block-type07 .item:before {
        opacity: .3;
        width: 90%;
    }

    .block-type07 .item .show\@sp {
        width: 94%;
        margin: 0 auto;
        padding: 0;
    }

    .block-type07 .item .left {
        width: 94%;
        margin: 0 auto;
        padding: 0;
    }

    .block-type07 .item .right {
        width: 94%;
        margin: 0 auto;
        padding: 0;
    }

    .block-type07 .item .txt {
        margin-top: 10px;
    }

    .block-type07 .item+.item {
        margin-top: 50px;
    }
}

@media (min-width: 1301px) {
    .block-type07 .item .left {
        padding-left: calc(50% - 600px);
    }

    .block-type07 .item:nth-of-type(even) .left {
        padding-left: 5%;
        padding-right: calc(50% - 600px);
    }
}

.block-type08 .item {
    width: calc(100% - 40px);
    margin-top: 100px;
    margin-left: auto;
    padding-bottom: 40px;
    background-color: var(--color-02);
    position: relative;
}

.block-type08 .item:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: var(--color-02);
    position: absolute;
    top: 0;
    left: 100%;
}

.block-type08 .item .pbox {
    width: 30%;
    margin-top: -40px;
    margin-left: -40px;
}

.block-type08 .item .tbox {
    width: 70%;
    padding-top: 40px;
}

.block-type08 .item .tit {
    margin-bottom: 15px;
    font-size: 20px;
}

.block-type08 .item .pic {
    overflow: hidden;
    border-radius: 5px;
}

.block-type08 .item:nth-of-type(2n + 2) {
    margin-left: 0;
    margin-right: auto;
}

.block-type08 .item:nth-of-type(2n + 2):before {
    left: auto;
    right: 100%;
}

.block-type08 .item:nth-of-type(2n + 2)>* {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-type08 .item:nth-of-type(2n + 2) .pbox {
    margin-left: 0;
    margin-right: -40px;
}

@media (max-width: 1024px) {
    .block-type08 .item {
        margin-top: 80px;
    }
}

@media (max-width: 599px) {
    .block-type08 .item {
        padding-bottom: 20px;
    }

    .block-type08 .item .pbox {
        width: 100%;
    }

    .block-type08 .item .tbox {
        width: 100%;
        padding-top: 20px;
        padding-left: 10px;
    }

    .block-type08 .item .tit {
        font-size: 18px;
    }

    .block-type08 .item:nth-of-type(2n + 2) .tbox {
        padding-left: 0;
        padding-right: 10px;
    }
}

.block-type09 .item {
    padding: 20px 15px 40px;
}

.block-type09 .item>* {
    height: 100%;
    display: block;
    padding: 30px 10px 10px;
    background-color: var(--color-02);
    position: relative;
}

.block-type09 .item:not(:last-of-type)>*:after {
    content: "";
    display: block;
    border-top: solid 10px transparent;
    border-bottom: solid 10px transparent;
    border-left: solid 10px var(--color-primary);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
}

.block-type09 .item .num {
    font-family: "YuMincho", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 40px;
    color: var(--color-primary);
    letter-spacing: 5px;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 0;
    left: 50%;
}

.block-type09 .item .tit~* {
    margin-top: 10px;
}

.block-type09 .item .txt {
    line-height: 2;
}

@media (max-width: 599px) {
    .block-type09 .item {
        padding: 20px 0 60px;
    }

    .block-type09 .item:last-of-type {
        padding-bottom: 0;
    }

    .block-type09 .item:not(:last-of-type)>*:after {
        border-top: solid 10px var(--color-primary);
        border-left: solid 10px transparent;
        border-right: solid 10px transparent;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        top: calc(100% + 25px);
        left: 50%;
    }
}

.block-type10 .pic {
    width: 70%;
    margin-left: auto;
    position: relative;
}

.block-type10 .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.block-type10 .inner {
    position: relative;
    z-index: 5;
}

.block-type10 .txt {
    line-height: 2;
}

.block-type11 {
    position: relative;
}

.block-type11>* {
    position: relative;
    z-index: 5;
}

.block-type11 .pic {
    width: 20%;
    height: 80%;
    position: absolute;
    top: 0;
    z-index: 0;
}

.block-type11 .pic>* {
    height: 100%;
}

.block-type11 .pic img {
    opacity: 0.7;
}

.block-type11 .pic01 {
    left: 0;
}

.block-type11 .pic02 {
    right: 0;
}

.block-type11 .txt {
    line-height: 2;
    text-align: center;
}

@media (max-width: 1024px) {
    .block-type11 .pic {
        width: 35%;
        height: 45%;
    }

    .block-type11 .pic02 {
        top: auto;
        bottom: 0;
    }

    .block-type11 .pic img {
        opacity: 0.4;
    }
}

@media (max-width: 599px) {
    .block-type11 .txt {
        text-align: left;
    }

    .block-type11 .pic {
        width: 30%;
        height: 40%;
        top: auto;
        bottom: 0;
    }
}

.block-type12 .box .box-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* .block-type12 .box:nth-of-type(even) .box-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
} */

.bg-type-img {
    position: relative;
}

.bg-type-img>* {
    position: relative;
    z-index: 5;
}

.bg-type-img .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.bg-type-img .bg .pic {
    height: 100%;
}

.bg-type-img .bg:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 1)), color-stop(40%, rgba(255, 255, 255, 1)), color-stop(90%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

@media (max-width: 1024px) {
    .bg-type-img .bg:before {
        background-color: rgba(255, 255, 255, 0.7);
    }
}

.tell-box {
    text-align: center;
}

.tell-box.-white>* {
    color: #fff;
}

.tell-box .txt {
    font-weight: 600;
    font-size: 18px;
}

.tell-box .tel {
    position: relative;
}

.tell-box .tel a {
    font-weight: 600;
    font-size: 30px;
    font-size: clamp(1.5rem, 1.339rem + 0.66vw, 1.875rem);
    color: var(--color-primary);
}

.tell-box .tel a:before {
    content: "\f095";
    margin-right: 10px;
    font-family: "font awesome 5 Free";
    font-size: 26px;
    font-size: clamp(1.25rem, 1.089rem + 0.66vw, 1.625rem);
}

.tell-box .time {
    font-size: 14px;
}

/* category archive */
.ca-box>div+div {
    margin-top: 100px;
}

.ca-box .cate {
    margin-bottom: 50px;
    padding: 10%;
    border: 1px solid #a3cee1;
    border-radius: 20px;
    background-color: #fff;
}

.ca-box .cate ul li {
    padding-left: 1.3rem;
}

.ca-box .cate ul li.now {
    color: #74abda;
}

.ca-box .cate ul li {
    position: relative;
}

.ca-box .cate ul li+li {
    margin-top: 20px;
}

.ca-box .cate ul li a:before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;
    background: url("https://hachikou-sekizai.jp/images/tag.png") 0 0 no-repeat;
    background-size: contain;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.ca-box .arc ul li a:before {
    background: url("https://hachikou-sekizai.jp/images/tag-arc.png") 0 0 no-repeat;
}

.ca-box .cate ul li.now a:before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;
    background: url("https://hachikou-sekizai.jp/images/tagnaow.png") 0 0 no-repeat;
    background-size: contain;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

@media (max-width: 1024px) {
    .ca-box>div+div {
        margin-top: 50px;
    }
}

@media (max-width: 599px) {
    .ca-box .cate {
        margin-bottom: 30px;
    }
}

/* slick */
/* スリックスライダー（トップ） */


.slick01.slick-dotted {
    margin-bottom: 50px;
}

.slick01 .btn-slick {
    padding: 9px 10px;
    font-size: 24px;
    color: #fff;
    border-radius: 100%;
    background-color: var(--color-primary);
    cursor: pointer;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    z-index: 1;
}

.slick01 .btn-slick.btn-back {
    left: 13%;
}

.slick01 .btn-slick.btn-next {
    right: 13%;
}

.slick01 .slick-dots {
    bottom: -40px;
    left: 0;
}

.slick01 .item .txt {
    margin-top: 10px;
    font-weight: 600;
    font-size: 28px;
    text-align: center;
}

.slick01 .item .txt .small {
    font-size: 60%;
}

@media (max-width: 599px) {
    .slick01 {
        padding: 0 10px;
    }

    .slick01 .btn-slick {
        padding: 5px 6px;
        font-size: 20px;
    }

    .slick01 .item .txt {
        font-size: 20px;
    }
}

/* list */
.list-post {
    position: relative;
}

.list-post dl a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 20px 0;
    border-bottom: 1px dashed #999;
    position: relative;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-post dl a:before {
    content: "\f054";
    width: 15px;
    height: 15px;
    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;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 15px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 10px;
    color: #fff;
    border-radius: 100%;
    background-color: var(--color-01);
}

.list-post .post-ttl {
    color: var(--color-01);
    width: 100%;
    margin-top: 10px;
}

.post-date {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1;
}

.list-post .post-cate {
    margin: 0 15px;
}

.post-cate span {
    min-width: 70px;
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0 3px;
    padding: 3px 10px 1px;
    font-size: 12px;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    border-radius: 15px;
    background-color: var(--color-primary);
}

.list-check {
    position: relative;
}

.list-check li {
    padding-left: 1rem;
    font-size: 20px;
    line-height: 2;
    position: relative;
}

.list-check li:before {
    content: "\2e";
    font-family: "font awesome 5 Free";
    font-weight: 600;
    line-height: 100%;
    position: absolute;
    top: 5%;
    left: 0;
}

@media (max-width: 1024px) {


    .list-post .post-ttl {
        width: 100%;
        display: block;
        margin-top: 10px;
    }
}

@media (max-width: 599px) {
    .list-check li {
        line-height: 1.5;
    }

    .list-post dl a:before {
        margin-top: 3px;
    }
}

.list-faq .item {
    margin-bottom: 30px;
}

.list-faq .datattl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 500;
    line-height: 130%;
    border: 2px solid var(--color-04);
    background-color: #fff;
    cursor: pointer;
    position: relative;
    padding: 12px 50px 10px 10px;
}

.list-faq .datattl:before {
    content: "Q";
    width: 45px;
    height: 45px;
    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;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
    font-weight: 600;
    font-size: 26px;
    color: #fff;
    background-color: var(--color-04);
    padding-bottom: 5px;
    padding-right: 2px;
    font-family: var(--ff01);
    margin-top: -2px;
}

.list-faq .datattl:after {
    content: "+";
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    font-size: 30px;
    color: var(--color-04);
    line-height: 26px;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transition: .5s;
    transition: .5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    line-height: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.list-faq .datattl .datattl-inner {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.list-faq .datattl.is-parent:after {
    height: 2px;
}

.list-faq .data {
    display: none;
    margin-top: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 65px;
    padding-right: 20px;
    font-weight: 500;
    background-color: #fff;
    position: relative;
    margin-left: 20px;
    border: 2px solid #838383;
}

.list-faq .data:before {
    content: "A";
    width: 45px;
    height: 45px;
    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;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
    font-size: 26px;
    color: #fff;
    background-color: #838383;
    position: absolute;
    top: 10px;
    left: 10px;
    padding-bottom: 5px;
    font-family: var(--ff01);
}

@media (max-width: 599px) {
    .list-faq .item {
        margin-bottom: 20px;
    }

    .list-faq .datattl {
        padding: 10px 40px 10px 10px;
        font-size: 16px;
    }

    .list-faq .datattl:before {
        margin-right: 10px;
    }

    .list-faq .datattl:after {
        right: 10px;
    }

    .list-faq .datattl.is-parent:after {
        line-height: 20px;
    }

    .list-faq .data {
        padding: 20px 10px;
        padding-right: 10px;
        padding-left: 65px;
        margin-left: 10px;
        margin-top: 10px;
    }
}

.list-type-check ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
}

.list-type-check li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    font-size: 16px;
}

.list-type-check li:before {
    content: "";
    width: 19px;
    height: 27px;
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 10px;
    background: var(--image-url01) no-repeat;
}

.list-type-check li+* {
    margin-top: 15px;
}

.list-type-check.-nomargin li+* {
    margin-top: 0;
}

.list-flow li+li {
    margin-top: 3rem;
}

.list-flow-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0.5em;
    font-weight: 600;
    /* 18 22 375 1299 */
    font-size: clamp(1.125rem, 1.011rem + 0.48vw, 1.375rem);
    color: var(--color-primary);
}

.list-flow-title .num {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-flow-title .num {
    margin-right: 0.5em;
}

.list01 .box {
    position: relative;
}

.list01 .box:before,
.list01 .box:after {
    content: "";
    width: 55px;
    height: 55px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: absolute;
}

.list01 .box:before {
    border-top: 1px solid #212121;
    border-left: 1px solid #212121;
    top: -10px;
    left: -10px;
}

.list01 .box:after {
    border-bottom: 1px solid #212121;
    border-right: 1px solid #212121;
    bottom: -10px;
    right: -10px;
}

.list01 .box .pbox {
    position: relative;
}

.list01 .box .tbox {
    width: 100%;
    padding: 5px 10px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    bottom: 0;
    left: 0;
}

.list01 .box .tbox .tit {
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 2px;
    text-align: center;
}

.list01 .item .txt {
    width: 100%;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
    background-color: var(--color-03);
    position: relative;
}

@media (max-width: 599px) {
    .list01 .box {
        width: 100%;
        margin: auto;
    }

    .list01 .box:before,
    .list01 .box:after {
        content: none;
    }

    .list01 .item .txt {
        margin-top: 0;
    }
}

.list02 .item {
    position: relative;
}

.list02 .item a {
    display: block;
}

/* .list02 .item a:hover {
  opacity: 1;
} */
.list02 .item a:hover .pbox {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.list02 .cate {
    text-align: right;
}

.list02 .cate span {
    display: inline-block;
    padding: 2px 5px;
    font-size: 10px;
    color: #fff;
    background-color: var(--color-01);
}

.list02 .cate span+span {
    margin-left: 5px;
}

.list02 .item .pbox {
    border: 5px solid #fff;
    -webkit-box-shadow: 3px 3px 10px #666;
    box-shadow: 3px 3px 10px #666;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.area-07 .list02 .item .pbox .cate {
    position: absolute;
    top: 10px;
    left: 10px;
    max-width: calc(100% - 20px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 5px;
}

.area-07 .list02 .item .pbox .cate span+span {
    margin-left: 0;
}

.list02 .tit-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-align: center;
}

.list02 .tit-box .name+.tit {
    margin-left: 10px;
}

.list03 .pbox {
    width: 80%;
    margin: auto;
}

.list04 .list04 {
    line-height: 1.857;
    border-top: 1px solid #bfbfbf;
    position: relative;
}

.list04 dt {
    padding-top: 16px;
    font-weight: 500;
    color: var(--color-primary);
    position: absolute;
    font-family: var(--ff00);
}

.list04 dd {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 110px;
    border-bottom: 1px solid #bfbfbf;
    font-family: var(--ff00);
    font-weight: 400;
}

.list04-sm {
    border-top: 1px solid #dbdbdb;
}

.list04-sm dt {
    padding-top: 8px;
}

.list04-sm dd {
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #dbdbdb;
}

@media screen and (max-width: 599px) {
    .list04 dt {
        padding-top: 8px;
        position: relative;
    }

    .list04 dd {
        padding-top: 4px;
        padding-bottom: 8px;
        padding-left: 0;
    }

    .list04-no dt {
        position: absolute;
    }

    .list04-no dd {
        padding-top: 8px;
        padding-bottom: 8px;
        padding-left: 72px;
    }
}

.list05 ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.list05 li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    font-size: 16px;
}

.list05 li:before {
    content: "\f0eb";
    /* display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 10px;
    font-family: "font awesome 5 Free";
    font-weight: 600;
    color: var(--color-01);
    line-height: 1; */
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 10px;
    font-family: "font awesome 5 Free";
    font-weight: 600;
    color: #ffffff;
    background-color: var(--color-01);
    border-radius: 50%;
    width: 25px;
    height: 25px;
    font-size: 12px;
    line-height: 25px;
    text-align: center;
}

.list05.check li:before {
    content: "\f00c";
}

.list05 li+* {
    margin-top: 5px;
}

.list06 dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1rem 0;
    border-bottom: 1px solid var(--color-02);
}

.list06 dl dt {
    font-weight: 600;
}

.list06 dl dd>dl:first-of-type {
    padding-top: 0;
}

.list06 dl dd>dl:last-of-type {
    padding-bottom: 0;
    border-bottom: none;
}

.list-font li .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.list-font-title {
    width: 100%;
    margin-bottom: 0.25em;
    font-size: 18px;
    color: var(--color-01);
    text-align: center;
}

.list-font-img {
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    border-radius: 0.5em;
}

/* pager */

.pager {
    margin-top: 20px;
}

.pager ul {
    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;
}

.pager ul li+li {
    margin-left: 5px;
}

.pager ul li a,
.pager ul li .now {
    width: 38px;
    height: 38px;
    letter-spacing: -1px;
    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: 5px 5px 8px 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 18px;
    line-height: 100%;
    border: 1px solid transparent;
    border-radius: 50%;
    position: relative;
    font-family: var(--ff01);
}

.pager ul li .now,
.pager ul li a:hover {
    color: #fff;
    border: 1px solid var(--color-04);
    background-color: var(--color-04);
    opacity: 1;
}

.pager ul li .now:after,
.pager ul li a:hover:after {
    background-color: #000;
}

.pager ul li a:focus {
    outline: none;
}

@media all and (-ms-high-contrast: none) {

    *::-ms-backdrop,
    .pager ul li a,
    .pager ul li .now {
        padding-top: 5px;
    }
}

.pager ul li a:hover {
    opacity: 1;
}

.pager ul .prev,
.pager ul .next {
    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;
    font-size: 10px;
    position: relative;
}

.pager ul .prev-arrow:before {
    content: "\f104";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 100%;
    padding-top: 3px;
    font-size: 14px;
}

.pager ul .next-arrow:before {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 100%;
    padding-top: 3px;
    font-size: 14px;
}

@media (max-width: 599px) {

    .pager ul li a,
    .pager ul li .now {
        width: 30px;
        height: 30px;
        font-size: 16px;
    }
}

/* pager end */

/* bg-area */
.area-bg {
    position: relative;
}

.area-bg .tbox {
    color: #fff;
    position: relative;
    z-index: 1;
}

.area-bg .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* header */
.header-wrap {
    position: relative;
}

.header-wrap h1 {
    padding-right: 50px;
    font-size: 10px;
    position: absolute;
    top: 3px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 1200px;
    max-width: 96%;
}

header {
    padding-top: 20px;
    position: relative;
    z-index: 10;
}

header .inner {
    max-width: 100%;
}

header .head-logo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 10px auto;
    max-width: 220px;
    -webkit-filter: drop-shadow(0px 0px 2px #fff) drop-shadow(0px 0px 1px #fff) drop-shadow(1px 1px 0 #fff);
    filter: drop-shadow(0px 0px 2px #fff) drop-shadow(0px 0px 1px #fff) drop-shadow(1px 1px 0 #fff);
}

header .head-logo .pic img {
    width: 100%;
}

header .head-logo .address {
    font-size: 10px;
    letter-spacing: 2px;
}

header .head-link {
    width: 100%;
}

.fixed header .head-link {
    width: 100%;
    padding: 0 calc(50% - 600px);
    background-color: #fff;
    -webkit-box-shadow: 0px 4px 2px -2px rgb(0 0 0 / 20%);
    box-shadow: 0px 4px 2px -2px rgb(0 0 0 / 20%);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

header .head-link .head-link-inner {
    padding: 0 5px;
}

header .head-link .txt {
    font-size: 14px;
}

header .head-link .box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

header .head-link .tell-box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 clamp(0.313rem, -3.125rem + 5vw, 0.625rem);
    font-weight: 600;
    position: relative;
}

header .head-link .tell-box .tel-box-inner {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
}

header .head-link .tell-box a {
    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;
    font-size: clamp(1.2rem, -1rem + 3.2vw, 1.4rem);
    color: var(--color-primary);
}

header .head-link .tell-box a:before {
    content: "\f095";
    margin-right: 2px;
    font-family: "font awesome 5 Free";
    font-weight: 600;
    font-size: clamp(0.875rem, -1.188rem + 3vw, 1.063rem);
    transform: rotate(20deg) translate(1px, -2px);
}

header .head-link .tell-box .tel-title {
    font-size: clamp(0.75rem, -0.625rem + 2vw, 0.875rem);
    letter-spacing: 0;
    transform: translateY(-2px);
}

header .head-link .box .border-box {
    width: fit-content;
    max-width: 250px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    color: #fff;
    text-align: center;
    position: relative;
}

header .head-link .box .border-box a {
    display: block;
    padding: 10px;
    border-radius: 40px;
    background-color: var(--color-primary);
    font-weight: 500;
    border: 2px solid var(--color-primary);
}

header .head-link .box .border-box a:hover {
    background-color: #fff;
    color: var(--color-primary);
    opacity: 1;
}

header .head-link .box .border-box a:before {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: 600;
}

header .head-link .box .border-box .address {
    color: initial;
    font-size: 14px;
    margin-top: 5px;
}

header .head-link .box .border-box img {
    margin-right: 10px;
}

.head-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.head-sns li {
    position: relative;
}

.head-sns li+li {
    margin-left: 10px;
}

.head-sns li a {
    width: 30px;
    height: 30px;
    display: block;
    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;
    color: #fff;
    border-radius: 100%;
    background-color: var(--color-primary);
}

.head-sns li.insta a:before {
    content: "\f16d";
    font-family: "font awesome 5 Brands";
    font-weight: 600;
}

.head-sns li.fb a:before {
    content: "\f39e";
    font-family: "font awesome 5 Brands";
    font-weight: 600;
}

header .head-link .flex>div+div {
    margin-left: clamp(0.313rem, -3.125rem + 5vw, 0.625rem);
}

header .inner {
    max-width: 1200px;
}

@media (max-width: 1024px) {
    .header-wrap h1 {
        font-size: inherit;
        position: relative;
        top: auto;
        left: auto;
        -webkit-transform: none;
        transform: none;
        width: 100%;
        max-width: 100%;
        text-align: left;
        margin-bottom: 20px;
    }

    header {
        padding: 6px 0;
        position: static;
    }

    header .head-logo {
        margin: 0;
    }

    .fixed header .head-link {
        -webkit-box-shadow: unset;
        box-shadow: unset;
        position: static;
    }

    header .head-link .tell-box {
        display: none;
    }

    header .head-link .box {
        width: 100%;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        padding-right: 50px;
    }
}

@media (max-width: 599px) {
    .header-wrap h1 {
        position: relative;
    }

    header {
        padding: 0;
    }

    header .head-link>.flex .box {
        display: none;
    }

    header .head-logo {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0;
        text-align: center;
        position: fixed;
        top: 10px;
        left: 10px;
        z-index: 200;
        max-width: 160px;
    }

    header .head-logo .address {
        display: none;
    }
}

/* gnav */
#gnav {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 10px 0;
}

#gnav .toggle {
    background-color: var(--color-primary);
}

/* #gnav li {
    display: inline-block;
} */

#gnav .sns-box {
    margin-top: 10px;
    display: none;
}

#dropmenu {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: auto;
}

#dropmenu li:not(.sns-box) a,
#dropmenu li:not(.sns-box) .a {
    padding: 5px clamp(0.125rem, -1.938rem + 3vw, 0.313rem);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: clamp(0.75rem, -0.625rem + 2vw, 0.875rem);
    letter-spacing: 0;
    font-weight: 600;
    color: var(--color-primary);
    font-family: var(--ff02);
    text-align: center;
}

#dropmenu li a .pic,
#dropmenu li .pic {
    width: 35px;
    height: 35px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#dropmenu li a .pic img,
#dropmenu li .pic img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

#dropmenu li a:hover {
    opacity: 1;
}

#dropmenu li:not(.sns-box) a,
#dropmenu li:not(.sns-box) .a {
    display: inline-block;
    text-decoration: none;
    position: relative;
}

#dropmenu li a:hover::after,
#dropmenu li .a:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

#dropmenu li.dropdown .a:after,
#dropmenu li.dropdown a:after {
    display: none;
}

#dropmenu li a:hover {
    opacity: 0.6;
}

.dropmenu .dropdown .pic {
    cursor: pointer;
}

#dropmenu li .dropdown-btn {
    cursor: pointer;
}

#gnav li.reservation a {
    color: #421f00;
    background-color: #ffce83;
}

#gnav li.reservation.type-b a {
    color: #fff;
    background-color: rgba(66, 31, 0, 0.8);
}

#dropmenu li.index-link span {
    display: none;
}

#dropmenu span.drop-btn {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 1px;
    text-align: left;
    border: none;
    position: relative;
}

#dropmenu span.drop-btn:after {
    content: "\f0d7";
    font-family: fontawesome;
    font-size: 14px;
    color: #ed6f92;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    bottom: -20px;
    left: 50%;
}

.dropmenu .dropdown {
    overflow: hidden;
    position: relative;
}

.dropmenu .dropdown::after {
    content: "";
    width: 280px;
    height: 40px;
    border: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: 60px;
    left: 50%;
    right: 50%;
    z-index: 2;
}

.dropmenu .dropdown ul {
    width: 370px;
    height: auto;
    margin: 23px auto 0 auto;
    padding: 10px 15px;
    border-radius: 3px;
    background-color: var(--color-primary);
    -webkit-box-shadow: 3px 3px 10px -7px black;
    box-shadow: 3px 3px 10px -7px black;
    opacity: 0;
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear;
    -webkit-transform: translate(0, -15px);
    transform: translate(0, -15px);
    position: absolute;
    top: 100%;
    left: -175px;
    right: -175px;
    z-index: 2;
}

.dropmenu .dropdown ul::before {
    content: "";
    width: 0;
    height: 0;
    display: inline-block;
    margin: auto;
    border-width: 0 7px 7px 7px;
    border-style: solid;
    border-color: transparent transparent var(--color-primary) transparent;
    position: absolute;
    top: -7px;
    left: 0;
    right: 0;
}

.dropmenu .dropdown ul li+li {
    border-top: 1px solid white;
}

.dropmenu .dropdown ul li {
    width: 100%;
    height: auto;
    overflow: hidden;
    margin-left: 0;
}

.dropmenu .dropdown ul li a {
    display: block;
    padding: 10px 5px;
    font-size: 18px;
    color: white !important;
    font-weight: 500 !important;
}

.dropmenu .dropdown:hover {
    overflow: visible;
}

.dropmenu .dropdown:hover ul {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.sab-nav {
    width: 200px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.sab-nav li:not(.sns-box) a {
    width: 100%;
}

#dropmenu .sp-only {
    display: none;
}

.fixed header .head-link #gnav .accordion-body {
    max-width: 1000px;
    margin: auto;
}

#gnav .accordion-inner .mobi-info img {
    max-width: 200px;
}

@media (max-width: 1024px) {
    #gnav {
        width: 100%;
    }

    #gnav .sns-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    #gnav .accordion-body {
        background-color: rgba(255, 255, 255, 0.8);
    }

    .drawer-active #gnav .accordion-body {
        width: 60%;
        margin-left: 40%;
    }

    #gnav .accordion-inner {
        height: 100vh;
    }

    #gnav .accordion-inner .mobi-info {
        margin-bottom: 20px;
        text-align: center;
    }

    #gnav .accordion-inner .mobi-info .tit {
        letter-spacing: 5px;
    }

    .accordion-inner .sns li {
        display: inline-block;
    }

    #dropmenu {
        display: block;
        padding-bottom: 80px;
    }

    #dropmenu li .a {
        width: 100%;
        display: block;
        padding: 0;
    }

    #dropmenu li a:after,
    #dropmenu li .a:after {
        content: none;
    }

    #dropmenu li .dropdown-btn {
        display: none;
    }

    .dropmenu .dropdown::after {
        content: none;
    }

    .dropmenu .dropdown ul {
        width: 100%;
        margin: 0;
        padding: 0;
        border-radius: 0;
        background-color: rgba(78, 69, 64, 0);
        -webkit-box-shadow: none;
        box-shadow: none;
        opacity: 1;
        -webkit-transform: unset;
        transform: unset;
        position: static;
    }

    .dropmenu .dropdown ul::before {
        display: none;
    }

    #dropmenu .dropdown ul li {
        height: auto;
        overflow: visible;
        font-weight: normal;
    }

    #dropmenu .dropdown ul li:last-of-type {
        border-bottom: none;
    }

    #dropmenu .dropdown ul li a {
        width: 100%;
        font-weight: 600;
        font-size: 14px;
        color: var(--color-primary) !important;
        background-color: unset;
    }

    #dropmenu li.index-link img {
        display: none;
    }

    #gnav ul li.index-link span {
        display: block;
        background: none;
    }

    #dropmenu span.drop-btn {
        color: #fff;
    }

    #dropmenu span.drop-btn:after {
        content: none;
    }

    #dropmenu .dropdown:hover ul li {
        width: 100%;
        height: auto;
    }

    #gnav.fixed {
        padding: 0;
        background: none;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    #gnav {
        padding: 0;
    }

    #dropmenu .sp-only {
        display: block;
    }

    #dropmenu li:not(.sns-box) a .pic,
    #dropmenu li:not(.sns-box) .pic {
        display: none;
    }
}

@media (max-width: 599px) {
    .drawer-active #gnav .accordion-body {
        width: 100%;
        margin-left: 0;
    }
}

/* ハンバーガー */

@media (max-width: 1024px) {
    #gnav .toggle {
        width: 42px;
        height: 42px;
        border-radius: 5px;
        display: block !important;
        cursor: pointer;
        position: fixed !important;
        top: 10px;
        right: 10px;
        z-index: 251;
    }

    #gnav .toggle .bar {
        width: 28px;
        height: 2px;
        display: block;
        padding: 0;
        text-indent: 9999px;
        background-color: #fff;
        -webkit-transition: ease 0.4s;
        transition: ease 0.4s;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

    #gnav .toggle .bar:first-of-type {
        top: calc(50% - 10px);
    }

    #gnav .toggle .bar:last-of-type {
        top: calc(50% + 10px);
    }

    .drawer-active #gnav .toggle .bar:nth-of-type(2) {
        opacity: 0;
    }

    .drawer-active #gnav .toggle .bar:first-of-type {
        -webkit-transform: translate(-50%, 0) rotate(45deg);
        transform: translate(-50%, 0) rotate(45deg);
        top: 50%;
    }

    .drawer-active #gnav .toggle .bar:last-of-type {
        -webkit-transform: translate(-50%, 0) rotate(-45deg);
        transform: translate(-50%, 0) rotate(-45deg);
        top: 50%;
    }

    #gnav .accordion-body {
        width: 100%;
        height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background-color: #f3f3f3;
        opacity: 0;
        -webkit-transition: height ease 0.1s, opacity ease 0.4s;
        transition: height ease 0.1s, opacity ease 0.4s;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed !important;
        top: 0;
        left: 0;
        z-index: -10;
    }

    .drawer-active #gnav .accordion-body {
        height: 100vh;
        opacity: 1;
        z-index: 250;
    }

    #gnav .accordion-inner {
        width: 100%;
        padding: 10px 10px 100px 10px;
    }

    #gnav li:not(.sns-box) {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        border: none;
        border-bottom: 1px solid #333;
    }

    #gnav ul li:not(.sns-box) a {
        display: block;
        padding: 10px 15px;
        color: #000;
        text-align: left;
        border: none;
    }

    .drawer-active .overlay:after {
        content: "";
        width: 100%;
        height: 100vh;
        background-color: #000;
        opacity: 0.3;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 150;
    }
}

/* top-mv */

.top-mv {
    position: relative;
    height: calc(100vh - 220px);
}

.top-mv .box {
    height: 100%;
    position: relative;
    overflow: hidden;
}

.top-mv .pbox {
    width: 100%;
    height: 100%;
}

.top-mv .pic {
    width: 100%;
    display: block;
    position: relative;
    height: 100%;
}

.top-mv .pic 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;
}

.top-mv .tit-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-family: var(--ff01);
    text-shadow: 1px 1px 0px white, -1px 1px 0px white, 1px -1px 0px white, -1px -1px 0px white, 1px 0px 0px white, 0px 1px 0px white, -1px 0px 0px white, 0px -1px 0px white;
    position: absolute;
    top: 15%;
        left: 50%;
    transform: translateX(-50%);
    padding-right: 10%;
    padding-left: 10%;
    max-height: 100dvh;
    width: 100%;
    max-width: 1200px;
    white-space: nowrap
}

.top-mv .tit-box .txt {
    font-weight: 600;
    font-size: 30px;
    color: #333;
    line-height: 2;
    letter-spacing: 2px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    position: relative;
}

.top-mv .tit-box .txt span {
    display: block;
}

.top-mv .tit-box .txt span+span {
    margin-top: 2em;
}

@media(max-width:1024px) {
    .top-mv .tit-box .txt {
        font-size: 24px;
    }
}

@media(max-width:599px){
  .top-mv{
    height: 100vh;
  }
  
  .top-mv .tit-box{
    
  }
}

/* under-mv */
.under-mv {
    z-index: 2;
}

.under-mv .box {
    position: relative;
}

.under-mv .pbox {
    width: 100%;
}

.under-mv .pic {
    width: 100%;
    display: block;
    position: relative;
    max-height: 300px;
}

.under-mv .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(255, 255, 255, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.under-mv .pic:after {
    content: "";
    display: block;
    padding-top: 25%;
}

.under-mv .pic 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;
}

.under-mv .tit-box {
    width: 100%;
    text-align: center;
    text-shadow: 0px 0px 10px rgb(255 255 255), 0px 0px 10px rgb(255 255 255), 0px 0px 10px rgb(255 255 255), 0px 0px 10px rgb(255 255 255);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    font-family: var(--ff01);
}

.under-mv .tit-box .tit {
    width: 100%;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    font-size: clamp(1.875rem, 1.339rem + 2.2vw, 3.125rem);
    letter-spacing: 2px;
}

@media (max-width: 1024px) {
    .under-mv .pic:after {
        padding-top: 250px;
    }
}

@media (max-width: 599px) {
    .under-mv .pic:after {
        padding-top: 200px;
    }
}

/* breadcrumbs */
.breadcrumbs {
    width: 100%;
    margin: 30px 0;
}

.breadcrumbs-list {}

.breadcrumbs-list li {
    font-size: 13px;
    letter-spacing: 1px;
    display: inline;

}

.breadcrumbs-list .breadcrumbs-home,
.breadcrumbs-list li a {
    font-weight: 500;
    color: var(--color-primary);
}

.breadcrumbs-list li+li::before {
    content: "";
    width: 10px;
    height: 1px;
    display: inline-block;
    margin: 0 8px;
    border-bottom: 1px solid #000;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
}

.breadcrumbs.bgc-gray {
    position: relative;
}

.breadcrumbs.bgc-gray::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #e5e5e5;
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}

/* footer */
#footer {
    padding: 100px 0 0;
    position: relative;
}

.f-logo {
    max-width: 220px;
}

.f-logo img {
    width: auto;
    -o-object-fit: contain;
    object-fit: contain;
    height: 42px;
}

.foot-access {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.foot-access .logo-area{
  margin: 0 0 10px;
}

.foot-access .tell-box .tel a:before {
    margin-right: 5px;
    font-size: clamp(1.125rem, -1.625rem + 4vw, 1.375rem);
    transform: translateY(-2px);
    display: inline-block;
}

.foot-access .left {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 14px;
}

.foot-access .right {
    width: 48%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 15px;
}

.foot-access .right .map {
    padding-top: 130%;
    border: 3px solid var(--color-primary);
}

.logo-area {
    margin: 30px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.logo-area a {
    display: block;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.foot-access .tel {
    margin-top: 10px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.sns-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
    margin-left: 10px;
}

.sns-box .sns-item a {
    padding: 0 2px;
}

.sns-box .sns-item.-line{
  transform: translateY(3px);
}

.sns-box .sns-item.-line a {
    font-size: clamp(1.875rem, -1.563rem + 5vw, 2.188rem);
    color: #16bd00;
}

.sns-box .sns-item.-instagram a {
    font-size: 30px;
    background: linear-gradient(120deg, rgba(247, 207, 0), rgba(246, 37, 2) 45%, rgba(182, 47, 82) 75%, rgba(113, 58, 166));
    -webkit-background-clip: text;
    color: transparent;
    display: block;
}

.foot-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.foot-nav .block {
    width: 23%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    border-left: 1px solid var(--color-primary);
}

.foot-nav .block:last-child {
    border-right: 1px solid var(--color-primary);
}

.foot-nav .block a {
    display: inline-block;
    padding: 10px 20px 0;
    position: relative;
    font-family: var(--ff02);
}

.foot-nav .block a:before {
    content: "";
    width: 0;
    height: 0;
    border-width: 5px 0 5px 10px;
    border-style: solid;
    border-color: transparent transparent transparent var(--color-primary);
    position: absolute;
    top: 1.05em;
    left: 0px;
}

.foot-nav .block li {
    margin-left: 20%;
}

.footer_kotei {
    width: 100%;
    display: none;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 7px 8px 7px 10px;
    font-weight: 600;
    font-size: 24px;
    background-color: var(--color-02);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 249;
}

.footer_kotei.abtest-b::before {
    content: "";
    width: 140%;
    height: 100%;
    background-color: #fff;
    opacity: 0.5;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    -webkit-animation: shine 3.5s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    animation: shine 3.5s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    position: absolute;
    top: 0;
    left: -160%;
    pointer-events: none;
}

@-webkit-keyframes shine {
    0% {
        opacity: 0;
        left: -160%;
    }

    70% {
        opacity: 0.5;
        left: -160%;
    }

    71% {
        opacity: 1;
        left: -160%;
    }

    100% {
        opacity: 0;
        left: -20%;
    }
}

@keyframes shine {
    0% {
        opacity: 0;
        left: -160%;
    }

    70% {
        opacity: 0.5;
        left: -160%;
    }

    71% {
        opacity: 1;
        left: -160%;
    }

    100% {
        opacity: 0;
        left: -20%;
    }
}

.footer_kotei .tel {
    width: 55%;
    margin: 0 auto;
    padding: 2% 1%;
    text-align: center;
}

.footer_kotei .tel a {
    font-size: 20px;
    color: var(--color-primary);
}

.footer_kotei .tel a .txt {
    display: block;
    font-size: 12px;
}

.footer_kotei .tel a .i {
    display: inline-block;
    margin-right: 5px;
}

.footer_kotei .mail {
    width: 43%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    text-align: center;
}

.footer_kotei .mail a {
    width: 100%;
    display: block;
    margin: auto;
    font-weight: 600;
    font-size: 12px;
    color: #fff;
    padding: 5px 0;
    border-radius: 5px;
    background-color: var(--color-primary);
}

.footer_kotei .mail a img {
    display: block;
    margin: 0 auto;
}

.copy {
    margin-top: 100px;
    padding: 10px 0;
    font-size: 12px;
    color: #fff;
    letter-spacing: 2px;
    background-color: var(--color-primary);
    font-family: var(--ff02);
}

@media(max-width:1024px) {
    .f-logo img {
        max-height: 50px;
    }
    
    .foot-access .right .map{
      padding-top: 50%;
    }
    
    .foot-access .left {
        width: 40%;
        align-self: center;
    }

    .foot-nav .block li {
        margin-left: 10%;
    }
    
    .sns-box .sns-item.-line a{
      font-size: 35px;
    }
}

@media(max-width:599px) {
    .f-logo {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
    }
    
    .foot-access{
      flex-wrap: wrap;
    }

    .foot-access .tel {
        margin: 0 auto;
    }
    
    .foot-access .right .map {
      padding-top: 70%;
    }
}

/*トップへ戻る*/
.totop {
    width: 50px;
    height: 50px;
    font-size: 18px;
    color: #fff;
    line-height: 45px;
    text-align: center;
    border-radius: 50%;
    background-color: var(--color-primary);
    border: 2px solid #fff;
    cursor: pointer;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 200;
    -webkit-transition: .5s;
    transition: .5s;
}

.totop:hover {
    background-color: #fff;
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.totop:before {
    content: "\f062";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}

@media (max-width: 1024px) {
    .totop {
        bottom: 50px;
        right: 10px;
    }
}

@media (max-width: 599px) {
    #footer {
        padding: 50px 0 0;
    }

    .foot-access .left {
        width: 100%;
    }

    .foot-access .right {
        width: 100%;
        margin-top: 20px;
        padding-left: 0;
    }

    .foot-nav .block {
        width: 100%;
        border: none;
    }

    .foot-nav .block:last-child {
        border: none;
    }

    .logo-area {
        margin: 20px 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .foot-nav .block li {
        margin-left: 5%;
    }


    .footer_kotei {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: fixed;
    }

    .totop {
        bottom: 110px;
    }

    .copy {
        margin-top: 60px;
        padding-bottom: 45px;
    }
}

/* A-BiSUスライダー */
.top-mv .uk-slidenav-position {
    height: 100%;
}

.top-mv .uk-slideshow {
    height: 100% !important;
    overflow: hidden;
    position: relative;
}

.top-mv .uk-slideshow::after {
    content: "";
    display: block;
    padding-top: 50%;
}

.top-mv .uk-slideshow li {
    width: 100%;
    height: 100% !important;
    position: absolute;
    top: 0;
}

.top-mv .uk-slideshow li>div {
    height: 100% !important;
}

.top-mv .uk-slideshow img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: "object-fit: cover; object-position: center center;";
}

.top-mv .uk-dotnav>*>* {
    width: 10px;
    height: 10px;
}

.top-mv .uk-dotnav .top-mv .uk-active>* {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.top-mv .uk-dotnav li a:hover {
    opacity: 1;
}

.top-mv .uk-dotnav-contrast>*>* {
    background-color: #ccc;
}

.top-mv .uk-dotnav-contrast>.top-mv .uk-active>* {
    background-color: #565656;
}

.top-mv .uk-position-bottom {
    bottom: -30px;
}

@media (max-width: 1024px) {
    .top-mv .uk-slideshow::after {
        padding-top: 70%;
    }
}

@media (max-width: 599px) {
    .top-mv .uk-slideshow::after {
        padding-top: 130%;
    }
}

/* banner */
.banner01 {
    border: 3px solid #fff;
    position: relative;
}

.banner01 .pbox {
    width: 50%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.banner01 .pbox .pic {
    height: 100%;
}

.banner01 .tbox {
    width: 50%;
    margin-left: auto;
    padding: 30px 20px;
    background-color: var(--banner-bgc01);
}

@media (max-width: 599px) {
    .banner01 .pbox {
        width: 100%;
        position: static;
    }

    .banner01 .tbox {
        width: 100%;
    }
}

/* simulation */
.sim {
    display: block;
    overflow: hidden;
}

.sim:after {
    content: "";
    height: 0;
    display: block;
    clear: both;
    visibility: hidden;
}

.sim .block:last-of-type {
    margin-bottom: 0;
}

.sim__mainImg {
    width: 56%;
    float: left;
    text-align: center;
    border-radius: 10px;
    background-color: #f2f2f2;
    position: relative;
}

.sim__mainImg-modal {
    display: block;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
    position: relative;
}

/* .sim__mainImg-modal:hover {
  opacity: 0.7;
} */

.sim__mainImg-inner {
    width: 100%;
    height: 740px;
    display: table;
}

.sim__mainImg-wrap {
    display: table-cell;
    vertical-align: middle;
    padding: 72px 0;
    padding: 0;
}

.sim #sim__image {
    max-width: 100%;
    opacity: 1;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
}

.sim #sim__image.sim__image-hidden {
    opacity: 0.7;
}

.sim__detail {
    width: 41%;
    float: right;
}

.sim__detail .block {
    margin-bottom: 32px;
}

.sim__detail-title {
    margin-bottom: 20px;
    padding-bottom: 8px;
    font-size: 2rem;
}

.sim__detail-title:before {
    content: "■";
    color: var(--color-primary);
}

.sim__detail-title span {
    display: inline-block;
    vertical-align: middle;
}

.sim__detail-title .result {
    margin-left: 8px;
    padding: 2px 8px;
    font-size: 1.4rem;
    color: rgb(0, 128, 0);
    border-radius: 5px;
    background-color: rgba(18, 181, 164, 0.15);
}

.sim__detail-listItem,
.sim__detail-listItem-btn,
.sim__detail-listItem-btn img {
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.sim__detail-listItem {
    margin-bottom: 0 !important;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 700;
    color: #666;
    text-align: center;
    cursor: pointer;
    position: relative;
}

.sim__detail-listItem-btn {
    margin: 0 0 8px;
}

/* .sim__detail-listItem-btn img {
  opacity: 0.7;
} */

.sim__detail-listItem-caption-hide {
    min-width: 100%;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    position: absolute;
    top: -36px;
    left: 0;
}

.sim__detail-listItem-caption-hide span {
    display: block;
    padding: 4px 8px;
    font-size: 1.3rem;
    color: white;
    white-space: nowrap;
    border-radius: 5px;
    background-color: rgba(0, 0, 0, 0.5);
}

.sim__detail-listItem[data-stone="sweden"] .sim__detail-listItem-caption-hide {
    /*   width: 120px; */
    margin-left: -80px;
}

/* .sim__detail-listItem:hover,
.sim__detail-listItem.current {
  color: rgb(0, 128, 0);
} */

.sim__detail-listItem:hover .sim__detail-listItem-btn,
.sim__detail-listItem.current .sim__detail-listItem-btn {
    color: var(--color-primary);
    border-color: var(--color-primary);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.sim__detail-listItem:hover .sim__detail-listItem-btn img,
.sim__detail-listItem.current .sim__detail-listItem-btn img {
    opacity: 1;
}

.sim__detail-listItem:hover .sim__detail-listItem-caption-hide {
    visibility: visible;
    opacity: 1;
    top: -40px;
}

.sim__result {
    width: 100%;
    text-align: center;
}

.sim__result p {
    padding: 12px 8px 10px;
    font-size: 1rem;
    border-radius: 5px;
    background-color: rgba(18, 181, 164, 0.1);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.sim__result .result {
    font-size: 1.6rem;
}

.sim__result span {
    color: var(--color-primary);
}

.sim .grade--list {
    display: none;
}

.sim .grade--list.grade--list--current {
    display: block;
}

.sim .grade--list .sim__detail-listItem-btn {
    margin-bottom: 0;
}

.sim__modalImg .mfp-content {
    border-radius: 8px;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.sim__modalImg .mfp-figure:after {
    display: none;
}

.sim__modalImg .mfp-bottom-bar {
    margin-top: -44px;
}

.sim__modalImg .mfp-bottom-bar .mfp-title {
    padding: 5px 0;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: #3e3e3e;
    color: #12b5a4;
    text-align: center;
}

.sim__mainImg-modal:before {
    content: none;
    width: 32px;
    height: 32px;
    display: inline-block;
    display: block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 24px;
    color: rgb(0, 128, 0);
    position: absolute;
    top: 24px;
    right: 32px;
}

.sim__result li {
    text-align: left;

}

.sim__result ul {
    margin-top: 10px;
}

.grid--2-list--narrow {
    display: block;
}

.grid--2-list--narrow:after {
    content: "";
    height: 0;
    display: block;
    clear: both;
    visibility: hidden;
}

.grid--2-list--narrow .grid__item {
    width: calc((100% - 16px) / 2);
    float: left;
    margin: 10px 15px 10px 0;
}

.grid--2-list--narrow .grid__item:nth-of-type(2n) {
    float: right;
    margin-right: 0;
}


.grid--4-list {
    display: block;
}

.grid--4-list:after {
    content: "";
    height: 0;
    display: block;
    clear: both;
    visibility: hidden;
}

.grid--4-list .grid__item {
    width: calc((100% - 30px) / 4);
    float: left;
    margin: 0 10px 10px 0;
}

.grid--4-list .grid__item:nth-of-type(4n) {
    margin-right: 0;
}

.grid--6-list {
    display: block;
}

.grid--6-list:after {
    content: "";
    height: 0;
    display: block;
    clear: both;
    visibility: hidden;
}

.grid--6-list .grid__item {
    width: calc((100% - 51px) / 6);
    float: left;
    margin: 0 10px 10px 0;
}

.grid--6-list .grid__item:nth-of-type(6n) {
    margin-right: 0;
}

.grid__item img {
    max-width: 100%;
}

.grid__item--fullwidth {
    width: 100% !important;
}

.sim-img-list {
    display: none;
}

.sim-img-list .ttl {
    color: #fff;
    background-color: green;
}

.sim-img-list dl {
    border: 2px solid green;
}

.sim-img-list ul:nth-of-type(3n + 2) .ttl {
    background-color: blue;
}

.sim-img-list ul:nth-of-type(3n + 2) dl {
    border-color: blue;
}

.sim-img-list ul:nth-of-type(3n) .ttl {
    background-color: red;
}

.sim-img-list ul:nth-of-type(3n) dl {
    border-color: red;
}

.sim .grade--list {
    display: none;
}

.none-d {
    display: none;
}

@media (max-width:1024px) {
    .sim__mainImg-inner {
        height: 600px;
    }
}

@media (max-width:599px) {
    .sim__mainImg {
        width: 100%;
    }

    .sim__mainImg-inner {
        height: 440px;
    }

    .sim__detail {
        width: 100%;
        margin-top: 20px;
    }

    .sim__result p {
        font-size: 1rem;
        text-align: left;
    }

    .sim__detail-title {
        font-size: 1.3rem;
        padding-left: 1.2em;
        position: relative;
    }

    .sim__detail-title:before {
        content: "■";
        color: var(--color-primary);
        position: absolute;
        top: 4px;
        left: 0;
    }
}

/* works */
.construction_box {
    width: 70%;
}

.construction_box.rec {
    width: 100%;
}

.side_category {
    width: 25%;
    padding-left: 3rem;
}

.side_category .category_wrap {
    margin-bottom: 10%;
}

.side_category .category_wrap li a {
    display: block;
    margin: 10px 0;
    padding-left: 1.2rem;
    position: relative;
}

.side_category .category_wrap li a::before {
    content: "・";
    position: absolute;
    top: 0.05rem;
    left: 0;
    font-weight: bold;
    color: var(--color-01);
}

.bl_heading {
    margin-bottom: 10px;
    padding: 5px 10px 3px;
    font-size: 20px;
    color: var(--color-01);
    border-left: 5px solid var(--color-01);
    font-weight: 500;
}

.sim__detail .block .sim__detail-listItem-caption {
    padding: 10px 0;
    font-size: 20px;
    letter-spacing: 2px;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    color: rgba(0, 0, 0, 0.1);
}

.sim__detail .block .current .sim__detail-listItem-caption {
    border: 2px solid var(--color-primary);
    color: var(--color-primary);
}


.flex2 .text:nth-child(1) {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-right: 0%;
}


.side_category.only-sp {
    display: none;
}

@media (max-width: 1024px) {
    .side_category {
        padding-left: 1rem;
    }
}

@media (max-width: 599px) {
    .construction_box {
        width: 100%;
    }

    .side_category {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .blog .blog_wrap {
        width: 100%;
        margin-bottom: 10%;
    }

    .side_category {
        width: 100%;
        padding-left: 0;
    }

    .side_category .category_wrap {
        width: 48%;
    }

    .bl_heading {
        font-size: 18px;
    }

    .side_category.only-sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .side_category.only-pc {
        display: none;
    }


}

/* news */
.article-list {
    padding: 50px 25px;
    background-color: #fff;
}

.article-list .article>*+* {
    margin-top: 40px;
}

/* お知らせのリスト型 */
.article-list .article dl {
    padding-bottom: 20px;
    border-bottom: 1px solid #c9c9c9;
}

.article-list .article dl:not(:first-of-type) {
    margin-top: 20px;
}

.article-list .article .ttl {
    margin-top: 5px;
    font-weight: 600;
    font-size: 18px;
    color: #2e2e2e;
    line-height: 1.33;
    letter-spacing: 0.1em;
}

.article-list .article .date {
    display: inline-block;
    font-weight: 600;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 14px;
}

.article-list .article .cate span {
    display: inline-block;
    margin-bottom: 3px;
    margin-right: 3px;
    padding: 4px 10px 2px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background-color: var(--color-primary);
}

.article-list .article .cate+.cate {
    margin-left: 10px;
}

.article-list .article-list .item+.item {
    margin-top: 30px;
}

@media (max-width: 599px) {
    .article-list .article .ttl {
        font-size: 18px;
    }

    .article-list .article dl {
        margin-bottom: 30px;
    }
}

/* ブログお知らせの詳細ページ */
.article-detail .article dt {
    margin-bottom: 20px;
}

.article-detail .article .date {
    margin-right: 30px;
    font-weight: 500;
}

.article-detail .article .cate span {
    font-weight: 500;
    display: inline-block;
    margin-bottom: 3px;
    margin-right: 3px;
    padding: 4px 10px 2px;
    font-size: 14px;
    color: #fff;
    background-color: var(--color-primary);
}

.article-detail .article .cate+.cate {
    margin-left: 15px;
}

.article-detail .article .ttl {
    font-weight: 600;
    font-size: 24px;
    color: #2e2e2e;
    line-height: 1.5;
    letter-spacing: 0.1em;
}

.article-detail .article dl {
    margin-bottom: 30px;
}

.detail-txt h2 {
    margin: 2rem 0 1rem;
    padding: 10px 15px;
    font-size: 18px;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 500;
}

.detail-txt h3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1.5rem 0 1rem;
    padding: 0.5rem 1rem 0.25rem 1.2rem;
    font-size: 20px;
    position: relative;
    font-weight: 500;
}

.detail-txt h3:before,
.detail-txt h3:after {
    content: "";
    width: 0.5em;
    height: 0.5em;
    position: absolute;
}

.detail-txt h3:after {
    border-top: 2px solid var(--color-primary);
    border-left: 2px solid var(--color-primary);
    top: 0;
    left: 0;
}

.detail-txt h3:before {
    border-bottom: 2px solid var(--color-primary);
    border-right: 2px solid var(--color-primary);
    bottom: 0;
    right: 0;
}

.detail-txt h4 {
    height: 34px;
    display: inline-block;
    margin: 1rem 0 10px .5rem;
    padding: 6px 20px 5px 25px;
    font-size: 16px;
    color: #fff;
    background-color: var(--color-primary);
    position: relative;
    border-radius: 0 3px 3px 0;
    font-weight: 500;
}

.detail-txt h4:before {
    content: "";
    border-width: 17px 10px 17px 0;
    border-style: solid;
    border-color: transparent var(--color-primary) transparent transparent;
    position: absolute;
    top: 0;
    left: -10px;
}

.detail-txt h4:after {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: calc(50% - 3px);
    left: 0px;
}

.detail-txt ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
}

.detail-txt ul li::before {
    content: "■";
    color: var(--color-primary);
}

.detail-txt ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    list-style-type: none;
    counter-increment: cnt;
}

.detail-txt ol li::before {
    content: ""counter(cnt)".";
    margin-right: 10px;
    font-weight: 600;
    font-size: 120%;
    color: var(--color-primary);
    font-family: math;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.detail-txt iframe[src*="youtube"] {
    margin-top: 1em;
    margin-bottom: 1em;
    aspect-ratio: 16 / 9;
    height: auto;
}


@media (max-width: 599px) {
    .article-detail .article .ttl {
        font-size: 20px;
    }
}

/* blog */
/* blogList */

.blogList .item>* {
    display: block;
}

.blogList .item .picbox {
    padding-top: 20px;
    position: relative;
}

.blogList .item .pic {
    overflow: hidden;
    border-radius: 15px;
}

.blogList .item .label {
    font-family: var(--ff02);
    font-size: 15px;
    left: 10px;
    right: auto;
}

.blogList .item .tit {
    margin-top: 5px;
    font-family: var(--ff02);
    font-weight: 600;
    font-size: 18px;
}

.blogList .item .info dl>* {
    margin-top: 5px;
}

.blogList .item .info .date {
    display: inline-block;
    font-weight: 500;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 14px;
}

.blogList .item .info dd {
    color: var(--color-primary);
}

@media (max-width: 599px) {
    .blogList .item>* {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .blogList .item .picbox {
        width: 35%;
        padding-top: 20px;
    }

    .blogList .item .pic {
        border-radius: 10px;
    }

    .blogList .item .label {
        font-size: 12px;
        left: 10px;
    }

    .blogList .item .tbox {
        width: 60%;
        padding-top: 20px;
    }
}

.t-vertical {
    word-break: keep-all;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.label-vertical {
    font-size: 18px;
    color: #fff;
    background-color: var(--color-primary);
    position: absolute;
    top: 0;
    right: 20px;
    z-index: 5;
}

.label-vertical>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.label-vertical>span:not(:first-of-type) {
    display: none;
}

.num-vertical {
    height: 100%;
    color: var(--color-primary);
    text-align: center;
    position: relative;
}

.num-vertical:before {
    content: "";
    width: 2px;
    height: calc(100% - 200px);
    display: block;
    margin-left: -1px;
    background-color: #d6d6d6;
    position: absolute;
    bottom: 0;
    left: 50%;
}

.num-vertical .num {
    margin-bottom: 10px;
    font-size: 60px;
    line-height: 1;
    letter-spacing: 3px;
}

.num-vertical .label {
    margin: auto;
    font-size: 18px;
    letter-spacing: 2px;
}

@media (max-width: 1024px) {
    .num-vertical .num {
        font-size: 50px;
    }
}

@media (max-width: 599px) {
    .num-vertical .num {
        font-size: 40px;
    }

    /* .area-recommend li:nth-child(3) {
        display: none;
    } */
}

.recommend li:nth-of-type(4) {
    display: none;
}

@media(max-width:599px) {
    .recommend li:nth-of-type(4) {
        display: block;
    }
}

/* contact */
.bg-border01 {
    padding: 30px 30px 50px;
    background-color: #fff;
    -webkit-box-shadow: 3px 3px 3px #4a4a4a;
    box-shadow: 3px 3px 3px #4a4a4a;
}

.form-inner {
    padding: 5% 9%;
    background-color: #fff;
}

.form .asterisk {
    font-size: 10px;
    color: #df0101;
}

@media(max-width:599px){
  .bg-border01{
    padding: 30px 15px 10px;
  }
}

/* フォーム */
.form .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.form .item:not(.-textarea) {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

.form .item+.item {
    margin-top: 25px;
}

.form .datattl {
    width: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: baseline;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: 600;
    font-size: 16px;
    color: #333;
    letter-spacing: 0.2em;
}

.form .datattl>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.require {
    width: 18px;
    height: 18px;
    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;
    font-size: 14px;
    color: #fff;
    letter-spacing: 0;
    border-radius: 50%;
    background-color: #b8af74;
}

.form dd {
    width: calc(100% - 230px);
}

.form .data.up-d-flex .actual_object_error_wrapper{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.form .data input {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 6px;
    background-color: #e5e5e5;
}

.form .data.imgbox input {
    background: none;
    border-radius: 0;
    min-height: unset;
}

label~label {
    margin-left: 15px;
}

input[type="radio"] {
    margin-right: 8px;
}

.form .data input[type='radio'],
.form .data input[type='checkbox'] {
    display: none;
}

.form .data input[type='radio']+label,
.form .data input[type='checkbox']+label {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 20px;
    margin-left: 0;
    margin-bottom: 10px;
    padding-left: 20px;
    line-height: 1;
}

.form .data input[type='radio']+label::before,
.form .data input[type='checkbox']+label::before {
    position: absolute;
    top: 0px;
    left: 0;
    display: block;
    width: 15px;
    height: 15px;
    border: 1px solid #7c7c7c;
    border-radius: 50%;
    background: #fff;
    content: '';
}

.form .data input[type='radio']:checked+label::after,
.form .data input[type='checkbox']:checked+label::after {
    position: absolute;
    top: 3px;
    left: 3px;
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--color-01);
    content: '';
}

.form .data input[type='radio']:checked+label,
.form .data input[type='checkbox']:checked+label {
    -webkit-transition: 0.6s;
    transition: 0.6s;
}

.form .data input[type='number'] {
    margin-right: 10px;
    width: 70px;
}

.form .data .w50 input{
  width: 200px;
}

.form .data select {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    border: 1px solid #999;
}

.form .data textarea {
    width: 100%;
    height: 150px;
    padding: 10px;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border: none;
    border-radius: 6px;
    background-color: #e5e5e5;
}

.form .datepick-wrap .hope {
    width: 100px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: 600;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.1em;
}

.form .datepick-wrap input {
    width: calc(100% - 100px);
}

.form .datepick+.datepick {
    margin-top: 15px;
}

@media (max-width: 1024px) {
    .form .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .form .data>* {
        height: auto !important;
        /* display: block; */
    }

    .form .datattl {
        -webkit-box-pack: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        margin-bottom: 10px;
    }

    .form .datattl>* {
        margin-right: 10px;
    }

    .form .data textarea {
        min-height: 200px;
        max-height: 200px;
    }
}

@media (max-width: 599px) {
    .form-inner {
        padding: 40px 20px;
    }

    .form .datattl {
        width: 100%;
    }

    .form dd {
        width: 100%;
    }
    
    .form .data.up-d-flex .actual_object_error_wrapper{
      flex-direction: column;
    }

    .flex-btn>* {
        width: 40%;
    }

    .flex-btn>*>* {
        width: 100%;
    }
}

.gaiyou {
    width: auto;
    width: calc(90% - 40px);
    margin-left: auto;
    margin-right: auto;
    font-size: 14px;
    border-spacing: 0;
    position: relative;
    z-index: 2;
}

.gaiyou th {
    width: 30%;
    padding: 8px 15px;
    font-weight: 600;
    color: #fff;
    line-height: 120%;
    text-align: center;
    border-top: 1px solid var(--color-02);
    border-bottom: 1px solid var(--color-02);
    border-left: 1px solid var(--color-01);
    background-color: var(--color-01);
}

.gaiyou tr td {
    padding: 8px 15px;
    text-align: center;
    border-top: 1px solid var(--color-02);
    border-bottom: 1px solid var(--color-02);
    border-left: 1px solid var(--color-02);
}

.gaiyou tr td:last-child {
    border-right: 1px solid var(--color-02);
}

@media (max-width: 599px) {
    .gaiyou {
        width: 90%;
    }

    .gaiyou tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .gaiyou th {
        width: 100%;
        text-align: left;
    }

    .gaiyou tr td {
        width: 100%;
        text-align: left;
    }
}

@media(max-width:599px) {
    .area-02 .pbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        -webkit-transform: translateX(-4%);
        transform: translateX(-4%);
    }

    .area-02 .show\@sp {
        width: 20%;
    }

    .area-02 .ttl-cmn01 {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        width: 100%;
        padding: 2rem 1rem 2rem;
    }

    .area-02 .pbox .pic {
        width: 80%;
    }
}

@media(max-width:599px) {
    .area-04 .block-type02 .item-wrap+.item-wrap {
        margin-top: 50px;
    }
}

.area-20.-reverse .item:nth-of-type(even) .item-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.pricelist .pricebox+.pricebox {
    margin-top: 50px;
}

@media(max-width:599px) {
    .pricelist .pricebox+.pricebox {
        margin-top: 30px;
    }
}

.main-pic.-bgc-gray .pic {
    background-color: #ebebeb;
}

.fead-text {
    visibility: hidden;
    /* 初期状態で非表示（レイアウトは確保） */
}

.fead-text .str.textin {
    visibility: visible;
}

[data-element-id] .show\@tb {
    display: block;
    border: solid 4px green;
    position: relative;
    max-width: 375px;
    margin-left: auto;
    margin-right: auto;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

[data-element-id] .show\@tb:after {
    display: block;
    content: "モバイル用";
    color: #fff;
    font-weight: 700;
    background-color: green;
    padding: 5px;
    text-align: center;
    text-shadow: none;
    font-size: 12px;
}

[data-element-id] .show\@tb.indention {
    width: 30px;
    display: inline-block;
}

[data-element-id] .show\@tb.indention:after {
    content: "SP時改行";
    padding: 0;
    letter-spacing: -1px;
    font-size: 10px;
}

[data-element-id] .show\@pc.indention {
    width: 30px;
    display: inline-block;
}

[data-element-id] .show\@pc.indention:after {
    content: "PC時改行";
    display: block;
    color: #fff;
    font-weight: 700;
    background-color: blue;
    text-align: center;
    text-shadow: none;
    padding: 0;
    letter-spacing: -1px;
    font-size: 10px;
    border: 2px solid blue;
}

[data-element-id] .show\@sp {
    display: block;
    border: solid 4px green;
    position: relative;
    max-width: 375px;
    margin-left: auto;
    margin-right: auto;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

[data-element-id] .show\@sp:after {
    display: block;
    content: "モバイル用";
    color: #fff;
    font-weight: 700;
    background-color: green;
    padding: 5px;
    text-align: center;
    text-shadow: none;
    font-size: 12px;
}

[data-element-id] .show\@sp.indention {
    width: 30px;
    display: inline-block;
}

[data-element-id] .show\@sp.indention:after {
    content: "SP時改行";
    padding: 0;
    letter-spacing: -1px;
    font-size: 10px;
}

[data-element-id].fead-order>* {
    opacity: 1;
    -webkit-transform: unset;
    transform: unset;
}

[data-element-id] .ttl--vertical {
    -ms-writing-mode: initial;
    -webkit-writing-mode: initial;
    writing-mode: initial;
}

[data-element-id] .ttl-brackets {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

[data-element-id] .t-vertical {
    -ms-writing-mode: initial;
    -webkit-writing-mode: initial;
    writing-mode: initial;
}

[data-element-id] .show\@sp .ttl-fz-xsmall {
    font-size: 19.78px;
}

[data-element-id] .show\@sp .ttl-fz-small {
    font-size: 20px !important;
}

[data-element-id] .show\@sp .title-num {
    font-size: 20px;
}

[data-element-id] .ttl-cmn01 .show\@sp .large,
[data-element-id] .show\@sp .ttl-cmn01 .large {
    font-size: 20px;
}

[data-element-id] .ttl-cmn02 .show\@sp .large {
    font-size: 18.5px;
}

[data-element-id].block-type02 .item .tbox {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
    padding: 50px 0;
}

[data-element-id] .block-type06 .pbox .show\@sp {
    width: 20%;
}

[data-element-id] .block-type06 .pbox .ttl-brackets {
    -webkit-writing-mode: tb;
    -ms-writing-mode: tb;
    writing-mode: tb;
    padding: 3rem 1rem;
}

[data-element-id] .block-type06 .pbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    bottom: 0;
    left: 0;
    position: absolute;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 35%;
}

[data-element-id] .block-type08 .ttl-cmn01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

[data-element-id] .show\@sp .list-flow-title {
    font-size: 18px;
}

[data-element-id].list-faq .data {
    display: block;
}

[data-element-id] header {
    position: relative;
    z-index: 3;
}

[data-element-id] .header-wrap h1 {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;
    margin: 10px auto;
}

[data-element-id] header .head-link .head-link-inner {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id] #gnav .sns-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 0;
}

[data-element-id] #dropmenu {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id].dropmenu .dropdown {
    overflow: visible;
    text-align: center;
}

[data-element-id].dropmenu .dropdown ul {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    position: static;
}

[data-element-id] #dropmenu.sp-only {
    display: block;
    border: 2px solid green;
    position: relative;
}

[data-element-id] #dropmenu.sp-only:before {
    content: "モバイル用";
    display: block;
    font-size: 12px;
    color: #fff;
    background-color: green;
}

[data-element-id].mobi-info.sp-only {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin: 0 auto 10px;
    border: 2px solid green;
    position: relative;
}

[data-element-id].mobi-info.sp-only:before {
    content: "モバイル用";
    display: block;
    color: #fff;
    background-color: green;
}

[data-element-id] .top-mv .tit-box .show\@sp {
    margin-right: 0;
}

[data-element-id] .top-mv .tit-box .show\@sp .txt {
    font-size: 24px;
}

[data-element-id] .fead-text {
    visibility: visible;
}

[data-element-id] .block-type06 .pbox {
    position: relative;
    bottom: auto;
    left: auto;
}

[data-element-id] #footer {
    padding-bottom: 150px;
}


[data-element-id].footer_kotei {
    max-width: 400px;
    display: block;
    border: 2px solid green;
    position: relative;
}

[data-element-id].footer_kotei:after {
    content: "モバイル用";
    font-size: 12px;
    color: #fff;
    background-color: green;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}

[data-element-id] .sim-img-list {
    display: block;
}

[data-element-id] .sim__detail-listItem-caption-hide {
    visibility: visible;
    opacity: 1;
}

[data-element-id] .sim .grade--list {
    display: block !important;
}

[data-element-id] .under-mv .tit-box .show\@sp .tit {
    font-size: 30px;
}

[data-element-id].side_category.only-sp {
    display: block;
    border: 1px solid green;
    position: relative;
    padding-top: 30px;
}

[data-element-id].side_category.only-sp:before {
    content: "モバイル";
    display: block;
    background-color: green;
    color: #fff;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.main-pic + .js-thumb .rm-nosrc{
  cursor: pointer;
}
