@charset "UTF-8";
/* 汎用CSS*/
/* clearfix */
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
/* Hides from IE Mac */
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}
/* clearfix */
.clear {
    clear: both;
}
sup {
    vertical-align: top;
}
/*微調整用*/
.mt-0 {
    margin-top: 0px !important;
}
.mt-05 {
    margin-top: 5px !important;
}
.mt-10 {
    margin-top: 10px !important;
}
.mt-15 {
    margin-top: 15px !important;
}
.mt-20 {
    margin-top: 20px !important;
}
.mt-25 {
    margin-top: 25px !important;
}
.mt-30 {
    margin-top: 30px !important;
}
.mt-35 {
    margin-top: 35px !important;
}
.mt-40 {
    margin-top: 40px !important;
}
.mt-45 {
    margin-top: 45px !important;
}
.mt-50 {
    margin-top: 50px !important;
}
.mt-55 {
    margin-top: 55px !important;
}
.mt-60 {
    margin-top: 60px !important;
}
.mt-65 {
    margin-top: 65px !important;
}
.mt-70 {
    margin-top: 70px !important;
}
.mt-75 {
    margin-top: 75px !important;
}
.mt-80 {
    margin-top: 80px !important;
}
.mt-80 {
    margin-top: 80px !important;
}
.mt-85 {
    margin-top: 85px !important;
}
.mt-90 {
    margin-top: 90px !important;
}
.mt-95 {
    margin-top: 95px !important;
}
.mt-100 {
    margin-top: 100px !important;
}
.ml-0 {
    margin-left: 0px !important;
}
.ml-05 {
    margin-left: 5px !important;
}
.ml-10 {
    margin-left: 10px !important;
}
.ml-15 {
    margin-left: 15px !important;
}
.ml-20 {
    margin-left: 20px !important;
}
.ml-25 {
    margin-left: 25px !important;
}
.ml-30 {
    margin-left: 30px !important;
}
.ml-35 {
    margin-left: 35px !important;
}
.ml-40 {
    margin-left: 40px !important;
}
.ml-45 {
    margin-left: 45px !important;
}
.ml-50 {
    margin-left: 50px !important;
}
.ml-55 {
    margin-left: 55px !important;
}
.ml-60 {
    margin-left: 60px !important;
}
.ml-65 {
    margin-left: 65px !important;
}
.ml-70 {
    margin-left: 70px !important;
}
.ml-75 {
    margin-left: 75px !important;
}
.ml-80 {
    margin-left: 80px !important;
}
.ml-80 {
    margin-left: 80px !important;
}
.ml-85 {
    margin-left: 85px !important;
}
.ml-90 {
    margin-left: 90px !important;
}
.ml-95 {
    margin-left: 95px !important;
}
.ml-100 {
    margin-left: 100px !important;
}
.mb-0 {
    margin-bottom: 0px !important;
}
.mb-05 {
    margin-bottom: 5px !important;
}
.mb-10 {
    margin-bottom: 10px !important;
}
.mb-15 {
    margin-bottom: 15px !important;
}
.mb-20 {
    margin-bottom: 20px !important;
}
.mb-30 {
    margin-bottom: 30px !important;
}
.mb-35 {
    margin-bottom: 35px !important;
}
.mb-40 {
    margin-bottom: 40px !important;
}
.mb-45 {
    margin-bottom: 45px !important;
}
.mb-50 {
    margin-bottom: 50px !important;
}
.mb-55 {
    margin-bottom: 55px !important;
}
.mb-60 {
    margin-bottom: 60px !important;
}
.mb-65 {
    margin-bottom: 65px !important;
}
.mb-70 {
    margin-bottom: 70px !important;
}
.mb-75 {
    margin-bottom: 75px !important;
}
.mb-80 {
    margin-bottom: 80px !important;
}
.mb-90 {
    margin-bottom: 90px !important;
}
.mb-95 {
    margin-bottom: 95px !important;
}
.mb-100 {
    margin-bottom: 100px !important;
}
.mb-150 {
    margin-bottom: 150px !important;
}
.mr-0 {
    margin-right: 0px !important;
}
.mr-05 {
    margin-right: 5px !important;
}
.mr-10 {
    margin-right: 10px !important;
}
.mr-15 {
    margin-right: 15px !important;
}
.mr-20 {
    margin-right: 20px !important;
}
.mr-25 {
    margin-right: 25px !important;
}
.mr-30 {
    margin-right: 30px !important;
}
.mr-35 {
    margin-right: 35px !important;
}
.mr-40 {
    margin-right: 40px !important;
}
.mr-45 {
    margin-right: 45px !important;
}
.mr-50 {
    margin-right: 50px !important;
}
.mr-55 {
    margin-right: 55px !important;
}
.mr-60 {
    margin-right: 60px !important;
}
.mr-65 {
    margin-right: 65px !important;
}
.mr-70 {
    margin-right: 70px !important;
}
.mr-75 {
    margin-right: 75px !important;
}
.mr-80 {
    margin-right: 80px !important;
}
.mr-90 {
    margin-right: 90px !important;
}
.mr-95 {
    margin-right: 95px !important;
}
.mr-100 {
    margin-right: 100px !important;
}
.mr-150 {
    margin-right: 150px !important;
}
.txa_c {
    text-align: center;
}
.txa_l {
    text-align: left;
}
.txa_r {
    text-align: right;
}
.fl_l {
    float: left;
}
.fl_r {
    float: right;
}
.clear {
    clear: both;
}
.wit-10 {
    width: 10% !important;
}
.wit-11 {
    width: 11% !important;
}
.wit-12 {
    width: 12% !important;
}
.wit-13 {
    width: 13% !important;
}
.wit-15 {
    width: 15% !important;
}
.wit-17 {
    width: 17% !important;
}
.wit-20 {
    width: 20% !important;
}
.wit-25 {
    width: 25% !important;
}
.wit-30 {
    width: 30% !important;
}
.wit-35 {
    width: 35% !important;
}
.wit-40 {
    width: 40% !important;
}
.wit-45 {
    width: 45% !important;
}
.wit-48 {
    width: 48% !important;
} /* 2カラム横並びの場合 */
.wit-50 {
    width: 50% !important;
}
.wit-60 {
    width: 60% !important;
}
.wit-70 {
    width: 70% !important;
}
.wit-75 {
    width: 70% !important;
}
.wit-80 {
    width: 80% !important;
}
.wit-90 {
    width: 90% !important;
}
.wit-100 {
    width: 100% !important;
}
.txt-bl {
    color: #000 !important;
}
/* 飾りイラスト 指定範囲 */
.deco-area {
    position: relative;
}
/* 飾りイラスト イラスト用 */
.deco-area .dc-img {
    position: absolute;
    z-index: -1;
}
.dc-img-0 {
    margin: 0px !important;
}
.t0 {
    top: 0px !important;
}
.t05 {
    top: 5px !important;
}
.t10 {
    top: 10px !important;
}
.t15 {
    top: 15px !important;
}
.t20 {
    top: 20px !important;
}
.t25 {
    top: 25px !important;
}
.t30 {
    top: 30px !important;
}
.t35 {
    top: 35px !important;
}
.t40 {
    top: 40px !important;
}
.t45 {
    top: 45px !important;
}
.t50 {
    top: 50px !important;
}
.t55 {
    top: 55px !important;
}
.t60 {
    top: 60px !important;
}
.t65 {
    top: 65px !important;
}
.t70 {
    top: 70px !important;
}
.t75 {
    top: 75px !important;
}
.t80 {
    top: 80px !important;
}
.t85 {
    top: 85px !important;
}
.t90 {
    top: 90px !important;
}
.t95 {
    top: 95px !important;
}
.t100 {
    top: 100px !important;
}
.t200 {
    top: 200px !important;
}
.t250 {
    top: 250px !important;
}
.t-30 {
    top: -30px !important;
}
.t-50 {
    top: -50px !important;
}
.t-60 {
    top: -60px !important;
}
.l0 {
    left: 0px !important;
}
.l05 {
    left: 5px !important;
}
.l10 {
    left: 10px !important;
}
.l15 {
    left: 15px !important;
}
.l20 {
    left: 20px !important;
}
.l25 {
    left: 25px !important;
}
.l30 {
    left: 30px !important;
}
.l35 {
    left: 35px !important;
}
.l40 {
    left: 40px !important;
}
.l45 {
    left: 45px !important;
}
.l50 {
    left: 50px !important;
}
.l55 {
    left: 55px !important;
}
.l60 {
    left: 60px !important;
}
.l65 {
    left: 65px !important;
}
.l70 {
    left: 70px !important;
}
.l75 {
    left: 75px !important;
}
.l80 {
    left: 80px !important;
}
.l85 {
    left: 85px !important;
}
.l90 {
    left: 90px !important;
}
.l95 {
    left: 95px !important;
}
.l100 {
    left: 100px !important;
}
.b0 {
    bottom: 0px !important;
}
.b05 {
    bottom: 5px !important;
}
.b10 {
    bottom: 10px !important;
}
.b15 {
    bottom: 15px !important;
}
.b20 {
    bottom: 20px !important;
}
.b25 {
    bottom: 25px !important;
}
.b30 {
    bottom: 30px !important;
}
.b35 {
    bottom: 35px !important;
}
.b40 {
    bottom: 40px !important;
}
.b45 {
    bottom: 45px !important;
}
.b50 {
    bottom: 50px !important;
}
.b55 {
    bottom: 55px !important;
}
.b60 {
    bottom: 60px !important;
}
.b65 {
    bottom: 65px !important;
}
.b70 {
    bottom: 70px !important;
}
.b75 {
    bottom: 75px !important;
}
.b80 {
    bottom: 80px !important;
}
.b85 {
    bottom: 85px !important;
}
.b90 {
    bottom: 90px !important;
}
.b95 {
    bottom: 95px !important;
}
.b100 {
    bottom: 100px !important;
}
.b-20 {
    bottom: -20px !important;
}
.b-50 {
    bottom: -50px !important;
}
.r0 {
    right: 0px !important;
}
.r05 {
    right: 5px !important;
}
.r10 {
    right: 10px !important;
}
.r15 {
    right: 15px !important;
}
.r20 {
    right: 20px !important;
}
.r25 {
    right: 25px !important;
}
.r30 {
    right: 30px !important;
}
.r35 {
    right: 35px !important;
}
.r40 {
    right: 40px !important;
}
.r45 {
    right: 45px !important;
}
.r50 {
    right: 50px !important;
}
.r55 {
    right: 55px !important;
}
.r60 {
    right: 60px !important;
}
.r65 {
    right: 65px !important;
}
.r70 {
    right: 70px !important;
}
.r75 {
    right: 75px !important;
}
.r80 {
    right: 80px !important;
}
.r85 {
    right: 85px !important;
}
.r90 {
    right: 90px !important;
}
.r95 {
    right: 95px !important;
}
.r100 {
    right: 100px !important;
}
.r140 {
    right: 140px !important;
}
.r180 {
    right: 180px !important;
}
.r200 {
    right: 200px !important;
}
.r360 {
    right: 360px !important;
}
/*微調整用*/
/*display*/
.display_sp {
    display: none;
} /*sp非表示*/
.display_pc {
    display: block;
} /*pc表示*/
@media screen and (max-width :800px) {
    .display_sp {
        display: block;
    } /*sp表示*/
    .display_pc {
        display: none;
    } /*pc非表示*/
    .wit-10-sp {
        width: 10% !important;
    }
    .wit-11-sp {
        width: 11% !important;
    }
    .wit-12-sp {
        width: 12% !important;
    }
    .wit-13-sp {
        width: 13% !important;
    }
    .wit-15-sp {
        width: 15% !important;
    }
    .wit-17-sp {
        width: 17% !important;
    }
    .wit-20-sp {
        width: 20% !important;
    }
    .wit-25-sp {
        width: 25% !important;
    }
    .wit-30-sp {
        width: 30% !important;
    }
    .wit-35-sp {
        width: 35% !important;
    }
    .wit-40-sp {
        width: 40% !important;
    }
    .wit-45-sp {
        width: 45% !important;
    }
    .wit-48-sp {
        width: 48% !important;
    } /* 2カラム横並びの場合 */
    .wit-50-sp {
        width: 50% !important;
    }
    .wit-60-sp {
        width: 60% !important;
    }
    .wit-70-sp {
        width: 70% !important;
    }
    .wit-75-sp {
        width: 70% !important;
    }
    .wit-80-sp {
        width: 80% !important;
    }
    .wit-90-sp {
        width: 90% !important;
    }
    .wit-100-sp {
        width: 100% !important;
    }
    .mt-0-sp {
        margin-top: 0px !important;
    }
    .mt-05-sp {
        margin-top: 5px !important;
    }
    .mt-10-sp {
        margin-top: 10px !important;
    }
    .mt-15-sp {
        margin-top: 15px !important;
    }
    .mt-20-sp {
        margin-top: 20px !important;
    }
    .mt-25-sp {
        margin-top: 25px !important;
    }
    .mt-30-sp {
        margin-top: 30px !important;
    }
    .mt-35-sp {
        margin-top: 35px !important;
    }
    .mt-40-sp {
        margin-top: 40px !important;
    }
    .mt-45-sp {
        margin-top: 45px !important;
    }
    .mt-50-sp {
        margin-top: 50px !important;
    }
    .mt-55-sp {
        margin-top: 55px !important;
    }
    .mt-60-sp {
        margin-top: 60px !important;
    }
    .mt-65-sp {
        margin-top: 65px !important;
    }
    .mt-70-sp {
        margin-top: 70px !important;
    }
    .mt-75-sp {
        margin-top: 75px !important;
    }
    .mt-80-sp {
        margin-top: 80px !important;
    }
    .mt-80-sp {
        margin-top: 80px !important;
    }
    .mt-85-sp {
        margin-top: 85px !important;
    }
    .mt-90-sp {
        margin-top: 90px !important;
    }
    .mt-95-sp {
        margin-top: 95px !important;
    }
    .mt-100-sp {
        margin-top: 100px !important;
    }
    .ml-0-sp {
        margin-left: 0px !important;
    }
    .ml-05-sp {
        margin-left: 5px !important;
    }
    .ml-10-sp {
        margin-left: 10px !important;
    }
    .ml-15-sp {
        margin-left: 15px !important;
    }
    .ml-20-sp {
        margin-left: 20px !important;
    }
    .ml-25-sp {
        margin-left: 25px !important;
    }
    .ml-30-sp {
        margin-left: 30px !important;
    }
    .ml-35-sp {
        margin-left: 35px !important;
    }
    .ml-40-sp {
        margin-left: 40px !important;
    }
    .ml-45-sp {
        margin-left: 45px !important;
    }
    .ml-50-sp {
        margin-left: 50px !important;
    }
    .ml-55-sp {
        margin-left: 55px !important;
    }
    .ml-60-sp {
        margin-left: 60px !important;
    }
    .ml-65-sp {
        margin-left: 65px !important;
    }
    .ml-70-sp {
        margin-left: 70px !important;
    }
    .ml-75-sp {
        margin-left: 75px !important;
    }
    .ml-80-sp {
        margin-left: 80px !important;
    }
    .ml-80-sp {
        margin-left: 80px !important;
    }
    .ml-85-sp {
        margin-left: 85px !important;
    }
    .ml-90-sp {
        margin-left: 90px !important;
    }
    .ml-95-sp {
        margin-left: 95px !important;
    }
    .ml-100-sp {
        margin-left: 100px !important;
    }
    .mb-0-sp {
        margin-bottom: 0px !important;
    }
    .mb-05-sp {
        margin-bottom: 5px !important;
    }
    .mb-10-sp {
        margin-bottom: 10px !important;
    }
    .mb-15-sp {
        margin-bottom: 15px !important;
    }
    .mb-20-sp {
        margin-bottom: 20px !important;
    }
    .mb-30-sp {
        margin-bottom: 30px !important;
    }
    .mb-35-sp {
        margin-bottom: 35px !important;
    }
    .mb-40-sp {
        margin-bottom: 40px !important;
    }
    .mb-45-sp {
        margin-bottom: 45px !important;
    }
    .mb-50-sp {
        margin-bottom: 50px !important;
    }
    .mb-55-sp {
        margin-bottom: 55px !important;
    }
    .mb-60-sp {
        margin-bottom: 60px !important;
    }
    .mb-65-sp {
        margin-bottom: 65px !important;
    }
    .mb-70-sp {
        margin-bottom: 70px !important;
    }
    .mb-75-sp {
        margin-bottom: 75px !important;
    }
    .mb-80-sp {
        margin-bottom: 80px !important;
    }
    .mb-90-sp {
        margin-bottom: 90px !important;
    }
    .mb-95-sp {
        margin-bottom: 95px !important;
    }
    .mb-100-sp {
        margin-bottom: 100px !important;
    }
    .mb-150-sp {
        margin-bottom: 150px !important;
    }
    .mr-0-sp {
        margin-right: 0px !important;
    }
    .mr-05-sp {
        margin-right: 5px !important;
    }
    .mr-10-sp {
        margin-right: 10px !important;
    }
    .mr-15-sp {
        margin-right: 15px !important;
    }
    .mr-20-sp {
        margin-right: 20px !important;
    }
    .mr-25-sp {
        margin-right: 25px !important;
    }
    .mr-30-sp {
        margin-right: 30px !important;
    }
    .mr-35-sp {
        margin-right: 35px !important;
    }
    .mr-40-sp {
        margin-right: 40px !important;
    }
    .mr-45-sp {
        margin-right: 45px !important;
    }
    .mr-50-sp {
        margin-right: 50px !important;
    }
    .mr-55-sp {
        margin-right: 55px !important;
    }
    .mr-60-sp {
        margin-right: 60px !important;
    }
    .mr-65-sp {
        margin-right: 65px !important;
    }
    .mr-70-sp {
        margin-right: 70px !important;
    }
    .mr-75-sp {
        margin-right: 75px !important;
    }
    .mr-80-sp {
        margin-right: 80px !important;
    }
    .mr-90-sp {
        margin-right: 90px !important;
    }
    .mr-95-sp {
        margin-right: 95px !important;
    }
    .mr-100-sp {
        margin-right: 100px !important;
    }
    .mr-150-sp {
        margin-right: 150px !important;
    }
}
/*display*/
/* 注釈など */
.note {
    display: block;
    font-size: 1.4rem;
    color: #67696C;
    margin-top: 15px;
}
.txt_small {
    font-size: 1.3rem;
}
/* テキスト太い */
.txt_b {
    font-weight: bold;
}
/* スムーススクロール（CSS側での既定）。OS設定に追従 */
html:root {
    scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  main {
    scroll-behavior: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
    html:root {
        scroll-behavior: auto;
    }
}
/* フェードインの初期状態と表示時 */
.js-fadein {
    opacity: 0;
    transform: translateY(15px);
    transition: opacity .6s ease, transform .6s ease;
}
.js-fadein.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.js-fadein-delay {
    opacity: 0;
    transform: translateY(15px);
    transition: opacity .8s ease, transform .8s ease;
    transition-delay: .3s;
}
.js-fadein-delay.is-visible {
    opacity: 1;
    transform: translateY(0);
}