@charset "utf-8";

@font-face {
    font-family: "hannari";
    src: url('/import/tenant_1/162.43.5.115/font/hannari/HannariMincho-Regular.woff') format("woff"), url('/import/tenant_1/162.43.5.115/font/hannari/HannariMincho-Regular.otf') format("otf"), url('/import/tenant_1/162.43.5.115/font/hannari/HannariMincho-Regular.ttf') format("truetype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "mgen";
    src: url('/import/tenant_1/162.43.5.115/font/mgen/mgenplus-1c-regular.woff') format("woff"), url('/import/tenant_1/162.43.5.115/font/mgen/mgenplus-1c-regular.otf') format("otf"), url('/import/tenant_1/162.43.5.115/font/mgen/mgenplus-1c-regular.ttf') format("truetype");
    font-weight: normal;
    font-style: normal;
}

/* # 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.5.115/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.5.115/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.5.115/img/icon/check01_purple.webp');
}
/* # root3 END # */


.mgen {
    font-family: "mgen";
}

/*common*/

body {
    margin: 0;
    padding: 0;
    /* font-family: "Noto Sans JP", sans-serif; */
    font-family: "hannari";
    font-size: 16px;
    color: #000;
    line-height: 1.5;

    --awesome: "Font Awesome 5 Free";
    --notosans: "Noto Sans JP", sans-serif;
    --roboto: "Roboto", sans-serif;
    --color-secondery: #ff0;
}

.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 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-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%;
}

@media (max-width:599px) {

    .inner,
    .inner1100,
    .inner1200,
    .inner1300,
    .inner1400,
    .inner1500,
    .inner500,
    .inner600,
    .inner700,
    .inner800,
    .inner900 {
        width: 94%;
    }
}

/* 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-v0>.space+.space {
    margin-top: 0;
}

.space-v5>.space+.space {
    margin-top: 5px;
}

.space-v10>.space+.space {
    margin-top: 10px;
}

.space-v15>.space+.space {
    margin-top: 15px;
}

.space-v20>.space+.space {
    margin-top: 20px;
}

.space-v25>.space+.space {
    margin-top: 25px;
}

.space-v30>.space+.space {
    margin-top: 30px;
}

.space-v35>.space+.space {
    margin-top: 35px;
}

.space-v40>.space+.space {
    margin-top: 40px;
}

.space-v45>.space+.space {
    margin-top: 45px;
}

.space-v50>.space+.space {
    margin-top: 50px;
}

.space-v55>.space+.space {
    margin-top: 55px;
}

.space-v60>.space+.space {
    margin-top: 60px;
}

.space-v65>.space+.space {
    margin-top: 65px;
}

.space-v70>.space+.space {
    margin-top: 70px;
}

.space-v75>.space+.space {
    margin-top: 75px;
}

.space-v80>.space+.space {
    margin-top: 80px;
}

.space-v85>.space+.space {
    margin-top: 85px;
}

.space-v90>.space+.space {
    margin-top: 90px;
}

.space-v95>.space+.space {
    margin-top: 95px;
}

.space-v100>.space+.space {
    margin-top: 100px;
}

@media (max-width: 1024px) {
    .space-v0\@tb>.space+.space {
        margin-top: 0;
    }

    .space-v5\@tb>.space+.space {
        margin-top: 5px;
    }

    .space-v10\@tb>.space+.space {
        margin-top: 10px;
    }

    .space-v15\@tb>.space+.space {
        margin-top: 15px;
    }

    .space-v20\@tb>.space+.space {
        margin-top: 20px;
    }

    .space-v25\@tb>.space+.space {
        margin-top: 25px;
    }

    .space-v30\@tb>.space+.space {
        margin-top: 30px;
    }

    .space-v35\@tb>.space+.space {
        margin-top: 35px;
    }

    .space-v40\@tb>.space+.space {
        margin-top: 40px;
    }

    .space-v45\@tb>.space+.space {
        margin-top: 45px;
    }

    .space-v50\@tb>.space+.space {
        margin-top: 50px;
    }

    .space-v55\@tb>.space+.space {
        margin-top: 55px;
    }

    .space-v60\@tb>.space+.space {
        margin-top: 60px;
    }

    .space-v65\@tb>.space+.space {
        margin-top: 65px;
    }

    .space-v70\@tb>.space+.space {
        margin-top: 70px;
    }

    .space-v75\@tb>.space+.space {
        margin-top: 75px;
    }

    .space-v80\@tb>.space+.space {
        margin-top: 80px;
    }

    .space-v85\@tb>.space+.space {
        margin-top: 85px;
    }

    .space-v90\@tb>.space+.space {
        margin-top: 90px;
    }

    .space-v95\@tb>.space+.space {
        margin-top: 95px;
    }

    .space-v100\@tb>.space+.space {
        margin-top: 100px;
    }
}

@media (max-width: 599px) {
    .space-v0\@sp>.space+.space {
        margin-top: 0;
    }

    .space-v5\@sp>.space+.space {
        margin-top: 5px;
    }

    .space-v10\@sp>.space+.space {
        margin-top: 10px;
    }

    .space-v15\@sp>.space+.space {
        margin-top: 15px;
    }

    .space-v20\@sp>.space+.space {
        margin-top: 20px;
    }

    .space-v25\@sp>.space+.space {
        margin-top: 25px;
    }

    .space-v30\@sp>.space+.space {
        margin-top: 30px;
    }

    .space-v35\@sp>.space+.space {
        margin-top: 35px;
    }

    .space-v40\@sp>.space+.space {
        margin-top: 40px;
    }

    .space-v45\@sp>.space+.space {
        margin-top: 45px;
    }

    .space-v50\@sp>.space+.space {
        margin-top: 50px;
    }

    .space-v55\@sp>.space+.space {
        margin-top: 55px;
    }

    .space-v60\@sp>.space+.space {
        margin-top: 60px;
    }

    .space-v65\@sp>.space+.space {
        margin-top: 65px;
    }

    .space-v70\@sp>.space+.space {
        margin-top: 70px;
    }

    .space-v75\@sp>.space+.space {
        margin-top: 75px;
    }

    .space-v80\@sp>.space+.space {
        margin-top: 80px;
    }

    .space-v85\@sp>.space+.space {
        margin-top: 85px;
    }

    .space-v90\@sp>.space+.space {
        margin-top: 90px;
    }

    .space-v95\@sp>.space+.space {
        margin-top: 95px;
    }

    .space-v100\@sp>.space+.space {
        margin-top: 100px;
    }
}

/*********************************************
    show hide
*********************************************/
.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

