@charset "utf-8";

body {
    margin: 0;
    padding: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 15px;
    color: #3b3220;
    line-height: 1.5;
    background: var(--color-01);

    --awesome: "Font Awesome 5 Free";
    --notosans: "Noto Sans JP", sans-serif;
    --zenkaku: "Zen Kaku Gothic New", sans-serif;
    --zenmaru: "Zen Maru Gothic", sans-serif;
    --zenold: "Zen Old Mincho", serif;
    --poppins: "Poppins", sans-serif;
    --color-primary: #8e8573;
    --color-secondery: #efeee9;
    --color-01: #e9e6df;
    --color-02: #ded3b8;
    --color-03: #e8e7e4;
    --color-04: #6e551f;
    --color-05: #012640;
}

a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.red {
    color: red;
}

.tel {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap;
}

.innerwide {
    width: 98%;
    margin-left: auto;
    margin-right: auto;
}

.noinner {
    max-width: 600px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1em;
}

.noinner.-left {
    margin-left: auto;
}

.noinner.-right {
    margin-right: auto;
}

/* ##### フロート 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) {
    .float-box-wrap.-noinner {
        width: 96%;
        margin-left: auto;
        margin-right: auto;
    }

    .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;
    }
}

/* 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: rgb(0, 93, 154);
    background: linear-gradient(135deg, rgba(0, 93, 154, 1) 20%, rgba(1, 69, 115, 1) 20%, rgba(1, 69, 115, 1) 80%, rgba(0, 93, 154, 1) 80%);
}

.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%);
}

::-moz-selection {
    color: #fff;
    background: var(--color-primary);
}

::selection {
    color: #fff;
    background: var(--color-primary);
}

.post-cate {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/* fead */
.fead-zoom {
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(0.64, 0.04, 0.35, 1);
    transition: -webkit-transform 1.2s cubic-bezier(0.64, 0.04, 0.35, 1);
    transition: transform 1.2s cubic-bezier(0.64, 0.04, 0.35, 1);
    transition: transform 1.2s cubic-bezier(0.64, 0.04, 0.35, 1), -webkit-transform 1.2s cubic-bezier(0.64, 0.04, 0.35, 1);
    transition: transform 1.2s cubic-bezier(0.64, 0.04, 0.35, 1), -webkit-transform 1.2s cubic-bezier(0.64, 0.04, 0.35, 1);
    -webkit-transform: scale(1.1) rotate(0.01deg);
    transform: scale(1.1) rotate(0.01deg);
}

.fead-zoom.mv {
    -webkit-transform: none;
    transform: none;
}

.fead-order>.mv {
    -webkit-transition: 2s;
    transition: 2s;
}

.fead-cover:before {
    background: var(--color-primary);
}

.fead-text2 {
    opacity: 0;
}

.fead-text2.mv {
    opacity: 1;
    -webkit-transition: 0s;
    transition: 0s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.fead-text2 .str {
    opacity: 1;
}

.fead-text2:hover .str.textin {
    opacity: 1;
    -webkit-transition: 1s;
    transition: 1s;
    /* -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg); */
}

.-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;
}

.-delay8 {
    -webkit-transition-delay: 0.8s !important;
    transition-delay: 0.8s !important;
}

.-delay9 {
    -webkit-transition-delay: 0.9s !important;
    transition-delay: 0.9s !important;
}

.-delay10 {
    -webkit-transition-delay: 1s !important;
    transition-delay: 1s !important;
}

.-delay11 {
    -webkit-transition-delay: 1.1s !important;
    transition-delay: 1.1s !important;
}

.-delay12 {
    -webkit-transition-delay: 1.2s !important;
    transition-delay: 1.2s !important;
}

.-delay13 {
    -webkit-transition-delay: 1.3s !important;
    transition-delay: 1.3s !important;
}

.-delay14 {
    -webkit-transition-delay: 1.4s !important;
    transition-delay: 1.4s !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;
    }

    .tb-br.sp {
        display: inline;
    }
}

/* 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;
}

/*  レイアウト  */
.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;
    }
}

/* 共通コンテンツ間隔 */

[class*="section-m"],
[class*="section-p"] {
    --section-xlarge: 150px;
    --section-large: 120px;
    --section-medium: 100px;
    --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(../images/bg01.png) 0 0 no-repeat;
    background-size: 100%;
    background-position: 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;
}

.radius10 {
    overflow: hidden;
    border-radius: 10px;
}

.radius20 {
    overflow: hidden;
    border-radius: 20px;
}

.radius30 {
    overflow: hidden;
    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: 24px;
    --ttl-fz-xsmall: 20px;
    --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;
}

.ttl-cmn01 {
    margin-bottom: var(--ttl-mb-medium);
}

.ttl-cmn01 .en {
    display: block;
    margin-bottom: 20px;
    font-family: var(--poppins);
    font-weight: 100;
    font-size: 70px;
    font-size: clamp(3.125rem, 2.589rem + 2.2vw, 4.375rem);
    color: var(--color-02);
    line-height: 1;
}

.ttl-cmn01 .large {
    display: block;
    font-family: var(--zenold);
    font-size: 30px;
    font-size: clamp(1.375rem, 1.161rem + 0.88vw, 1.875rem);
}

.ttl-cmn01 .small {
    display: block;
    font-family: var(--zenold);
    font-size: 20px;
    font-size: clamp(1rem, 0.893rem + 0.44vw, 1.25rem);
}

.ttl-cmn01 .border {
    padding-bottom: 5px;
    border-bottom: 1px solid;
}

.ttl-cmn01>* {
    width: 100%;
    line-height: 1.7;
    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 .en.left {
    text-align: left !important;
}

.ttl-cmn01 .en.center {
    text-align: center !important;
}

.ttl-cmn01 .en.right {
    text-align: right !important;
}

.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;
    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-cmn02 .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-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 var(--color-primary);
}

.ttl-cmn03.border {
    padding-bottom: 15px;
    border-bottom: 1px solid var(--color-primary);
}

.ttl-cmn03 .sub {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0;
}

.ttl-cmn03 .large {
    display: block;
    font-family: var(--zenold);
    font-size: clamp(1.25rem, 1.089rem + 0.66vw, 1.625rem);
}

