@charset "shift_jis";

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');

/*----------------------------------------------------------
COMMON
----------------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
.win body,
.mac body {
    box-sizing: border-box;
    color: #000;
    font-family: "Ÿà–¾’©", YuMincho, "ƒqƒ‰ƒMƒm–¾’© ProN W3", "Hiragino Mincho ProN", "HG–¾’©E", "‚l‚r ‚o–¾’©", "‚l‚r –¾’©", "Noto Serif JP", serif;
    font-weight: 400;
}

img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border: none;
    width: 100%;
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    margin: 0;
    padding: 0;
    outline: none;
}

#container {
    position: relative;
    margin: 0 auto;
    text-align: left;
    max-width: initial;
    min-width: initial;
    width: 100%;
}

#container.single-clm #headSec,
.footSec {
    display: none;
}

.pc_only {
    display: block;
}

.sp_only {
    display: none;
}

section.footer {
    background: url("../img/footer_bg.png") center center no-repeat;
    background-size: cover;
    padding: 15px;
    width: 100%;
}

.corp_logo {
    margin: auto;
    max-width: 150px;
}

.survey_button {
    display: block;
    margin: 0 auto 72px;
    max-width: 600px;
}

@media screen and (max-width: 1024px) {
    .survey_button {
        margin: 0 auto 9.4vw;
        width: 42vw;
    }
}

@media screen and (max-width: 768px) {
    .pc_only {
        display: none;
    }

    .sp_only {
        display: block;
    }
}

@media (max-width: 568px) {
    .corp_logo {
        width: calc(100vw / 37.5 * 10);
    }

    .survey_button {
        width: 52vw;
    }
}

/* ‰º‚©‚çƒtƒF[ƒhƒCƒ“ */
.animation_fadein_bottom,
.animation_fadein_bottom_late {
    opacity: 0;
    animation-name: fadein_bottom;
    animation-duration: 1.5s;
    animation-delay: .3s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

.animation_fadein_bottom_late {
    animation-delay: .6s;
}

@keyframes fadein_bottom {
    0% {
       opacity: 0;
       transform: translateY(20px);
    }
    100% {
       opacity: 1;
       transform: translateY(0);
    }
}


/*----------------------------------------------------------
ˆ¥ŽAƒy[ƒW
----------------------------------------------------------*/
.greeting_cnt {
    padding: 40px 0 0;
}

.greeting_cnt:before {
    content: "";
    background: url("../img/greeting_bg.jpg") center center no-repeat;
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: -1;
}

.message_cnt {
    background: url("../img/message_bg.jpg") center center no-repeat;
    background-size: cover;
    box-shadow: 3px 3px 6px rgba(0,0,0,0.32);
    margin: 0 auto 40px;
    padding: 56px;
    position: relative;
    width: 85%;
    max-width: 1100px;
}

.message_cnt h1 {
    margin: 0 auto 40px;
    max-width: 384px;
}

.message_cnt p {
    font-size: 18px;
    line-height: 36px;
    margin: 0 auto 32px;
    text-align: center;
    width: 600px;
}

.message_cnt a {
    display: block;
    margin: auto;
    max-width: 500px;
}

.message_cnt span {
    display: block;
    text-align: right;
}

.audio_button_cnt {
    position: absolute;
    top: 55px;
    right: 20px;
    text-align: center;
}

.audio_button_cnt small {
    display: block;
    font-size: 12px;
}

.audio_on,
.audio_off {
    height: 32px;
    width: 32px;
}

.audio_on {
    background: url("../img/audio_on.svg") center center no-repeat;
    background-size: 100%;
}

.audio_off {
    background: url("../img/audio_off.svg") center center no-repeat;
    background-size: 100%;
}

@media (max-width: 920px) {
    .greeting_cnt {
        padding: 5.2vw 0;
    }

    .message_cnt {
        margin: 0 auto 5.2vw;
        padding: 7.29vw;
    }

    .message_cnt h1 {
        margin: 0 auto 5.2vw;
    }

    .message_cnt p {
        font-size: 17px;
        text-align: justify;
        text-justify: inter-ideograph;
        width: 100%;
    }

    .audio_button_cnt {
        top: 7.29vw;
    }
}

@media (max-width: 750px) {
    .message_cnt h1 {
        margin: 75px auto 5.2vw;
    }

    .audio_button_cnt {
        top: 20px;
    }
}

@media (max-width: 568px) {
    .message_cnt p {
        font-size: calc(100vw / 37.5 * 1.7);
        line-height: 1.8;
        margin: 0 0 5.2vw;
        width: 100%;
    }
}

/* SP c */
@media (orientation: portrait) {
    .greeting_cnt:before {
        background: url("../img/greeting_bg_sp.jpg") center center no-repeat;
        background-size: cover;
    }
}

/* iPad Pro c */
@media (min-width: 1024px) and (orientation: portrait) {
    .greeting_cnt {
        padding: 25% 0 0;
    }
}

/* ‹ŒiPad ‰¡ */
@media (max-width: 1024px) and (orientation: landscape) {
    .greeting_cnt {
        padding: 5.2vw 0;
    }
}


/*----------------------------------------------------------
“ÁÝƒy[ƒW
----------------------------------------------------------*/
/* “ÁÝƒy[ƒWEŒÂ•Êƒy[ƒW”wŒi */
.event_cnt:before,
.individual_cnt:before {
    content: "";
    background: url("../img/main_bg.jpg") center top no-repeat;
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: -1;
}

.event_cnt section {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.event_cnt section.header {
    margin-bottom: 40px;
}

.event_cnt section.header > div {
    width: 50%;
}

.event_cnt section.list_cnt {
    margin: 0 4.17vw;
    max-width: 1760px;
}

.event_cnt section.first_view > div {
    margin-right: 5%;
    margin-bottom: 72px;
    height: auto;
    width: 30%;
    max-width: 512px;
}

.event_cnt section.second_view > div {
    margin-right: 5%;
    margin-bottom: 72px;
    width: 16%;
    max-width: 256px;
}

.event_cnt section.first_view > div:last-child,
.event_cnt section.second_view > div:last-child,
.event_cnt section.second_view > div:nth-child(5n) {
    margin-right: 0;
}

.event_cnt section.second_view:after {
    content: "";
    display: block;
    width: 42%;
}

/* ŠeŽÐ’·Ž‹’®ƒ{ƒ^ƒ“ */
a.rollover:hover img,
a.rollover:hover {
    opacity: 1;
}

.rollover {
    display: inline-block;
    position: relative;
}

.off {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    transition: .4s ease;
}
.on {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.on, .off {
    display: block;
}

.rollover:hover .off {
    opacity: 0;
}

/* ƒXƒNƒ[ƒ‹ƒtƒF[ƒhƒCƒ“ */
.fadein {
    opacity: 0;
    transform : translate(0, 50px);
    transition : all 1500ms;
}

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

@media screen and (max-width: 768px) {
    .event_cnt section.header {
        flex-flow: column;
        margin-bottom: 6.25vw;
    }

    .event_cnt section.header > div {
        width: 100%;
    }

    .event_cnt section.first_view > div,
    .event_cnt section.second_view > div {
        margin-bottom: 9.4vw;
    }

    .event_cnt section.takeden {
        justify-content: center;
    }

    .event_cnt section.takeden > div.movie {
        order: 1;
        margin: 0 0 9.4vw;
        height: calc(88vw / 16 * 9);
        width: 100%;
        max-width: 920px;
    }

    .event_cnt section.takeden > div:nth-child(1) {
        margin: 0 5% 9.4vw 0;
        order: 2;
    }

    .event_cnt section.takeden > div:nth-child(2) {
        margin: 0 0 9.4vw;
        order: 3;
    }
}

@media (max-width: 768px) and (orientation: landscape) {
    .event_cnt section.takeden > div.movie {
        height: 80vh;
        width: calc(80vh / 9 * 16);
    }
}

@media screen and (max-width: 568px) {
    .event_cnt section.first_view > div,
    .event_cnt section.takeden > div:nth-child(1) {
        margin: 0 0 9.4vw;
        text-align: center;
        width: 100%;
    }

    .event_cnt section.second_view > div,
    .event_cnt section.second_view > div:nth-child(5n) {
        margin-right: 6%;
        width: 47%;
    }

    .event_cnt section.second_view > div:last-child,
    .event_cnt section.second_view > div:nth-child(2n) {
        margin-right: 0;
    }
}


/*----------------------------------------------------------
ŒÂ•Êƒy[ƒW
----------------------------------------------------------*/
.individual_cnt {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.wrap {
    display: block;
    flex: 1 0 auto;
}

.individual_cnt .header {
    background: url("../img/individual_header.png") center top no-repeat;
    background-size: cover;
    height: 24px;
    margin-bottom: 32px;
}

.individual_cnt .survey_button {
    margin: 0 auto 24px;
    max-width: 360px;
}

.movie_cnt {
    margin: 0 auto 32px;
    max-width: 1500px;
}

.movie_cnt.komiya {
    margin: 0 auto 48px;
}

.movie_cnt h1 {
    margin: 0 auto 32px;
}

.movie_cnt > div {
    display: flex;
}

.movie_cnt .movie {
    height: calc(57.47vw / 16 * 9);
    max-height: 485px;
    width: 100%;
    max-width: 862px;
}

.movie_cnt.komiya .movie {
    max-height: 450px;
    max-width: 800px;
}

.movie_cnt.komiya strong {
    color: #0288cc;
    display: block;
    font-size: 17px;
    text-align: center;
    text-decoration: underline;
    max-width: 800px;
}

.movie_cnt .profile {
    margin-left: 4.32vw;
    width: 28.64vw;
    max-width: 550px;
}

.movie_cnt .profile img {
    height: calc(57.47vw / 16 * 9);
    width: auto;
    max-height: 485px;
}

.movie_cnt.komiya .profile img {
    max-height: 450px;
}

.note {
    font-size: 16px;
    margin: 0 auto 16px;
    padding: 0 4.17vw;
    text-align: center;
}

@media (max-width: 1550px) {
    .movie_cnt,
    .movie_cnt.komiya {
        margin: 0 4.17vw 3vw;
    }
}

@media (max-width: 823px) {
    .movie_cnt.komiya {
        margin: 0 4.17vw 8vw;
    }

    .note {
        font-size: 12px;
        margin: 0 auto 3.125vw;
        text-align: left;
    }
}

@media (max-width: 768px) {
    .individual_cnt .header {
        height: 3vw;
        margin-bottom: 4.17vw;
    }
    
    .individual_cnt .survey_button {
        margin: 0 auto 3.125vw;
    }

    .movie_cnt h1 {
        margin: 0 auto 4.17vw;
    }
}

@media (max-width: 568px) {
    .movie_cnt > div {
        flex-flow: column;
    }

    .movie_cnt .movie {
        order: 2;
        height: calc(88vw / 16 * 9);
        width: 100%;
    }
    
    .movie_cnt .profile {
        order: 1;
        margin: 0 auto 4.17vw;
        width: 50%;
    }

    .movie_cnt .profile img {
        height: auto;
        width: 100%;
    }
}

@media (max-width: 549px) {
    .movie_cnt.komiya {
        margin: 0 4.17vw 18vw;
    }
}

@media (max-width: 768px) and (orientation: landscape) {
    .movie_cnt .movie {
        margin: auto;
        height: 80vh;
        width: calc(80vh / 9 * 16);
    }
}