[data-element-id] .show\@tb {
    display: block;
    border: solid 4px green;
    position: relative;
    max-width: 375px;
    margin-left: auto;
    margin-right: auto;
}

[data-element-id] .show\@tb:after {
    display: block;
    content: "モバイル用";
    color: #fff;
    font-weight: 700;
    background: 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: 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;
    width:96%;
}

[data-element-id] .show\@sp:after {
    display: block;
    content: "モバイル用";
    color: #fff;
    font-weight: 700;
    background: 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;
}

@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.5.115/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.5.115/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: "M PLUS Rounded 1c", sans-serif;
}

.ttl-cmn01 {
    margin-bottom: var(--ttl-mb-medium);
}

.ttl-cmn01 .large {
    display: block;
    font-size: clamp(1.25rem, 1.036rem + 0.88vw, 1.75rem);
}

[data-element-id] .ttl-cmn01 .show\@sp .large {
    font-size: 20px;
}

.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-cmn01.ttl-main-color>* {
    color: var(--color-primary);
}

.ttl-cmn01.ttl-text-left>* {
    text-align: left;
}

.ttl-cmn01.hukidashi {
    display: block;
    padding: 25px;
    text-align: center;
    background: #fff;
    position: relative;
}

.ttl-cmn01.hukidashi .sankaku {
    position: relative;
}

.ttl-cmn01.hukidashi .sankaku:before {
    content: "";
    margin-left: -30px;
    border: 30px solid transparent;
    border-top: 40px solid #fff;
    position: absolute;
    top: 140%;
    left: 50%;
}

.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 .ttl {
    font-size: clamp(1.75rem, 1.199rem + 2.76vw, 3.438rem);
}

.ttl-cmn02 .ttl .lead {
    font-size: 85%;
}

.ttl-cmn02 .large {
    display: block;
    font-size: clamp(1.125rem, 1.071rem + 0.22vw, 1.25rem);
}

[data-element-id] .ttl-cmn02 .show\@sp .large {
    font-size: 18.5px;
}

.ttl-cmn02 .small {
    display: block;
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    font-size: clamp(0.875rem, 0.817rem + 0.25vw, 1.125rem);
}

.ttl-cmn02>* {
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
    position: relative;
}

.ttl-cmn02.ttl-white>* {
    color: #fff;
}

.ttl-cmn02.ttl-text-left>* {
    text-align: left;
}

.ttl-cmn03 .ttl {
    width: 100%;
}

.ttl-cmn03.-mb-none {
    margin-bottom: 0;
}

.ttl-cmn03 .border {
    padding-bottom: 15px;
    border-bottom: 1px solid #000;
}

.ttl-cmn03 .sub {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0;
}

.ttl-cmn03 .ttl .abu-txt {
    width: 40%;
    text-align: left;
    position: absolute;
    bottom: 15px;
    right: 0;
}

.ttl-cmn03 .large {
    display: block;
    margin-bottom: 10px;
    font-size: clamp(24px, 14.544px + 2.52vw, 65.007px);
    font-size: clamp(1.5rem, 0.909rem + 2.52vw, 4.063rem);
}

.ttl-cmn03 .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-cmn03>* {
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
    position: relative;
}

.ttl-cmn03.ttl-white>* {
    color: #fff;
}

.ttl-cmn03.ttl-text-left>* {
    text-align: left;
}

.lead-cmn01 {
    margin-bottom: 50px;
    font-weight: bold;
    font-size: clamp(18px, 15.712px + 0.71vw, 30px);
    font-size: clamp(1.125rem, 0.982rem + 0.71vw, 1.875rem);
    line-height: 1.5;
    letter-spacing: 0.2em;
}

.ttl--vertical {
    word-break: keep-all;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.ttl-brackets {
    max-width: 525px;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem 3rem;
    position: relative;
}

.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%;
}

[data-element-id] .ttl-brackets {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.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-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.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;
}

[data-element-id] .show\@sp .ttl-fz-small {
    font-size: 20px !important;
}

.ttl-fz-xsmall {
    font-size: var(--ttl-fz-xsmall) !important;
}

[data-element-id] .show\@sp .ttl-fz-xsmall {
    font-size: 19.78px;
}

.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: bold;
    /* 26 32 375 1200 */
    font-size: clamp(1.625rem, 1.455rem + 0.73vw, 2rem);
    position: relative;
}

[data-element-id] .show\@sp .title-num {
    font-size: 26.0175px;
}

.title-num .num {
    color: var(--color-primary);
    position: absolute;
    top: 0;
    left: 0;
}