.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>* {
    letter-spacing: 0.1em;
    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-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-fz-xlarge {
    font-size: var(--ttl-fz-xlarge) !important;
}

.ttl-fz-large {
    font-size: var(--ttl-fz-large) !important;
}

.ttl-fz-medium {
    font-size: var(--ttl-fz-medium) !important;
}

.ttl-fz-small {
    font-size: var(--ttl-fz-small) !important;
}

.ttl-fz-xsmall {
    font-size: var(--ttl-fz-xsmall) !important;
}

.ttl-mb-xlarge {
    margin-bottom: var(--ttl-mb-xlarge);
}

.ttl-mb-large {
    margin-bottom: var(--ttl-mb-large);
}

.ttl-mb-medium {
    margin-bottom: var(--ttl-mb-medium);
}

.ttl-mb-small {
    margin-bottom: var(--ttl-mb-small);
}

.ttl-mb-xsmall {
    margin-bottom: var(--ttl-mb-xsmall);
}

.ttl-mb-none {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .ttl-cmn01 {
        margin-bottom: calc(var(--ttl-mb-medium) * 0.9);
    }

    .ttl-cmn01>* {
        font-size: 36px;
    }

    .ttl-cmn01.hukidashi .sankaku:before {
        top: 120%;
    }

    .ttl-cmn02 {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.9);
    }

    .ttl-cmn02>* {
        font-size: 40px;
    }

    .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-fz-small {
        font-size: calc(var(--ttl-fz-small) * 0.8) !important;
    }

    .ttl-fz-xsmall {
        font-size: calc(var(--ttl-fz-xsmall) * 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;
    }
}

@media (max-width: 599px) {
    .ttl-cmn01 {
        margin-bottom: calc(var(--ttl-mb-medium) * 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;
    }

    .ttl-cmn03 .border {
        padding-bottom: 5px;
    }

    .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-fz-small {
        font-size: calc(var(--ttl-fz-small) * 0.7) !important;
    }

    .ttl-fz-xsmall {
        font-size: calc(var(--ttl-fz-xsmall) * 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-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;
    }
}

/* title */
.-title-bl {
    border-left: 5px solid;
    padding-left: 10px;
}

/* txt-type */
.txt-type-01 {
    width: 60%;
    margin: auto;
    line-height: 2;
    text-align: center;
}

@media (max-width: 599px) {
    .txt-type-01 {
        width: 100%;
        text-align: left;
    }
}

.txt-type-02 {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    line-height: 2;
    text-align: center;
}

@media (max-width: 599px) {
    .txt-type-02 {
        width: 100%;
        text-align: left;
    }
}

/* リスト */
/*===================================
共通ボタン
===================================*/

[class*="btn-cmn"] {
    --btn-mt-xlarge: 90px;
    --btn-mt-large: 60px;
    --btn-mt-medium: 50px;
    --btn-mt-small: 40px;
    --btn-mt-xsmall: 30px;
}

[class*="btn-cmn"]>*:hover .textin {
    -webkit-transform: rotateY(360deg);
    transform: rotateY(360deg);
}

[class*="btn-cmn"]>* .textin {
    display: inline-block;
    -webkit-transition: 1s;
    transition: 1s;
    position: relative;

    -webkit-perspective: 1000;
    perspective: 1000;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

/* 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: 170px;
    max-width: 100%;
    max-height: 47px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1em;
    font-family: var(--poppins);
    color: #fff;
    line-height: 1.3;
    text-align: center;
    border: none;
    border-radius: 5px;
    background: #f1eeeb;
    background-color: var(--color-primary);
    -webkit-box-shadow: 5.7px 5.7px 9px 1px rgba(0, 0, 0, 0.08);
    box-shadow: 5.7px 5.7px 9px 1px rgba(0, 0, 0, 0.08);
    position: relative;
}

.btn-cmn01.small>* {
    width: 120px;
    padding: 1.5em 1em;
    font-size: 10px;
}

.btn-cmn01.large>* {
    width: 270px;
    max-height: 62px;
    padding: 1.5em 1em;
}

.btn-cmn01.xlarge>* {
    width: 360px;
    padding: 1em;
}

.btn-cmn01>*:hover {
    color: #fff;
    background-color: var(--color-04);
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 1;
}

.btn-cmn01.contact-btn>*:before {
    content: "\f0e0";
    margin-right: 10px;
    font-family: "font awesome 5 Free";
    font-weight: bold;
}

.btn-cmn01.contact-btn>*:after {
    display: none;
}

.btn-cmn01.btn-color01>* {
    background-color: var(--color-04);
}

.btn-cmn01.btn-color02>* {
    background-color: var(--color-02);
}

.btn-cmn01.btn-white>* {
    color: var(--color-primary);
    background-color: #fff;
    -webkit-box-shadow: 5.7px 5.7px 9px 1px rgba(0, 0, 0, 0.08);
    box-shadow: 5.7px 5.7px 9px 1px rgba(0, 0, 0, 0.08);
}

.btn-cmn01.btn-white>*:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
}

.btn-cmn01.btn-white:hover::before {
    -webkit-box-shadow: 3px 3px 4.5px 1px rgba(0, 0, 0, 0.04);
    box-shadow: 3px 3px 4.5px 1px rgba(0, 0, 0, 0.04);
}

/* 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>* {
    width: 80px;
    height: 80px;
    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: 50%;
    background: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
    pointer-events: none;
}

.btn-cmn02>*::before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 24px;
    color: #083d2c;
}

.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: 450px;
    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: 2em 0.5em;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
    border-radius: 50px;
    background: #fff;
    -webkit-box-shadow: 5.7px 5.7px 9px 1px rgba(0, 0, 0, 0.06);
    box-shadow: 5.7px 5.7px 9px 1px rgba(0, 0, 0, 0.06);
    -webkit-transition: background 0.3s, 0.4s ease;
    transition: background 0.3s, 0.4s ease;
    pointer-events: none;
}

.btn-cmn03>*:hover {
    color: #fff;
    background: #083d2c;
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 1;
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
}

.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-cmn-04>* {
    width: 100%;
    max-width: 100%;
    display: block;
    overflow: hidden;
    padding: 10px;
    color: var(--color-04);
    text-align: center;
    border: 1px solid;
    border-radius: 5px;
    position: relative;
}

.btn-cmn-04>*:after {
    content: "\f105";
    display: none;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
}

.btn-cmn-04.prev>* {
    padding-left: 20px;
    text-align: right;
}

.btn-cmn-04.prev>*:after {
    content: "\f104";
    display: block;
    left: 10px;
    right: auto;
}

.btn-cmn-04.next>* {
    padding-right: 20px;
    text-align: left;
}

.btn-cmn-04.next>*:after {
    content: "\f105";
    display: block;
    left: auto;
    right: 10px;
}

.btn-inner {
    position: relative;
    z-index: 1;
}

.btn-cmn-04>*:before {
    content: "";
    width: 100%;
    height: 0;
    margin: auto;
    background-color: var(--color-04);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: -1;
}

.btn-cmn-04>*:before {
    background: var(--color-04);
}

.btn-cmn-04>*:hover {
    color: #fff;
    border-color: var(--color-04);
    opacity: 1;
}

.btn-cmn-04>*:hover:before {
    height: 105%;
}

/* 共通ボタン上書き */

.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;
}

.btn-arrow01 {
    width: 25px;
    height: 25px;
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 15px;
    border-radius: 100%;
    background: var(--color-primary);
    position: relative;
}

.btn-arrow01:before {
    content: "";
    width: 55%;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.btn-arrow01:after {
    content: "";
    width: 5px;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    bottom: 14px;
    right: 5px;
}

.btn-arrow02 {
    display: inline-block;
    margin-left: 30px;
    position: relative;
}

.btn-arrow02:before {
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.btn-arrow02:after {
    content: "";
    width: 8px;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    bottom: 2px;
    right: -11px;
}

.btn-arrow02.small {
    margin-left: 10px;
}

.btn-arrow02.small:before {
    width: 10px;
}

.btn-arrow02.small:after {
    width: 6px;
    bottom: 1px;
    right: -7px;
}

.btn-arrow03 {
    display: inline-block;
    margin-right: 30px;
    position: relative;
}

.btn-arrow03:before {
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.btn-arrow03:after {
    content: "";
    width: 8px;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    bottom: 2px;
    left: -11px;
}

.btn-arrow03.small {
    margin-right: 10px;
}

.btn-arrow03.small:before {
    width: 10px;
}

.btn-arrow03.small:after {
    width: 6px;
    bottom: 1px;
    right: -7px;
}

@media (max-width: 599px) {
    .btn-cmn01 {
        margin-top: calc(var(--btn-mt-large) * 0.8);
    }

    .btn-cmn02>* {
        width: 65px;
        height: 65px;
    }

    .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 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;
    }
}

/* 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;
        text-align: left;
    }
}

.block-type03 .tit {
    margin-top: 20px;
}

.block-type03 .box .pic {
    position: relative;
}

.block-type03 .box:nth-child(odd) .pic img {
    border-radius: 30px 0 0 30px;
}

.block-type03 .box:nth-child(even) .pic img {
    border-radius: 0 30px 30px 0;
}

.block-type03 .-rowr .box:nth-child(odd) .pic img {
    border-radius: 0 30px 30px 0;
}

.block-type03 .-rowr .box:nth-child(even) .pic img {
    border-radius: 30px 0 0 30px;
}

.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 {
    overflow: hidden;
    padding: 100px 50px;
    border-radius: 5px;
    border-radius: 10px;
}

.block-type05 .item {
    width: 50%;
    padding: 20px 0;
    position: relative;
}

.block-type05 .item:nth-child(1):before {
    content: "";
    width: 1px;
    height: 100%;
    display: block;
    background: var(--color-04);
    position: absolute;
    top: 0;
    right: 0;
}

@media (max-width: 599px) {
    .block-type03 .box:nth-child(odd) .pic img,
    .block-type03 .box:nth-child(even) .pic img,
    .block-type03 .-rowr .box:nth-child(odd) .pic img,
    .block-type03 .-rowr .box:nth-child(even) .pic img {
        border-radius: 30px;
    }

    .block-type05 .box {
        padding: 50px 30px;
    }

    .block-type05 .item {
        width: 100%;
    }

    .block-type05 .item+.item {
        margin-top: 0px;
        padding-top: 50px;
    }

    .block-type05 .item:nth-child(1):before {
        width: 100%;
        height: 1px;
        top: unset;
        bottom: 0;
    }
}

.block-type06 .tbox {
    margin-top: 10px;
    text-align: center;
}

.block-type06 .tbox 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;
}

.block-type07 .item {
    padding: 30px 40px;
    border-radius: 10px;
    background: #fff;
}

.block-type08 .li {
    height: auto !important;
    margin-bottom: 0;
    padding: 10px 20px 10px;
    position: relative;
    z-index: 0;
}

.block-type08 .li .item {
    height: 100%;
    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;
    overflow: hidden;
    padding: 15px;
    border-radius: 10px;
    -webkit-box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
    box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
}

.block-type08 .li .left {
    width: 35%;
}

.block-type08 .li .left .pic {
    overflow: hidden;
    border-radius: 50%;
}

.block-type08 .li .right {
    width: 60%;
}

.block-type08 .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.block-type08 .slick-arrow {
    cursor: pointer;
}

.block-type08 .slick-prev,
.block-type08 .slick-next {
    width: 30px;
    height: 30px;
    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;
    text-indent: -999rem;
    position: absolute;
    top: 50%;
    z-index: 1;
}

.block-type08 .slick-prev img,
.block-type08 .slick-next img {
    display: block;
}

.block-type08 .slick-prev {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    left: 0;
}

.block-type08 .slick-next {
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    right: 0;
}

.block-type08 .slick-next img {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

@media (max-width: 599px) {
    .block-type08 .left {
        width: 60%;
        margin: 0 auto;
    }

    .block-type08 .right {
        width: 100%;
    }

    .block-type08 .ul {
        padding: 0 30px;
    }

    .block-type08 .li {
        padding: 10px;
    }
}

.block-type09 .cate {
    width: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
    padding: 5px 2px 0;
    font-size: 14px;
    letter-spacing: 6px;
    text-align: center;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    border: 1px solid;
}

.block-type09 .name {
    width: 60px;
    margin-right: 20px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.block-type09 .name .em {
    display: block;
    font-weight: 300;
    font-size: 30px;
}

.block-type09 .list {
    width: calc(100% - 130px);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 0px;
}

.block-type09 .list li+li {
    margin-top: 10px;
}

.block-type09 .list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
}

.block-type09 .list dt {
    width: 100px;
    padding-right: 10px;
    font-size: 14px;
}

.block-type09 .list dd {
    width: calc(100% - 100px);
    font-size: 14px;
}

.block-type09 .tbox .item {
    padding: 40px;
}

.block-type09 .tbox .item .tit {
    margin-top: -60px;
}

@media (max-width: 599px) {
    .block-type09 .list dt {
        width: 100%;
    }

    .block-type09 .list dd {
        width: 100%;
        margin-top: 5px;
    }

    .block-type09 .tbox .item {
        padding: 30px 20px 20px;
    }
}

.block-type10 .name {
    width: 60px;
    margin: 0 30px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.block-type10 .name .em {
    display: block;
    font-weight: 300;
    font-size: 30px;
}

.block-type10 .pic {
    width: calc(100% - 130px);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow: hidden;
    border-radius: 50%;
}

.block-type10 .list {
    margin-top: 30px;
}

.block-type10 .list li+li {
    margin-top: 10px;
}

.block-type10 .list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
}

.block-type10 .list dt {
    width: 100px;
    padding-right: 10px;
    font-size: 14px;
}

.block-type10 .list dd {
    width: calc(100% - 100px);
    font-size: 14px;
}

.block-type10 .tbox .tit {
    margin-top: -60px;
}

.block-type10 .tbox .item {
    padding: 40px;
}

@media (max-width: 599px) {
    .block-type10 .tbox .item {
        padding: 30px 20px 20px;
    }
}

.block-type11 .box {
    padding: 50px 50px 50px;
    border: 2px solid var(--color-primary);
    border-radius: 10px;
    position: relative;
}

.block-type11 .box.-pt02 {
    border: none;
    background: #fff;
    -webkit-box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
    box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
}

.block-type11 .icon {
    width: 55px;
    height: 55px;
    display: block;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: -35px;
    left: 50%;
    z-index: 0;
}

.block-type11 .item+.item {
    margin-top: 50px;
}

.block-type11 .item .tit {
    margin-bottom: 10px;
    font-family: var(--zenmaru);
    background: var(--color-primary);
}

.block-type11 .item .tit .title-main {
    display: block;
    padding: 5px 20px;
    font-size: 20px;
    color: #fff;
}

.block-type11 .item .tit .title-main:before {
    content: "\f0da";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 100%;
}

@media (max-width: 1024px) {
    .block-type11 .icon {
        width: 33px;
        height: 33px;
        top: -25px;
    }
}

@media (max-width: 599px) {
    .block-type11 .box {
        padding: 25px 15px 20px;
    }

    .block-type11 .icon {
        top: -21px;
    }

    .block-type11 .item .tit .title-main {
        padding: 5px 10px;
        font-size: 18px;
    }
}

.block-type12 li {
    margin-top: 40px;
    position: relative;
}

.block-type12 .num {
    width: 40px;
    height: 40px;
    font-size: 22px;
    color: #fff;
    line-height: 38px;
    letter-spacing: 1px;
    text-align: center;
    border-radius: 50%;
    background: var(--color-primary);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: -20px;
    left: 50%;
    z-index: 0;
}

.block-type12 .item {
    padding: 30px 30px 20px;
    border-radius: 10px;
    background: #fff;
}

.block-type12 .tit {
    margin-bottom: 8px;
    font-family: var(--zenmaru);
    font-weight: bold;
    font-size: 22px;
    color: var(--color-primary);
    text-align: center;
}

.block-type12 .text {
    line-height: 1.8;
}

@media (max-width: 599px) {
    .block-type12 .num {
        width: 30px;
        height: 30px;
        font-size: 18px;
        line-height: 29px;
    }

    .block-type12 .tit {
        font-size: 18px;
    }

    .block-type12 .text {
        font-size: 14px;
    }
}

.block-type13 .explanation-top {
    margin-bottom: 20px;
    line-height: 1.8;
}

.block-type13 .explanation-bottom {
    margin-top: 20px;
    line-height: 1.8;
}

.block-type13 .box {
    padding: 40px;
    border-radius: 10px;
    background: #fff;
    -webkit-box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
    box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
    position: relative;
}

.block-type13 table {
    width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    border-collapse: collapse;
}

.block-type13 thead th {
    padding: 5px 10px;
    font-family: var(--zenmaru);
    font-size: 18px;
    color: #fff;
    letter-spacing: 2px;
    background: var(--color-primary);
}

.block-type13 thead th:not(:first-of-type) {
    border-left: 1px solid #fff;
}

.block-type13 tbody tr+tr {
    border-top: 1px solid #ccc;
}

.block-type13 tbody td {
    width: calc(100% / 3);
    padding: 20px;
}

.block-type13 .table-col-2 tbody td {
    width: calc(100% / 2);
}

.block-type13 .table-col-5 tbody td {
    width: calc(100% / 5);
}

.block-type13 .table-col-133 tbody td:first-of-type {
    width: 150px;
}

.block-type13 .table-col-133 tbody td {
    width: calc(100% - 150px);
}

.block-type13 .table-col-1133 tbody td:nth-of-type(1),
.block-type13 .table-col-1133 tbody td:nth-of-type(2) {
    width: 150px;
}

.block-type13 .table-col-1133 tbody td {
    width: calc(50% - 150px);
}

.block-type13 .imgtit {
    margin-bottom: 10px;
    text-align: center;
}

.block-type13 .line {
    display: inline-block;
    position: relative;
}

.block-type13 .line:after {
    content: "";
    width: 100%;
    height: 20%;
    background: var(--color-primary);
    position: absolute;
    bottom: 4px;
    left: 0;
    z-index: -1;
}

.block-type13 .pic {
    height: 100px;
    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;
}

.block-type13 .pic img {
    width: auto;
    max-width: 100%;
    height: initial !important;
    max-height: 100%;
}

.block-type13 tbody .text {
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
}

.block-type13 tbody .titlist li {
    font-weight: bold;
    font-size: 18px;
    text-align: center;
}

.block-type13 tbody .titlist li+li {
    margin-top: 10px;
}

.block-type13 tbody .degreelist .item+.item {
    margin-top: 20px;
}

.block-type13 tbody .degreelist dt {
    margin-bottom: 5px;
}

.block-type13 tbody .degreelist dd>* {
    display: inline-block;
    margin: 0 5px;
    font-size: 20px;
}

@media (max-width: 1024px) {
    .block-type13 .table-box.table-col-5 {
        display: block;
    }

    .block-type13 .table-box.table-col-5 table {
        width: 900px;
    }
}

@media (max-width: 599px) {
    .block-type13 .box {
        padding: 20px 15px;
    }

    .block-type13 .table-box {
        display: block;
    }

    .block-type13 .table-box table {
        width: 600px;
    }

    .block-type13 tbody .titlist li {
        font-size: 16px;
    }

    .block-type13 tbody td {
        padding: 10px;
    }

    .block-type13 tbody .degreelist dt {
        font-size: 14px;
    }

    .block-type13 tbody .degreelist dd>* {
        font-size: 16px;
    }
}



.block-type14 dl+dl {
    margin-top: 20px;
}

.block-type14 dt {
    font-weight: bold;
    font-size: 18px;
    color: var(--color-primary);
    position: relative;
}

.block-type14 dt:before {
    content: "";
    display: inline-block;
}

.block-type14 dd {
    margin-top: 10px;
}

@media (max-width: 599px) {
    .block-type14 dt {
        font-size: 15px;
    }
}

.block-type15 .item .tit,
.block-type15 .item .txt {
    width: 60%;
    float: right;
}

.block-type15 .item.-alt .tit,
.block-type15 .item.-alt .txt {
    float: left;
}

.block-type15 .item .pbox {
    width: 35%;
    float: left;
    border-radius: 20px;
    position: relative;
}

.block-type15 .item.-alt .pbox {
    float: right;
}

.block-type15 .item .pbox .num {
    width: 40px;
    height: 40px;
    font-family: var(--zenmaru);
    color: #fff;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background: var(--color-04);
    position: absolute;
    top: -20px;
    left: -20px;
    z-index: 1;
}

.block-type15 .item .pbox .pic img {
    border-radius: 20px;
}

@media (max-width:1024px) {
  .block-type15 .item .pbox .num {
    left: -10px;
  }
}

@media (max-width: 599px) {
    .block-type15 .item .pbox {
        width: 100%;
        margin-top: 20px;
    }

    .block-type15 .item .tit,
    .block-type15 .item .txt {
        width: 100%;
    }

    .block-type15 .item .txt {
        margin-top: 20px;
    }
    .block-type15 .item .pbox .num {
      left: 0px;
    }
}

.block-type16 .item {
    height: 100%;
    padding: 20px;
    border: 2px solid var(--color-primary);
    border-radius: 10px;
}

.block-type16 .pic {
    overflow: hidden;
    border-radius: 10px;
}

.block-type16 .txtbox {
    margin-top: 20px;
}

.block-type16 .tit {
    margin-bottom: 10px;
    font-size: 22px;
    color: var(--color-primary);
    letter-spacing: 2px;
    text-align: center;
}

.block-type16 .txt {
    line-height: 1.8;
}

@media (max-width: 599px) {
    .block-type16 .tit {
        font-size: 18px;
    }
}

.block-type17 dl {
    padding-bottom: 30px;
    border-bottom: 1px solid #a4b0c2;
}

.block-type17 dl+dl {
    margin-top: 30px;
}

.block-type17 dl dt {
    width: 250px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.block-type17 dl dd {
    width: calc(100% - 250px);
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.block-type18 .box {
    padding: 20px;
    border: none;
    background: var(--color-01);
    border-radius: 10px;
    box-shadow: 8px 8px 10px #999;
}

.block-access {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.block-access .left {
    width: 50%;
}

.block-access .left .address .txt {
    position: relative;
}

.block-access .left .address .txt:before {
    content: "";
}

.block-access .left .name {
    font-family: var(--zenold);
    font-size: 18px;
}

.block-access .left .name a {
    display: block;
}

.block-access .right {
    width: 45%;
}

.block-access .tell-box {
    margin-left: 0;
}

.block-access .tel {
    margin-top: 10px;
}

.block-access .tell-box .tel a {
    font-size: 30px;
    font-size: clamp(1.375rem, 1.161rem + 0.88vw, 1.875rem);
}

.block-access .map {
    padding-top: 110%;
    border-radius: 30px;
}

@media (max-width: 599px) {
    .block-access .left {
        width: 100%;
    }

    .block-access .right {
        width: 100%;
    }

    .block-access .map {
        margin-top: 20px;
        padding-top: 50%;
    }
}

.tell-box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
}

.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: var(--zenmaru);
    font-weight: bold;
    font-size: 44px;
    font-size: clamp(1.5rem, 1.092rem + 2.04vw, 2.75rem);
}

.tell-box .tel a .text {
    margin-right: 10px;
    font-size: 20px;
}

.tell-box .time-wrap {
    margin-top: 10px;
    margin-left: 3.5em;
    font-size: 14px;
}

.tell-box .time-wrap>* {
    display: block;
}

.tell-box .time-wrap .text {
    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;
}

.tell-box .time-wrap .mini {
    font-size: 10px;
}

.tell-box .time {
    margin-top: 10px;
    font-family: var(--poppins);
    font-weight: bold;
    font-size: 16px;
}

.box-type01 {
    padding: 30px 40px;
    border: 2px solid var(--color-primary);
    border-radius: 10px;
}

@media (max-width: 599px) {
    .box-type01 {
        padding: 20px 15px;
    }
}

.block-blog a {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -webkit-box-align: center;
    align-items: flex-start;
    align-items: center;
    -ms-flex-align: start;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow: hidden;
    padding: 15px;
    border-radius: 20px;
    -webkit-box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
    box-shadow: 0 1px 6px rgb(0 0 0 / 30%);
}

.block-blog .left {
    width: 30%;
}

.block-blog .right {
    width: 65%;
}

.block-case .left {
    width: 100%;
}

.block-case .right {
    width: 100%;
    margin-top: 10px;
}

.block-case .right .cate {
    padding-left: 0;
}

.block-blog .pic {
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 10px;
}

.block-blog .cate {
    padding-left: 20px;
    font-size: 14px;
}

.block-blog .cate:before {
    font-size: 13px;
    top: 7px;
}

.block-blog .tit {
    overflow: hidden;
    margin-bottom: 5px;
    padding: 2px 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-bottom: 1px solid #ccc;
}

.effect-pile>* {
    position: relative;
}

.effect-pile>*::before {
    content: "";
    width: 0;
    height: 0;
    border-radius: 10px 0 0 0;
    background: white;
    background: linear-gradient(315deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
    -webkit-box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
    box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: width, height;
    transition-property: width, height;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.effect-pile>*::after {
    content: "";
    width: 40px;
    height: 40px;
    background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #907741)) no-repeat top left/100% 100%;
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #907741 50.5%) no-repeat top left/100% 100%;
    position: absolute;
    bottom: 0;
    right: 0;
}

.effect-pile>*:hover::before {
    width: 30px;
    height: 30px;
}

.icon-tag::before {
    content: "\f02c";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    color: var(--color-04);
    line-height: 100%;
}

.icon-cal::before {
    content: "\f073";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    color: var(--color-04);
    line-height: 100%;
}

.detail-content {
    padding: 30px 20px;
    border: 1px solid var(--color-04);
    border-radius: 5px;
}

.detail-content-title {
    margin-bottom: 20px;
    padding: 10px 10px;
    font-family: var(--zenmaru);
    font-weight: 500;
    font-size: 20px;
    color: var(--color-primary);
    border-bottom: 1px solid #ccc;
}

.detail-content-info .date,
.detail-content-info .category {
    margin: 5px;
    font-size: 14px;
}

.detail-content-box {
    margin-top: 20px;
}

.detail-backlink {
    margin: 50px 0;
}

.detail-backlink-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.detail-backlink-list li {
    margin: 10px;
}

.detail-content-box h2 {
    border-bottom: dashed 2px var(--color-primary);
    padding: 10px 0;
    margin-bottom: 20px;
    font-size: clamp(1.125rem, 1.071rem + 0.22vw, 1.25rem);
    margin-top: 30px;
}

.detail-content-box h3 {
    padding: 0.2em 0.5em;
    border-left: solid 5px var(--color-primary);
    margin-bottom: 10px;
    font-size: clamp(1rem, 0.946rem + 0.22vw, 1.125rem);
    margin-top: 20px;
}

.detail-content-box h4 {
    border-bottom: 1px solid var(--color-primary);
    margin-bottom: 10px;
    font-size: clamp(1rem, 0.946rem + 0.22vw, 1.125rem);
    margin-top: 20px;
}

@media (max-width: 1024px) {
    .date {
        font-size: 14px;
    }

    .custom-title {
        font-size: 16px;
    }

    .detail-backlink-list li .btn {
        max-width: 100%;
    }

    .detail-backlink-list li:nth-of-type(1) {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .detail-backlink-list li:nth-of-type(2) {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .detail-backlink-list li:nth-of-type(3) {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
}

.layout-case-01 .imgbox .item {
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 10px;
    position: relative;
}

.layout-case-01 .imgbox .txt {
    width: 100%;
    padding: 10px;
    color: #fff;
    text-align: center;
    background: rgb(0, 0, 0, 40%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.layout-case-01 .txtbox {
    margin-bottom: 20px;
}

.layout-case-01 .txtbox .txt {
    line-height: 1.8;
}

.layout-case-01 .list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px 20px;
}

.layout-case-01 .list .item:nth-of-type(even) {
    background: #ccc;
}

.layout-case-01 .list .item:nth-of-type(odd) {
    background: var(--color-secondery);
}

.layout-case-01 .list dt {
    width: 200px;
    font-weight: bold;
    line-height: 1.8;
}

.layout-case-01 .list dd {
    width: calc(100% - 230px);
    line-height: 1.8;
}

@media (max-width: 1024px) {
    .layout-case-01 .list dt {
        width: 150px;
    }

    .layout-case-01 .list dd {
        width: calc(100% - 180px);
    }
}

@media (max-width: 599px) {
    .layout-case-01 .list .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 10px 10px;
    }

    .layout-case-01 .list dt {
        width: 100%;
    }

    .layout-case-01 .list dd {
        width: 100%;
        font-size: 14px;
    }
}

/*side-cate-01*/
.side-cate-01+.side-cate-01 {
    margin-top: 40px;
}

.side-cate-01 li {
    padding-left: 5px;
    padding-right: 5px;
}

.side-cate-01 li+li {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ccc;
}

.side-cate-01 a {
    font-size: 15px;
}

.side-cate-01 a:before {
    content: "\f0da";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

@media (max-width: 1024px) {
    .side-cate-01+.side-cate-01 {
        margin-top: 0;
    }
}

@media (max-width: 599px) {
    .side-cate-01+.side-cate-01 {
        margin-top: 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 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    overflow: hidden;
    padding: 30px 0;
    border-bottom: 1px solid #e1e1e1;
}

.post-date {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1;
}

.post-cate span {
    min-width: 70px;
    display: inline-block;
    margin: 0 15px;
    padding: 0 10px;
    font-size: 12px;
    color: #3b3220;
    text-align: center;
    border-radius: 15px;
    background: var(--color-01);
}

.list-post .post-ttl {
    width: calc(100% - 40px);
}

.list-post .post-arrow {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-post02 {
    position: relative;
}

.list-post02 dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.list-post02 .post-date {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 15px;
    color: var(--color-primary);
    letter-spacing: 1px;
}

.list-post02 .post-ttl {
    overflow: hidden;
}

.list-post02 .post-ttl a {
    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;
    padding-bottom: 5px;
    position: relative;
}

.list-post02 .post-ttl a:before {
    content: "";
    width: calc(100% - 40px);
    height: 1px;
    display: block;
    background: var(--color-primary);
    position: absolute;
    bottom: 0;
    left: 0;
}

.list-post02 .post-ttl a:after {
    content: "";
}

.list-post02 .post-ttl a>span:nth-child(1) {
    max-width: calc(100% - 40px);
    display: inline-block;
}

.list-check {
    position: relative;
}

.list-check li {
    padding-left: 1.5rem;
    font-size: 18px;
    line-height: 2;
    position: relative;
}

.list-check li+li {
    margin-top: 5px;
}

.list-check li:before {
    content: "\f058";
    font-family: "font awesome 5 Free";
    font-weight: bold;
    color: var(--color-primary);
    position: absolute;
    top: 5%;
    left: 0;
}

@media (max-width: 1024px) {
    .list-post dl {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .list-post .post-ttl {
        display: block;
        margin-top: 10px;
    }

    .list-post02 dl {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .list-post02 .post-ttl {
        display: block;
        margin-top: 10px;
    }
}

@media (max-width: 599px) {
    .list-post dl {
        padding: 15px 0;
    }

    .list-check li {
        line-height: 1.5;
    }
}

.js-toggle {
    cursor: pointer;
}

.js-toggle+* {
    display: none;
}

.list-faq ul {
    width: 80%;
    margin: 0 auto;
}

.list-faq li+li {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ccc;
}



.list-faq .item {
    padding-left: 10px;
    padding-right: 10px;
}

.list-faq .item>* {
    padding: 20px 20px 20px 60px;
    position: relative;
}

.list-faq .mark {
    font-weight: bold;
    font-size: 24px;
    color: var(--color-primary);
    position: absolute;
    top: 15px;
    left: 25px;
    z-index: 0;
}

.list-faq .faq-q {
    padding-right: 45px;
}

.list-faq .faq-q:after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 25px;
    color: var(--color-primary);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: absolute;
    top: 15px;
    right: 15px;
}

.list-faq .faq-q.is-parent:after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.list-faq .faq-q .text {
    font-weight: bold;
    font-size: 20px;
}

.list-faq .faq-a .text {
    font-size: 18px;
}

@media (max-width: 599px) {
    .list-faq ul {
        width: 98%;
    }

    .list-faq .item>* {
        padding: 10px 20px 10px 45px;
    }

    .list-faq .faq-q {
        padding-right: 35px;
    }

    .list-faq .mark {
        font-size: 20px;
        top: 7px;
        left: 15px;
    }

    .list-faq .faq-q:after {
        font-size: 15px;
        top: 12px;
        right: 14px;
    }

    .list-faq .faq-a .text {
        font-size: 15px;
    }

    .list-faq .faq-q .text {
        font-size: 15px;
    }
}

.list01 .item {
    padding: 20px;
}

.list01 .item:not(:last-child) {
    border-bottom: 1px solid #808080;
}

.list01 .datattl {
    width: 150px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
}

.list01 .tel a {
    display: inline-block;
    position: relative;
}

.list01 .tel a:before {
    content: "\f879";
    display: inline-block;
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: bold;
}

@media (max-width: 1024px) {
    .list01 .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 20px 10px;
    }

    .list01 .datattl {
        width: 100%;
        margin-bottom: 5px;
    }

    .list01 .data {
        width: 100%;
    }
}

.list02 .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;
    padding-left: 10px;
    padding-right: 10px;
}

.list02 .item+.item {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid #ccc;
}

.list02 dt {
    width: 80px;
    color: var(--color-04);
}

.list02 dd {
    width: calc(100% - 100px);
}

/* pager */

.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: 30px;
    height: 30px;
    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;
    -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%;
}

.pager ul .next-arrow:before {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 100%;
}

@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 {
  padding-top: 20px;
} */
.header-wrap {
    position: relative;
    z-index: 151;
}

.header-inner {
    padding: 0.5em;
}

.header-wrap .h1 {
    width: 100%;
    max-width: 98%;
    margin-top: 0px;
    margin-left: auto;
    margin-right: auto;
    font-size: 10px;
    letter-spacing: 2px;
}

header .left {
    width: 280px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

header .left .pic img {
    width: 80%;
    max-width: 300px;
    margin-top: 30px;
}

header .left .address {
    font-size: 10px;
    letter-spacing: 2px;
}

header .right {
    width: 80%;
    padding-right: 100px;
}

header .right .txt {
    font-size: 14px;
}

header .right .box1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
}

header .right .box2 {
    width: 500px;
    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;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

header .right .tell-box {
    width: 50%;
    font-weight: bold;
    position: relative;
}

header .right .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);
}

header .right .tell-box+div {
    width: 50%;
}

header .right .box2 .border-box {
    width: 100%;
    color: #fff;
    text-align: center;
    position: relative;
}

header .right .box2 .border-box a {
    display: block;
    padding: 10px 0;
    border-radius: 5px;
    background: var(--color-primary);
}

header .right .box2 .border-box a:before {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 Free";
    font-weight: bold;
}

header .right .box2 .border-box img {
    margin-right: 10px;
}

header .right .box3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.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 .right .flex>div+div {
    margin-left: 10px;
}

header .inner {
    max-width: 1200px;
}

@media (max-width: 1024px) {
    header {
        padding: 20px 0;
    }

/*     header .left {
    display: none;
} */

    header .right .tell-box {
        font-size: 26px;
    }

    header .right .box1 {
        position: absolute;
        top: 0;
        left: 0;
    }

    header .right .box1 .txt {
        padding-left: 5px;
        font-size: 10px;
    }

    header .right .box2 {
        width: 75%;
    }
}

@media (max-width: 599px) {
    header {
        padding: 0;
    }

    header .right>.flex .box2 {
        display: none;
    }

    header .left {
        width: 100%;
        text-align: center;
    }

    header .left .address {
        display: none;
    }

    .header-wrap .h1 {
        padding-left: 5px;
        padding-right: 40px;
    }
}

/* gnav */
#gnav {
    padding: 20px 0;
}

#gnav li {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.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 {
    padding: 5px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 14px;
    color: var(--color-primary);
    letter-spacing: 1px;
}

.dropmenu li .a {
    padding: 5px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 14px;
    color: var(--color-primary);
    letter-spacing: 1px;
    cursor: pointer;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.dropmenu li .a:hover {
    opacity: 0.6;
}

.dropmenu li a {
    display: inline-block;
    text-decoration: none;
    position: relative;
}

/* .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 {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.dropmenu li.dropdown a:after {
    display: none;
}

.dropmenu li a:hover {
    opacity: 0.6;
}

#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: 30px;
    border: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: 30px;
    left: 100%;
    right: 50%;
    z-index: 2;
}

.dropmenu .dropdown ul {
    width: 370px;
    height: auto;
    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;
    margin: 10px auto 0 auto;
    padding: 10px 15px;
    border-radius: 3px;
    background-color: #6c543a;
    -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: -35px;
    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 #6c543a transparent;
  position: absolute;
  top: -7px;
  right: 0;
  left: 0;
} */

/* .dropmenu .dropdown ul li + li {
  border-top: 1px solid white;
} */

.dropmenu .dropdown ul li {
    width: 48%;
    height: auto;
    overflow: hidden;
    margin-left: 0;
}

#gnav .dropmenu .dropdown ul li a {
    display: block;
    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;
    padding: 10px 5px;
    font-size: 18px;
    font-size: 14px;
    color: white;
    /* white-space: nowrap; */
    position: relative;
}

.dropmenu .dropdown ul li a:before {
    content: "";
    width: 15px;
    height: 5px;
    margin-right: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
}

.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;
}

.fixed .header-wrap {
    width: 100%;
    background: var(--color-01);
    -webkit-box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

.fixed .header-wrap .accordion-inner {
    max-width: 1000px;
    margin: auto;
}



#gnav .barger-nav .accordion-body {
    background: rgba(255, 255, 255, 0.8);
}

#gnav.action .barger-nav .accordion-body {
    width: 60%;
    margin-left: 40%;
}

#gnav .barger-nav .accordion-inner {
    height: 100vh;
}

