@charset "UTF-8";

/* animation */
.fade-in-bottom {
    opacity: 0;
}

.fade-in-bottom.scroll-anime-start {
    animation: fade-in-bottom 0.5s 0.5s forwards;
}

.gradually-in-bottom {
    opacity: 0;
    clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
    transition: all 1.5s 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gradually-in-bottom.scroll-anime-start {
    opacity: 1;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

@keyframes fade-in-bottom {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* etc */
.btn-effects {
    transition: background-color 0.5s, color 0.5s;
}

.btn-effects:hover {
    color: #1F549B;
    background-color: #fff;
}

.btn-effects a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.btn-effects a:hover {
    opacity: 1;
}

.acc-btn {
    cursor: pointer;
}

.acc-cnt {
    display: none;
}

/* side-menu */
.side-menu {
    position: fixed;
    top: 0;
    right: 0;
    background-image: url(../img/sp/side_menu_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: calc(528vw / 750 * 100);
    height: 100vh;
    z-index: 10;
}

.side-menu .inner {
    width: calc(420vw / 750 * 100);
    padding-top: calc(190vw / 750 * 100);
}

.side-menu-close-btn {
    position: absolute;
    top: calc(50vw / 750 * 100);
    right: calc(50vw / 750 * 100);
    width: calc(50vw / 750 * 100);
    z-index: 1;
}

.side-menu-link-nav-item {
    font-size: calc(32vw / 750 * 100);
}

.side-menu-link-nav-item+.side-menu-link-nav-item {
    margin-top: calc(40vw / 750 * 100);
}

.side-menu-sns-list {
    display: flex;
    margin-top: calc(100vw / 750 * 100);
}

.side-menu-sns-item {
    width: calc(50vw / 750 * 100);
}

.side-menu-sns-item+.side-menu-sns-item {
    margin-left: calc(30vw / 750 * 100);
}

/* about */
.about {
    background-image: url(../img/pc/about_bg.jpg);
    background-size: cover;
    background-position: center center;
    width: 100%;
    padding: min(calc(140vw / 1200 * 100), 140px) 0;
    text-align: center;
}

.about-head {
    display: inline-block;
    margin: 0 auto min(calc(40vw / 1200 * 100), 40px);
    font-size: min(calc(28vw / 1200 * 100), 28px);
    color: #E6C73E;
    padding: 0 min(calc(30vw / 1200 * 100), 30px);
    border-left: min(calc(1vw / 1200 * 100), 1px) solid #E6C73E;
    border-right: min(calc(1vw / 1200 * 100), 1px) solid #E6C73E;
    line-height: 1;
}

.about-txt {
    font-size: min(calc(18vw / 1200 * 100), 18px);
    margin-top: min(calc(20vw / 1200 * 100), 20px);
    line-height: 1.9;
}

.about-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(calc(343vw / 1200 * 100), 343px);
    height: min(calc(48vw / 1200 * 100), 48px);
    margin: min(calc(50vw / 1200 * 100), 50px) auto 0;
    font-size: min(calc(16vw / 1200 * 100), 16px);
    border: min(calc(1vw / 1200 * 100), 1px) solid #fff;
}

.about-btn+.about-btn {
    margin-top: min(calc(20vw / 1200 * 100), 20px);
}

@media (max-width: 750px) {
    .about {
        background-image: url(../img/sp/about_bg.jpg);
        padding: calc(135vw / 750 * 100) 0;
    }

    .about .inner {
        width: 100%;
    }

    .about-head {
        margin: 0 auto calc(40vw / 750 * 100);
        font-size: calc(48vw / 750 * 100);
        padding: 0 calc(40vw / 750 * 100);
        border-left: calc(2vw / 750 * 100) solid #E6C73E;
        border-right: calc(2vw / 750 * 100) solid #E6C73E;
    }

    .about-txt {
        font-size: calc(34vw / 750 * 100);
        margin-top: calc(45vw / 750 * 100);
        line-height: 1.5;
    }

    .about-btn {
        margin: calc(90vw / 750 * 100) auto 0;
        padding: calc(5vw / 750 * 100) calc(33vw / 750 * 100);
        font-size: calc(31vw / 750 * 100);
        border: calc(1vw / 750 * 100) solid #fff;
    }

    .about-btn {
        width: calc(546vw / 750 * 100);
        height: calc(66vw / 750 * 100);
        margin: calc(90vw / 750 * 100) auto 0;
        padding: 0;
        font-size: calc(28vw / 750 * 100);
        border: calc(1vw / 750 * 100) solid #fff;
    }

    .about-btn+.about-btn {
        margin-top: calc(20vw / 750 * 100);
    }
}

/* lineup */
.lineup {
    padding: min(calc(150vw / 1200 * 100), 150px) 0 min(calc(175vw / 1200 * 100), 175px);
}

.lineup-box {
    font-family: "Noto Serif JP", serif;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: min(calc(483vw / 1200 * 100), 483px);
}

.lineup-box+.lineup-box {
    margin-top: min(calc(20vw / 1200 * 100), 20px);
}

.lineup-box-ukiyo10 {
    background-image: url(../img/pc/lineup_box_ukiyo10_bg.jpg);
}

.lineup-box-ukiyo15 {
    background-image: url(../img/pc/lineup_box_ukiyo15_bg.jpg);
}

.lineup-box-ukiyo27 {
    background-image: url(../img/pc/lineup_box_ukiyo27_bg.jpg);
}

.lineup-box-ukiyo_premium {
    background-image: url(../img/pc/lineup_box_ukiyo_premium_bg.jpg);
}

.lineup-box-ukiyo_machimusune {
    background-image: url(../img/pc/lineup_box_ukiyo_machimusune_bg.jpg);
}

.lineup-box .inner {
    display: flex;
    flex-direction: row-reverse;
    padding: min(calc(60vw / 1200 * 100), 60px) min(calc(40vw / 1200 * 100), 40px) 0 0;
    height: 100%;
}

.lineup-box-head-area {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lineup-box-head {
    display: flex;
    align-items: center;
    font-size: min(calc(35vw / 1200 * 100), 35px);
    color: #E6C73E;
}

.lineup-box:lang(auto) .lineup-box-head,
.lineup-box:lang(ja) .lineup-box-head,
.lineup-box:lang(zh-CN) .lineup-box-head {
    display: none;
}

.lineup-box-head-ja {
    display: none;
}

.lineup-box:lang(auto) .lineup-box-head-ja,
.lineup-box:lang(ja) .lineup-box-head-ja,
.lineup-box:lang(zh-CN) .lineup-box-head-ja {
    display: block;
    width: min(calc(33vw / 1200 * 100), 33px);
}

.lineup-box-head-notes {
    font-family: "Zen Old Mincho", sans-serif;
    margin-top: min(calc(20vw / 1200 * 100), 20px);
    font-size: min(calc(18vw / 1200 * 100), 18px);
}

.lineup-box-head-notes.accent {
    color: #E6C73E;
}

.lineup-box-txt {
    margin-right: min(calc(60vw / 1200 * 100), 60px);
    font-size: min(calc(16vw / 1200 * 100), 16px);
    line-height: 2;
}

.lineup-box-img {
    position: absolute;
    top: 0;
    left: min(calc(131vw / 1200 * 100), 131px);
    width: min(calc(145vw / 1200 * 100), 145px);
}

.lineup-img-area {
    display: flex;
    width: min(calc(1000vw / 1200 * 100), 1000px);
    margin: min(calc(150vw / 1200 * 100), 150px) auto 0;
}

.lineup-img {
    width: min(calc(500vw / 1200 * 100), 500px);
}

@media (max-width: 750px) {
    .lineup {
        padding: calc(160vw / 750 * 100) 0 calc(130vw / 750 * 100);
    }

    .lineup-box {
        height: calc(830vw / 750 * 100);
    }

    .lineup-box+.lineup-box {
        margin-top: calc(40vw / 750 * 100);
    }

    .lineup-box-ukiyo10 {
        background-image: url(../img/sp/lineup_box_ukiyo10_bg.jpg);
    }

    .lineup-box-ukiyo15 {
        background-image: url(../img/sp/lineup_box_ukiyo15_bg.jpg);
    }

    .lineup-box-ukiyo27 {
        background-image: url(../img/sp/lineup_box_ukiyo27_bg.jpg);
    }

    .lineup-box-ukiyo_premium {
        background-image: url(../img/sp/lineup_box_ukiyo_premium_bg.jpg);
    }

    .lineup-box-ukiyo_machimusune {
        background-image: url(../img/sp/lineup_box_ukiyo_machimusune_bg.jpg);
    }

    .lineup-box .inner {
        width: calc(700vw / 750 * 100);
        padding: calc(60vw / 750 * 100) 0 0;
    }

    .lineup-box-head {
        font-size: calc(52vw / 750 * 100);
    }

    .lineup-box:lang(auto) .lineup-box-head-ja,
    .lineup-box:lang(ja) .lineup-box-head-ja,
    .lineup-box:lang(zh-CN) .lineup-box-head-ja {
        width: calc(56vw / 750 * 100);
    }

    .lineup-box-head-notes {
        margin-top: calc(20vw / 750 * 100);
        font-size: calc(30vw / 750 * 100);
    }

    .lineup-box-txt {
        margin-right: calc(30vw / 750 * 100);
        font-size: calc(28vw / 750 * 100);
        line-height: 1.7;
    }

    .lineup-box-txt:lang(en) {
        margin-right: calc(-10vw / 750 * 100);
    }

    .lineup-box-img {
        left: calc(15vw / 750 * 100);
        width: calc(207vw / 750 * 100);
    }

    .lineup-img-area {
        display: block;
        width: calc(600vw / 750 * 100);
        margin: calc(140vw / 750 * 100) auto 0;
    }

    .lineup-img {
        width: 100%;
    }
}

/* explanation */
.explanation .inner {
    background-image: url(../img/pc/explanation_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: min(calc(85vw / 1200 * 100), 85px) 0 min(calc(70vw / 1200 * 100), 70px);
    box-sizing: border-box;
}

.explanation-box {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.explanation-box:nth-child(1)::before {
    content: "";
    position: absolute;
    top: max(calc(-47vw / 1200 * 100), -47px);
    left: min(calc(5vw / 1200 * 100), 5px);
    background-image: url(../img/pc/explanation_head_bg.svg);
    background-size: cover;
    background-repeat: no-repeat;
    width: min(calc(480vw / 1200 * 100), 480px);
    height: min(calc(68vw / 1200 * 100), 68px);
}

.explanation-box:nth-child(even) {
    flex-direction: row-reverse;
}

.explanation-box+.explanation-box {
    margin-top: min(calc(65vw / 1200 * 100), 65px);
}

.explanation-box-txt-area {
    width: min(calc(660vw / 1200 * 100), 660px);
    padding: 0 min(calc(50vw / 1200 * 100), 50px);
}

.explanation-box-head {
    position: relative;
    font-size: min(calc(31vw / 1200 * 100), 31px);
    margin-bottom: min(calc(30vw / 1200 * 100), 30px);
    line-height: 1.3;
    z-index: 1;
}

.explanation-box-txt {
    font-size: min(calc(19vw / 1200 * 100), 19px);
    margin-top: min(calc(20vw / 1200 * 100), 20px);
    line-height: 1.5;
}

.explanation-box-img {
    width: min(calc(341vw / 1200 * 100), 341px);
}

@media (max-width: 750px) {
    .explanation {
        background-image: url(../img/sp/explanation_bg.jpg);
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }

    .explanation .inner {
        background: none;
        padding: calc(145vw / 750 * 100) 0 calc(160vw / 750 * 100);
    }

    .explanation-box {
        display: block;
    }

    .explanation-box:nth-child(1)::before {
        top: calc(-47vw / 750 * 100);
        left: calc(5vw / 750 * 100);
        width: calc(480vw / 750 * 100);
        height: calc(68vw / 750 * 100);
    }

    .explanation-box+.explanation-box {
        margin-top: calc(125vw / 750 * 100);
    }

    .explanation-box-txt-area {
        width: 100%;
        padding: 0;
    }

    .explanation-box-head {
        font-size: calc(52vw / 750 * 100);
        margin-bottom: calc(80vw / 750 * 100);
    }

    .explanation-box-txt {
        font-size: calc(38vw / 750 * 100);
        margin-top: calc(40vw / 750 * 100);
        line-height: 1.4;
    }

    .explanation-box-img {
        width: 100%;
        margin-top: calc(80vw / 750 * 100);
    }
}

/* company */
.company .inner {
    background-color: #18232C;
    padding: min(calc(85vw / 1200 * 100), 85px) 0 min(calc(90vw / 1200 * 100), 90px);
    text-align: center;
}

.company-head {
    font-size: min(calc(30vw / 1200 * 100), 30px);
    margin-bottom: min(calc(40vw / 1200 * 100), 40px);
}

.company-txt {
    margin-top: min(calc(30vw / 1200 * 100), 30px);
    font-size: min(calc(19vw / 1200 * 100), 19px);
    line-height: 1.4;
}

.company-box-list {
    display: flex;
    justify-content: center;
    margin-top: min(calc(70vw / 1200 * 100), 70px);
}

.company-box {
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: min(calc(300vw / 1200 * 100), 300px);
    height: min(calc(381vw / 1200 * 100), 381px);
}

.company-box:nth-child(1) {
    background-image: url(../img/pc/company_list_bg_01.jpg);
    transition-delay: 1s;
}

.company-box:nth-child(2) {
    background-image: url(../img/pc/company_list_bg_02.jpg);
    transition-delay: 1.5s;
}

.company-box:nth-child(3) {
    background-image: url(../img/pc/company_list_bg_03.jpg);
    transition-delay: 2s;
}

.company-box-head {
    font-size: min(calc(25vw / 1200 * 100), 25px);
    padding: min(calc(10vw / 1200 * 100), 10px) min(calc(0vw / 1200 * 100), 0px);
    border-left: min(calc(1vw / 1200 * 100), 1px) solid #fff;
    border-right: min(calc(1vw / 1200 * 100), 1px) solid #fff;
}

@media (max-width: 750px) {
    .company {
        background-color: #18232C;
    }

    .company .inner {
        width: 100%;
        padding: calc(150vw / 750 * 100) 0 calc(160vw / 750 * 100);
    }

    .company-head {
        font-size: calc(53vw / 750 * 100);
        margin-bottom: calc(70vw / 750 * 100);
    }

    .company-txt {
        margin-top: calc(50vw / 750 * 100);
        font-size: calc(38vw / 750 * 100);
    }

    .company-box-list {
        margin-top: calc(95vw / 750 * 100);
    }

    .company-box {
        width: calc(300vw / 750 * 100);
        height: calc(381vw / 750 * 100);
    }

    .company-box-head {
        font-size: calc(31vw / 750 * 100);
        padding: calc(15vw / 750 * 100) 0;
        border-left: calc(1vw / 750 * 100) solid #fff;
        border-right: calc(1vw / 750 * 100) solid #fff;
    }
}

/* movie */
.movie {
    padding: min(calc(150vw / 1200 * 100), 150px) 0;
}

.movie-box {
    width: min(calc(800vw / 1200 * 100), 800px);
    margin: 0 auto;
}

@media (max-width: 750px) {
    .movie {
        padding: calc(160vw / 750 * 100) 0 calc(100vw / 750 * 100);
    }

    .movie .inner {
        width: calc(700vw / 750 * 100);
    }

    .movie-box {
        width: calc(700vw / 750 * 100);
        margin: 0 auto;
    }
}

/* howto */
.howto {
    padding: min(calc(100vw / 1200 * 100), 100px) 0;
}

.howto .inner {
    width: min(calc(800vw / 1200 * 100), 800px);
    padding: min(calc(80vw / 1200 * 100), 80px) 0 min(calc(65vw / 1200 * 100), 65px);
    border-top: min(calc(1vw / 1200 * 100), 1px) solid #fff;
    border-bottom: min(calc(1vw / 1200 * 100), 1px) solid #fff;
}

.howto-head {
    position: absolute;
    top: max(calc(-26vw / 1200 * 100), -26px);
    left: 0;
    right: 0;
    background-color: #1F1F1F;
    width: min(calc(410vw / 1200 * 100), 410px);
    margin: 0 auto;
    font-size: min(calc(31vw / 1200 * 100), 31px);
    text-align: center;
}

.howto-head:lang(en) {
    width: min(calc(500vw / 1200 * 100), 500px);
}

.howto-box-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: min(calc(715vw / 1200 * 100), 715px);
    margin: 0 auto;
}

.howto-box {
    width: min(calc(300vw / 1200 * 100), 300px);
    text-align: center;
}

.howto-box:nth-child(3) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: min(calc(60vw / 1200 * 100), 60px);
    text-align: left;
}

.howto-box-img {
    width: min(calc(300vw / 1200 * 100), 300px);
}

.howto-box-txt-area {
    margin-top: min(calc(20vw / 1200 * 100), 20px);
}

.howto-box:nth-child(3) .howto-box-txt-area {
    width: min(calc(375vw / 1200 * 100), 375px);
    margin-top: 0;
}

.howto-box-head {
    font-size: min(calc(28vw / 1200 * 100), 28px);
    color: #E6C73E;
}

.howto-box-txt {
    margin-top: min(calc(10vw / 1200 * 100), 10px);
    font-size: min(calc(18vw / 1200 * 100), 18px);
    line-height: 1.4;
}

@media (max-width: 750px) {
    .howto {
        padding: calc(100vw / 750 * 100) 0;
    }

    .howto .inner {
        width: calc(700vw / 750 * 100);
        padding: calc(80vw / 750 * 100) 0 calc(100vw / 750 * 100);
        border-top: calc(2vw / 750 * 100) solid #fff;
        border-bottom: calc(2vw / 750 * 100) solid #fff;
    }

    .howto-head {
        top: calc(-40vw / 750 * 100);
        width: calc(480vw / 750 * 100);
        font-size: calc(52vw / 750 * 100);
        line-height: 1.4;
    }

    .howto-head:lang(en) {
        width: calc(650vw / 750 * 100);
    }

    .howto-box-list {
        display: block;
        width: 100%;
        margin: calc(100vw / 750 * 100) auto 0;
    }

    .howto-box {
        width: 100%;
    }

    .howto-box+.howto-box {
        margin-top: calc(115vw / 750 * 100);
    }

    .howto-box:nth-child(3) {
        display: block;
        margin-top: calc(115vw / 750 * 100);
        text-align: center;
    }

    .howto-box-img {
        width: calc(600vw / 750 * 100);
        margin: 0 auto;
    }

    .howto-box-txt-area {
        margin-top: calc(35vw / 750 * 100);
    }

    .howto-box:nth-child(3) .howto-box-txt-area {
        width: 100%;
        margin-top: calc(35vw / 750 * 100);
    }

    .howto-box-head {
        font-size: calc(55vw / 750 * 100);
    }

    .howto-box-txt {
        margin-top: calc(25vw / 750 * 100);
        font-size: calc(36vw / 750 * 100);
    }
}

/* info */
.info .inner {
    background-color: #2F2F2F;
    width: min(calc(800vw / 1200 * 100), 800px);
    padding: min(calc(65vw / 1200 * 100), 65px) 0 min(calc(80vw / 1200 * 100), 80px);
}

.info-head {
    font-size: min(calc(31vw / 1200 * 100), 31px);
    text-align: center;
}

.info-details {
    display: flex;
    flex-wrap: wrap;
    width: min(calc(670vw / 1200 * 100), 670px);
    margin: min(calc(30vw / 1200 * 100), 30px) auto 0;
    font-size: min(calc(19vw / 1200 * 100), 19px);
}

.info-details+.info-details {
    padding-top: min(calc(30vw / 1200 * 100), 30px);
    border-top: 1px solid #fff;
}

.info-details-ttl {
    width: min(calc(80vw / 1200 * 100), 80px);
}

.info-details-txt {
    width: min(calc(550vw / 1200 * 100), 550px);
    margin-left: min(calc(40vw / 1200 * 100), 40px);
    margin-bottom: min(calc(7vw / 1200 * 100), 7px);
}

.info-shop {
    width: min(calc(670vw / 1200 * 100), 670px);
    margin: min(calc(70vw / 1200 * 100), 70px) auto 0;
    padding: min(calc(50vw / 1200 * 100), 50px) min(calc(40vw / 1200 * 100), 40px);
    border: 1px solid #fff;
}

.info-shop-head {
    font-size: min(calc(24vw / 1200 * 100), 24px);
    padding: min(calc(2vw / 1200 * 100), 2px) min(calc(15vw / 1200 * 100), 15px);
    border-left: min(calc(3vw / 1200 * 100), 3px) solid #fff;
    line-height: 1;
}

.info-shop-box-list {
    margin-top: min(calc(30vw / 1200 * 100), 30px);
}

.info-shop-box {
    display: flex;
    justify-content: space-between;
    font-size: min(calc(20vw / 1200 * 100), 20px);
    line-height: 1.3;
}

.info-shop-box+.info-shop-box {
    margin-top: min(calc(10vw / 1200 * 100), 10px);
}

.info-shop-box-name {
    width: min(calc(360vw / 1200 * 100), 360px);
}

.info-shop-box-item {
    width: min(calc(230vw / 1200 * 100), 230px);
}

@media (max-width: 750px) {
    .info {
        padding: 60px 0;
    }

    .info .inner {
        width: 100%;
        padding: calc(130vw / 750 * 100) 0 calc(110vw / 750 * 100);
    }

    .info-head {
        font-size: calc(52vw / 750 * 100);
    }

    .info-details {
        width: calc(670vw / 750 * 100);
        margin: calc(60vw / 750 * 100) auto 0;
        font-size: calc(32vw / 750 * 100);
    }

    .info-details+.info-details {
        padding-top: calc(60vw / 750 * 100);
    }

    .info-details-ttl {
        width: calc(140vw / 750 * 100);
    }

    .info-details-txt {
        width: calc(470vw / 750 * 100);
        margin-left: calc(60vw / 750 * 100);
        margin-bottom: calc(25vw / 750 * 100);
    }

    .info-shop {
        width: calc(660vw / 750 * 100);
        margin: calc(30vw / 750 * 100) auto 0;
        padding: calc(90vw / 750 * 100) calc(40vw / 750 * 100);
        border: calc(1vw / 750 * 100) solid #fff;
    }

    .info-shop-head {
        font-size: calc(37vw / 750 * 100);
        padding: calc(2vw / 750 * 100) 0 calc(2vw / 750 * 100) calc(15vw / 750 * 100);
        border-left: calc(3vw / 750 * 100) solid #fff;
    }

    .info-shop-box-list {
        margin-top: calc(65vw / 750 * 100);
    }

    .info-shop-box {
        display: block;
        font-size: calc(35vw / 750 * 100);
    }

    .info-shop-box+.info-shop-box {
        margin-top: calc(40vw / 750 * 100);
    }

    .info-shop-box-name {
        width: 100%;
        padding-left: 1em;
        text-indent: -1em;
    }

    .info-shop-box-item {
        width: 100%;
        padding-left: 1em;
    }
}

/* contact */
.contact {
    padding-top: min(calc(100vw / 1200 * 100), 100px);
}

.contact .inner {
    background-color: #27323D;
    width: min(calc(800vw / 1200 * 100), 800px);
    padding: min(calc(40vw / 1200 * 100), 40px) 0;
    text-align: center;
}

.contact-head {
    font-size: min(calc(22vw / 1200 * 100), 22px);
}

.contact-btn {
    display: inline-block;
    margin: min(calc(20vw / 1200 * 100), 20px) auto 0;
    padding: min(calc(8vw / 1200 * 100), 8px) min(calc(50vw / 1200 * 100), 50px);
    font-size: min(calc(18vw / 1200 * 100), 18px);
    border: min(calc(1vw / 1200 * 100), 1px) solid #fff;
}

@media (max-width: 750px) {
    .contact {
        padding-top: calc(100vw / 750 * 100);
    }

    .contact .inner {
        width: calc(680vw / 750 * 100);
        padding: calc(85vw / 750 * 100) 0;
    }

    .contact-head {
        font-size: calc(40vw / 750 * 100);
        line-height: 1.3;
    }

    .contact-btn {
        margin: calc(40vw / 750 * 100) auto 0;
        padding: calc(13vw / 750 * 100) calc(55vw / 750 * 100);
        font-size: calc(33vw / 750 * 100);
        border: calc(1vw / 750 * 100) solid #fff;
    }
}

/* footer */
.footer {
    background-color: #050505;
    margin-top: min(calc(200vw / 1200 * 100), 200px);
    padding: min(calc(55vw / 1200 * 100), 55px) 0 min(calc(20vw / 1200 * 100), 20px);
    text-align: center;
}

.footer-page-top {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: min(calc(16vw / 1200 * 100), 16px);
}

.footer-page-top::after {
    content: "";
    display: block;
    background-color: #fff;
    width: min(calc(6vw / 1200 * 100), 6px);
    height: min(calc(6vw / 1200 * 100), 6px);
    margin-left: min(calc(10vw / 1200 * 100), 10px);
    border-radius: 50%;
}

.footer-logo {
    width: min(calc(100vw / 1200 * 100), 100px);
    margin: min(calc(90vw / 1200 * 100), 90px) auto 0;
}

.footer-btn {
    display: inline-block;
    margin: min(calc(95vw / 1200 * 100), 95px) auto 0;
    padding: min(calc(2vw / 1200 * 100), 2px) min(calc(15vw / 1200 * 100), 15px);
    font-size: min(calc(16vw / 1200 * 100), 16px);
    border: min(calc(1vw / 1200 * 100), 1px) solid #fff;
}

.footer-btn+.footer-btn {
    margin-left: min(calc(15vw / 1200 * 100), 15px);
}

.footer-link-list {
    display: flex;
    justify-content: center;
    margin-top: min(calc(40vw / 1200 * 100), 40px);
}

.footer-link-item {
    font-size: min(calc(14vw / 1200 * 100), 14px);
}

.footer-link-item+.footer-link-item {
    margin-left: min(calc(40vw / 1200 * 100), 40px);
}

.footer-sns-head {
    margin-top: min(calc(30vw / 1200 * 100), 30px);
    font-size: min(calc(16vw / 1200 * 100), 16px);
}

.footer-sns-list {
    display: flex;
    justify-content: center;
}

.footer-sns-item {
    width: min(calc(20vw / 1200 * 100), 20px);
}

.footer-sns-item+.footer-sns-item {
    margin-left: min(calc(5vw / 1200 * 100), 5px);
}

.footer-txt {
    font-size: min(calc(13vw / 1200 * 100), 13px);
    margin-top: min(calc(25vw / 1200 * 100), 25px);
}

.footer-copyright {
    font-size: min(calc(12vw / 1200 * 100), 12px);
}

@media (max-width: 750px) {
    .footer {
        margin-top: calc(160vw / 750 * 100);
        padding: calc(40vw / 750 * 100) 0 calc(40vw / 750 * 100);
    }

    .footer-page-top {
        font-size: calc(32vw / 750 * 100);
    }

    .footer-page-top::after {
        width: calc(12vw / 750 * 100);
        height: calc(12vw / 750 * 100);
        margin-left: calc(20vw / 750 * 100);
    }

    .footer-logo {
        width: calc(148vw / 750 * 100);
        margin: calc(135vw / 750 * 100) auto 0;
    }

    .footer-btn {
        width: calc(460vw / 750 * 100);
        margin: calc(85vw / 750 * 100) auto 0;
        padding: calc(5vw / 750 * 100) 0;
        font-size: calc(31vw / 750 * 100);
        border: calc(1vw / 750 * 100) solid #fff;
    }

    .footer-btn+.footer-btn {
        margin: calc(30vw / 750 * 100) auto 0;
    }

    .footer-link-list {
        display: block;
        margin-top: calc(75vw / 750 * 100);
    }

    .footer-link-item {
        font-size: calc(30vw / 750 * 100);
    }

    .footer-link-item+.footer-link-item {
        margin: calc(20vw / 750 * 100) auto 0;
    }

    .footer-sns-head {
        margin-top: calc(65vw / 750 * 100);
        font-size: calc(34vw / 750 * 100);
    }

    .footer-sns-item {
        width: calc(40vw / 750 * 100);
    }

    .footer-sns-item+.footer-sns-item {
        margin-left: calc(20vw / 750 * 100);
    }

    .footer-txt {
        font-size: calc(27vw / 750 * 100);
        margin-top: calc(70vw / 750 * 100);
        line-height: 1.4;
    }

    .footer-copyright {
        margin-top: calc(10vw / 750 * 100);
        font-size: calc(24vw / 750 * 100);
    }
}