.title-num .sub {
    font-size: 70%;
}

.ttlfix {
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);
}

@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-cmn01.hukidashi .sankaku:before {
        top: 120%;
    }

    .ttl-cmn02 {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.9);
    }

    .ttl-cmn02>* {
        font-size: 40px;
        letter-spacing: 0.1em;
    }

    .lead-cmn01 {
        margin-bottom: 40px;
    }

    .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--horizontal\@tb {
        -ms-writing-mode: initial;
        -webkit-writing-mode: initial;
        writing-mode: initial;
    }

    .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 1rem;
    }

    .title-num .main,
    .title-num .sub {
        display: block;
    }
}

@media (max-width: 599px) {
    .ttl-cmn01 {
        margin-bottom: calc(var(--ttl-mb-large) * 0.8);
    }

    .ttl-cmn01>* {
        font-size: 30px;
    }

    .ttl-cmn02 {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.8);
    }

    .ttl-cmn02>* {
        font-size: 36px;
    }

    .ttl-cmn03 .ttl .abu-txt {
        margin-left: 20px;
        font-size: 10px;
        position: static;
    }

    .lead-cmn01 {
        margin-bottom: 30px;
    }

    .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--horizontal\@sp {
        -ms-writing-mode: initial;
        -webkit-writing-mode: initial;
        writing-mode: initial;
    }

    .ttl-center\@sp {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    /*
  .ttl-brackets {
    padding: 0.5rem 1rem;
  } */
    .ttl-vertical {
        width: 100%;
        padding: 1rem 0.5rem;
        -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: 0.4em 1em;
    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;
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);

}

.btn-cmn01>* span:before,
.btn-cmn01>* span:after {
    content: "";
    width: 0;
    height: 1px;
    background: #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: #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: #fff;
}

.btn-cmn01.btn-white>*:after {
    background: #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: bold;
}

/* 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: bold;
    font-size: 10px;
    color: #fff;
    border-radius: 100%;
    background: 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: bold;
    color: #fff;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
    border: 1px solid var(--color-05);
    background: var(--color-05);
    -webkit-transition: background 0.3s, 0.4s ease;
    transition: background 0.3s, 0.4s ease;
    position: relative;
}

.btn-cmn03>*:hover {
    color: var(--color-05);
    background: #fff;
    opacity: 1;
}

.btn-cmn03>*:before {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: bold;
}

.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: bold;
    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: bold;
    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;
}

.ttl-btn-wrap01 {
    margin-bottom: var(--wrap-mb-xsmall);
}

/* wrap上書き */

.wrap-mb-xlarge {
    margin-bottom: var(--wrap-mb-xlarge);
}

.wrap-mb-large {
    margin-bottom: var(--wrap-mb-large);
}

.wrap-mb-medium {
    margin-bottom: var(--wrap-mb-medium);
}

.wrap-mb-small {
    margin-bottom: var(--wrap-mb-small);
}

.wrap-mb-xsmall {
    margin-bottom: var(--wrap-mb-xsmall);
}

.wrap-mb-none {
    margin-bottom: 0;
}

@media (max-width: 599px) {
    .ttl-btn-wrap01 {
        margin-bottom: calc(var(--wrap-mb-xsmall) * 0.7);
    }

    .wrap-mb-xlarge {
        margin-bottom: calc(var(--wrap-mb-xlarge) * 0.7);
    }

    .wrap-mb-large {
        margin-bottom: calc(var(--wrap-mb-large) * 0.7);
    }

    .wrap-mb-medium {
        margin-bottom: calc(var(--wrap-mb-medium) * 0.7);
    }

    .wrap-mb-small {
        margin-bottom: calc(var(--wrap-mb-small) * 0.7);
    }

    .wrap-mb-xsmall {
        margin-bottom: calc(var(--wrap-mb-xsmall) * 0.7);
    }

    .wrap-mb-none\@sp {
        margin-bottom: 0;
    }
}

/* table */
.table01 {
    position: relative;
}

.table01 table {
    width: 100%;
}

.table01 table tr {
    border-bottom: 1px dashed var(--color-primary);
}

.table01 table th {
    width: 30%;
    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: bold;
    line-height: 1.8em;
}

.table02 table th+th {
    border-left: 1px dashed var(--color-primary);
}

.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) {
    .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: bold;
    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: bold;
    font-size: 200%;
    letter-spacing: 2px;
}

.block-type01 .tbox .sub-txt {
    font-size: 14px;
}

.block-type02 {
    position: relative;
}

.block-type02 .item {
    position: relative;
}

.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: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.block-type02 .item .tbox {
    padding: 50px;
    text-align: center;
    position: relative;
    z-index: 2;
}

@media (max-width: 599px) {
    .block-type02 .item .tbox {
        padding: 30px 20px;
        text-align: left;
    }
}

.block-type03 .tit {
    margin-top: 20px;
}

.block-type03 .box .pic {
    position: relative;
}

.block-type03 .box:nth-child(odd) .pic {
    margin-left: calc(50% - 50vw);
    margin-right: 0;
}

.block-type03 .box:nth-child(even) .pic {
    margin-right: calc(50% - 50vw);
}

.block-type03 .box:nth-child(odd) .pic:before,
.block-type03 .box:nth-child(even) .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: var(--color-02);
    position: absolute;
}

.block-type03 .box:nth-child(odd) .pic:before {
    top: 30px;
    left: 40px;
}

.block-type03 .box:nth-child(even) .pic:before {
    top: 30px;
    right: 40px;
}