[data-element-id] #gnav .barger-nav .accordion-inner {
  height: auto;
  padding: initial;
}

#gnav .barger-nav .accordion-inner .mobi-info {
    margin-bottom: 20px;
    text-align: center;
}

#gnav .barger-nav .accordion-inner .mobi-info .tit {
    letter-spacing: 5px;
}

.barger-nav .accordion-inner .sns li {
    display: inline-block;
}

.barger-nav .dropmenu {
    display: block;
    padding-bottom: 80px;
}

.barger-nav .dropmenu li a:after {
    content: none;
}

#gnav .barger-nav ul li span {
    height: auto;
    display: block;
    color: #fff;
}

.barger-nav .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;
}

.barger-nav .dropmenu .dropdown ul::before {
    display: none;
}

.barger-nav .dropmenu .dropdown ul li {
    height: auto;
    overflow: visible;
    font-weight: normal;
}

.barger-nav .dropmenu .dropdown ul li:last-of-type {
    border-bottom: none;
}

.barger-nav .dropmenu .dropdown ul li a {
    width: 100%;
    background-color: unset;
}

.barger-nav .dropmenu li.index-link img {
    display: none;
}

#gnav .barger-nav ul li.index-link span {
    display: block;
    background: none;
}

.barger-nav .dropmenu span.drop-btn {
    color: #fff;
}

