/* reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* 共通 */
.section_bg {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}
.section_bg>img {
    width: 100%;
    height: 100%;
    opacity: 0.3;
    -o-object-fit: cover;
       object-fit: cover;
}
section {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

img {
    width: 100%;
    height: 100%;
}

.section_sp {
    display: none;
}

.section_box {
    display: grid;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.cta_img {
    display: grid;
}

/* fv */
.sec_fv_box {
    position: relative;
    display: grid;
}
.fv_cta {
    position: absolute;
    width: min(69vw, 690px);
    bottom: min(0.5vw, 5px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.voice_box {
    background-image: url(../img/pc_voice_back.webp);
    background-repeat: no-repeat;
    background-size: cover;
    padding: min(2.7vw, 27px) min(2.2vw, 22px);
}
.voice_movie_box {
    display: flex;
    justify-content: center;
    background-color: #fff;
    padding-top: min(2vw, 20px);
    padding-bottom: min(2vw, 20px);
}
.voice_movie_box>iframe {
    width: min(62.4vw, 624px);
    height: min(34.6vw, 346px);
}

.sec15_cta_box {
    position: relative;
}
.sec15_box_cta {
    position: absolute;
    width: min(69vw, 690px);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}
.sec18_cta_box
,.sec20_cta_box {
    background-color: #fff;
}
.sec18_cta
,.sec20_cta {
    width: min(69vw, 690px);
    margin-left: auto;
    margin-right: auto;
}

footer {
    background-color: #F6F1DA;
}
.footer_link_box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: min(10vw, 100px);
}
.footer_link_box>a {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: min(1.8vw, 18px);
    letter-spacing: 0.05rem;
    color: #333333;
    text-decoration: none;
}
.footer_link_box>a:first-child {
    padding-right: min(2vw, 20px);
    margin-right: min(2vw, 20px);
    border-right: 1px solid #333333;
}


@media screen and (max-width: 750px) {
    .section {
        display: none;
    }
    .section_sp {
        display: block;
    }
    .fv_cta_sp {
        position: absolute;
        width: min(89.34vw, 670px);
        bottom: min(2.67vw, 20px);
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
    }
    .voice_box {
        background-image: url(../img/sp_voice_back1.webp);
        background-repeat: no-repeat;
        background-size: cover;
        padding: min(2.7vw, 27px) min(2.2vw, 22px) 0;
    }
    .voice_box2 {
        background-image: url(../img/sp_voice_back2.webp);
        background-repeat: no-repeat;
        background-size: cover;
        padding: 0 min(2.2vw, 22px) min(2.7vw, 27px);
    }
    .voice_movie_box {
        padding-top: min(2.67vw, 20px);
        padding-bottom: min(4vw, 30px);
    }
    .voice_movie_box>iframe {
        width: min(77.87vw, 584px);
        height: min(43.34vw, 325px);
    }
    .sec24_box {
        position: relative;
    }
    .sec24_box_cta {
        position: absolute;
        width: min(89.34vw, 670px);
        top: min(81.34vw, 610px);
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
    }
    .sec27_cta_box {
        background-color: #fff;
    }
    .sec31_cta_box {
        padding-bottom: min(13.34vw, 100px);
        background-color: #fff;
    }
    .sec27_cta
    ,.sec31_cta {
        width: min(89.34vw, 670px);
        margin-left: auto;
        margin-right: auto;
    }

    .footer_link_box {
        height: min(20vw, 150px);
    }
    .footer_link_box>a {
        font-size: min(3.47vw, 26px);
    }
    .footer_link_box>a:first-child {
        padding-right: min(4vw, 30px);
        margin-right: min(4vw, 30px);
    }
}