.block-type03 .box .map {
    padding-top: 70%;
}

@media (max-width: 599px) {
    .block-type03 .txt {
        margin-top: 40px;
    }

    .block-type03 .box:nth-child(odd) .pic {
        margin-left: 0;
    }

    .block-type03 .box:nth-child(even) .pic {
        margin-right: 0;
    }

    .block-type03 .box:nth-child(odd) .pic:before {
        top: 30px;
        left: 30px;
    }
}

@media (min-width: 1301px) {
    .block-type03 .box .pic {
        width: 60%;
    }
}

.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: 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: var(--color-02);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

.block-type07 .item>* {
    position: relative;
    z-index: 5;
}

.block-type07 .item+.item {
    margin-top: 100px;
}

.block-type07 .item:nth-child(even)>* {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.block-type07 .item .left {
    width: 45%;
    max-width: 600px;
    float: left;
    margin-left: 7%;
    margin-right: auto;
}

.block-type07 .item .tit {
    margin-top: 5%;
}

.block-type07 .item:nth-child(even) .left {
    float: right;
    margin-left: auto;
    margin-right: 7%;
}

.block-type07 .item:nth-child(even) .right {
    float: left;
}

.block-type07 .item:nth-child(even):before {
    background: var(--color-02);
    left: unset;
    right: 0;
}

.block-type07 .item .right {
    width: 45%;
    float: right;
}

.block-type07 .item .txt {
    line-height: 2;
}

@media (max-width: 599px) {
    .block-type07 .item .left {
        width: 94%;
        float: none;
        margin: 0 3%;
    }

    .block-type07 .item .right {
        width: 94%;
        float: none;
        margin: 0 3%;
    }

    .block-type07 .item .txt {
        margin-top: 20px;
    }

    .block-type07 .item+.item {
        margin-top: 50px;
    }

    .block-type07 .item:nth-child(even) .left {
        float: none;
        margin: 0 3%;
    }

    .block-type07 .item:nth-child(even) .right {
        float: none;
    }
}

@media (min-width: 1301px) {
    .block-type07 .item .left {
        margin-left: calc(50% - 40vw);
    }
}

.block-type08 .item {
    width: calc(100% - 40px);
    margin-top: 100px;
    margin-left: auto;
    padding-bottom: 40px;
    background: var(--color-02);
    position: relative;
}

.block-type08 .item:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: 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-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 20px;
}

.block-type08 .item .txt {
    line-height: 2;
}

.block-type08 .item .pic {
    overflow: hidden;
    border-radius: 15px;
}

.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: 10px;
    }

    .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: 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(60%, 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) 60%, 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;
    }
}

.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(30%, rgba(255, 255, 255, 1)), color-stop(60%, 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) 30%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 100%); */
    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: rgba(255, 255, 255, 0.7);
    }
}

.tell-box {
    text-align: center;
}

.tell-box.-white>* {
    color: #fff;
}

.tell-box .txt {
    font-weight: bold;
    font-size: 18px;
}

.tell-box .tel {
    position: relative;
}

.tell-box .tel a {
    font-family: "mgen";
    font-weight: bold;
    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: #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: 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: bold;
    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: bold;
    font-size: 10px;
    color: #fff;
    border-radius: 100%;
    background: var(--color-01);
}

.list-post .post-ttl {
    color: var(--color-01);
    width: 100%;
    margin-top: 5px;
}

.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 {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 1px;
    padding: 3px 8px 6px 8px;
    font-size: 12px;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    border-radius: 15px;
    background: var(--color-primary);
    line-height:1em;
}

.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: bold;
    line-height: 100%;
    position: absolute;
    top: 5%;
    left: 0;
}

@media (max-width: 1024px) {


    .list-post .post-ttl {
        width: 100%;
        display: block;
        margin-top: 5px;
    }
}

@media (max-width: 599px) {
    .list-check li {
        line-height: 1.5;
    }

    .list-post dl a:before {
        margin-top: 3px;
    }
    
    .list-post .post-cate{
      margin:0;
      width:100%;
    }
}

.list-faq .item {
    margin-bottom: 30px;
}

.list-faq .datattl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    font-weight: bold;
    line-height: 130%;
    border: 2px solid var(--color-04);
    background-color: #fff;
    -webkit-box-shadow: 3px 3px var(--color-02);
    box-shadow: 3px 3px var(--color-02);
    cursor: pointer;
    position: relative;
    padding-right:50px;
}

.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: bold;
    font-size: 20px;
    color: #fff;
    background: var(--color-04);
    padding-bottom: 5px;
    padding-right: 2px;
}

@media(Max-width:599px){
  .list-faq .datattl:before{
    margin-right:10px;
  }
}

.list-faq .datattl:after {
    content: "+";
    width: 30px;
    height: 30px;
    font-size: 30px;
    color: var(--color-04);
    line-height: .7em;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.list-faq .datattl.is-parent:after {
    content: "−";
    line-height: .7em;
}

.list-faq .data {
    display: none;
    margin-top: 20px;
    padding-top: 20px;
    padding-bottom: 30px;
    padding-left: 95px;
    padding-right: 20px;
    font-weight: bold;
    background-color: var(--color-02);
    position: relative;
}

.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-weight: bold;
    font-size: 20px;
    color: #fff;
    background: var(--color-04);
    position: absolute;
    top: 20px;
    left: 30px;
    padding-bottom: 5px;
}