.barger-nav .dropmenu span.drop-btn:after {
    content: none;
}

.barger-nav .dropmenu .dropdown:hover ul li {
    width: 100%;
    height: auto;
}

#gnav.fixed .barger-nav {
    padding: 0;
    background: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

#gnav .barger-nav {
    padding: 0;
}

#gnav.action .barger-nav.accordion-body .dropmenu {
    width: 55%;
}

#gnav.action .barger-nav.accordion-body .sub {
    width: 45%;
}

#gnav.action .barger-nav .sub .sub-menu {
    position: relative;
}

#gnav.action .barger-nav .sub .sub-menu li {
    max-width: 160px;
    position: relative;
}

#gnav .barger-nav .sub .sub-menu li a {
    display: block;
    padding: 5px 0;
    text-align: center;
    border: 1px solid;
    border-radius: 40px;
}

#gnav .barger-nav .sub .sub-menu li+li {
    margin-top: 10px;
}

#gnav .barger-nav .sub .sns-box li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

#gnav .barger-nav.accordion-body .dropmenu>li>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    position: relative;
}

#gnav .barger-nav.accordion-body .dropmenu>li>a:before {
    content: "";
    width: 15px;
    height: 5px;
    margin-right: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
}

[data-element-id]#gnav .barger-nav.accordion-body * {
    color: #fff;
}

