#custom-menu-content {
    position: fixed;
    top: 64px;
    right: 16px;
    width: 300px;
    z-index: 9999;
}

#custom-menu-content .v-list {
    width: 100%;
    box-shadow: 0 5px 5px -3px rgba(0,0,0,.2),
                0 8px 10px 1px rgba(0,0,0,.14),
                0 3px 14px 2px rgba(0,0,0,.12);
}

/*
            リセット
--------------------------------------------- */
body {
    margin: 0;
    font-family: "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
}
a {
    text-decoration: none;
    color: inherit;
    transition: opacity .3s ease 0s;
}
a:hover {
    opacity: .7;
}
img {
    display: block;
}
p {
    margin-bottom: 0;
}

/*
            変数定義
---------------------------------------------- */
:root {
    --font_s: 10px;
}

/*
            レイアウト
--------------------------------------------- */
/* container */
.l-container {
    width: 960px;
    margin: 0 auto;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
@media screen and (max-width: 959px) {
    .l-container {
        width: 768px;
        margin-right: auto;
        margin-left: auto;
    }
}
@media screen and (max-width: 767px) {
    .l-container {
        max-width: 767px;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }

}
/* section */
section {
    padding: 100px 0;
}
@media screen and (max-width: 767px) {
    section {
        padding: 30px 0;
    }
}

/* img */
.imgr {
    display: block;
    max-width: 100%;
    height: auto;
}

/*
            パーツ
------------------------------------- */
/* フォントサイズ */
.c-font_s {
    font-size: calc(var(--font_s) + 2px);
}

/* white box */
.c-white_box {
    padding: 45px;
    background-color: #fff;
    margin-bottom: 30px;
}
.c-white_box_l {
    padding: 60px;
    background-color: #fff;
    margin-bottom: 30px;
}
.c-white_box_s {
    padding: 30px;
    background-color: #fff;
    margin-bottom: 30px;
}
.c-white_box_xs {
    padding: 15px;
    background-color: #fff;
    margin-bottom: 30px;
}
.c-white_box:last-of-type,
.c-white_box_l:last-of-type,
.c-white_box_s:last-of-type,
.c-white_box_xs:last-of-type {
    margin-bottom: 0;
}

@media screen and (max-width: 595px) {
    .c-white_box {
        padding: 30px;
        margin-bottom: 15px;
    }
    .c-white_box_l {
        padding: 45q;
        margin-bottom: 30px;
    }
    .c-white_box_s,
    .c-white_box_xs {
        padding: 15px;
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 767px) {
    .c-white_box,
    .c-white_box_s,
    .c-white_box_xs {
        padding: 15px;
        margin-bottom: 15px;
    }
    .c-white_box_l {
        padding: 30px;
        margin-bottom: 15px;
    }
}

/*
            その他
------------------------------------- */
.u-tac {
    text-align: center;
}
.u-tal {
    text-align: left;
}
.u-tar {
    text-align: right;
}
.u-indent {
    text-indent: -1em;
    padding-left: 1em;
}
.u-fwb {
    font-weight: bold;
}
.u-wic_wrap {
    overflow-x: hidden;
}
.u-wic img {
    width: auto;
    max-width: unset;
}
.u-wic1 {
    margin-left: calc(50% - 1000px);
}
.u-wic1 img {
    width: 2000px;
    max-width: 2000px;
}
@media screen and (max-width: 767px) {
    .u-wic1 {
        margin-left: unset;
    }
    .u-wic1 img {
        width: 100%;
        max-width: 100%;
    }

}
/* 余白調整 */
.u-m0a {
    margin: 0 auto;
}
.u-mt0 {margin-top: 0;}.u-mt5 {margin-top: 5px;}.u-mt10 {margin-top: 10px;}.u-mt15 {margin-top: 15px;}.u-mt20 {margin-top: 20px;}.u-mt30 {margin-top: 30px;}.u-mt45 {margin-top: 45px;}.u-mt60 {margin-top: 60px;}.u-mt75 {margin-top: 75px;}.u-mt90 {margin-top: 90px;}.u-mt120 {margin-top: 120px;}
.u-mb0 {margin-bottom: 0;}.u-mb5 {margin-bottom: 5px;}.u-mb10 {margin-bottom: 10px;}.u-mb15 {margin-bottom: 15px;}.u-mb20 {margin-bottom: 20px;}.u-mb30 {margin-bottom: 30px;}.u-mb45 {margin-bottom: 45px;}.u-mb60 {margin-bottom: 60px;}.u-mb75 {margin-bottom: 75px;}.u-mb90 {margin-bottom: 90px;}.u-mb120 {margin-bottom: 120px;}
.u-pt0 {padding-top: 0;}.u-pt5 {padding-top: 5px;}.u-pt10 {padding-top: 10px;}.u-pt15 {padding-top: 15px;}.u-pt20 {padding-top: 20px;}.u-pt30 {padding-top: 30px;}.u-pt45 {padding-top: 45px;}.u-pt60 {padding-top: 60px;}.u-pt75 {padding-top: 75px;}.u-pt90 {padding-top: 90px;}.u-pt120 {padding-top: 120px;}
.u-pb0 {padding-bottom: 0;}.u-pb5 {padding-bottom: 5px;}.u-pb10 {padding-bottom: 10px;}.u-pb15 {padding-bottom: 15px;}.u-pb20 {padding-bottom: 20px;}.u-pb30 {padding-bottom: 30px;}.u-pb45 {padding-bottom: 45px;}.u-pb60 {padding-bottom: 60px;}.u-pb75 {padding-bottom: 75px;}.u-pb90 {padding-bottom: 90px;}.u-pb120 {padding-bottom: 120px;}
.u-pl0 {padding-left: 0;}
.u-pr0 {padding-right: 0;}
.u-ph0 {padding-left: 0; padding-right: 0;}
.u-ph15 {padding-left: 15px; padding-right: 15px;}
@media screen and (max-width: 767px) {
    .u-spmt0 {margin-top: 0;}.u-spmt5 {margin-top: 5px;}.u-spmt10 {margin-top: 10px;}.u-spmt15 {margin-top: 15px;}.u-spmt20 {margin-top: 20px;}.u-spmt30 {margin-top: 30px;}.u-spmt45 {margin-top: 45px;}.u-spmt60 {margin-top: 60px;}
    .u-spmb0 {margin-bottom: 0;}.u-spmb5 {margin-bottom: 5px;}.u-spmb10 {margin-bottom: 10px;}.u-spmb15 {margin-bottom: 15px;}.u-spmb20 {margin-bottom: 20px;}.u-spmb30 {margin-bottom: 30px;}.u-spmb45 {margin-bottom: 45px;}.u-spmb60 {margin-bottom: 60px;}
    .u-sppt0 {padding-top: 0;}.u-sppt5 {padding-top: 5px;}.u-sppt10 {padding-top: 10px;}.u-sppt15 {padding-top: 15px;}.u-sppt20 {padding-top: 20px;}.u-sppt30 {padding-top: 30px;}.u-sppt45 {padding-top: 45px;}.u-sppt60 {padding-top: 60px;}
    .u-sppb0 {padding-bottom: 0;}.u-sppb5 {padding-bottom: 5px;}.u-sppb10 {padding-bottom: 10px;}.u-sppb15 {padding-bottom: 15px;}.u-sppb20 {padding-bottom: 20px;}.u-sppb30 {padding-bottom: 30px;}.u-sppb45 {padding-bottom: 45px;}.u-sppb60 {padding-bottom: 60px;}
    .u-sppl0 {padding-left: 0;}
    .u-sppr0 {padding-right: 0;}
    .u-spph0 {padding-left: 0; padding-right: 0;}
}
@media screen and (max-width: 767px) {
    .u-spwd50 {width: 50% !important;}
    .u-spwd60 {width: 60% !important;}
    .u-spwd70 {width: 70% !important;}
    .u-spwd80 {width: 80% !important;}
    .u-spwd90 {width: 90% !important;}
}
/* 表示切り替え */
.u-none_p {
    display: none;
}
.u-none_pt {
    display: none;
}
.u-none_ps {
    display: none;
}
.u-none_t {
    display: block;
}
.u-none_ts {
    display: block;
}
.u-none_s {
    display: block;
}
@media screen and (max-width: 595px) {
    .u-none_p {
        display: block;
    }
    .u-none_pt {
        display: none;
    }
    .u-none_ps {
        display: block;
    }
    .u-none_t {
        display: none;
    }
    .u-none_ts {
        display: none;
    }
    .u-none_s {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .u-none_p {
        display: block;
    }
    .u-none_pt {
        display: block;
    }
    .u-none_ps {
        display: none;
    }
    .u-none_t {
        display: block;
    }
    .u-none_ts {
        display: none;
    }
    .u-none_s {
        display: none;
    }
}

/*
            FV
--------------------------------- */
.l-fv {
    background: url(../img/pc_fv_bg.png) no-repeat center center / cover;
    padding: 90px 0 60px;
}
.l-fv > .l-container {
    padding-right: 0;
}
@media screen and (max-width: 767px) {
    .l-fv {
        background: url(../img/sp_fv_bg.png) no-repeat center center / cover;
        padding: 20px 0 30px;
    }
    .l-fv > .l-container {
        padding-right: 5px;
    }

}

/*
            cta
--------------------------------- */
.p-cta_txt {
    width: fit-content;
    font-size: 12px;
}
.p-cta_btn {
    text-align: center;
}
.p-cta_btn a {
    display: inline-block;
    position: relative;
    overflow: hidden;
}
.p-cta_btn a::before {
    position: absolute;
    content: '';
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 45%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-45deg);
    animation: nyainy-btn 2.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) infinite;
}
@keyframes nyainy-btn {
0% {
left: -100%;
}
25% {
left: 100%;
}
100% {
left: 100%;
}
}
@media screen and (max-width: 767px) {
    .p-cta_txt {
        font-size: 10px;
    }
}

/*
            sec01
--------------------------------- */
.l-sec01 {
    background: url(../img/pc_sec01_bg.png) no-repeat top center / cover;
}
@media screen and (max-width: 767px) {
    .l-sec01 {
        background: url(../img/sp_sec01_bg.png) no-repeat top center / cover;
    }
}

/*
            sec02
--------------------------------- */
.l-sec02 {
}
.l-sec02 .u-wic_wrap {
    margin-top: -58px;
}
.l-sec02 img {
}
@media screen and (max-width: 767px) {
}

/*
            sec03
--------------------------------- */
.l-sec03 {
    background-color: #fbefd2;
}
.p-sec03_items {

}
.p-sec03_item {
    display: flex;
    border-radius: 15px;
    gap: 45px;
}
.p-sec03_item:not(:last-child) {
    margin-bottom: 30px;
    position: relative;
}
.p-sec03_item:not(:last-child)::after {
    content: '';
    position: absolute;
    background: url(../img/pc_sec03_arw.png) no-repeat center center / contain;
    width: 154px;
    height: 57px;
    bottom: -12%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
}
.p-sec03_item-txt {
    width: 80%;
    font-size: 18px;
}
.p-sec03_item-img {
    width: 20%;
}
@media screen and (max-width: 767px) {
    .p-sec03_item {
        gap: 15px;
    }
    .p-sec03_item:not(:last-child) {
        margin-bottom: 15px;
    }
    .p-sec03_item:not(:last-child)::after {
        width: 100px;
        height: 40px;
        bottom: -13%;
    }
    .p-sec03_item-txt {
        width: 65%;
        font-size: 12px;
    }
    .p-sec03_item-img {
        width: 35%;
    }
}

/*
            sec04
--------------------------------------- */
.l-sec04 {
    background-color: #f5b51c;
}
.p-sec04_txt {
    font-size: 14px;
    width: fit-content;
}
@media screen and (max-width: 767px) {
    .l-sec04 p {
        font-size: 10px;
    }
}

/*
            sec05
--------------------------------------- */
.l-sec05 {
    background-color: #f7f5f1;
}
.p-sec05_sub-ttl {
    font-size: 22px;
}
.p-sec05_txt {
    font-size: 18px;
}
@media screen and (max-width: 767px) {
    .p-sec05_sub-ttl {
        font-size: 14px;
    }
    .p-sec05_txt {
        font-size: 10px;
    }
}