@media (max-width: 599px) {
    .list-faq .item {
        margin-bottom: 20px;
    }

    .list-faq .datattl {
        padding: 10px 25px 10px 10px;
        font-size: 16px;
    }

    .list-faq .datattl:after {
        width: 20px;
        height: 20px;
        font-size: 16px;
        line-height: 18px;
        right:5px;
    }

    .list-faq .datattl.is-parent:after {
        line-height: 20px;
    }

    .list-faq .data {
        padding-right: 20px;
        padding-left: 75px;
    }

    .list-faq .data:before {
        /* left: 25px; */
        left: 15px;
    }
}

.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: 1em;
}

.list-flow-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0.5em;
    font-weight: bold;
    /* 18 22 375 1299 */
    font-size: clamp(1.125rem, 1.011rem + 0.48vw, 1.375rem);
    color: var(--color-05);
}

[data-element-id] .show\@sp .list-flow-title {
    font-size: 18px;
}

.list-flow-title .num {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-flow-title .main {
    -ms-flex-negative: 1;
    flex-shrink: 1;
}

.list-flow-title .num {
    margin-right: 0.5em;
}

.list-flow li .txt {
    font-size: 90%;
}

.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: rgba(255, 255, 255, 0.5);
    position: absolute;
    bottom: 0;
    left: 0;
}

.list01 .box .tbox .tit {
    font-weight: bold;
    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: var(--color-03);
    position: relative;
}

@media (max-width: 599px) {
    .list01 .box {
        width: 90%;
        margin: auto;
    }
}

.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 span {
    display: inline-block;
    padding: 2px 5px;
    font-size: 10px;
    color: #fff;
    background: 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;
}

.list02 .tit-box {
    display:block;
    margin-top: 10px;
    font-weight: bold;
    letter-spacing: 2px;
}

.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: 700;
    color: var(--color-primary);
    position: absolute;
}

.list04 dd {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 180px;
    font-size: 93%;
    border-bottom: 1px solid #bfbfbf;
}

.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: bold;
    color: var(--color-01);
    line-height: 1;
}

.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: bold;
}

.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: 35px;
    height: 35px;
    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 5px 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;
}

.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;
}

.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;
}

@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-link>* {
    font-family: "mgen";
}

header .head-logo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 10px auto;
    min-width: 220px;
}

header .head-logo .pic img {
    width: 100%;
    max-width: 250px;
}

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: #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 10px;
}

header .head-link .txt {
    font-weight: bold;
    font-size: 14px;
    color: var(--color-primary);
}

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;
    flex-wrap: wrap;
}

header .head-link .tell-box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 10px;
    font-weight: bold;
    position: relative;
}

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(1rem, 0.837rem + 0.82vw, 1.5rem);
    color: var(--color-primary);
}

header .head-link .tell-box a:before {
    content: "\f095";
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: bold;
    font-size: 18px;
}

header .head-link .box .border-box {
    width: 40%;
    max-width: 180px;
    -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: var(--color-primary);
}

header .head-link .box .border-box a:before {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: bold;
}

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: var(--color-primary);
}

.head-sns li.insta a:before {
    content: "\f16d";
    font-family: "font awesome 5 Brands";
    font-weight: bold;
}

.head-sns li.fb a:before {
    content: "\f39e";
    font-family: "font awesome 5 Brands";
    font-weight: bold;
}

header .head-link .flex>div+div {
    margin-left: 10px;
}

header .inner {
    max-width: 1200px;
}

@media (max-width: 1024px) {
    header {
        padding: 20px 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 {
        font-size: 26px;
    }

    header .head-link .box {
        width: 100%;
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }
}

@media (max-width: 599px) {
    .header-wrap h1 {
        position: relative;
    }

    header {
        padding: 0;
    }

    header .head-link>.flex .box {
        display: none;
    }

    header .head-logo {
        width: 100%;
        margin: 20px auto 10px;
        text-align: center;
    }

    header .head-logo .pic img {
        max-width: 200px;
    }

    header .head-logo .address {
        display: none;
    }
}

/* gnav */
#gnav {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 20px 0;
    min-width: 550px;
}

#gnav .toggle {
    background: #063356;
}

/* #gnav li {
    display: inline-block;
} */

#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;
    margin-top: 10px;
}

#dropmenu li a,
#dropmenu li .a {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    letter-spacing: 1px;
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);
}

#dropmenu li .a {
    font-weight: bold;
    font-size: 14px;
    color: var(--color-primary);
}

#dropmenu li a .pic,
#dropmenu li .pic {
    width: 30px;
    margin: auto;
    height:30px;
}

#dropmenu li a .pic img,
#dropmenu li .pic img{
    width:100%;
    height:100%;
    object-fit:contain;
}

#dropmenu li a:hover {
    opacity: 1;
}

#dropmenu li a,
#dropmenu li .a {
    display: inline-block;
    text-decoration: none;
    position: relative;
}

/* #dropmenu li a:after,#dropmenu li .a:after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 5px;
  background: #f99700;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
} */

#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: #ffce83;
}

#gnav li.reservation.type-b a {
    color: #fff;
    background: 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: bold;
    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;
}

.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 a {
    width: 100%;
}

#dropmenu .sp-only {
    display: none;
}