#gnav .barger-nav.accordion-body .dropmenu>li .a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 10px 15px;
    position: relative;
}

#gnav .barger-nav.accordion-body .dropmenu>li .a:before {
    content: "";
    width: 15px;
    height: 5px;
    margin-right: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
}

#gnav .barger-nav.accordion-body .dropmenu>li .block-child {
    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;
    padding-left: 3em;
}

#gnav .barger-nav.accordion-body .dropmenu>li .block-child li {
    width: 48%;
}

#gnav .barger-nav.accordion-body .dropmenu>li .block-child li a {
    display: inline-block;
    padding: 10px 0 0 0;
    text-align: left;
    border-bottom: 1px solid;
}

[data-element-id] #gnav .barger-nav.accordion-body {
    height: 80vh;
    opacity: 1;
    position: relative!important;
    border: 2px solid blue;
    z-index: 10;
}

[data-element-id] #gnav .barger-nav.accordion-body:before {
    content: "ハンバーガーメニュー";
    display: block;
    background: blue;
    color: #fff;
}

@media (max-width: 1024px) {
    #gnav {
        width: 100%;
        padding: 0;
    }

    .dropmenu .sp-only {
        display: block;
    }
}

@media (max-width: 599px) {
    #gnav.action .accordion-body {
        width: 100%;
        margin-left: 0;
    }
}

