@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@media screen and (min-width:835px) {
    .mbpc-0 {
        margin-bottom: 0 !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-0 {
        margin-bottom: 0 !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-1 {
        margin-bottom: 1px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-1 {
        margin-bottom: 1px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-2 {
        margin-bottom: 2px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-2 {
        margin-bottom: 2px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-3 {
        margin-bottom: 3px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-3 {
        margin-bottom: 3px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-4 {
        margin-bottom: 4px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-4 {
        margin-bottom: 4px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-5 {
        margin-bottom: 5px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-5 {
        margin-bottom: 5px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-6 {
        margin-bottom: 6px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-6 {
        margin-bottom: 6px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-7 {
        margin-bottom: 7px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-7 {
        margin-bottom: 7px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-8 {
        margin-bottom: 8px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-8 {
        margin-bottom: 8px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-9 {
        margin-bottom: 9px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-9 {
        margin-bottom: 9px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-10 {
        margin-bottom: 10px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-10 {
        margin-bottom: 10px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-11 {
        margin-bottom: 11px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-11 {
        margin-bottom: 11px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-12 {
        margin-bottom: 12px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-12 {
        margin-bottom: 12px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-13 {
        margin-bottom: 13px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-13 {
        margin-bottom: 13px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-14 {
        margin-bottom: 14px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-14 {
        margin-bottom: 14px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-15 {
        margin-bottom: 15px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-15 {
        margin-bottom: 15px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-16 {
        margin-bottom: 16px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-16 {
        margin-bottom: 16px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-17 {
        margin-bottom: 17px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-17 {
        margin-bottom: 17px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-18 {
        margin-bottom: 18px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-18 {
        margin-bottom: 18px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-19 {
        margin-bottom: 19px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-19 {
        margin-bottom: 19px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-20 {
        margin-bottom: 20px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-20 {
        margin-bottom: 20px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-21 {
        margin-bottom: 21px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-21 {
        margin-bottom: 21px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-22 {
        margin-bottom: 22px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-22 {
        margin-bottom: 22px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-23 {
        margin-bottom: 23px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-23 {
        margin-bottom: 23px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-24 {
        margin-bottom: 24px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-24 {
        margin-bottom: 24px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-25 {
        margin-bottom: 25px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-25 {
        margin-bottom: 25px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-26 {
        margin-bottom: 26px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-26 {
        margin-bottom: 26px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-27 {
        margin-bottom: 27px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-27 {
        margin-bottom: 27px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-28 {
        margin-bottom: 28px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-28 {
        margin-bottom: 28px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-29 {
        margin-bottom: 29px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-29 {
        margin-bottom: 29px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-30 {
        margin-bottom: 30px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-30 {
        margin-bottom: 30px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-31 {
        margin-bottom: 31px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-31 {
        margin-bottom: 31px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-32 {
        margin-bottom: 32px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-32 {
        margin-bottom: 32px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-33 {
        margin-bottom: 33px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-33 {
        margin-bottom: 33px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-34 {
        margin-bottom: 34px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-34 {
        margin-bottom: 34px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-35 {
        margin-bottom: 35px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-35 {
        margin-bottom: 35px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-36 {
        margin-bottom: 36px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-36 {
        margin-bottom: 36px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-37 {
        margin-bottom: 37px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-37 {
        margin-bottom: 37px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-38 {
        margin-bottom: 38px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-38 {
        margin-bottom: 38px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-39 {
        margin-bottom: 39px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-39 {
        margin-bottom: 39px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-40 {
        margin-bottom: 40px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-40 {
        margin-bottom: 40px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-41 {
        margin-bottom: 41px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-41 {
        margin-bottom: 41px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-42 {
        margin-bottom: 42px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-42 {
        margin-bottom: 42px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-43 {
        margin-bottom: 43px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-43 {
        margin-bottom: 43px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-44 {
        margin-bottom: 44px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-44 {
        margin-bottom: 44px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-45 {
        margin-bottom: 45px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-45 {
        margin-bottom: 45px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-46 {
        margin-bottom: 46px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-46 {
        margin-bottom: 46px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-47 {
        margin-bottom: 47px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-47 {
        margin-bottom: 47px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-48 {
        margin-bottom: 48px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-48 {
        margin-bottom: 48px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-49 {
        margin-bottom: 49px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-49 {
        margin-bottom: 49px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-50 {
        margin-bottom: 50px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-50 {
        margin-bottom: 50px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-51 {
        margin-bottom: 51px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-51 {
        margin-bottom: 51px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-52 {
        margin-bottom: 52px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-52 {
        margin-bottom: 52px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-53 {
        margin-bottom: 53px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-53 {
        margin-bottom: 53px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-54 {
        margin-bottom: 54px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-54 {
        margin-bottom: 54px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-55 {
        margin-bottom: 55px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-55 {
        margin-bottom: 55px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-56 {
        margin-bottom: 56px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-56 {
        margin-bottom: 56px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-57 {
        margin-bottom: 57px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-57 {
        margin-bottom: 57px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-58 {
        margin-bottom: 58px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-58 {
        margin-bottom: 58px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-59 {
        margin-bottom: 59px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-59 {
        margin-bottom: 59px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-60 {
        margin-bottom: 60px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-60 {
        margin-bottom: 60px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-61 {
        margin-bottom: 61px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-61 {
        margin-bottom: 61px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-62 {
        margin-bottom: 62px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-62 {
        margin-bottom: 62px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-63 {
        margin-bottom: 63px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-63 {
        margin-bottom: 63px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-64 {
        margin-bottom: 64px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-64 {
        margin-bottom: 64px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-65 {
        margin-bottom: 65px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-65 {
        margin-bottom: 65px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-66 {
        margin-bottom: 66px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-66 {
        margin-bottom: 66px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-67 {
        margin-bottom: 67px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-67 {
        margin-bottom: 67px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-68 {
        margin-bottom: 68px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-68 {
        margin-bottom: 68px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-69 {
        margin-bottom: 69px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-69 {
        margin-bottom: 69px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-70 {
        margin-bottom: 70px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-70 {
        margin-bottom: 70px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-71 {
        margin-bottom: 71px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-71 {
        margin-bottom: 71px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-72 {
        margin-bottom: 72px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-72 {
        margin-bottom: 72px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-73 {
        margin-bottom: 73px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-73 {
        margin-bottom: 73px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-74 {
        margin-bottom: 74px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-74 {
        margin-bottom: 74px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-75 {
        margin-bottom: 75px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-75 {
        margin-bottom: 75px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-76 {
        margin-bottom: 76px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-76 {
        margin-bottom: 76px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-77 {
        margin-bottom: 77px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-77 {
        margin-bottom: 77px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-78 {
        margin-bottom: 78px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-78 {
        margin-bottom: 78px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-79 {
        margin-bottom: 79px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-79 {
        margin-bottom: 79px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-80 {
        margin-bottom: 80px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-80 {
        margin-bottom: 80px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-81 {
        margin-bottom: 81px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-81 {
        margin-bottom: 81px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-82 {
        margin-bottom: 82px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-82 {
        margin-bottom: 82px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-83 {
        margin-bottom: 83px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-83 {
        margin-bottom: 83px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-84 {
        margin-bottom: 84px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-84 {
        margin-bottom: 84px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-85 {
        margin-bottom: 85px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-85 {
        margin-bottom: 85px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-86 {
        margin-bottom: 86px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-86 {
        margin-bottom: 86px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-87 {
        margin-bottom: 87px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-87 {
        margin-bottom: 87px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-88 {
        margin-bottom: 88px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-88 {
        margin-bottom: 88px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-89 {
        margin-bottom: 89px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-89 {
        margin-bottom: 89px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-90 {
        margin-bottom: 90px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-90 {
        margin-bottom: 90px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-91 {
        margin-bottom: 91px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-91 {
        margin-bottom: 91px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-92 {
        margin-bottom: 92px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-92 {
        margin-bottom: 92px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-93 {
        margin-bottom: 93px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-93 {
        margin-bottom: 93px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-94 {
        margin-bottom: 94px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-94 {
        margin-bottom: 94px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-95 {
        margin-bottom: 95px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-95 {
        margin-bottom: 95px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-96 {
        margin-bottom: 96px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-96 {
        margin-bottom: 96px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-97 {
        margin-bottom: 97px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-97 {
        margin-bottom: 97px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-98 {
        margin-bottom: 98px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-98 {
        margin-bottom: 98px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-99 {
        margin-bottom: 99px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-99 {
        margin-bottom: 99px !important
    }
}

@media screen and (min-width:835px) {
    .mbpc-100 {
        margin-bottom: 100px !important
    }
}

@media screen and (max-width:834px) {
    .mbsp-100 {
        margin-bottom: 100px !important
    }
}

.mb0 {
    margin-bottom: 0 !important
}

html {
    overflow-y: scroll;
    overflow-x: hidden;
    font-size: 10px;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0
}

* {
    box-sizing: border-box
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,
img {
    border: 0
}

img {
    vertical-align: middle;
    max-width: 100%;
    height: auto
}

address,
caption,
cite,
code,
dfn,
var {
    font-style: normal;
    font-weight: 400
}

li {
    list-style: none
}

caption,
th {
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: 400
}

q:after,
q:before {
    content: ""
}

abbr,
acronym {
    border: 0;
    font-variant: normal
}

sup {
    vertical-align: text-top
}

sub {
    vertical-align: text-bottom
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input,
select,
textarea {
    *font-size: 100%
}

legend {
    color: #000
}

del,
ins {
    text-decoration: none
}

main {
    display: block
}

section {
    position: relative
}

body {
    color: #333;
    font-family: ヒラギノ角ゴPro W3, Hiragino Kaku Gothic Pro, Osaka, Meiryo, メイリオ, MS Pゴシック, Arial, Helvetica, Verdana, sans-serif;
    font-size: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.4
}

html.ov {
    overflow: hidden
}

a {
    color: inherit;
    text-decoration: none;
    transition: all .3s ease
}

@media (any-hover:hover) {
    a:hover {
        opacity: .7
    }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    a {
        display: inline-block
    }
}

@media screen and (min-width:835px) {
    a[href^=tel] {
        pointer-events: none
    }
}

@media screen and (max-width:834px) {
    a {
        -webkit-tap-highlight-color: transparent
    }
}

.clearfix {
    *zoom: 1
}

.clearfix:after,
.clearfix:before {
    content: "";
    display: table
}

.clearfix:after {
    clear: both
}

.wrapper {
    padding-top: 80px
}

@media screen and (max-width:1024px) {
    .wrapper {
        padding-top: 72px
    }
}

.inner {
    display: block;
    max-width: 1378px;
    padding: 0 25px;
    margin: 0 auto;
    width: 100%
}

.slider-txt {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    position: absolute;
    bottom: -36px;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    animation: a 50s linear infinite;
    mix-blend-mode: multiply;
    pointer-events: none
}

.slider-txt__item {
    color: #eee;
    font-family: din-2014, serif;
    font-weight: 600;
    font-size: 12rem;
    padding: 0 20px
}

@media screen and (max-width:1024px) {
    .slider-txt__item {
        font-size: 8rem
    }
}

@keyframes a {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

.breadcrumb {
    margin-bottom: 9px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: left
}

.breadcrumb a,
.breadcrumb span {
    display: inline-block;
    font-weight: 600;
    color: #55399b;
    font-size: 2rem
}

@media screen and (max-width:1200px) {

    .breadcrumb a,
    .breadcrumb span {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {

    .breadcrumb a,
    .breadcrumb span {
        font-size: 1.4rem
    }
}

.breadcrumb a {
    color: rgba(0, 0, 0, .5);
    padding-right: 101px;
    position: relative
}

@media screen and (max-width:834px) {
    .breadcrumb a {
        padding-right: 71px
    }
}

.breadcrumb a:before {
    content: "………";
    right: 21px;
    top: 50%;
    color: #55399b;
    transform: translateY(-50%);
    position: absolute
}

@media screen and (max-width:834px) {
    .breadcrumb a:before {
        right: 14px
    }
}

.content-top {
    position: relative;
    padding: 116px 0 105px;
    overflow: hidden;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .content-top {
        padding: 83px 0 55px
    }
}

@media screen and (max-width:834px) {
    .content-top {
        padding: 38px 0 40px
    }

    .content-top--page {
        padding: 21px 0 50px
    }

    .content-top--page .breadcrumb .inner {
        padding: 0 15px
    }
}

.content-top:after {
    content: "";
    position: absolute;
    width: 36.35%;
    height: 100%;
    max-height: 1290px;
    background: linear-gradient(124.67deg, #d6387e -6.56%, #a170c2 27.36%, #442d92 67.18%, #63c5c7 95.69%), #d9d9d9;
    clip-path: polygon(53% 0, 100% 0, 72% 100%, 0 100%);
    top: 0;
    right: -13.3%;
    z-index: -1;
    border-radius: 30px
}

@media screen and (max-width:834px) {
    .content-top:after {
        width: 100%;
        height: 53.8%;
        max-height: 700px;
        background: linear-gradient(165deg, #d6387e -1.03%, #a170c2 28.89%, #442d92 64.01%, #63c5c7 89.16%), #d9d9d9;
        clip-path: polygon(37% 0, 100% 0, 56.8% 100%, 0 100%);
        top: auto;
        top: 130px;
        right: -222px;
        border-radius: 20px
    }
}

.content-top .slider-txt--page {
    position: absolute;
    top: 26px;
    left: 0;
    bottom: auto;
    right: auto
}

@media screen and (max-width:834px) {
    .content-top .slider-txt--page {
        top: 36px
    }
}

.content-top .slider-txt--page .slider-txt__item {
    text-transform: uppercase;
    font-size: 14rem
}

@media screen and (max-width:1200px) {
    .content-top .slider-txt--page .slider-txt__item {
        font-size: 10rem
    }
}

@media screen and (max-width:834px) {
    .content-top .slider-txt--page .slider-txt__item {
        font-size: 6.4rem
    }
}

.mv-page__img {
    position: relative
}

@media screen and (max-width:834px) {
    .mv-page__img {
        padding-right: 4px;
        max-width: 600px;
        margin: 0 auto
    }
}

.mv-page__img img {
    width: 100%;
    position: relative;
    z-index: 2
}

@media screen and (min-width:835px) {
    .mv-page__img .slider-txt {
        top: 35%;
        bottom: auto;
        transform: translateY(-50%)
    }

    .mv-page__img .slider-txt__item {
        font-size: 14rem
    }
}

@media screen and (max-width:834px) {
    .mv-page__img .slider-txt {
        display: none
    }
}

.mv-page__thumb {
    width: 100%;
    max-width: 358px;
    margin-left: auto;
    transform: translateX(133px);
    position: relative;
    top: -52px
}

@media screen and (max-width:1680px) {
    .mv-page__thumb {
        transform: translateX(0)
    }
}

@media screen and (max-width:1200px) {
    .mv-page__thumb {
        max-width: 250px
    }
}

.mv-page__thumb img {
    width: 100%
}

.mv-page .flex-box .c-ttl__02 {
    padding-top: 76px
}

@media screen and (max-width:834px) {
    .mv-page .flex-box .c-ttl__02 {
        padding-top: 0
    }
}

.mv-page--02 {
    margin-bottom: -101px
}

@media screen and (max-width:1200px) {
    .mv-page--02 {
        margin-bottom: -50px
    }
}

@media screen and (max-width:834px) {
    .mv-page--02 {
        margin-bottom: -26px
    }
}

.mv-page--02 .flex-box .c-ttl__02 {
    padding-top: 64px
}

@media screen and (max-width:834px) {
    .mv-page--02 .flex-box .c-ttl__02 {
        padding-top: 52px
    }
}

.mv-page--02 .flex-box .c-ttl__02 strong {
    margin-bottom: 71px
}

@media screen and (max-width:834px) {
    .mv-page--02 .flex-box .c-ttl__02 strong {
        margin-bottom: 18px
    }
}

.c-fc--white {
    color: #fff !important
}

.c-ft--jp {
    font-family: ヒラギノ角ゴPro W3, Hiragino Kaku Gothic Pro, Osaka, Meiryo, メイリオ, MS Pゴシック, Arial, Helvetica, Verdana, sans-serif
}

.c-ft--en {
    font-family: din-2014, serif
}

.c-fw--lt {
    font-weight: 300 !important
}

.c-fw--rg {
    font-weight: 400 !important
}

.c-fw--md {
    font-weight: 500 !important
}

.c-fw--sbd {
    font-weight: 600 !important
}

.c-fw--bd {
    font-weight: 700 !important
}

.c-fw--bk {
    font-weight: 900 !important
}

.c-tx--v {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media screen and (min-width:835px) {
    .c-tx--v-pc {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }
}

.c-al--c {
    text-align: center !important
}

.c-al--r {
    text-align: right !important
}

.c-al--l {
    text-align: left !important
}

.c-val--md {
    vertical-align: middle
}

.c-val--top {
    vertical-align: top
}

.c-txt__basic {
    font-family: Zen Kaku Gothic New, sans-serif;
    font-weight: 700;
    line-height: 2;
    font-size: 2.4rem
}

@media screen and (max-width:1200px) {
    .c-txt__basic {
        line-height: 1.8;
        font-size: 1.8rem
    }
}

@media screen and (max-width:834px) {
    .c-txt__basic {
        line-height: 1.7;
        font-size: 1.4rem
    }
}

.c-ttl__01 {
    position: relative;
    font-weight: 700;
    font-size: 6.4rem;
    margin-bottom: 56px
}

@media screen and (max-width:1024px) {
    .c-ttl__01 {
        font-size: 3.2rem;
        margin-bottom: 34px
    }
}

.c-ttl__01:before {
    content: "";
    position: absolute;
    width: 79px;
    height: 12px;
    background: #fff;
    box-shadow: 4px 2px 0 #55c3c7;
    top: 26px;
    left: -114px;
    z-index: 2
}

@media screen and (max-width:1024px) {
    .c-ttl__01:before {
        width: 48px;
        height: 7px;
        box-shadow: 2px 2px 0 #55c3c7;
        top: 15px;
        left: -68px
    }
}

.c-ttl__01 span {
    position: relative;
    display: inline-block;
    min-width: 601px;
    color: #fff;
    padding: 19px 100px 7px;
    margin-left: -100px;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .c-ttl__01 span {
        min-width: 368px;
        padding: 16px 60px 9px;
        margin-left: -61px
    }
}

@media screen and (max-width:370px) {
    .c-ttl__01 span {
        min-width: 330px
    }
}

.c-ttl__01 span:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(102.61deg, #d6387e -12.95%, #a170c2 37.02%, #442d92 95.68%, #63c5c7 137.68%), #d9d9d9;
    clip-path: polygon(32px 0, 100% 0, calc(100% - 32px) 100%, 0 100%);
    top: 0;
    left: 0;
    z-index: -1
}

@media screen and (max-width:1024px) {
    .c-ttl__01 span:before {
        clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%)
    }
}

.c-ttl__01 span:after {
    content: "";
    position: absolute;
    width: 105px;
    height: 11px;
    background: url(../img/index/line-ttl.png) 50% no-repeat;
    background-size: contain;
    bottom: 13px;
    right: -22px
}

@media screen and (max-width:1024px) {
    .c-ttl__01 span:after {
        width: 63px;
        height: 7px;
        bottom: 8px;
        right: -13px
    }
}

.c-ttl__02 strong {
    margin-left: -200px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 58px;
    display: block;
    font-family: din-2014, serif;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: clamp(5rem, 8vw, 12rem);
    letter-spacing: -2px
}

@media screen and (max-width:1720px) {
    .c-ttl__02 strong {
        margin-left: 0;
        font-size: 10rem
    }
}

@media screen and (max-width:1200px) {
    .c-ttl__02 strong {
        margin-bottom: 25px;
        font-size: 7rem
    }
}

@media screen and (max-width:834px) {
    .c-ttl__02 strong {
        margin-bottom: 18px;
        letter-spacing: 0;
        font-size: 4.8rem
    }
}

@media screen and (max-width:370px) {
    .c-ttl__02 strong {
        font-size: 4rem
    }
}

.c-ttl__02>span {
    max-width: 470px;
    width: 100%;
    display: block;
    text-align: left;
    padding: 18px 15px 18px 1px;
    position: relative
}

@media screen and (max-width:1200px) {
    .c-ttl__02>span {
        padding: 10px 15px 10px 1px
    }
}

@media screen and (max-width:834px) {
    .c-ttl__02>span {
        padding: 13px 15px 12px 1px;
        max-width: 91.5%
    }
}

.c-ttl__02>span:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: calc((100vw - 100%) / 2 + 100%);
    height: 100%;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    clip-path: polygon(0 0, 100% 0, calc(100% - 32px) 100%, 0 100%);
    right: 0;
    top: 0;
    transform: skewX(-1deg)
}

@media screen and (max-width:1200px) {
    .c-ttl__02>span:before {
        transform: skewX(10deg)
    }
}

@media screen and (max-width:834px) {
    .c-ttl__02>span:before {
        left: -40px;
        width: calc(100% + 40px)
    }
}

.c-ttl__02>span span {
    font-family: Zen Kaku Gothic New, sans-serif;
    display: inline-block;
    color: #fff;
    position: relative;
    z-index: 2;
    font-weight: 700;
    font-size: 5.6rem;
    font-size: clamp(3rem, 3.5vw, 5.6rem)
}

@media screen and (max-width:1200px) {
    .c-ttl__02>span span {
        font-size: 3rem
    }
}

@media screen and (max-width:834px) {
    .c-ttl__02>span span {
        font-size: 3.2rem
    }
}

.c-ttl__03 {
    color: #333;
    font-size: clamp(3rem, 3vw, 4.8rem);
    font-weight: 700;
    margin-bottom: 31px;
    line-height: 1.45;
    letter-spacing: -.75px;
    font-family: Zen Kaku Gothic New, sans-serif
}

@media screen and (max-width:1200px) {
    .c-ttl__03 {
        letter-spacing: 0;
        margin-bottom: 20px;
        font-size: 2.6rem
    }
}

@media screen and (max-width:834px) {
    .c-ttl__03 {
        margin-bottom: 14px;
        font-size: 2.8rem
    }
}

@media screen and (max-width:370px) {
    .c-ttl__03 {
        font-size: 2.2rem
    }
}

.c-ttl__04 {
    font-weight: 700;
    font-family: Zen Kaku Gothic New, sans-serif;
    margin-bottom: 19px;
    font-size: 3.9rem
}

@media screen and (max-width:1200px) {
    .c-ttl__04 {
        font-size: 3rem
    }
}

@media screen and (max-width:834px) {
    .c-ttl__04 {
        margin-bottom: 18px;
        font-size: 2.4rem
    }
}

@media screen and (max-width:370px) {
    .c-ttl__04 {
        font-size: 2.2rem
    }
}

.c-ttl__04 span {
    display: block;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 25px;
    font-family: din-2014, serif;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: clamp(4rem, 5vw, 8.4rem)
}

@media screen and (max-width:834px) {
    .c-ttl__04 span {
        margin-bottom: 21px;
        font-size: 3.2rem
    }
}

@media screen and (max-width:370px) {
    .c-ttl__04 span {
        margin-bottom: 10px;
        font-size: 3rem
    }
}

@media screen and (max-width:834px) {
    .c-ttl__04--sp {
        font-size: 3.2rem
    }
}

.c-btn__01 {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 357px;
    height: 72px;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #520c73;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 8px;
    box-shadow: 0 0 12px rgba(85, 57, 155, .25);
    -webkit-backdrop-filter: blur(5.5px);
    backdrop-filter: blur(5.5px);
    font-weight: 700;
    font-size: 1.6rem;
    padding: 10px 60px 9px 30px
}

@media screen and (max-width:834px) {
    .c-btn__01 {
        padding-left: 24px
    }
}

.c-btn__01:after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    background: url(../img/index/icon-arow.png) 50% no-repeat;
    background-size: contain;
    right: 14px;
    top: 50%;
    transform: translateY(-50%)
}

@media screen and (max-width:834px) {
    .c-btn__01:after {
        right: 16px
    }
}

.c-btn__01--right {
    margin-left: auto
}

.js-scrollin {
    transform: translateY(70px)
}

.js-scrollin.active {
    opacity: 1;
    transform: translate(0);
    transition: .7s cubic-bezier(.25, .46, .45, .94)
}

@media screen and (max-width:834px) {
    .pc {
        display: none !important
    }
}

@media screen and (max-width:1024px) {
    .pc-tb {
        display: none !important
    }
}

@media screen and (max-width:990px) {
    .pc-lg {
        display: none !important
    }
}

@media screen and (max-width:1200px) {
    .pc-xl {
        display: none !important
    }
}

@media screen and (max-width:640px) {
    .pc-sm {
        display: none !important
    }
}

@media screen and (max-width:370px) {
    .pc-xs {
        display: none !important
    }
}

@media screen and (min-width:835px) {
    .sp {
        display: none !important
    }
}

@media screen and (min-width:1025px) {
    .sp-tb {
        display: none !important
    }
}

@media screen and (min-width:991px) {
    .sp-lg {
        display: none !important
    }
}

@media screen and (min-width:641px) {
    .sp-sm {
        display: none !important
    }
}

.u-pull--left {
    margin-left: calc((100vw - 100%) / 2 * -1)
}

.u-pull--right {
    margin-right: calc((100vw - 100%) / 2 * -1)
}

.u-img-of {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    font-family: "object-fit: cover; object-position: center", sans-serif
}

.c-scroll-box {
    padding-bottom: 20px;
    overflow-x: scroll;
    overflow-y: hidden
}

.c-scroll-box-y {
    padding-bottom: 20px;
    overflow-x: hidden;
    overflow-y: scroll
}

@media screen and (max-width:834px) {
    .c-scroll-box-sp {
        padding-bottom: 20px;
        overflow-x: scroll;
        overflow-y: hidden
    }
}

.js-scrollin {
    opacity: 0;
    transform: translateY(50px)
}

.js-scrollin.is-visible {
    opacity: 1;
    transform: translate(0);
    transition: .7s cubic-bezier(.25, .46, .45, .94)
}

#header {
    position: fixed;
    width: 100%;
    background: #000;
    padding: 16px 0;
    top: 0;
    left: 0;
    z-index: 99999
}

@media screen and (max-width:1024px) {
    #header {
        padding: 12px 0
    }
}

@media screen and (min-width:1025px) {
    #header .inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        max-width: 1676px
    }
}

#header .header-logo {
    position: relative;
    display: block;
    width: 100%;
    max-width: 77px;
    z-index: 1
}

@media screen and (min-width:1501px) {
    #header .header-logo {
        left: 204px
    }
}

@media screen and (min-width:1025px) {
    #header .header-nav {
        display: block !important;
        width: calc(100% - 100px)
    }
}

@media screen and (max-width:1024px) {
    #header .header-nav {
        display: none;
        position: absolute;
        width: 100%;
        height: 100vh;
        top: 0;
        left: 0;
        padding: 80px 20px 60px;
        overflow-y: auto
    }

    #header .header-nav:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background: #000;
        top: 0;
        left: 0;
        z-index: -1
    }
}

@media screen and (min-width:1025px) {
    #header .header-nav__menu {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: end;
        justify-content: flex-end;
        gap: 17px;
        margin-top: -2px
    }
}

@media screen and (max-width:1024px) {
    #header .header-nav__menu-item {
        text-align: center
    }

    #header .header-nav__menu-item:not(:last-child) {
        margin-bottom: 15px
    }
}

#header .header-nav__menu-item>a {
    position: relative;
    display: inline-block;
    background: #fff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 800;
    font-size: 1.6rem;
    padding: 3px 13px
}

#header .header-nav__menu-item>a:before {
    content: "";
    position: absolute;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    background: #fff;
    border: 1px solid #fff;
    box-shadow: -2px -2px 4px rgba(85, 57, 155, .5), inset -2px -2px 0 #55c3c7;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transform: skew(-17deg);
    transition: .3s ease;
    z-index: -1
}

#header .header-nav__menu-item>a:hover {
    opacity: 1;
    background: linear-gradient(95.87deg, #d6387e -62.2%, #a170c2 .09%, #442d92 73.22%, #63c5c7 125.58%), linear-gradient(0deg, #8f64b9, #8f64b9), #000;
    -webkit-background-clip: text;
    background-clip: text
}

#header .header-nav__menu-item>a:hover:before {
    opacity: 1
}

#header .header-nav__menu-item.active>a {
    background: linear-gradient(95.87deg, #d6387e -62.2%, #a170c2 .09%, #442d92 73.22%, #63c5c7 125.58%), linear-gradient(0deg, #8f64b9, #8f64b9), #000;
    -webkit-background-clip: text;
    background-clip: text
}

#header .header-nav__menu-item.active>a:before {
    opacity: 1
}

#header .js-mobile {
    position: absolute;
    width: 40px;
    height: 24px;
    right: 24px;
    top: 23px;
    z-index: 12;
    display: none
}

@media screen and (max-width:1024px) {
    #header .js-mobile {
        display: block
    }
}

#header .js-mobile span {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    top: 12px;
    left: 0
}

#header .js-mobile span:after,
#header .js-mobile span:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    left: 0;
    transition: .3s ease
}

#header .js-mobile span:before {
    top: -12px
}

#header .js-mobile span:after {
    bottom: -12px
}

#header .js-mobile--close span {
    background-color: transparent
}

#header .js-mobile--close span:before {
    transform: rotate(45deg);
    top: 0
}

#header .js-mobile--close span:after {
    transform: rotate(-45deg);
    bottom: 0
}

.js-locked {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none
}

.js-locked body {
    -webkit-overflow-scrolling: auto
}

.sec-sns {
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #f5f5f5;
    padding: 75px 0 104px;
    overflow: hidden
}

@media screen and (max-width:834px) {
    .sec-sns {
        padding: 74px 0 72px
    }

    .sec-sns .slider-txt {
        display: none
    }
}

.sns-ttl {
    text-align: center;
    color: #fff;
    margin-bottom: 53px
}

@media screen and (max-width:834px) {
    .sns-ttl {
        margin-bottom: 46px
    }
}

.sns-ttl .c-ft--jp {
    display: block;
    font-weight: 300;
    font-size: 1.6rem;
    margin-bottom: -3px
}

@media screen and (max-width:834px) {
    .sns-ttl .c-ft--jp {
        margin-bottom: 1px
    }
}

.sns-ttl .c-ft--en {
    display: block;
    font-weight: 600;
    font-size: 5.4rem
}

@media screen and (max-width:834px) {
    .sns-ttl .c-ft--en {
        font-size: 4rem
    }
}

@media screen and (max-width:370px) {
    .sns-ttl .c-ft--en {
        font-size: 3rem
    }
}

@media screen and (min-width:641px) {
    .sns-list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 832px;
        margin: 0 auto
    }
}

@media screen and (min-width:641px) {
    .sns-list__item {
        width: calc(50% - 16px)
    }
}

@media screen and (max-width:640px) {
    .sns-list__item:not(:last-child) {
        margin-bottom: 32px
    }
}

.sns-list__item a {
    text-align: center;
    position: relative;
    display: block;
    height: 200px;
    background: #fe0000;
    color: #fff;
    border-radius: 12px;
    font-weight: 600;
    font-size: 2.4rem
}

@media screen and (max-width:834px) {
    .sns-list__item a {
        font-size: 1.8rem;
        line-height: 1.5
    }
}

.sns-list__item a p {
    position: absolute;
    width: 100%;
    padding: 10px;
    top: 52%;
    left: 0;
    transform: translateY(-50%)
}

@media screen and (max-width:834px) {
    .sns-list__item a p {
        top: 50%
    }
}

.sns-list__item a p img {
    display: block;
    margin: 0 auto 28px
}

@media screen and (max-width:834px) {
    .sns-list__item a p img {
        margin-bottom: 17px
    }
}

.sns-list__item:nth-child(2n) a {
    background: #16171c
}

@media screen and (max-width:834px) {
    .sns-list__item:nth-child(2n) a {
        font-size: 1.9rem
    }

    .sns-list__item:nth-child(2n) a p img {
        margin: 5px auto 28px
    }
}

.main-footer {
    background: #16171c;
    padding: 52px 0 62px
}

@media screen and (max-width:834px) {
    .main-footer {
        padding-top: 40px
    }
}

.main-footer .inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1454px;
    position: relative
}

.main-footer__logo {
    width: 194px
}

@media screen and (max-width:834px) {
    .main-footer__logo {
        margin: 0 auto 64px
    }
}

.main-footer__nav {
    width: calc(100% - 194px);
    padding-left: 104px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:834px) {
    .main-footer__nav {
        width: 100%;
        padding-left: 23px;
        padding-right: 23px;
        max-width: 580px;
        margin: 0 auto 72px
    }
}

.main-footer__nav-item {
    margin-right: 100px
}

.main-footer__nav-item:last-of-type {
    margin-right: 0
}

@media screen and (max-width:834px) {
    .main-footer__nav-item {
        margin-right: 0;
        width: 100%;
        margin-bottom: 64px
    }
}

.main-footer__nav-ttl {
    font-size: 2.4rem;
    font-weight: 600;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 25px
}

.main-footer__menu li {
    margin-bottom: 14px
}

.main-footer__menu li:last-of-type {
    margin-bottom: 0
}

.main-footer__copyright,
.main-footer__menu li a {
    color: #fff;
    font-size: 1.4rem
}

.main-footer__copyright {
    position: absolute;
    bottom: 0;
    right: 15px;
    opacity: .6
}

@media screen and (max-width:834px) {
    .main-footer__copyright {
        right: 13vw
    }
}

.sec-mv {
    background: linear-gradient(101.28deg, #d6387e -13.8%, #a170c2 26.05%, #442d92 72.83%, #63c5c7 106.32%);
    padding: 26px 0 67px;
    overflow: hidden
}

@media screen and (max-width:834px) {
    .sec-mv {
        background: linear-gradient(84.54deg, #d6387e -18.31%, #a170c2 24.95%, #442d92 75.74%, #63c5c7 112.1%);
        padding: 29px 0 70px
    }
}

.sec-mv__slider {
    max-width: 880px;
    margin: 0 auto
}

@media screen and (max-width:640px) {
    .sec-mv__slider {
        margin: 0 -45px
    }
}

.sec-mv__slider .slick-list {
    overflow: unset
}

.sec-mv__slider .slick-dots {
    bottom: -37px
}

@media screen and (max-width:834px) {
    .sec-mv__slider .slick-dots {
        bottom: -32px
    }
}

.sec-mv__slider .slick-dots li {
    margin: 0 4px
}

.sec-mv__slider .slick-dots li button {
    width: 48px;
    height: 4px;
    background: #fff;
    padding: 0;
    opacity: .5;
    transition: .3s ease
}

.sec-mv__slider .slick-dots li button:before {
    display: none
}

@media (any-hover:hover) {
    .sec-mv__slider .slick-dots li button:hover {
        opacity: 1
    }
}

.sec-mv__slider .slick-dots li.slick-active button {
    opacity: 1
}

.sec-mv__slider-item {
    padding: 0 20px
}

.sec-mv__slider-img {
    position: relative
}

.sec-mv__slider-img:before {
    content: "";
    display: block;
    padding-bottom: 61.9047619048%
}

.sec-mv__slider-img img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain
}

.sec-about {
    position: relative;
    padding: 131px 0 170px;
    overflow: hidden;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .sec-about {
        padding: 83px 0 55px
    }
}

.sec-about:after {
    content: "";
    position: absolute;
    width: 36.35%;
    height: 100%;
    background: linear-gradient(124.67deg, #d6387e -6.56%, #a170c2 27.36%, #442d92 67.18%, #63c5c7 95.69%), #d9d9d9;
    clip-path: polygon(28% 0, 100% 0, 72% 100%, 0 100%);
    top: 0;
    right: -14.3%;
    z-index: -1
}

@media screen and (max-width:834px) {
    .sec-about:after {
        width: 796px;
        height: 1005px;
        background: linear-gradient(117.16deg, #d6387e -1.03%, #a170c2 28.89%, #442d92 64.01%, #63c5c7 89.16%), #d9d9d9;
        clip-path: polygon(43.2% 0, 100% 0, 56.8% 100%, 0 100%);
        top: auto;
        bottom: 0;
        right: -548px
    }
}

.sec-about .inner {
    max-width: 1482px
}

.sec-about .slider-txt {
    top: -20px;
    left: 0;
    bottom: auto
}

@media screen and (max-width:1024px) {
    .sec-about .slider-txt {
        top: -3px
    }

    .sec-about .slider-txt__item {
        font-size: 6.4rem
    }
}

.about-ttl {
    font-family: din-2014, serif;
    font-weight: 600;
    font-size: 4.014rem;
    margin: 0 calc((100% - 100vw) / 2) 34px
}

@media screen and (min-width:1025px) {
    .about-ttl {
        position: relative;
        font-size: 7.2rem;
        margin-bottom: 46px
    }

    .about-ttl:before {
        content: "";
        position: absolute;
        width: 50px;
        height: 6px;
        background: #fff;
        box-shadow: 3px 3px 0 hsla(0, 0%, 100%, .2);
        top: 8px;
        left: -7px;
        z-index: 2
    }
}

@media screen and (max-width:370px) {
    .about-ttl {
        font-size: 3.2rem
    }
}

.about-ttl span {
    position: relative;
    display: inline-block;
    color: #fff;
    padding: 2px 18px 5px 21px;
    z-index: 1
}

@media screen and (min-width:1025px) {
    .about-ttl span {
        padding: 2px 123px 11px 70px
    }

    .about-ttl span:after {
        content: "";
        position: absolute;
        width: 99px;
        height: 11px;
        background: url(../img/index/line-ttl.png) 50% no-repeat;
        background-size: contain;
        bottom: 13px;
        right: -1px
    }
}

@media screen and (max-width:834px) {
    .about-ttl span {
        padding-right: 63px
    }
}

.about-ttl span:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    clip-path: polygon(0 0, 100% 0, calc(100% - 32px) 100%, 0 100%);
    top: 0;
    left: 0;
    z-index: -1
}

@media screen and (max-width:1024px) {
    .about-ttl span:before {
        clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%)
    }
}

.about-wrap {
    position: relative;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.7;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .about-wrap {
        font-size: 1.4rem
    }
}

.about-wrap:after,
.about-wrap:before {
    content: "";
    position: absolute;
    width: 100px;
    height: 6px;
    background: #6645a4;
    box-shadow: 2px 2px 0 #55c3c7
}

.about-wrap:before {
    opacity: .2;
    top: 20px;
    left: -117px
}

.about-wrap:after {
    bottom: 236px;
    left: -184px
}

.about-wrap__ttl {
    font-weight: 700;
    font-size: 2.8rem;
    margin-bottom: 39px
}

@media screen and (max-width:1024px) {
    .about-wrap__ttl {
        font-size: 2.4rem;
        line-height: 1.6;
        margin-bottom: 12px
    }
}

.about-wrap__ttl span {
    display: block;
    font-size: 7.2rem;
    margin-bottom: 4px
}

@media screen and (max-width:1024px) {
    .about-wrap__ttl span {
        font-size: 4.3rem;
        line-height: 1.4;
        margin-bottom: 14px
    }
}

@media screen and (max-width:370px) {
    .about-wrap__ttl span {
        font-size: 3.5rem
    }
}

@media screen and (max-width:1024px) {
    .about-wrap__ttl span strong {
        font-size: 5rem
    }
}

@media screen and (max-width:370px) {
    .about-wrap__ttl span strong {
        font-size: 4.5rem
    }
}

.about-wrap__ttl span img {
    margin: 0 0 17px 14px
}

@media screen and (min-width:835px) {
    .about-wrap__img {
        position: absolute;
        width: 61%;
        top: 40%;
        right: -3.7%;
        transform: translateY(-50%);
        z-index: -1
    }
}

@media screen and (min-width:835px) and (max-width:1200px) {
    .about-wrap__img {
        width: 50%
    }
}

@media screen and (max-width:834px) {
    .about-wrap__img {
        margin: 3px -10px 0
    }
}

.about-wrap__btn {
    margin-top: 54px
}

@media screen and (max-width:1024px) {
    .about-wrap__btn {
        margin: 28px -2px 0
    }
}

@media screen and (min-width:641px) {
    .about-wrap__btn {
        display: -ms-flexbox;
        display: flex;
        gap: 16px;
        max-width: 730px
    }
}

@media screen and (max-width:640px) {
    .about-wrap__btn a {
        margin: 0 auto
    }

    .about-wrap__btn a:not(:last-child) {
        margin-bottom: 12px
    }
}

.sec-intro {
    background: #fafafa;
    padding: 98px 0 93px
}

@media screen and (max-width:1024px) {
    .sec-intro {
        padding: 50px 0
    }
}

.intro-ttl {
    max-width: 857px;
    margin: 0 auto 38px
}

.intro-btn {
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    max-width: 1150px;
    margin: 0 auto
}

.sec-card {
    background: url(../img/index/card-bg-sp.jpg) bottom no-repeat;
    background-size: cover;
    padding: 199px 0 99px;
    overflow: hidden
}

@media screen and (max-width:1024px) {
    .sec-card {
        padding: 144px 0 44px
    }
}

@media screen and (min-width:835px) {
    .sec-card {
        background: url(../img/index/card-bg-pc.jpg) bottom no-repeat;
        background-size: cover;
        overflow: hidden;
        z-index: 1
    }

    .sec-card:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 346px;
        background: linear-gradient(133.95deg, #d6387e 8.2%, #a170c2 37.42%, #442d92 71.72%, #63c5c7 96.28%), #d9d9d9;
        clip-path: polygon(0 57%, 100% 0, 100% 43%, 0 100%);
        top: 53.8%;
        left: 0;
        transform: translateY(-50%);
        z-index: -1
    }
}

.sec-card .inner {
    max-width: 1418px
}

@media screen and (max-width:834px) {
    .sec-card .inner {
        padding: 0 23px
    }
}

.sec-card .slider-txt {
    top: 0;
    left: 0;
    bottom: auto
}

@media screen and (max-width:1024px) {
    .sec-card .slider-txt {
        top: 24px
    }
}

@media screen and (min-width:1501px) {
    .sec-card .c-ttl__01:before {
        display: none
    }

    .sec-card .c-ttl__01 span {
        padding-left: 63px
    }
}

@media screen and (min-width:1501px) {
    .sec-card .c-btn__01 {
        margin-right: -32px
    }
}

.card-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 23px 16px;
    margin: 70px -66px 40px
}

@media screen and (max-width:1500px) {
    .card-list {
        margin: -2px -1px 33px
    }
}

@media screen and (max-width:834px) {
    .card-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px 7px
    }
}

@media screen and (min-width:835px) {
    .card-list {
        padding-right: min(212px, 12.3vw)
    }
}

@media screen and (min-width:835px) {

    .card-list__item:nth-child(8n+1),
    .card-list__item:nth-child(8n+2),
    .card-list__item:nth-child(8n+3),
    .card-list__item:nth-child(8n+4) {
        position: relative;
        left: min(165px, 9.6vw)
    }
}

.card-list__item a {
    position: relative;
    display: block;
    background: #fff;
    transform: skewX(-8deg)
}

.card-list__item a:before {
    content: "";
    display: block;
    padding-bottom: 57.1428571429%;
    border: 1.6px solid #fff;
    box-shadow: -3.2px -3.2px 6.4px rgba(85, 57, 155, .5), 0 3.2px 3.2px rgba(0, 0, 0, .25), inset -3.2px -3.2px 0 #55c3c7
}

@media screen and (max-width:1024px) {
    .card-list__item a:before {
        padding-bottom: 56.5476190476%;
        border-width: 1px;
        box-shadow: -1.73848px -1.73848px 3.47697px rgba(85, 57, 155, .5), 0 1.73848px 1.73848px rgba(0, 0, 0, .25), inset -1.73848px -1.73848px 0 #55c3c7
    }
}

.card-list__item a img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    transform: skewX(8deg);
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -1
}

.sec-news {
    background: url(../img/index/news-bg-sp.jpg) top no-repeat;
    background-size: cover;
    padding: 216px 0 32px;
    overflow: hidden;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .sec-news {
        padding: 144px 0 68px
    }
}

@media screen and (min-width:835px) {
    .sec-news {
        background: url(../img/index/news-bg-pc.jpg) top no-repeat;
        background-size: cover
    }

    .sec-news:after,
    .sec-news:before {
        content: "";
        position: absolute;
        width: 79px;
        height: 9px;
        background: #520c73;
        box-shadow: 3px 2px 0 #55c3c7;
        z-index: -1
    }

    .sec-news:before {
        top: 242px;
        right: 11.7%
    }

    .sec-news:after {
        bottom: 294px;
        right: 3.4%
    }
}

.sec-news .inner {
    max-width: 1402px
}

@media screen and (max-width:834px) {
    .sec-news .inner {
        padding: 0 23px
    }
}

.sec-news .slider-txt {
    top: 48px;
    left: 0;
    bottom: auto
}

@media screen and (max-width:1024px) {
    .sec-news .slider-txt {
        top: 26px
    }
}

.news-link,
.news-tab {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    max-width: 1132px;
    margin-bottom: 49px
}

@media screen and (max-width:640px) {

    .news-link,
    .news-tab {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px 6px;
        margin: 0 1px 24px
    }
}

@media screen and (min-width:835px) {

    .news-link:after,
    .news-link:before,
    .news-tab:after,
    .news-tab:before {
        content: "";
        position: absolute;
        width: 79px;
        z-index: -1
    }

    .news-link:before,
    .news-tab:before {
        height: 14px;
        background: #fff;
        box-shadow: 5px 5px 0 #55c3c7;
        top: 483px;
        left: -9px
    }

    .news-link:after,
    .news-tab:after {
        height: 9px;
        background: #520c73;
        box-shadow: 4px 3px 0 #55c3c7;
        top: 652px;
        left: -42px
    }
}

.news-link__item,
.news-tab__item {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    height: 48px;
    border-radius: 12px 12px 0 0;
    font-weight: 600;
    font-size: 1.6rem;
    cursor: pointer;
    overflow: hidden;
    z-index: 1
}

@media screen and (max-width:834px) {

    .news-link__item,
    .news-tab__item {
        height: 38px;
        border-radius: 10px 10px 0 0;
        font-size: 1.4rem;
        padding-top: 4px
    }
}

.news-link__item:before,
.news-tab__item:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
    transition: .3s ease;
    z-index: -1
}

@media (any-hover:hover) {

    .news-link__item:hover,
    .news-tab__item:hover {
        color: #fff
    }

    .news-link__item:hover:before,
    .news-tab__item:hover:before {
        height: 100%
    }
}

.news-link__item.active,
.news-tab__item.active {
    color: #fff
}

.news-link__item.active:before,
.news-tab__item.active:before {
    height: 100%
}

.news-link__item:nth-child(5n+1):before,
.news-tab__item:nth-child(5n+1):before {
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #333
}

.news-link__item:nth-child(5n+2):before,
.news-tab__item:nth-child(5n+2):before {
    background: #05f
}

.news-link__item:nth-child(5n+3):before,
.news-tab__item:nth-child(5n+3):before {
    background: #ff9500
}

.news-link__item:nth-child(5n+4):before,
.news-tab__item:nth-child(5n+4):before {
    background: #08914f
}

.news-link__item:nth-child(5n):before,
.news-tab__item:nth-child(5n):before {
    background: #ece400
}

@media (any-hover:hover) {

    .news-link__item:nth-child(5n):hover,
    .news-tab__item:nth-child(5n):hover {
        color: #333
    }
}

.news-link__item:nth-child(5n).active,
.news-tab__item:nth-child(5n).active {
    color: #333
}

.news-link__item a,
.news-tab__item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-align: center
}

.news-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 38px 24px;
    margin-bottom: 46px
}

@media screen and (max-width:1024px) {
    .news-list {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media screen and (max-width:834px) {
    .news-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 11px 12px;
        margin: 0 1px 20px
    }
}

.news-list__item a {
    display: block;
    color: #000;
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.8
}

@media screen and (max-width:834px) {
    .news-list__item a {
        font-size: 1.4rem
    }
}

.news-list__item a p {
    text-decoration: underline
}

.news-list__img {
    position: relative;
    margin-bottom: 11px
}

@media screen and (max-width:834px) {
    .news-list__img {
        margin-bottom: 5px
    }
}

.news-list__img:before {
    content: "";
    display: block;
    padding-bottom: 56.25%
}

.news-list__img img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.news-list__info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: 14px;
    font-size: 1.4rem;
    line-height: 1;
    margin-bottom: 11px
}

@media screen and (max-width:834px) {
    .news-list__info {
        gap: 7px;
        margin-bottom: 6px
    }
}

.news-list__info time {
    width: 95px
}

@media screen and (max-width:834px) {
    .news-list__info time {
        width: 80px;
        font-size: 1.2rem
    }
}

.news-list__info span {
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #333;
    color: #fff;
    border-radius: 2px;
    padding: 5px 20px
}

@media screen and (max-width:834px) {
    .news-list__info span {
        font-size: 1rem;
        padding: 4px 12px
    }
}

.flex-box {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 49px
}

@media screen and (max-width:834px) {
    .flex-box {
        margin-left: 0;
        margin-bottom: 15px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.flex-box .c-ttl__02 {
    width: 46%;
    padding-right: 20px
}

@media screen and (max-width:834px) {
    .flex-box .c-ttl__02 {
        width: 100%;
        margin-bottom: 38px;
        padding-right: 0
    }
}

.flex-box__ct {
    width: 54%
}

@media screen and (max-width:834px) {
    .flex-box__ct {
        width: 100%
    }
}

.sec-play {
    background: url(../img/index/card-bg-sp.jpg) bottom repeat-y;
    background-size: 100%;
    padding: 95px 0 84px;
    overflow: hidden;
    margin-top: 66px
}

@media screen and (max-width:1024px) {
    .sec-play {
        padding: 144px 0 44px
    }
}

@media screen and (max-width:834px) {
    .sec-play {
        padding: 38px 0 112px;
        margin-top: 0
    }
}

@media screen and (min-width:835px) {
    .sec-play {
        background: url(../img/index/card-bg-pc.jpg) bottom repeat-y;
        background-size: 100%;
        overflow: hidden;
        z-index: 1
    }
}

.sec-play .flex-box {
    margin-bottom: 64px
}

@media screen and (max-width:834px) {
    .sec-play .flex-box {
        margin-bottom: 27px
    }
}

.sec-play .flex-box .c-ttl__02 {
    margin-top: -1px
}

@media screen and (max-width:834px) {
    .sec-play .flex-box .c-ttl__02 {
        margin-top: 0;
        margin-bottom: 27px
    }
}

.sec-play .flex-box__ct {
    padding-top: 38px
}

@media screen and (max-width:834px) {
    .sec-play .flex-box__ct {
        padding-top: 0
    }
}

.sec-play .flex-box__ct .c-ttl__03 {
    margin-bottom: 26px
}

@media screen and (max-width:834px) {
    .sec-play .flex-box__ct .c-ttl__03 {
        margin-bottom: 22px;
        font-size: 3.2rem
    }
}

@media screen and (max-width:370px) {
    .sec-play .flex-box__ct .c-ttl__03 {
        font-size: 2.4rem
    }
}

.play-box:not(:last-child) {
    margin-bottom: 54px
}

@media screen and (max-width:834px) {
    .play-box .c-ttl__03 {
        font-size: 3.2rem
    }
}

.play-step {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    counter-reset: a
}

@media screen and (max-width:1024px) {
    .play-step {
        max-width: 500px;
        margin: 0 auto
    }
}

.play-step__item {
    width: 50%;
    position: relative;
    counter-increment: a
}

@media screen and (max-width:1024px) {
    .play-step__item {
        width: 100%
    }
}

@media screen and (max-width:834px) {
    .play-step__item {
        width: 100%
    }

    .play-step__item:not(:last-child) {
        margin-bottom: 1px
    }
}

.play-step__item:nth-child(2) {
    margin-top: 152px
}

@media screen and (max-width:1024px) {
    .play-step__item:nth-child(2) {
        margin-top: 0
    }
}

@media screen and (min-width:1681px) {
    .play-step__item:nth-child(2) {
        transform: translateX(91px)
    }
}

@media screen and (min-width:1681px) and (max-width:834px) {
    .play-step__item:nth-child(2) {
        margin-top: 0
    }
}

@media screen and (min-width:1681px) {
    .play-step__item:nth-child(2) .play-step__img {
        width: 77.5%
    }

    .play-step__item:nth-child(2) .play-step__ttl {
        margin-bottom: 21px
    }
}

@media screen and (max-width:834px) {
    .play-step__item:nth-child(2) {
        margin-bottom: 5px
    }

    .play-step__item:nth-child(2) .play-step__img {
        width: 85%
    }

    .play-step__item:nth-child(2) .play-step__ct {
        bottom: 17px
    }
}

@media screen and (min-width:1681px) {
    .play-step__item:first-child .play-step__ct {
        left: -55px;
        bottom: 69px
    }
}

.play-step__item:nth-child(3) {
    margin-top: -164px
}

@media screen and (max-width:1680px) {
    .play-step__item:nth-child(3) {
        margin-top: -120px
    }
}

@media screen and (max-width:1024px) {
    .play-step__item:nth-child(3) {
        margin-top: 0
    }
}

@media screen and (min-width:1681px) {
    .play-step__item:nth-child(3) {
        transform: translateX(91px)
    }

    .play-step__item:nth-child(3) .play-step__ct {
        bottom: 29px;
        left: -41px
    }

    .play-step__item:nth-child(3) .play-step__img {
        width: 74.5%
    }

    .play-step__item:nth-child(3) .play-step__ttl {
        margin-bottom: 7px
    }
}

.play-step__ct {
    position: absolute;
    bottom: 76px;
    left: 33px;
    width: 110%;
    z-index: 2
}

@media screen and (max-width:1200px) {
    .play-step__ct {
        width: 100%
    }
}

@media screen and (max-width:834px) {
    .play-step__ct {
        bottom: 13px;
        left: -3px
    }
}

.play-step__ct .c-txt__basic {
    text-shadow: #fff 3px 0 0, #fff 2.83487px .981584px 0, #fff 2.35766px 1.85511px 0, #fff 1.62091px 2.52441px 0, #fff .705713px 2.91581px 0, #fff -.287171px 2.98622px 0, #fff -1.24844px 2.72789px 0, #fff -2.07227px 2.16926px 0, #fff -2.66798px 1.37182px 0, #fff -2.96998px .42336px 0, #fff -2.94502px -.571704px 0, #fff -2.59586px -1.50383px 0, #fff -1.96093px -2.27041px 0, #fff -1.11013px -2.78704px 0, #fff -.137119px -2.99686px 0, #fff .850987px -2.87677px 0, #fff 1.74541px -2.43999px 0, #fff 2.44769px -1.73459px 0, #fff 2.88051px -.838247px 0
}

@media screen and (max-width:834px) {
    .play-step__ct .c-txt__basic {
        line-height: 2;
        font-size: 1.2rem;
        text-shadow: #fff 1px 0 0, #fff .540302px .841471px 0, #fff -.416147px .909297px 0, #fff -.989992px .14112px 0, #fff -.653644px -.756802px 0, #fff .283662px -.958924px 0, #fff .96017px -.279415px 0
    }
}

.play-step__ttl {
    margin-bottom: 32px;
    display: block;
    position: relative
}

@media screen and (max-width:834px) {
    .play-step__ttl {
        margin-bottom: 15px
    }
}

.play-step__ttl span {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    max-width: 300px;
    color: #fff;
    font-weight: 600;
    border: 2px solid #fff;
    font-family: din-2014, serif;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 12px rgba(85, 57, 155, .25);
    font-size: 2.4rem
}

@media screen and (max-width:1200px) {
    .play-step__ttl span {
        font-size: 2rem
    }
}

@media screen and (max-width:834px) {
    .play-step__ttl span {
        border-radius: 4px;
        border-width: 1px;
        max-width: 152px;
        height: 33px;
        font-size: 1.2rem
    }
}

.play-step__ttl--green span {
    background: #088d67
}

.play-step__ttl--gray span {
    background: #393636
}

.play-step__ttl:before {
    content: "0" counter(a);
    position: absolute;
    line-height: 1;
    top: -7vw;
    left: 0;
    font-family: din-2014, serif;
    font-size: clamp(4rem, 7vw, 12rem);
    color: #6746a4
}

@media screen and (max-width:834px) {
    .play-step__ttl:before {
        top: -61px;
        font-size: 6rem
    }
}

.play-step__img {
    width: 73.5%;
    margin-left: auto
}

@media screen and (max-width:834px) {
    .play-step__img {
        width: 72.6%;
        margin-right: -13px
    }
}

.play-step__img img {
    width: 100%
}

.play-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -15px 136px;
    gap: 20px 0
}

@media screen and (max-width:640px) {
    .play-list {
        margin: 0 0 70px
    }
}

.play-list__item {
    padding: 0 15px;
    width: 33.33%
}

@media screen and (max-width:1024px) {
    .play-list__item {
        width: 50%
    }
}

@media screen and (max-width:640px) {
    .play-list__item {
        width: 100%;
        padding: 0
    }
}

.play-list__item:nth-child(2) .play-list__img img {
    max-width: 302px;
    margin-top: 13px;
    width: auto
}

.play-list__item:nth-child(3) .play-list__img img {
    max-width: 390px;
    margin-top: -10px
}

.play-list__ct {
    background: #fff;
    padding: 23px 26px 2px;
    box-shadow: 4px 4px 0 #55c3c7, -4px -4px 8px rgba(85, 57, 155, .5)
}

@media screen and (max-width:834px) {
    .play-list__ct {
        padding: 20px
    }
}

.play-list__heading {
    font-weight: 700;
    color: #333;
    font-family: Zen Kaku Gothic New, sans-serif;
    margin-bottom: 11px;
    font-size: 2.8rem
}

@media screen and (max-width:1680px) {
    .play-list__heading {
        font-size: 2.4rem
    }
}

@media screen and (max-width:834px) {
    .play-list__heading {
        font-size: 2.2rem
    }
}

.play-list__heading span {
    display: block;
    font-size: 1.6rem
}

@media screen and (max-width:1680px) {
    .play-list__heading span {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    .play-list__heading span {
        font-size: 1.2rem
    }
}

.play-list__flex {
    margin-bottom: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    font-family: Zen Kaku Gothic New, sans-serif
}

.play-list__flex>span {
    display: block;
    width: 150px;
    font-family: din-2014, serif;
    font-weight: 600;
    line-height: 1;
    font-size: 2.8rem
}

@media screen and (max-width:1680px) {
    .play-list__flex>span {
        width: 100px
    }
}

@media screen and (max-width:834px) {
    .play-list__flex>span {
        width: 70px;
        font-size: 2.2rem
    }
}

.play-list__flex>span span {
    font-size: 6.7rem
}

@media screen and (max-width:1680px) {
    .play-list__flex>span span {
        font-size: 4.5rem
    }
}

@media screen and (max-width:834px) {
    .play-list__flex>span span {
        font-size: 3.6rem
    }
}

.play-list__flex p {
    width: calc(100% - 150px);
    line-height: 1.5;
    font-weight: 700;
    font-size: 1.5rem
}

@media screen and (max-width:1680px) {
    .play-list__flex p {
        width: calc(100% - 100px);
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    .play-list__flex p {
        width: calc(100% - 70px);
        font-size: 1.3rem
    }
}

@media screen and (max-width:370px) {
    .play-list__flex p {
        font-size: 1.2rem
    }
}

.play-list__img {
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.play-list__img img {
    width: 100%;
    max-width: 276px
}

@media screen and (max-width:834px) {
    .play-list__img img {
        max-height: 250px
    }
}

.play-guide {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 83px
}

.play-guide__img {
    width: 70%;
    background: #fff;
    padding: 20px 104px 20px 182px
}

@media screen and (max-width:1200px) {
    .play-guide__img {
        padding: 20px 40px
    }
}

@media screen and (max-width:834px) {
    .play-guide__img {
        width: 100%;
        margin-bottom: 20px;
        padding: 30px 20px
    }
}

.play-guide__img img {
    width: 100%
}

.play-guide__ct {
    width: 30%;
    padding-left: 20px;
    padding-top: 33px
}

@media screen and (max-width:834px) {
    .play-guide__ct {
        padding-top: 0;
        width: 100%;
        padding-left: 0
    }
}

.play-setup {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px 162px;
    gap: 20px 0
}

@media screen and (max-width:640px) {
    .play-setup {
        margin: 0
    }
}

.play-setup__item {
    padding: 0 10px;
    width: 25%
}

@media screen and (max-width:1024px) {
    .play-setup__item {
        width: 50%
    }
}

@media screen and (max-width:640px) {
    .play-setup__item {
        width: 100%;
        padding: 0
    }
}

.play-setup__ct {
    background: #fff;
    padding: 27px 24px;
    min-height: 246px
}

@media screen and (max-width:640px) {
    .play-setup__ct {
        min-height: 150px;
        padding: 20px
    }
}

.play-setup__ct span {
    font-size: 2rem
}

@media screen and (max-width:834px) {
    .play-setup__ct span {
        font-size: 1.5rem
    }
}

.play-setup__ct small {
    display: block;
    font-size: 1.8rem
}

@media screen and (max-width:834px) {
    .play-setup__ct small {
        font-size: 1.4rem
    }
}

.play-flow {
    margin-bottom: 361px
}

@media screen and (max-width:1200px) {
    .play-flow {
        margin-bottom: 200px
    }
}

@media screen and (max-width:834px) {
    .play-flow {
        margin-bottom: 70px
    }
}

.play-flow__dl {
    background: #fff;
    padding: 15px 40px 15px 35px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:1200px) {
    .play-flow__dl {
        padding: 15px
    }
}

.play-flow__dl:not(:last-child) {
    margin-bottom: 10px
}

.play-flow__dl--left {
    max-width: 83%;
    margin-left: auto
}

@media screen and (max-width:1200px) {
    .play-flow__dl--left {
        max-width: 93%
    }
}

@media screen and (max-width:834px) {
    .play-flow__dl--left {
        max-width: 100%
    }
}

.play-flow__dl:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 2px;
    height: 75%;
    background: #ccc;
    top: 50%;
    left: 313px;
    transform: translateY(-50%)
}

@media screen and (max-width:1200px) {
    .play-flow__dl:before {
        left: 215px
    }
}

@media screen and (max-width:834px) {
    .play-flow__dl:before {
        display: none
    }
}

.play-flow__dt {
    width: 277px
}

@media screen and (max-width:1200px) {
    .play-flow__dt {
        width: 200px
    }
}

@media screen and (max-width:834px) {
    .play-flow__dt {
        width: 100%;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: 1px solid #ccc
    }
}

.play-flow__dd {
    width: calc(100% - 277px);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 33px
}

@media screen and (max-width:1200px) {
    .play-flow__dd {
        padding-left: 15px;
        width: calc(100% - 200px)
    }
}

@media screen and (max-width:834px) {
    .play-flow__dd {
        padding-left: 0;
        width: 100%;
        display: block
    }
}

.play-flow__dd>span {
    display: inline-block;
    background: #ba55a1;
    border-radius: 4px;
    color: #fff;
    padding: 4px 15px;
    font-weight: 700;
    font-family: Zen Kaku Gothic New, sans-serif;
    min-width: 253px;
    text-align: center;
    font-size: 1.6rem
}

@media screen and (max-width:834px) {
    .play-flow__dd>span {
        margin-top: 10px;
        font-size: 1.4rem
    }
}

.play-table {
    border-radius: 10px;
    margin-bottom: 139px
}

@media screen and (max-width:834px) {
    .play-table {
        margin-bottom: 70px;
        border-radius: 5px
    }
}

.play-table img {
    width: 100%
}

.play-rule {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto
}

.play-rule__video {
    margin-bottom: 31px;
    position: relative;
    overflow: hidden
}

.play-rule__video:before {
    display: block;
    content: "";
    padding-top: 60%
}

.play-rule__video>:first-child,
.play-rule__video img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (max-width:834px) {
    .play-rule__video {
        margin-bottom: 25px
    }
}

.play-rule__video iframe {
    width: 100%;
    height: 100%
}

.play-rule__pdf {
    display: block;
    padding: 20px 100px;
    position: relative;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    font-family: Zen Kaku Gothic New, sans-serif;
    text-align: center;
    font-size: 2.4rem
}

@media screen and (max-width:834px) {
    .play-rule__pdf {
        padding: 9px 40px;
        font-size: 1.6rem
    }
}

.play-rule__pdf:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 33px;
    height: 40px;
    background: url(../img/about/icon-pdf.svg) 50% no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    right: 27px
}

@media screen and (max-width:834px) {
    .play-rule__pdf:after {
        width: 24px;
        height: 28px;
        right: 10px
    }
}

.sec-cardlist {
    padding: 0
}

.cardlist-search {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 1px solid #fff;
    border-radius: 8px;
    position: relative;
    z-index: 3;
    background: #fff;
    margin-bottom: 33px;
    padding: 16px 53px;
    box-shadow: 0 0 12px rgba(85, 57, 155, .25)
}

@media screen and (max-width:1200px) {
    .cardlist-search {
        padding: 12px 15px
    }
}

@media screen and (max-width:834px) {
    .cardlist-search {
        margin-bottom: 40px;
        padding: 21px 9px 36px
    }
}

.cardlist-search__heading {
    max-width: 240px;
    width: 100%;
    line-height: 1;
    color: #333;
    font-weight: 600;
    font-family: din-2014, serif;
    font-size: 2.4rem
}

@media screen and (max-width:1200px) {
    .cardlist-search__heading {
        max-width: 180px;
        font-size: 2rem
    }
}

@media screen and (max-width:834px) {
    .cardlist-search__heading {
        text-align: center;
        max-width: 100%;
        margin-bottom: 17px;
        font-size: 2.4rem
    }
}

.cardlist-search__heading>span {
    font-size: 3.2rem
}

@media screen and (max-width:1200px) {
    .cardlist-search__heading>span {
        font-size: 2.4rem
    }
}

@media screen and (max-width:834px) {
    .cardlist-search__heading>span {
        margin-right: 14px;
        font-size: 3.2rem
    }
}

.cardlist-search__heading>span span {
    color: #835bb3;
    font-size: 5.6rem
}

@media screen and (max-width:1200px) {
    .cardlist-search__heading>span span {
        font-size: 4rem
    }
}

@media screen and (max-width:834px) {
    .cardlist-search__heading>span span {
        font-size: 5.6rem
    }
}

.cardlist-search__form {
    width: calc(100% - 240px);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 0 22px
}

@media screen and (max-width:1200px) {
    .cardlist-search__form {
        width: calc(100% - 190px)
    }
}

@media screen and (max-width:834px) {
    .cardlist-search__form {
        gap: 12px 0;
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 500px;
        margin: 0 auto
    }
}

.cardlist-search__form-block {
    max-width: 600px;
    width: 100%;
    position: relative;
    font-family: din-2014, serif
}

@media screen and (max-width:834px) {
    .cardlist-search__form-block {
        width: 100%
    }
}

.cardlist-search__form-input {
    width: 100%;
    border: 1px solid #ccc;
    box-shadow: none;
    outline: none;
    border-radius: 4px;
    height: 64px;
    padding: 12px 150px 12px 17px;
    background: #fff;
    font-size: 1.8rem
}

@media screen and (max-width:1200px) {
    .cardlist-search__form-input {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    .cardlist-search__form-input {
        padding: 9px 95px 9px 17px;
        height: 48px;
        font-size: 1.4rem
    }
}

.cardlist-search__form-btn {
    box-shadow: none;
    outline: none;
    border: 0;
    max-width: 110px;
    width: 100%;
    position: absolute;
    right: 24px;
    padding: 9px;
    top: 50%;
    cursor: pointer;
    transform: translateY(-50%);
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    font-weight: 600;
    color: #fff;
    font-size: 1.4rem
}

@media screen and (max-width:1200px) {
    .cardlist-search__form-btn {
        max-width: 80px;
        right: 10px
    }
}

@media screen and (max-width:834px) {
    .cardlist-search__form-btn {
        max-width: 72px;
        right: 16px;
        padding: 7px;
        font-size: 1.2rem
    }
}

.cardlist-search__select {
    overflow: hidden;
    background: #fff;
    position: relative;
    font-family: din-2014, serif;
    color: #333;
    max-width: 332px;
    width: 100%;
    height: 64px;
    border-radius: 4px;
    border: 1px solid #ccc;
    font-size: 1.8rem
}

@media screen and (max-width:1200px) {
    .cardlist-search__select {
        max-width: 200px;
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    .cardlist-search__select {
        height: 48px;
        width: 100%;
        max-width: 100%;
        font-size: 1.4rem
    }
}

.cardlist-search__select:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-bottom: 1.5px solid #555;
    border-right: 1.5px solid #555;
    transform: rotate(45deg) translateY(-50%);
    right: 22px;
    top: 45%
}

@media screen and (max-width:834px) {
    .cardlist-search__select:after {
        right: 27px;
        top: 42%
    }
}

.cardlist-search__select select {
    border: 0;
    width: 100%;
    height: 100%;
    box-shadow: none;
    outline: none;
    background: #fff;
    padding: 15px 33px
}

@media screen and (max-width:1200px) {
    .cardlist-search__select select {
        padding: 10px 15px
    }
}

.cardlist-list {
    gap: 22px 0;
    margin: 0 -11px 39px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:834px) {
    .cardlist-list {
        gap: 9.5px 0;
        margin: 32px -4px 33px
    }
}

.cardlist-list__item {
    width: 25%;
    padding: 0 11px
}

@media screen and (max-width:834px) {
    .cardlist-list__item {
        width: 33.33%;
        padding: 0 4px
    }
}

@media screen and (max-width:370px) {
    .cardlist-list__item {
        width: 50%
    }
}

.cardlist-list__ct {
    display: block
}

.cardlist-list__img {
    border-radius: 10px;
    position: relative;
    overflow: hidden
}

.cardlist-list__img:before {
    display: block;
    content: "";
    padding-top: 140.127388535%
}

.cardlist-list__img>:first-child,
.cardlist-list__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (max-width:834px) {
    .cardlist-list__img {
        border-radius: 3px
    }
}

.wp-pagenavi {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    padding: 0 250px
}

@media screen and (max-width:1200px) {
    .wp-pagenavi {
        padding: 0 140px
    }
}

@media screen and (max-width:834px) {
    .wp-pagenavi {
        padding: 0
    }
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    width: 64px;
    height: 64px;
    margin: 0 6.5px;
    font-family: din-2014, serif;
    color: #000;
    background: rgba(0, 0, 0, .2);
    font-size: 3.1rem
}

@media screen and (max-width:1200px) {

    .wp-pagenavi a,
    .wp-pagenavi span {
        width: 45px;
        height: 45px;
        margin: 0 4px;
        font-size: 2rem
    }
}

@media screen and (max-width:834px) {

    .wp-pagenavi a,
    .wp-pagenavi span {
        width: 38px;
        height: 38px;
        margin: 0 4px;
        font-size: 1.825rem;
        background: #ccc
    }
}

@media screen and (max-width:370px) {

    .wp-pagenavi a,
    .wp-pagenavi span {
        width: 30px;
        height: 30px;
        margin: 0 2px;
        font-size: 1.5rem
    }
}

.wp-pagenavi a.current,
.wp-pagenavi span.current {
    color: #fff;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9
}

@media (any-hover:hover) {

    .wp-pagenavi a:hover,
    .wp-pagenavi span:hover {
        opacity: 1;
        color: #fff;
        background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9
    }
}

.wp-pagenavi a.none,
.wp-pagenavi span.none {
    background: none;
    width: auto
}

.wp-pagenavi a.pages,
.wp-pagenavi span.pages {
    display: none
}

.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi span.nextpostslink,
.wp-pagenavi span.previouspostslink {
    max-width: 240px;
    width: 100%;
    height: 64px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px;
    text-align: center;
    color: #fff;
    background: #ccc;
    font-weight: 300;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 2.4rem
}

@media screen and (max-width:1200px) {

    .wp-pagenavi a.nextpostslink,
    .wp-pagenavi a.previouspostslink,
    .wp-pagenavi span.nextpostslink,
    .wp-pagenavi span.previouspostslink {
        height: 45px;
        max-width: 130px;
        font-size: 2rem
    }
}

@media screen and (max-width:834px) {

    .wp-pagenavi a.nextpostslink,
    .wp-pagenavi a.previouspostslink,
    .wp-pagenavi span.nextpostslink,
    .wp-pagenavi span.previouspostslink {
        display: none;
        max-width: 120px;
        font-size: 1.6rem
    }
}

.wp-pagenavi a.nextpostslink,
.wp-pagenavi span.nextpostslink {
    font-weight: 600;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    left: auto;
    right: 0
}

.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    padding: 30px;
    z-index: 999;
    background: rgba(0, 0, 0, .4);
    display: none;
    overflow-y: auto
}

.popup.on {
    display: block
}

.popup-item {
    max-width: 1305px;
    width: 100%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: -1;
    pointer-events: none;
    visibility: hidden
}

@media screen and (max-width:834px) {
    .popup-item {
        height: 75%
    }
}

.popup-item.on {
    opacity: 1;
    z-index: 50;
    pointer-events: auto;
    visibility: visible
}

@media screen and (max-width:1680px) {
    .popup-item {
        max-width: 80%
    }
}

@media screen and (max-width:834px) {
    .popup-item {
        max-width: 90%
    }
}

.popup-content {
    background: #fff
}

.popup-content__heading {
    font-family: Zen Kaku Gothic New, sans-serif;
    padding: 17px 48px;
    color: #fff;
    font-weight: 700;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    font-size: 3.2rem
}

@media screen and (max-width:1200px) {
    .popup-content__heading {
        padding: 12px 30px;
        font-size: 2.4rem
    }
}

@media screen and (max-width:834px) {
    .popup-content__heading {
        padding: 10px 15px;
        line-height: 1.3;
        font-size: 2rem
    }
}

.popup-content__heading span {
    display: block;
    font-size: 1.6rem
}

@media screen and (max-width:1200px) {
    .popup-content__heading span {
        font-size: 1.4rem
    }
}

.popup-content__flex {
    padding: 44px 48px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:1200px) {
    .popup-content__flex {
        padding: 30px 20px
    }
}

@media screen and (max-width:834px) {
    .popup-content__flex {
        padding: 20px 15px
    }
}

.popup-content__flex-img {
    width: 363px;
    border-radius: 8px
}

@media screen and (max-width:1680px) {
    .popup-content__flex-img {
        width: 250px
    }
}

@media screen and (max-width:1200px) {
    .popup-content__flex-img {
        width: 180px
    }
}

@media screen and (max-width:834px) {
    .popup-content__flex-img {
        width: 30%
    }
}

@media screen and (max-width:640px) {
    .popup-content__flex-img {
        width: 100%
    }
}

.popup-content__flex-img img {
    width: 100%
}

.popup-content__flex-ct {
    width: calc(100% - 363px);
    padding-left: 63px
}

@media screen and (max-width:1680px) {
    .popup-content__flex-ct {
        width: calc(100% - 250px);
        padding-left: 35px
    }
}

@media screen and (max-width:1200px) {
    .popup-content__flex-ct {
        width: calc(100% - 180px);
        padding-left: 20px
    }
}

@media screen and (max-width:834px) {
    .popup-content__flex-ct {
        width: 70%;
        padding-left: 15px
    }
}

@media screen and (max-width:640px) {
    .popup-content__flex-ct {
        width: 100%;
        padding-left: 0
    }
}

.popup-content__flex-ct dl {
    font-family: Zen Kaku Gothic New, sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width:1200px) {
    .popup-content__flex-ct dl {
        font-size: 2rem
    }
}

@media screen and (max-width:990px) {
    .popup-content__flex-ct dl {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        font-size: 1.8rem
    }
}

.popup-content__flex-ct dl dt {
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    width: 200px;
    padding: 12px;
    color: #fff;
    text-align: center
}

@media screen and (max-width:1200px) {
    .popup-content__flex-ct dl dt {
        width: 120px;
        padding: 10px
    }
}

@media screen and (max-width:834px) {
    .popup-content__flex-ct dl dt {
        padding: 5px;
        width: 100%
    }
}

.popup-content__flex-ct dl dd {
    padding: 5px 10px;
    min-height: 35px;
    width: calc(100% - 200px);
    border: 1px solid #ccc;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px
}

@media screen and (max-width:1200px) {
    .popup-content__flex-ct dl dd {
        width: calc(100% - 120px)
    }
}

@media screen and (max-width:834px) {
    .popup-content__flex-ct dl dd {
        width: 100%
    }
}

.row-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px
}

.row-card--03 {
    grid-template-columns: 1fr 1fr 1fr
}

@media screen and (min-width:835px) {
    .row-card--03 dl dt {
        width: 104px;
        padding-left: 5px;
        padding-right: 5px
    }

    .row-card--03 dl dd {
        width: calc(100% - 104px)
    }
}

.row-card--text {
    grid-template-columns: 1fr
}

.row-card--text dl dd {
    font-size: 1.6rem;
    text-align: left
}

.row-card--01 {
    grid-template-columns: 1fr
}

.row-card--01 dl dd {
    font-size: 2rem;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 25px
}

@media screen and (max-width:834px) {
    .row-card--01 dl dd {
        font-size: 1.8rem;
        padding-left: 10px
    }
}

.row-card .card-label {
    min-width: 163px;
    height: 32px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    background: linear-gradient(100.8deg, #d6387e -11.35%, #a170c2 32.43%, #442d92 83.83%, #63c5c7 120.63%), #d9d9d9;
    border-radius: 4px;
    color: #fff;
    font-size: 1.6rem
}

@media screen and (max-width:834px) {
    .row-card .card-label {
        font-size: 1.4rem;
        min-width: 90px
    }
}

@media screen and (max-width:834px) {
    #page-buy .mv-page {
        padding-top: 52px
    }

    #page-buy .flex-box .c-ttl__02 {
        margin-bottom: 10px
    }

    #page-buy .content-top:after {
        top: 128px
    }

    #page-buy .content-top--page {
        padding: 21px 0 44px
    }
}

.buy-map {
    margin: 0 -21px 69px
}

@media screen and (max-width:1680px) {
    .buy-map {
        margin: 0 0 50px
    }
}

.buy-map__img {
    overflow: hidden;
    border-radius: 16px;
    margin-bottom: 63px
}

@media screen and (max-width:834px) {
    .buy-map__img {
        margin-bottom: 34px;
        border-radius: 4px
    }
}

.buy-map__img img {
    width: 100%
}

.buy-map__list {
    border-radius: 8px;
    background: #fff;
    padding: 20px 48px;
    box-shadow: 0 0 12px rgba(85, 57, 155, .25);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0 97px
}

@media screen and (max-width:834px) {
    .buy-map__list {
        padding: 16px 23px 6px
    }
}

@media screen and (max-width:834px) {
    .buy-map__list-item {
        width: 100%
    }
}

.buy-map__list-item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.buy-map__list-item p {
    font-weight: 300;
    color: #000;
    font-size: 2rem
}

@media screen and (max-width:834px) {
    .buy-map__list-item p {
        font-size: 1.4rem
    }
}

.buy-map__list-item img {
    width: 64px;
    margin-left: 13px
}

@media screen and (max-width:834px) {
    .buy-map__list-item img {
        width: 40px
    }
}

.sec-buy {
    padding: 70px 0 0
}

@media screen and (max-width:834px) {
    .sec-buy {
        padding: 44px 0 0
    }
}

.sec-buy .c-ttl__02 {
    margin-bottom: 65px
}

@media screen and (max-width:834px) {
    .sec-buy .c-ttl__02 {
        margin-bottom: 32px
    }
}

.buy-list {
    margin: 0 -15px;
    gap: 21px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:1680px) {
    .buy-list {
        margin: 0 -10px
    }
}

@media screen and (max-width:834px) {
    .buy-list {
        margin: 0;
        gap: 32px 0
    }
}

.buy-list__item {
    width: 50%;
    padding: 0 15px
}

@media screen and (max-width:1680px) {
    .buy-list__item {
        padding: 0 10px
    }
}

@media screen and (max-width:834px) {
    .buy-list__item {
        width: 100%;
        padding: 0
    }
}

.buy-list__block {
    box-shadow: 0 0 12px rgba(85, 57, 155, .25);
    background: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #000;
    font-weight: 700;
    font-family: Zen Kaku Gothic New, sans-serif;
    padding: 25px 13px 21px 34px
}

@media screen and (max-width:1680px) {
    .buy-list__block {
        padding: 25px 10px 21px
    }
}

@media screen and (max-width:834px) {
    .buy-list__block {
        padding: 31px 17px 35px
    }
}

.buy-list__ct {
    width: 55.5%;
    padding-right: 10px
}

@media screen and (max-width:834px) {
    .buy-list__ct {
        padding-right: 0;
        width: 100%;
        margin-bottom: 20px
    }
}

.buy-list__ct p {
    font-size: 1.4rem
}

.buy-list__ct p,
.buy-list__time {
    font-weight: 700;
    font-family: Zen Kaku Gothic New, sans-serif
}

.buy-list__time {
    display: block;
    margin-bottom: 6px;
    font-size: 2rem
}

@media screen and (max-width:1680px) {
    .buy-list__time {
        font-size: 1.8rem
    }
}

@media screen and (max-width:834px) {
    .buy-list__time {
        font-size: 2rem
    }
}

.buy-list__ttl {
    line-height: 1.4;
    font-weight: 700;
    font-family: Zen Kaku Gothic New, sans-serif;
    margin-bottom: 16px;
    font-size: 2.8rem
}

@media screen and (max-width:1680px) {
    .buy-list__ttl {
        font-size: 2.4rem
    }
}

@media screen and (max-width:834px) {
    .buy-list__ttl {
        font-size: 2rem
    }
}

.buy-list__img {
    width: 44.5%;
    border-radius: 8px;
    position: relative;
    overflow: hidden
}

.buy-list__img:before {
    display: block;
    content: "";
    padding-top: 53.7593984962%
}

.buy-list__img>:first-child,
.buy-list__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (max-width:834px) {
    .buy-list__img {
        width: 100%;
        border-radius: 9px
    }
}

#page-news .content-top {
    padding-bottom: 66px
}

@media screen and (max-width:834px) {
    #page-news .content-top {
        padding-bottom: 45px
    }
}

.sec-news-page {
    padding: 38px 0;
    position: relative;
    z-index: 10
}

@media screen and (max-width:834px) {
    .sec-news-page {
        padding: 14px 0
    }
}

.sec-news-page .news-link,
.sec-news-page .news-tab {
    margin-bottom: 88px
}

@media screen and (max-width:834px) {

    .sec-news-page .news-link,
    .sec-news-page .news-tab {
        margin-bottom: 40px
    }
}

.sec-news-page .news-link:after,
.sec-news-page .news-link:before,
.sec-news-page .news-tab:after,
.sec-news-page .news-tab:before {
    display: none
}

.sec-news-page .news-list {
    padding-top: 56px;
    margin-bottom: 56px
}

@media screen and (max-width:834px) {
    .sec-news-page .news-list {
        padding-top: 35px;
        margin-bottom: 45px
    }
}

.sec-news-page .inner {
    max-width: 1402px
}

.fv-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    /* 必要に応じて 21/9 などへ */
    overflow: hidden;
}

.fv-video>video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 余白なくフィット。全体表示なら contain */
}


/*# sourceMappingURL=maps/styles.css.map */