/* #gnav.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  background: #fff;
  -webkit-box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
} */
.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%;
        min-width: 0;
    }

    #gnav .accordion-body {
        background: 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: 160px;
    }

    #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;
    }

    /*
    #gnav ul li span {
        height: auto;
        display: block;
        display: none;
        color: #fff;
        border-bottom: 1px solid #333;
        background-color: rgba(255, 255, 255, 0.2);
    } */

    .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-family: "mgen";
        font-weight: normal;
    }

    #dropmenu .dropdown ul li:last-of-type {
        border-bottom: none;
    }

    #dropmenu .dropdown ul li a {
        width: 100%;
        font-weight: bold;
        font-size: 14px;
        color: var(--color-primary);
        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 a .pic,
    #dropmenu li .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;
        display: block !important;
        opacity: 0.8;
        cursor: pointer;
        position: fixed !important;
        top: 0px;
        right: 0px;
        z-index: 251;
    }

    #gnav .toggle .bar {
        width: 28px;
        height: 2px;
        display: block;
        margin-top: -1px;
        padding: 0;
        text-indent: 9999px;
        background: #fff;
        -webkit-transition: ease 0.4s;
        transition: ease 0.4s;
        position: absolute;
        top: 50%;
        left: 7px;
    }

    #gnav .toggle .bar:before {
        content: "";
        width: 28px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
        top: -10px;
        left: 0;
    }

    #gnav .toggle .bar:after {
        content: "";
        width: 28px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
        top: 10px;
        left: 0;
    }

    .drawer-active #gnav .toggle .bar {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .drawer-active #gnav .toggle .bar:after,
    .drawer-active #gnav .toggle .bar:before {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        top: 0;
        left: 0;
    }

    #gnav .accordion-body {
        width: 100%;
        height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: rgba(255, 255, 255, 0.8);
        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: 60px 10px 100px 10px;
    }

    #gnav li {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        border: none;
        border-bottom: 1px solid #333;
    }

    #gnav ul li a {
        display: block;
        padding: 10px 15px;
        color: #000;
        text-align: left;
        border: none;
    }

    .drawer-active .overlay:after {
        content: "";
        width: 100%;
        height: 100vh;
        background: #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;
}

.top-mv .pbox {
    width: 100%;
    height: calc(100vh - 220px);
}

.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: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    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: 10%;
    left: 15%;
}

.top-mv .tit-box .txt {
    padding: 10px 0px;
    font-weight: bold;
    font-size: 24px;
    font-size: clamp(1rem, 0.786rem + 0.88vw, 1.5rem);
    color: #424240;
    line-height: 2;
    letter-spacing: 2px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    position: relative;
}

[data-element-id] .top-mv .tit-box .show\@sp .txt {
    font-size: 16px;
}

.top-mv .tit-box .txt span {
    display: block;
}

.top-mv .tit-box .txt span+span {
    margin-top: 2em;
}

/* 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;
}

.under-mv .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: 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;
}

.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;
}

[data-element-id] .under-mv .tit-box .show\@sp .tit {
    font-size: 42px;
}

@media (max-width: 1024px) {
    .under-mv .pic:after {
        padding-top: 30%;
    }
}

@media (max-width: 599px) {
    .under-mv .pic:after {
        padding-top: 80%;
    }

    .under-mv .tit-box {
        bottom: 25%;
    }
}

/* breadcrumbs */
.breadcrumbs {
    width: 100%;
    padding: 30px 0;
}

/*.breadcrumbs-list {
    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: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}*/

.breadcrumbs-list li {
  display:inline;
    font-size: 13px;
    letter-spacing: 1px;
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);

}

.breadcrumbs-list .breadcrumbs-home,
.breadcrumbs-list li a {
    font-weight: 500;
    color: var(--color-primary);
}

.breadcrumbs-list li+li::before {
    content: "";
    width: 25px;
    height: 5px;
    display: inline-block;
    margin: 0 10px;
    border-bottom: 1px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
}

.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 img {
    max-height: 60px;
}

.footer-bottom>* {
    font-family: "mgen";
}

.foot-access {
    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-access .left {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.foot-access .right {
    width: 48%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 5%;
}

.foot-access .right .map {
    padding-top: 60%;
    border: 3px solid var(--color-primary);
}

.logo-area {
    margin: 30px 0;
}

.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;
}

.sns-box li {
    width: 30px;
    height: 30px;
    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;
    border-radius: 100%;
    background: #fff;
    position: relative;
    position: relative;
}

.sns-box li+li {
    margin-left: 10px;
}

.sns-box li a {
    display: block;
    color: var(--color-primary);
}

.sns-box li.insta a:before {
    content: "\f16d";
    font-family: "font awesome 5 Brands";
    font-weight: bold;
}

.sns-box li.fb a:before {
    content: "\f39e";
    font-family: "font awesome 5 Brands";
    font-weight: bold;
}

.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;
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);
}

.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);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 22px;
    left: 0px;
}

.foot-nav .block li {
    margin-left: 20%;
}

.footer_kotei {
    width: 100%;
    display: none;
    margin: 0 auto;
    font-weight: 600;
    font-size: 24px;
    background: var(--color-02);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10000;
}

.kotei-inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 7px 8px 7px 10px;
    font-weight: 600;
    font-size: 24px;
    background: var(--color-02);
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.footer_kotei .tel {
    width: 50%;
    margin: 0 auto;
    padding: 2% 0% 1% 0%;
    text-align: center;
}

.footer_kotei .tel a {
    font-size: 18px;
    color: var(--color-primary);
}

.footer_kotei .tel a .txt {
    display: block;
    font-size: 12px;
    margin-bottom: -10px;
}

.footer_kotei .tel a .i {
    display: inline-block;
    margin-right: 5px;
}

.footer_kotei .mail {
    width: 100px;
    display: block;
    margin: 0 auto;
    text-align: center;
}