/* ハンバーガー */

#gnav .toggle {
    width: 42px;
    height: auto;
    display: block !important;
    text-align: center;
    opacity: 0.8;
    cursor: pointer;
    position: fixed !important;
    top: 40px;
    right: 30px;
    z-index: 251;
}

#gnav.fixed .toggle {
    top: 20px;
}

#gnav .toggle .bar {
    width: 28px;
    height: 2px;
    display: block;
    margin-top: -1px;
    padding: 0;
    text-indent: 9999px;
    background: var(--color-primary);
    -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: var(--color-primary);
    position: absolute;
    top: -10px;
    left: 0;
}

#gnav .toggle .bar:after {
    content: "";
    width: 28px;
    height: 2px;
    display: block;
    background: var(--color-primary);
    position: absolute;
    top: 10px;
    left: 0;
}

#gnav .toggle .text {
    display: block;
    margin-top: 33px;
    font-size: 10px;
    letter-spacing: 2px;
    text-align: center;
}

#gnav.action .toggle .text {
    color: #fff;
}

#gnav.action .toggle .bar {
    background: #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#gnav.action .toggle .bar:after,
#gnav.action .toggle .bar:before {
    background: #fff;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;
    left: 0;
}

#gnav .barger-nav.accordion-body {
    width: 50%;
    height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--color-04);
    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;
    right: 0;
    z-index: -10;
}

#gnav.action .barger-nav.accordion-body {
    height: 100vh;
    opacity: 1;
    z-index: 250;
}

#gnav .barger-nav .accordion-inner {
    width: 100%;
    padding: 120px 100px 100px 100px;
}

#gnav .barger-nav li {
    width: 100%;
    display: block;
    margin: 0;
    padding: 0;
    border: none;
}

#gnav ul li a {
    display: block;
    padding: 10px 15px;
    text-align: left;
    border: none;
}

#gnav ul li .a {
    display: block;
    padding: 10px 15px;
    text-align: left;
    border: none;
}

#gnav .pc-nav ul.dropmenu ul li a:before {
    content: "";
    width: 15px;
    height: 5px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
}

/* .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;
} */

#gnav.action .barger-nav.accordion-body * {
    color: #fff;
}

