    @charset "utf-8";

    :root {
        --m15: 15px;
        --m20: 20px;
        --m30: 30px;
        --m40: 40px;
        --m50: 50px;
        --m60: 60px;
        --m70: 70px;
        --m80: 80px;
        --m100: 100px;

        --black: #030303;
        --gray: #575757;
        --blue: #4c5c8c;
    }

    @font-face {
        font-family: "源ノ明朝";
        src: url("../font/SourceHanSerif-Medium.woff") format("woff"), url("../font/SourceHanSerif-Medium.otf") format(" opentype");
        font-weight: 400;
        font-style: normal;
    }

    @font-face {
        font-family: "源ノ明朝";
        src: url("../font/SourceHanSerif-Bold.woff") format("woff"), url("../font/SourceHanSerif-Bold.otf") format("opentype");
        font-weight: 700;
        font-style: normal;
    }

    @font-face {
        font-family: "源ノ角ゴ";
        src: url("../font/SourceHanSansJP-Medium.woff") format("woff"), url("../font/SourceHanSansJP-Medium.otf") format(" opentype");
        font-weight: 400;
        font-style: normal;
    }

    @font-face {
        font-family: "源ノ角ゴ";
        src: url("../font/SourceHanSansJP-Bold.woff") format("woff"), url("../font/SourceHanSansJP-Bold.otf") format("opentype");
        font-weight: 700;
        font-style: normal;
    }

    * {
        box-sizing: border-box;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
    }

    html {
        font-size: 62.5%;
    }

    .clearfix {
        display: block;
    }

    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    img {
        vertical-align: top;
        max-width: 100%;
    }

    body {
        background-color: var(--black);
        line-height: 1.8;
        letter-spacing: 0.15em;
        font-family: '源ノ角ゴ', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, YuGothic, 'Yu Gothic', sans-serif;
        font-weight: 400;
        color: var(--black);
        font-size: 1.6rem;
    }

    h2, h3, h4, h5, h6, .f-serif {
        font-family: '源ノ明朝', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', serif;
        font-weight: 400;
    }

    h2, h3, h4, h5, h6 {
        line-height: 1.5;
    }

    a {
        color: inherit;
        text-decoration: none;
        display: block;
    }

    p {
        line-height: 1.8;
    }

    .font_ss {
        font-size: 0.6em !important;
    }

    .font_s {
        font-size: 0.8em !important;
    }

    .font_26 {
        font-size: 2.6rem !important;
    }

    .font_30 {
        font-size: 3.0rem !important;
    }

    .rel {
        position: relative;
    }

    .t_a_c {
        text-align: center;
    }

    .t_a_r {
        text-align: right;
    }

    .flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .a_i_c {
        align-items: center;
    }

    .a_i_e {
        align-items: flex-end
    }

    .j_c_c {
        justify-content: center;
    }

    .f_d_rr {
        flex-direction: row-reverse;
    }

    .a_s_e {
        align-self: end;
    }

    .white {
        color: #fff;
    }

    .yellow {
        color: #f6edb9;
    }

    .red{
        color: #e2041b;
    }

    .blue {
        color: var(--blue);
    }

    .lightblue {
        color: #2071ae;
    }

    .bgy{
        background: #f8e58c;
        padding: 0.2% 0;
    }

    .bold {
        font-weight: 700;
    }

    .mt10{
        margin-top: 10px!important;
    }

    #wrapper {
        width: 100%;
        max-width: 1080px;
        margin: 0 auto;
        min-height: 100vh;
        position: relative;
        /*footerの高さ*/
        padding-bottom: 68px;
    }

    h2 {
        font-size: 4.4rem;
        text-align: center;
        margin-bottom: var(--m50);
    }

    h2 .ttl02 {
        position: relative;
        display: inline-block;
        padding-bottom: 1%;
        border-bottom: 1px solid var(--black);
    }

    h2 .ttl02::after {
        content: "";
        width: 100%;
        position: absolute;
        bottom: 3px;
        left: 50%;
        transform: translateX(-50%);
        border-bottom: 3px solid var(--black);
    }

    h3 {
        font-size: 5.2rem;
        letter-spacing: 0.08em;
        line-height: 1.3;
        margin-bottom: var(--m40);
    }

    .btn {
        font-size: 1.8rem;
        background-color: #fff;
        letter-spacing: 0.15em;
        display: block;
        width: 100%;
        max-width: 370px;
        margin: 0 auto;
        padding: 14px;
        border: 1px solid var(--black);
        text-align: center;
        position: relative;
        transition: all 0.3s;
    }

    .btn::after {
        content: "";
        background: url(../images/btn_arrow.svg) no-repeat;
        background-size: contain;
        display: block;
        width: 20px;
        height: 5px;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translate(0, -50%);
        transition: all 0.3s;
    }

    .btn:hover {
        cursor: pointer;
        background: var(--black);
        color: #fff;
    }

    #contact_btn {
        margin-top: var(--m30);
        display: flex;
        justify-content: center;
    }

    #contact_btn .btn {
        background: var(--black);
        color: #fff;
    }

    #contact_btn .btn[onclick="history.back()"] {
        background: var(--gray);
    }

    #contact_btn .btn:hover {
        background: #fff;
        color: var(--black);
    }

    .btn:hover::after {
        transform: translate(10px, -50%);
    }

    #contact_btn .btn::after,
    .btn:hover::after {
        filter: invert(100%);
    }

    #contact_btn .btn:hover::after {
        filter: invert(0);
    }

    /*slide*/
    .slick-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
    }

    #sec05 .slick-arrow {
        transform: translateY(-100%);
    }

    .slick-arrow:hover {
        cursor: pointer;
    }

    .slick-arrow.next-arrow {
        right: 20px;
    }

    .slick-arrow.prev-arrow {
        left: 20px;
    }

    #sec05 .slick-arrow.next-arrow {
        right: 13%;
    }

    #sec05 .slick-arrow.prev-arrow {
        left: 13%;
    }

    .slick-slide {
        margin: 0 10px;
    }

    #sec05 .slick-slide {
        margin: 0 22px;
    }

    #sec05 .slick-slide img {
        height: auto;
        transform: scale(0.9);
        transition: transform .4s;
    }

    #sec05 .slick-slide.slick-center img, #sec05 .slick-slide.is-active-next img {
        transform: scale(1.0);
    }

    .slick-dots li {
        width: 17px;
        height: 17px;
    }

    .slick-dots li button:before {
        font-size: 12px;
    }

    #sec05 .slick-dots li.slick-active button:before {
        color: #978938;
    }

    /*fv*/
    .fv {
        margin-bottom: var(--m80);
    }

    /*point*/
    #sec01, #sec03, #sec05 {
        background: url(../images/sec01_bg.jpg) no-repeat;
        background-size: cover;
        padding: var(--m50) var(--m50) var(--m60);
    }

    #sec02, #sec04 {
        background: url(../images/sec02_bg.jpg) no-repeat;
        background-size: cover;
        padding: var(--m50) var(--m50) var(--m60);
    }

    .point h4 {
        position: absolute;
        top: 20px;
        left: -20px;
    }

    .point_top {
        margin-bottom: var(--m50);
    }

    .point_top>* {
        width: 50%;
        text-align: center;
    }

    #sec03 .point_top_txt {
        width: 63.3%;
        margin-top: 5%;
    }

    #sec03 .point_top figure {
        width: 36.7%;
    }

    .point_top h3 {
        position: relative;
        z-index: 1;
    }

    .point_top h3 span.sub_ttl {
        position: absolute;
        top: -30%;
        left: 50%;
        transform: translateX(-50%);
        color: rgba(87, 87, 87, 0.4);
        font-size: 1.3em;
        line-height: 1;
        z-index: -1;
    }

    #sec02 .point_top h3 span.sub_ttl, #sec04 .point_top h3 span.sub_ttl {
        color: rgba(124, 124, 124, 0.4);
    }

    .point_box.box01, .sec05_inner {
        background-color: rgba(255, 253, 241, 0.95);
        padding: var(--m40);
    }

    .point_box.box02, .sec04_inner {
        background-color: rgba(255, 255, 255, 0.8);
        padding: var(--m40);
    }

    .point_box h5 {
        position: absolute;
        left: 10px;
        top: -20px;
        z-index: 1;
    }

    .point_box .point_box_list:first-of-type {
        border-bottom: 2px solid #a8b1b2;
        margin-bottom: var(--m30);
    }

    .point_box .point_box_list figure {
        width: 45.56%;
        padding-right: var(--m30);
        margin-bottom: var(--m30);
    }

    .point_box .point_box_list:last-of-type figure {
        padding-right: 0;
        padding-left: var(--m30);
    }

    .point_box .point_box_list_txt {
        width: 54.44%;
    }

    .point_box h6 {
        font-size: 3.0rem;
        padding: 2.0% 8.5%;
        margin-bottom: var(--m15);
    }

    #sec02 .point_box h6 {
        padding: 2.0% 8.0%;
    }

    .point_box h6::before,
    .point_box h6::after {
        content: "";
        width: 36px;
        height: 95px;
        position: absolute;
    }

    .point_box h6::before {
        top: 0;
        left: 0;
        border-top: solid 1px var(--black);
        border-left: solid 1px var(--black);
    }

    .point_box h6::after {
        bottom: 0;
        right: 0;
        border-bottom: solid 1px var(--black);
        border-right: solid 1px var(--black);
    }

    .point_box p, .box_band figcaption {
        color: var(--gray);
    }

    .box_band figcaption {
        font-size: 1.4rem;
    }

    .point_box p.point_box_note {
        text-align: right;
        margin-bottom: var(--m30);
        font-size: 1.4rem;
    }

    .point_box_list02 .point_box_list_img {
        padding-left: var(--m30);
        width: 45.5%;
    }

    .point_box_list02 .point_box_list_txt {
        width: 54.5%;
    }

    #sec03 .point_box_list03>* {
        width: 50%;
    }

    .point_box_list03 .point_box_list_img {
        padding-right: var(--m30);
    }

    .point_box_band_wrap {
        display: flex;
        flex-direction: column;
    }

    .box_band {
        margin-top: var(--m20);
        width: 81%;
    }

    .box_band img, .box_band figcaption {
        position: relative;
        z-index: 2;
    }

    .box_band figcaption {
        margin-top: 5px;
    }

    .box_band_img::after {
        content: "";
        position: absolute;
        top: 30.5%;
        left: -12%;
        display: block;
        width: 100%;
        padding-top: 67%;
        background-color: #efebd2;
        z-index: 1;
    }

    .box_band.band02 .box_band_img::after {
        left: auto;
        right: -12%;
        background-color: #dddacb;
    }

    .box_band.band03 .box_band_img::after {
        top: 39.1%;
        left: 15%;
        width: 180%;
        padding-top: 100%;
    }

    .box_band.band02 {
        margin-top: var(--m30);
    }

    .box_band.band03 {
        display: flex;
        width: 100%;
        margin-top: var(--m30);
    }

    .box_band.band03 figcaption {
        margin-left: var(--m20);
    }

    .sec04_inner, .sec05_inner {
        padding: var(--m50) var(--m30) var(--m40);
    }

    .sec04_box>* {
        width: 50%;
    }

    .sec04_box figure {
        padding-left: var(--m30);
    }

    .sec04_box_txt .sec04_box_subttl {
        font-size: 2.4rem;
        background-color: var(--gray);
        color: #fff;
        padding: 0.2rem 0.8rem;
    }

    .sec04_box_txt .sec04_box_ttl {
        font-size: 3.8rem;
    }

    /*sec05*/
    #sec05 .point_top>* {
        width: 100%;
    }

    #sec05 h3 {
        margin-top: var(--m20);
    }

    #sec05 .sec05_box {
        margin-bottom: var(--m70);
    }

    #sec05 h5 {
        max-width: 600px;
        margin: 0 auto;
        border-left: 10px solid #978938;
        padding: 0 17px;
        margin-bottom: var(--m30);
        line-height: 1.2;
        font-size: 4.4rem;
    }

    #sec05 h5 .sec05_subttl {
        color: #d0caaa;
        font-size: 6.0rem;
        position: absolute;
        right: 0;
    }


    /*campaign*/
    input[type=text], textarea {
        padding: 15px 2%;
        border: none;
        background-color: #e8e8e8;
        width: 100%;
        font-size: 1.8rem;
    }

    input[type="text"]:focus,
    select:focus,
    textarea:focus {
        box-shadow: 0 0 7px #5068a1;
        border: none;
    }

    select {
        padding: 15px 20% 15px 6%;
        background-color: #e8e8e8;
        border: none;
        font-size: 1.8rem;
        -webkit-appearance: none;
        appearance: none;
    }

    select:hover {
        cursor: pointer;
    }

    .select_wrapper {
        display: inline-block;
    }

    .select_wrapper::after {
        content: "";
        position: absolute;
        border: 6px solid var(--black);
        border-bottom: 0;
        border-left-color: transparent;
        border-right-color: transparent;
        top: 50%;
        right: -30px;
        transform: translate(0, -50%);
    }

    input::placeholder {
        color: #9bacd2;
        font-weight: 400;
    }

    #campaign {
        padding: var(--m60);
        background: url(../images/campaign_bg.jpg) no-repeat;
        background-size: cover;
    }

    #campaign .camp_top {
        max-width: 750px;
        margin: 0 auto var(--m50);
        text-align: center;
    }

    #campaign .camp_top .camp_subttl {
        font-size: 3.6rem;
    }

    #campaign .camp_top h2 {
        font-size: 5.0rem;
        padding: 0 1% 0.5%;
        margin-bottom: var(--m30);
        border-top: 3px solid #fff;
        border-bottom: 3px solid #fff;
    }

    #campaign .camp_top .camp_date {
        margin-bottom: var(--m30);
    }

    #campaign .camp_top .camp_date p {
        margin-top: var(--m30);
        line-height: 1.3;
    }

    .camp_top_list li {
        width: 48%;
    }

    .camp_top_list p {
        font-size: 2.4rem;
        margin-top: var(--m15);
        line-height: 1.3;
    }

    .camp_contact_box {
        background-color: #fff;
        padding: var(--m40) var(--m60);
    }

    .camp_contact_box h3 {
        font-size: 4.4rem;
        margin-bottom: var(--m40);
        text-align: center;
    }

    .camp_contact_box table {
        width: 100%;
    }

    .camp_contact_box th {
        font-weight: 700;
        font-size: 1.8rem;
        vertical-align: top;
        width: 240px;
    }

    .camp_contact_box th span {
        background-color: #971c22;
        color: #fff;
        padding: 0 10px 3px;
        margin-left: 10px;
    }

    .camp_contact_box td {
        width: calc(100% - 240px);
        padding-bottom: var(--m40);
        font-size: 1.8rem;
    }

    .camp_contact .datetime {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .camp_contact .datetime>div {
        width: 45%;
    }

    .camp_contact .datetime>div:last-child {
        padding-left: var(--m20);
    }

    .camp_contact_box .error {
        color: #c8131c;
    }

    /*sec06*/
    #sec06 {
        background-color: #faf6e0;
        padding: var(--m60) var(--m50);
    }

    .sec06_box_wrap * {
        min-height: 0;
        min-width: 0;
    }

    .sec06_box {
        width: 48%;
        margin-bottom: var(--m100);
    }

    .sec06_box .sec06_slide {
        margin-bottom: var(--m15);
    }

    .sec06_box .sec06_slide .slick-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
    }

    .sec06_box h3 {
        margin-bottom: var(--m15);
        background-color: var(--blue);
        display: inline-block;
        padding: 5px 15px;
    }

    .sec06_box p {
        font-size: 2.2rem;
        color: var(--gray);
        margin-bottom: var(--m30);
    }

    .sec06_about {
        text-align: left;
        max-width: 300px;
        margin: 0 auto var(--m30);
    }

    .sec06_about h5 {
        font-family: '源ノ角ゴ', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, YuGothic, 'Yu Gothic', sans-serif;
        font-weight: 500;
        color: var(--blue);
        border-bottom: 1px solid var(--blue);
        margin-bottom: var(--m15);
    }

    .sec06_about ul li {
        padding-left: 20px;
        margin-bottom: var(--m15);
    }

    .sec06_about ul li::before {
        content: "";
        background-repeat: no-repeat;
        background-size: contain;
        display: block;
        width: 15px;
        padding-top: 15px;
        position: absolute;
        top: 7px;
        left: 0px;
    }

    .sec06_about ul li.sec06_adress::before {
        background-image: url(../images/ico_adress.svg);
    }

    .sec06_about ul li.sec06_tel::before {
        background-image: url(../images/ico_tel.svg);
    }

    #fix {
        position: fixed;
        bottom: 0;
        right: 0;
        z-index: 1000;
        background: linear-gradient(0, #7a5f14 32%, #b2a760);
        padding: 20px;
    }

    #fix a {
        color: #fff;
        padding: 0 15px 0 25px;
        font-size: 2.0rem;
        text-align: center;
        letter-spacing: 0.1em;
        transition: all 0.3s;
    }

    #fix>a:last-child {
        margin-bottom: 0;
    }

    #fix a:hover {
        color: #f6edb9;
    }

    #fix a::before {
        content: "";
        background-repeat: no-repeat;
        background-size: contain;
        width: 20px;
        padding-top: 20px;
        display: block;
        position: absolute;
        top: 47%;
        left: 0;
        transform: translate(0, -50%);
        filter: brightness(0) invert(1);
        transition: all 0.3s;
    }

    #fix a:hover::before {
        filter: invert(81%) sepia(81%) saturate(633%) hue-rotate(325deg) brightness(136%) contrast(155%)
    }

    #fix a.address:before {
        background-image: url(../images/ico_adress.svg);
    }

    #fix a.document {
        padding-right: 0;
    }

    #fix a.document:before {
        background-image: url(../images/ico_document.svg);
    }

    #fix a.venue:before {
        background-image: url(../images/ico_venue.svg);
        left: 40px;
    }

    #fix .fix_col2 {
        display: flex;
    }

    #fix .fix_col2 a:first-child {
        margin-right: 10px;
        border-right: 1px solid #fff;
    }

    #fix .fix_col1{
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #fff;
    }

    #fix .fix_col1 a{
        margin-bottom: 0;
    }

    footer {
        background-color: #61677a;
        color: #fff;
        padding: 20px 0;
        text-align: center;
        letter-spacing: 0.1em;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 0);
        max-width: 1080px;
        width: 100%;
    }

    /*タブレット
------------------------------*/
    @media screen and (max-width: 1079px) and (min-width: 751px) {
        body {
            font-size: 1.5vw;
        }

        :root {
            --m15: 1.39vw;
            --m20: 1.854vw;
            --m30: 2.78vw;
            --m40: 3.707vw;
            --m50: 4.634vw;
            --m60: 5.561vw;
            --m70: 6.487vw;
            --m80: 7.414vw;
            --m100: 9.268vw;
        }

        .font_26 {
            font-size: 2.41vw !important;
        }

        .font_30 {
            font-size: 2.78vw !important;
        }

        h2 {
            font-size: 4.078vw;
        }

        h3 {
            font-size: 4.819vw;
        }

        .point_box h6 {
            font-size: 2.78vw;
        }

        .box_band figcaption, .point_box p.point_box_note {
            font-size: 1.297vw;
        }

        .sec04_box_txt .sec04_box_subttl {
            font-size: 2vw;
        }

        .sec04_box_txt .sec04_box_ttl {
            font-size: 3.35vw;
        }

        #sec05 h5 {
            font-size: 4.078vw;
        }

        #sec05 h5 .sec05_subttl, #campaign .camp_top h2 {
            font-size: 5.561vw;
        }

        .sec06_box p {
            font-size: 2vw;
        }

        .point h4, .point_box h5 {
            width: 28%;
        }

        #sec02 .point_box h6 {
            padding: 2.0% 6.0%;
        }

        .box_band.band03 .box_band_img::after {
            width: 155%;
        }

        #sec05 h3 {
            margin-top: var(--m40);
        }
    }
        .baund {
            animation: baund .3s ease infinite alternate;
            ;
        }

        @keyframes baund {
            0% {
                transform: translateY(0px);
            }

            100% {
                transform: translateY(-10px);
            }
        }
    /*スマホ
------------------------------*/

    @media screen and (max-width: 750px) {
        .pc {
            display: none;
        }

        .sp {
            display: block;
        }

        :root {
            --m15: 2.143vw;
            --m20: 2.857vw;
            --m30: 4.286vw;
            --m40: 5.714vw;
            --m50: 7.143vw;
            --m60: 8.571vw;
            --m70: 10vw;
            --m80: 11.429vw;
            --m100: 14.286vw;
        }

        body {
            font-size: 3.2vw;
        }

        .font_26 {
            font-size: 3.714vw !important;
        }

        .font_30 {
            font-size: 4.286vw !important;
        }

        h2 {
            font-size: 6.286vw;
        }

        h3 {
            font-size: 7.429vw;
        }

        .point_box h6 {
            font-size: 4.286vw;
        }

        .box_band figcaption, .point_box p.point_box_note {
            font-size: 2.5vw;
        }

        .sec04_box_txt .sec04_box_subttl {
            font-size: 3.429vw;
        }

        .sec04_box_txt .sec04_box_ttl {
            font-size: 5.429vw;
        }

        #sec05 h5 {
            font-size: 6.286vw;
        }

        #sec05 h5 .sec05_subttl, #campaign .camp_top h2 {
            font-size: 8.571vw;
        }

        #campaign .camp_top .camp_subttl {
            font-size: 5.5vw;
        }

        .camp_contact_box h3 {
            font-size: 6vw;
        }

        .camp_contact_box th {
            font-size: 1.6rem;
        }

        .sec06_box p {
            font-size: 3.143vw;
        }

        .flex {
            display: block;
        }

        #wrapper {
            padding-bottom: 170px;
        }

        .point_top>*, #sec03 .point_top_txt, .point_box .point_box_list_txt, #sec03 .point_box_list03>*, .sec04_box .sec04_box_txt, .camp_top_list li, .sec06_box {
            width: 100%;
        }

        .point_top figure, .point_box .point_box_list figure, .point_box.box02 figure, .point_box_list03 .point_box_list_img figure, .sec04_box figure {
            width: 80%;
            margin-right: auto;
            margin-left: auto;
        }

        /*slide*/
        .slick-arrow {
            width: 5%;
            max-width: 23px;
        }

        .slick-arrow.next-arrow {
            right: 10%;
        }

        .slick-arrow.prev-arrow {
            left: 10%;
        }

        #sec05 .slick-arrow.next-arrow {
            right: 10%;
        }

        #sec05 .slick-arrow.prev-arrow {
            left: 10%;
        }

        .slick-slide {
            margin: 0 0.5%;
        }

        #sec05 .slick-slide {
            margin: 0 0.3%;
        }

        .slick-dots li {
            width: 10px;
            height: 10px;
        }

        .slick-dots li button:before {
            font-size: 8px;
        }

        .slick-dots {
            bottom: -8%;
        }

        /*point*/
        #sec01,#sec02,#sec03, #sec04,#sec05{
        padding-left: var(--m30);
        padding-right: var(--m30);
        }
        .point_top h3 {
            margin-top: var(--m60);
            margin-bottom: var(--m20);
        }

        .point h4 {
            width: 30%;
            left: 0;
        }

        .point_box h5 {
            width: 45%;
        }

        .point_top_txt p {
            margin-bottom: var(--m30);
        }

        .point_box .point_box_list figure, .point_box.box02 figure, .point_box_list03 .point_box_list_img figure {
            padding-right: 0;
            padding-left: 0;
            margin-bottom: var(--m30);
        }

        .point_box h6::before, .point_box h6::after {
            width: 20px;
            height: 50px;
        }

        .point_box p {
            margin-bottom: var(--m20);
        }

        .point_box_list03 .point_box_list_img {
            padding-right: 0;
        }


        .box_band.band01 {
            margin-right: 0;
            margin-left: auto;
        }

        .box_band {
            width: 70%;
        }

        .box_band_img::after {
            left: -26%;
            width: 120%;
        }

        .box_band.band02 .box_band_img::after {
            right: -26%;
            top: 45%;
        }

        .box_band.band03 .box_band_img::after {
            left: -90%;
        }

        .box_band.band03 {
            flex-direction: row-reverse;
        }

        .box_band.band03 .box_band_img {
            width: 50%;
        }

        .box_band.band03 figcaption {
            margin-right: var(--m20);
        }

        .sec04_box figure {
            padding-left: 0;
        }

        .sec04_box .sec04_box_txt {
            margin-bottom: var(--m30);
        }

        .sec04_box .sec04_box_txt h3 {
            text-align: center;
            line-height: 1.15;
        }

        /*sec05*/
        #sec05 h3 {
            margin-top: var(--m60);
        }

        /*campaign*/
        .camp_top_list li {
            margin-bottom: var(--m30);
        }

        .camp_contact_box {
            padding: var(--m40) var(--m30);
        }

        .camp_contact_box th, .camp_contact_box td {
            width: 100%;
            display: block;
        }

        .camp_contact_box th {
            margin-bottom: var(--m15);
        }

        .camp_contact .datetime {
            justify-content: space-between;
        }

        .camp_contact .datetime>div {
            width: 48%;
        }

        .camp_contact .datetime>div:last-child {
            padding-left: 0;
        }

        .select_wrapper, .camp_contact .datetime select {
            width: 100%;
        }

        .select_wrapper::after {
            right: 5%;
        }

        .camp_contact_box th span {
            padding: 3px 10px;
        }

        .camp_contact .datetime select {
            font-size: 1.2rem;
        }

        #contact_btn {
            display: block;
        }

        #contact_btn .btn[onclick="history.back()"] {
            margin-bottom: var(--m30);
        }

        /*fix*/
        #fix {
            width: 100%;
            padding: 5px;
        }

        #fix .fix_col2 a {
            width: 50%;
            color: #fff;
        }

        #fix .fix_col2 a:first-child {
            border-right: 1px solid #fff;
        }

        #fix .fix_col1 {
            padding: 5px 0 0;
            margin-top: 5px;
        }

        #fix a {
            padding: 0 10px;
            margin-bottom: 0;
        }

        #fix a.document::before {
            left: 10%;
        }

        #fix a.venue:before {
            left: 16%;
        }

        /*footer*/
        footer {
            padding: 20px 0 120px;
        }
    }