.footer_kotei .mail a {
    width: 100%;
    display: block;
    margin: 0;
    font-weight: bold;
    font-size: 12px;
    color: #fff;
    background: var(--color-primary);
    border-radius: 5px;
    padding: 8px 0;
    line-height: 1em;
}

.footer_kotei .mail a img {
    display: block;
    width: 25px;
    margin: 0 auto;
}

.copy {
    margin-top: 100px;
    padding: 10px 0;
    font-size: 12px;
    color: #fff;
    letter-spacing: 2px;
    background: var(--color-primary);
}

@media(max-width:1024px) {
    .f-logo img {
        max-height: 50px;
    }

    .foot-nav .block li {
        margin-left: 10%;
    }
}

@media(max-width:599px) {
    .f-logo {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
    }

    .foot-access .tel {
        margin: 0 auto;
    }
}

/*トップへ戻る*/
.totop {
    width: 60px;
    height: 60px;
    font-size: 20px;
    color: #fff;
    line-height: 60px;
    text-align: center;
    border-radius: 50%;
    background: var(--color-01);
    cursor: pointer;
    position: fixed;
    bottom: 30px;
    right: 30px;
}

.totop:before {
    content: "\f062";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
}

@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;
    }

    .foot-nav .block li {
        margin-left: 5%;
    }


    .footer_kotei {
        display: block;
        position: fixed;
    }

    .totop {
        bottom: 80px;
    }

    .copy {
        margin-top: 60px;
        padding-bottom: 90px;
    }
}

/* 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: #ccc;
}

.top-mv .uk-dotnav-contrast>.top-mv .uk-active>* {
    background: #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: 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;
    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: 580px;
    display: table;
}

.sim__mainImg-wrap {
    display: table-cell;
    vertical-align: middle;
    padding: 72px 0;
    padding: 0;
    border:3px solid #f2f2f2;
}

.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: 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: 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: 8px 8px 10px;
    border-radius: 5px;
    background: rgba(18, 181, 164, 0.1);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.sim__result .result {
    font-weight:bold;
}

.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;
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);

}

.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;
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);

}

.bl_heading {
    margin-bottom: 10px;
    padding-left: 5px;
    font-size: 20px;
    color: var(--color-01);
    border-left: 5px solid var(--color-01);
}

.sim__detail .block .sim__detail-listItem-caption {
    padding: 10px 0;
    font-size: 20px;
    letter-spacing: 2px;
    border: 2px solid rgba(0, 0, 0, 0.07);
    border-radius: 10px;
}

.sim__detail .block .current .sim__detail-listItem-caption {
    border: 2px solid 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;
}

[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: green;
    color: #fff;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

@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: #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;
    line-height: 2;
    letter-spacing: 0.1em;
    white-space: nowrap;
    font-size: 14px;
}

.article-list .article .cate span {
    display: inline-block;
    margin-bottom: 3px;
    margin-right: 3px;
    padding: 0 5px;
    font-size: 14px;
    color: #fff;
    line-height: 2;
    background: 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: 600;
    color: #2e2e2e;
    line-height: 2;
    letter-spacing: 0.1em;
}

.article-detail .article .cate span {
    margin-right: 3px;
    padding: 5px 10px;
    line-height: 1;
    text-align: center;
    border: solid 1px #00244a;
    border-radius: 17px;
    background-color: #fff;
}

.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: 30px 0 15px;
    padding: 10px 5px;
    font-size: 18px;
    border: 1px solid var(--color-primary);
    background: #f5f5f5;
}

.detail-txt h3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 2em 1em;
    padding: 0.25em 0.5em;
    /* 20 26 375 1200 */
    font-size: clamp(1.25rem, 1.08rem + 0.73vw, 1.625rem);
    position: relative;
}

.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: 20px 0 10px 30px;
    padding: 5px 20px 5px 35px;
    font-size: 16px;
    color: #fff;
    background: var(--color-primary);
    position: relative;
}

.detail-txt h4:before {
    content: "";
    border-width: 17px 30px 17px 0;
    border-style: solid;
    border-color: transparent var(--color-primary) transparent transparent;
    position: absolute;
    top: 0;
    right:99%;
}

.detail-txt h4:after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: calc(50% - 5px);
    left: -10px;
}

.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: bold;
    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: "M PLUS Rounded 1c", sans-serif;
    font-size: 16px;
    left: 20px;
    right: auto;
}

.blogList .item .tit {
    margin-top: 5px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 600;
    -webkit-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);
    font-size: 18px;
}

.blogList .item .info dl>* {
    margin-top: 5px;
}

.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: 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-transform: rotateZ(0.03deg);
    transform: rotateZ(0.03deg);
    -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: #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;
    }
}

/* contact */
.bg-border01 {
    padding: 30px 30px 50px;
    background: #fff;
    -webkit-box-shadow: 3px 3px 3px #4a4a4a;
    box-shadow: 3px 3px 3px #4a4a4a;
}

.form-inner {
    padding: 5% 9%;
    background: #fff;
}

.form .asterisk {
    font-size: 10px;
    color: #df0101;
}

/* フォーム */
.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;
    margin-bottom: 45px;
}

.form .datattl {
    width: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: bold;
    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: #b8af74;
}

.form dd {
    width: calc(100% - 230px);
}

.form .data input {
    width: 100%;
    min-height: 50px;
    border: none;
    border-radius: 6px;
    background: #e5e5e5;
    padding:.5em;
}

.form .data.imgbox input {
    background: none;
    border-radius: 0;
    min-height: unset;
}

label~label {
    margin-left: 15px;
}

input[type="radio"] {
    margin-right: 8px;
}