@media (max-width: 1024px) {
    #gnav .barger-nav.accordion-body {
        width: 100%;
    }

    #gnav .barger-nav .accordion-inner {
        width: 100%;
        padding: 60px 10px 100px 10px;
    }

    .pc-nav {
        display: none;
    }
}

@media (max-width: 599px) {
    #gnav .toggle {
        top: 0px;
        right: 0px;
    }

    #gnav.action .barger-nav.accordion-body .dropmenu {
        width: 100%;
        padding-bottom: 20px;
    }

    #gnav.action .barger-nav.accordion-body .sub {
        width: 100%;
        padding-bottom: 80px;
    }
}

/* ##### A-BiSUスライダー uk-slideshow ##### */
.uk-slidenav-position {
    height: 100%;
}

.uk-slideshow {
    height: 100% !important;
    overflow: hidden;
    position: relative;
}

.uk-slideshow::after {
    content: "";
    display: block;
    padding-top: 55%;
}

.uk-slideshow li {
    width: 100%;
    height: 100% !important;
    position: absolute;
    top: 0;
}

.uk-slideshow li>div {
    height: 100% !important;
}

.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;";
}

.uk-dotnav>*>* {
    width: auto;
    height: auto;
    text-indent: unset;
    border-radius: 0;
    background: transparent !important;
}

.uk-dotnav .uk-active>* {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.uk-dotnav li a:hover {
    opacity: 1;
}

.uk-dotnav-contrast>*>* {
    background: #ccc;
}

.uk-dotnav-contrast>.uk-active>* {
    background: #565656;
}

@media (max-width: 1024px) {
    .uk-slideshow::after {
        padding-top: 70%;
    }
}

@media (max-width: 599px) {
    .uk-slideshow::after {
        padding-top: 70vh;
    }
}

/* top-mv */

.top-mv {
    overflow: hidden;
    position: relative;
}

.top-mv .inner {
    overflow: hidden;
    border-radius: 30px;
}

.top-mv .pbox {
    width: 100%;
}

.top-mv .slide {
    width: 100%;
    display: block;
}

.top-mv .uk-slidenav-position {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 0 8em;
    position: static;
}

.top-mv .slide .uk-slideshow {
    width: 100%;
    max-width: 1400px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    overflow: hidden;
    margin-left: auto;
    margin-right: 0;
    border-radius: 1em;
}

.top-mv .slide .uk-dotnav {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin: auto auto auto 0;
    padding: 0 2em;
    position: static !important;
}

.top-mv .slide .uk-dotnav>* {
    float: none;
}

.top-mv .slide .uk-dotnav li {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.top-mv .slide .uk-dotnav li a {
    font-size: 1em;
    -webkit-transition: unset;
    transition: unset;
}

.top-mv .slide .uk-dotnav li.uk-active {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.top-mv .slide .uk-dotnav li.uk-active a {
    font-size: 2em;
}

.top-mv .slide .uk-dotnav li.uk-active a::after {
    content: "";
    width: 1px;
    height: 60px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-color: var(--color-primary);
}

.top-mv .tit-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: column;
    flex-direction: column;
    -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: "Zen Old Mincho", serif;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 5%;
}

.top-mv .tit-box .txt {
    padding: 10px 0px;
    font-weight: bold;
    font-size: 38px;
    font-size: clamp(1.625rem, 1.304rem + 1.32vw, 2.375rem);
    line-height: 2;
    letter-spacing: 2px;
    position: relative;
}

.top-mv .tit-box .sub {
    font-size: 24px;
}

@media (max-width: 1024px) {
    .top-mv .uk-slidenav-position {
        padding: 0 5em;
    }
}

@media (max-width: 599px) {
    .top-mv {
        margin-top: 40px;
    }

    .top-mv .uk-slidenav-position {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 1em;
    }

    .top-mv .slide .uk-dotnav {
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 1em 0;
    }

    .top-mv .slide .uk-dotnav li.uk-active a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
    }

    .top-mv .slide .uk-dotnav li.uk-active a::after {
        width: 50px;
        height: 1px;
        display: inline-block;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin: 0 0 0 0.25em;
    }
}

/* under-mv */
.under-mv {
    position: relative;
}

.under-mv .inner1200 {
    overflow: hidden;
    border-radius: 20px;
}

.under-mv .pic {
    width: 100%;
    display: block;
    position: relative;
}

.under-mv .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.under-mv .pic:after {
    content: "";
    display: block;
    padding-top: 40%;
}

.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 {
    color: var(--color-primary);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 15%;
    z-index: 2;
}

.under-mv .tit-box .tit {
    width: 100%;
    font-size: clamp(1.625rem, 1.25rem + 1.54vw, 2.5rem);
    letter-spacing: 2px;
}

.under-mv .tit-box .en {
    display: block;
    font-size: 16px;
    color: #75abda;
    letter-spacing: 1px;
}

@media (max-width: 599px) {
    .under-mv .pic:after {
        padding-top: 90%;
    }
}

/* breadcrumbs */
.breadcrumbs {
    padding: 30px 0;
}

.breadcrumbs-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.breadcrumbs-list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 1em;
}

.breadcrumbs-list li {
    display: inline;
    font-size: 14px;
    letter-spacing: 1px;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage {
    font-weight: bold;
    color: var(--color-primary);
}

.breadcrumbs-list li+li::before {
    content: "";
    width: 8px;
    height: 8px;
    display: inline-block;
    margin: 0 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media (max-width: 1024px) {
    .breadcrumbs {
        padding: 20px 0;
        font-size: 14px;
    }

    .breadcrumbs-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
    }

    .breadcrumbs-list {
        width: 90%;
        margin-top: 1em;
        margin-left: 0;
    }

    .breadcrumbs li {
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 8px;
        height: 8px;
        margin: 0 5px 1px;
    }
}

@media (max-width: 599px) {
    .breadcrumbs {
        padding: 15px 0;
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 6px;
        height: 6px;
    }
}

/* footer */
#footer {
    padding: 100px 0;
    background: var(--color-primary);
    position: relative;
}

#footer>* {
    color: #fff;
}

.foot-banner {
    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;
}

.foot-banner .pic {
    width: 20%;
}

.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: 48%;
}

.foot-access .right {
    width: 48%;
}

.logo-area {
    margin: 30px 0;
}

.foot-access .tel {
    margin-top: 10px;
}

.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+li {
    margin-left: 20px;
}

.sns-box li a {
    display: block;
    font-size: 30px;
    color: var(--color-primary);
}

.sns-box li.insta a:before {
    content: "\f16d";
    font-family: "font awesome 5 Brands";
}

.sns-box li.fb a:before {
    content: "\f39e";
    font-family: "font awesome 5 Brands";
}

.sns-box li.line a:before {
    content: "\f3c0";
    font-family: "font awesome 5 Brands";
}

.foot-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -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;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.foot-nav .block {
    width: 24%;
}

.foot-nav .block a {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 0 0;
    position: relative;
}

.foot-nav .block>li>a {
    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;
    font-size: 14px;
    white-space: nowrap;
}

.foot-nav .block>li>a:before {
    content: "";
    width: 15px;
    height: 5px;
    margin-right: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
    flex-shrink: 0;
}

.foot-nav .block .block-child {
    padding-left: 2rem;
    position: relative;
}

.foot-nav .block .block-child ul {
    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;
}

.foot-nav .block .block-child ul li {
    width: 48%;
}

.foot-nav .block .block-child ul li a {
    font-size: 12px;
    border-bottom: 1px solid;
}

.foot-nav .block .block-btn a {
    width: 100%;
    max-width: 70%;
    padding: 5px 0;
    text-align: center;
    border: 1px solid;
    border-radius: 30px;
}

.foot-nav .block .block-btn li {
    text-align: center;
}

.foot-nav .block>li>.a {
    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;
    font-size: 14px;
    white-space: nowrap;
}

.foot-nav .block>li>.a:before {
    content: "";
    width: 15px;
    height: 5px;
    margin-right: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
}

.foot-nav .block .a {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 0 0;
    position: relative;
}