/* ベースのチェックボックス */
.checkbox {
    position: relative;
}

.checkbox input {
    display: none;
}

.checkbox label {
    padding-left: 20px;
    font-size: 14px;
    position: relative;
}

.checkbox input+label::before {
    content: "";
    width: 15px;
    height: 15px;
    display: block;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: #fff;
    position: absolute;
    top: 4px;
    left: 0;
}

.checkbox input+label::after {
    content: "";
    width: 6px;
    height: 10px;
    display: block;
    border-bottom: 3px solid #003b70;
    border-right: 3px solid #003b70;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: 4px;
}

.checkbox input:checked+label::after {
    opacity: 1;
}

.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;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border: none;
    border-radius: 6px;
    background: #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;
}

.form .checkbox .uk-text-danger {
    position: absolute;
    bottom: -5px;
    left: 0;
}

@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;
    }
}

.form_shape ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
}

@media (max-width: 599px) {
    .form .datattl {
        width: 100%;
    }

    .form dd {
        width: 100%;
    }

    .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: bold;
    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: 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;
    }
}


[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].block-type02 .item .tbox {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
    padding: 50px 0;
}

[data-element-id].list-faq .data {
    display: block;
}

[data-element-id] header {
    position: relative;
    z-index: 3;
}

[data-element-id] header .head-link .head-link-inner {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

[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;
}

#dropmenu[data-element-id] .sp-only {
    display: block;
    border: 2px solid green;
    position: relative;
}

#dropmenu[data-element-id] .sp-only:before {
    content: "モバイル用";
    display: block;
    font-size: 12px;
    color: #fff;
    background: 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: green;
}

[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:before {
    content: "モバイル用";
    font-size: 12px;
    color: #fff;
    background: green;
    position: absolute;
    top: 0;
    left: 0;
}

[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] .t-vertical {
    -ms-writing-mode: initial;
    -webkit-writing-mode: initial;
    writing-mode: initial;
}

.line-box {
    width: 45px;
    height: 45px;
    margin-left: 10px;
}

.line-box>a {
    display: block;
    width: 100%;
    height: 100%;
}

.line-mini {
    width: 53px;
    height: 53px;
}

.line-mini>a {
    display: block;
    width: 100%;
    height: 100%;
}

.icons a {
    padding: 0 !important;
}

.v2 .kotei-inner {
    position: relative;
    overflow: hidden;
}

.v2 .kotei-inner::after {
    content: "";
    width: 60px;
    height: 120%;
    background-color: #fff;
    opacity: .5;
    -webkit-transform: scale(2) rotate(20deg);
    transform: scale(2) rotate(20deg);
    -webkit-animation-name: shiny;
    animation-name: shiny;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    position: absolute;
    top: -10%;
    left: -20%;
}

@-webkit-keyframes shiny {
    0% {
        left: -40%;
    }

    20% {
        left: 130%;
    }

    100% {
        left: 130%;
    }
}

@keyframes shiny {
    0% {
        left: -40%;
    }

    20% {
        left: 130%;
    }

    100% {
        left: 130%;
    }
}






.form .checkboxer label {
    display: inline-block;
    margin: 0.5em 0;
    padding: 0 10px 0 24px;
    position: relative;
    margin-right: 15px;
    font-weight: bold;
}

.form .checkboxer label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 2px solid #dcdcdc;
    border-radius: 3px;
    background-color: white;
    position: absolute;
    top: 3px;
    left: 0;
    box-shadow: none;

}

.form .checkboxer label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.form .checkboxer input {
    display: none;
}

.form .checkboxer input:checked+label {
    text-decoration: underline;
}

.form .checkboxer input:checked+label::after {
    content: "\f00c";
    width: 0;
    height: 0;
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 20px;
    color: red;
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: 4px;
    left: 2px;
}

.poster{
  display:flex;
  align-items: center;
  flex-wrap:wrap;
}
.poster input{
  max-width:300px;
  margin-left:5px;
}

.pbox .cate{
  display:flex;
  flex-wrap:wrap;
}

.pbox .cate>span{
      margin-right: 3px;
    padding: 5px 10px;
    line-height: 1;
    text-align: center;
    border: solid 1px #00244a;
    border-radius: 17px;
    background-color: #fff;
}

[data-element-id].header-wrap h1{
  z-index:999;
}

.uk-text-danger {
    width: 100%;
}








/* table */
.table01 {
    position: relative;
}

.table01 .table {
    width: 100%;
}

.table01 .table .tr {
    width: 100%;
    display:flex;
    border-bottom: 1px dashed var(--color-primary);
}

.table01 .table .th {
    width: 30%;
    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;
    width:70%;
}


.table02 {
    position: relative;
}

.table02 .table {
    width: 100%;
}

.table02 .table .tr {
    border-bottom: 1px dashed var(--color-primary);
    display:flex;
    width: 100%;
}

.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: bold;
    line-height: 1.8em;
}

.table02 .table .th+.th {
    border-left: 1px dashed var(--color-primary);
}

.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);
}

.table02 .table .tr>*:nth-child(1) {
    width:30%;
}

.table02 .table .tr>*:nth-child(2) {
    width:30%;
}

.table02 .table .tr>*:nth-child(3) {
    width:20%;
}

.table02 .table .tr>*:nth-child(4) {
    width:20%;
}

@media (max-width: 1024px) {
    .table02 .table {
        width: 800px;
    }
}

@media (max-width: 599px) {
    .table02 .table {
        width: 600px;
    }
}
[data-ab-test-block]{
  max-width:375px;
}