.foot-sns {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.foot-sns .sns-box li a {
    font-size: 30px;
    color: #fff;
}

.list-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: none;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-btn li {
    width: 30%;
    margin: 0.2em;
}

.list-btn .pattern-03 {
    width: 60px;
    height: 60px;
}

.list-btn li a,
.list-btn li .span-btn {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    padding: 0.5em;
    font-size: 14px;
    border-radius: 3px;
    position: relative;
}

.time-wrap {
    position: relative;
}

.time-wrap .time-box {
    width: 360px;
    height: 200px !important;
    -webkit-transform: translate(0, calc(-200px - 1em));
    transform: translate(0, calc(-200px - 1em));
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}

.time-wrap .time-box .table-time-wrap {
    margin-top: 0;
    padding: 1em;
}

.time-wrap .time-box .table-time-wrap * {
    color: initial;
}

.time-wrap .time-box .table-time-wrap .table-time table tr:not(:first-of-type) td {
    color: var(--color-primary);
}

[data-element-id].time-wrap .time-box {
    border: 2px solid blue;
}

[data-element-id].time-wrap .time-box:before {
    content: "「診療時間」を押すと表示される診療時間表です";
    display: block;
    background: blue;
    color: #fff;
    font-size: 12px;
}

/* .list-btn li a::after {
  content: "\f105";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: inherit;
  line-height: 1;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  position: absolute;
  top: 50%;
  right: 0.5em;
} */

.list-btn li a:hover,
.list-btn li .span-btn:hover {
    opacity: 1;
}

.list-btn li.pattern-01 a {
    color: white;
    border: 2px solid var(--color-04);
    background-color: var(--color-04);
}

.list-btn li.pattern-01 a:hover {
    color: var(--color-04);
    background-color: white;
}

.list-btn li.pattern-02 a {
    color: var(--color-04);
    border: 2px solid var(--color-04);
    background-color: white;
}

.list-btn li.pattern-02 a:hover {
    color: white;
    background-color: var(--color-04);
}

.list-btn li.pattern-03>div {
    height: 100%;
}

.list-btn li.pattern-03 a,
.list-btn li.pattern-03 .span-btn {
    padding: 0.2em;
    font-size: clamp(1.375rem, 1.32rem + 0.24vw, 1.5rem);
    color: white;
    line-height: 1;
    text-align: center;
    background-color: var(--color-04);
}

.list-btn li.pattern-03 a::after,
.list-btn li.pattern-03 .span-btn::after {
    display: none;
}

.list-btn li .access a::before,
.list-btn li .access .span-btn::before {
    content: "\f3c5";
    font-family: "font awesome 5 Free";
    font-weight: bold;
}

.list-btn li.pattern-03 a .text,
.list-btn li.pattern-03 .span-btn .text {
    margin-top: 5px;
    font-size: 10px;
}

.list-btn li .time a::before,
.list-btn li .time .span-btn::before {
    content: "\f481";
    font-family: "font awesome 5 Free";
    font-weight: bold;
}

.copy {
    margin-top: 100px;
    padding: 15px 0;
    font-size: 10px;
}

[data-element-id].copy {
    margin-top: 200px;
}

/*トップへ戻る*/
#footer .totop {
    width: 35px;
    font-size: 14px;
    color: #3f51b5;
    mix-blend-mode: difference;
    text-align: center;
    border-bottom: 1px solid;
    cursor: pointer;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 200;
}

/* .totop:before {
    content: "";
    width: 13px;
    height: 20px;
    display: block;
    margin: auto;
    font-weight: bold;
    background: url("/import/tenant_1/153.121.59.131/html/image/top/arrow03.webp") 0 0 no-repeat;
} */

#footer .totop .top-arrow {
    vertical-align: middle;
    width: 1px;
    height: 20px;
    position: relative;
    background: #3f51b5;
    display: block;
    margin: auto;
}

#footer .totop .top-arrow:before,#footer .totop .top-arrow:after {
    content: "";
    display: block;
    width: 1px;
    height: 6px;
    background-color: #3f51b5;
    position: absolute;
    right: 0px;
}

#footer .totop .top-arrow:before {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    right: 3px;
}

#footer .totop .top-arrow:after {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    right: -3px;
}


@media (max-width: 1024px) {
    .totop {
        bottom: 90px;
        right: 10px;
    }
    .foot-nav {
      columns: 2;
      display: block;
    }

    .foot-nav .block {
        width: 100%;
        break-inside: avoid;
    }
}

@media (max-width: 599px) {
    .foot-access .left {
        width: 100%;
    }

    .foot-access .right {
        width: 100%;
        margin-top: 20px;
    }

    .foot-nav .block {
        width: 100%;
    }

    .logo-area {
        margin: 20px 0;
    }

    .foot-banner .pic {
        width: 48%;
        margin: 1%;
    }

    .foot-nav .block .block-child {
        margin: 20px 0;
    }

    .foot-nav .block .block-child ul {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .foot-nav .block .block-child ul li {
        width: 30%;
    }

    .foot-nav {
        columns: 1; 
    }




    .list-btn {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: fixed;
        bottom: 1em;
        left: 0;
        z-index: 20;
    }

    #footer .totop {
        bottom: 90px;
        right: 20px;
    }
}

/* table */
.table-time-wrap.on-mv {
    margin-top: -10%;
    margin-left: -5%;
}

.table-time-wrap {
    -webkit-box-shadow: 1px 1px 5px #ddd;
    box-shadow: 1px 1px 5px #ddd;
}

.table-time table {
    width: 100%;
}

.table-time table th,
.table-time table td {
    padding: 10px 5px;
}

.table-time table th {
    text-align: left;
}

.table-time table tr:not(:last-of-type) {
    border-bottom: 1px solid var(--color-03);
}

.table-time table td {
    text-align: center;
}

.table-time table tr:nth-child(1) th {
    font-weight: bold;
}

.table-time table tr:not(:first-of-type) td {
    color: var(--color-primary);
}

@media (max-width: 599px) {
    .table-time-wrap.on-mv {
        margin-top: 0;
    }
}

/* home-greeting */
.home-greeting {
    position: relative;
}

.home-greeting .left {
    position: absolute;
    bottom: 0;
}

.home-greeting .right {
    margin-left: auto;
    position: relative;
    z-index: 1;
}

.home-greeting .right .sub {
    font-weight: bold;
    font-size: clamp(1.25rem, 1.087rem + 0.82vw, 1.75rem);
}

.home-greeting>* {
    color: #fff;
    text-align: center;
}

@media (max-width: 599px) {
    .home-greeting .left {
        left: 0;
    }
}

/* form */

.form-01 .essential {
    margin-left: 10px;
    font-size: 12px;
    color: var(--color-04);
}

.form-01 dl {
    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;
    padding-left: 10px;
    padding-right: 10px;
}

.form-01 dl+dl {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ccc;
}

.form-01 dt {
    width: 200px;
}

.form-01 dd {
    width: calc(100% - 220px);
}

.form-01 input,
.form-01 textarea {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 10px;
    background: #f3f3f3;
}

.form-01 .select select {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 10px;
    background: #f3f3f3;
}

@media (max-width: 599px) {
    .form-01 dt {
        width: 100%;
    }

    .form-01 dd {
        width: 100%;
        margin-top: 5px;
    }
}

.area-contact01 .tell-box {
    margin-left: 0;
}


/* bg-ball */
.bg-ball-wrap {
    position: relative;
}

.bg-ball-wrap .inner {
    z-index: 0;
}

.bg-ball:after {
    content: "";
    width: 20vw;
    height: 20vw;
    display: block;
    border: 1px solid #fff;
    border-radius: 100%;
    z-index: 0;
}

.bg-ball.ball01:after {
    position: absolute;
    top: 100px;
    right: -100px;
}

.bg-ball.ball02:after {
    position: absolute;
    top: 0px;
    left: -100px;
}

.bg-ball.ball03:after {
    position: absolute;
    bottom: 0px;
    left: -100px;
}

[data-element-id].fead-zoom {
    -webkit-transform: none;
    transform: none;
}

[data-element-id].fead-order>* {
    opacity: 1;
    -webkit-transform: unset;
    transform: unset;
}

[data-element-id].fead-text2 {
    opacity: 1;
}

[data-element-id] .ttl--vertical {
    -ms-writing-mode: initial;
    -webkit-writing-mode: initial;
    writing-mode: initial;
}

[data-element-id].block-type08 .li {
    width: calc(100% / 2);
}

[data-element-id] .js-toggle+* {
    display: block;
}

[data-element-id] .list-faq li:nth-of-type(n + 11) {
    display: none;
}

[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) !important;
    transform: translate(0, 0) !important;
    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: 20%;
    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] .list-btn {
    max-width: 500px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: auto;
}

[class*='fead-'],
[class*='fead-'] > * {
  opacity: 1;
  transform: unset;
}


@media (max-width: 599px) {
  .sp-timebox{
    right: -50px !important;
    top: -45px !important;
  }
}
