@charset "utf-8";

/* wrap */
.wrap {
    overflow: hidden;
}
.ttl_img {
    width: 100%;
    height: auto;
}
*:focus {
    outline: none;
}
.bg_img_ie {
    display: none;
}

/* movie_bg */
.movie_bg {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}
.movie_bg video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
:not(.is_windows) .movie_bg video {
    object-fit: cover;
}
.is_windows .movie_bg video {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* mv */
.mv {
    position: relative;
    z-index: 1;
    width: 100%;
}
.mv_inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.mv_copy_wrap {
    position: absolute;
}
.mv_scroll_wrap {
    position: absolute;
}
.mv_scroll_wrap {
    bottom: 0;
    left: 50%;
}
.mv_scroll_txt {
    text-align: center;
    color: #fff;
}
.mv_scroll_line_wrap {
    position: absolute;
    left: 50%;
    width: 1px;
    overflow: hidden;
}
.mv_scroll_line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
}
.is_animation_ready .mv_scroll_line {
    transform: translateY(-100%);
}
.is_animation_load .mv_scroll_line {
    animation: 3s 1.8s mv_scroll_line_move infinite;
}
.is_animation_ready .logo {
    opacity: 0;
}
.is_animation_load .logo {
    opacity: 1;
    transition: 0.8s 0.2s;
}
.is_animation_ready .mv_copy_wrap {
    opacity: 0;
}
.is_animation_load .mv_copy_wrap {
    opacity: 1;
    transition: 0.8s 1s;
}

@keyframes mv_scroll_line_move {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(100%);
    }
}
@media (min-width: 751px) {
    .mv {
        padding-top: 55.6%;
        background: url(../images/mv.jpg?v=2) no-repeat 50% 0 / cover;
    }
    .mv_copy_wrap {
        top: 19.5%;
        left: 46.9%;
        width: 6.25%;
    }
    .mv_logo_wrap {
        top: 1.5%;
        right: 0.8%;
        width: 9.1%;
    }
    .mv_scroll_wrap {
        width: 1rem;
        margin-left: -0.5rem;
    }
    .mv_scroll_txt {
        font-weight: 700;
        font-size: 0.14rem;
        line-height: 1;
        letter-spacing: 0.1em;
        padding-bottom: 0.95rem;
    }
    .mv_scroll_line_wrap {
        top: 0.3rem;
        height: 1.2rem;
    }
}
@media (max-width: 750px) {
    .mv {
        padding-top: 169.6%;
        background: url(../images/mv_sp.jpg?v=2) no-repeat 50% 0 / cover;
    }
    .mv_copy_wrap {
        top: 11.8%;
        left: 43.8%;
        width: 12%;
    }
    .mv_scroll_wrap {
        width: 12rem;
        margin-left: -6rem;
    }
    .mv_scroll_txt {
        font-weight: 400;
        font-size: 2.4rem;
        line-height: 1;
        letter-spacing: 0.1em;
        padding-bottom: 9.4rem;
    }
    .mv_scroll_line_wrap {
        top: 3.9rem;
        height: 12rem;
    }
}

/* control_set */
.control_set {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 50;
}
.logo {
    position: absolute;
}
.menu_btn {
    border-radius: 50%;
    background: #fff;
    position: absolute;
    border: none;
    z-index: 1;
    cursor: pointer;
}
.menu_btn_line > li:nth-child(n) {
    position: absolute;
    border-top: 1px solid #000;
    transition: top 0.2s 0.2s, transform 0.2s 0s;
}
.menu_wrap {
    position: absolute;
    top: 100%;
    right: 0;
    height: 100%;
    background: #fff;
    transform: translateX(100%);
    transition: transform 0.4s;
}
.menu_overlay {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s;
}
.menu {
    width: 100%;
    height: 100%;
    overflow: auto;
}
.menu_inner {
    height: 100%;
    display: flex;
    align-items: center;
}
.menu_list {
    display: block;
}
.menu_list > li a {
    color: #000;
    font-weight: 700;
    text-decoration: none;
}
.menu_sns_list {
    display: flex;
}
.is_menu_open .menu_wrap {
    transform: translateX(0%);
}
.is_menu_open .menu_overlay {
    opacity: 1;
    pointer-events: all;
}
.is_menu_open .menu_btn_line > li:nth-child(n) {
    transition: top 0.2s 0s, transform 0.2s 0.2s;
}
.is_menu_open .menu_btn_line > li:nth-child(1) {
    transform: rotate(45deg);
}
.is_menu_open .menu_btn_line > li:nth-child(2) {
    transform: rotate(-45deg);
}

@media (min-width: 751px) {
    .logo {
        top: calc(100% + 0.1rem);
        left: 0rem;
        width: 2.3rem;
    }
    .menu_btn {
        width: 0.64rem;
        height: 0.64rem;
        right: 0.2rem;
        top: calc(100% + 50%);
        margin-top: -0.32rem;
    }
    .menu_btn_line > li:nth-child(n) {
        left: 0.18rem;
        width: 0.29rem;
    }
    .menu_btn_line > li:nth-child(1) {
        top: 0.28rem;
    }
    .menu_btn_line > li:nth-child(2) {
        top: 0.34rem;
    }
    .menu_wrap {
        width: 5rem;
    }
    .menu {
        padding-left: 1rem;
    }
    .menu_inner {
        min-height: 6rem;
    }
    .menu_list > li + li {
        margin-top: 0.3rem;
    }
    .menu_list > li a {
        font-size: 0.16rem;
        line-height: 1;
        letter-spacing: 0.1em;
    }
    .menu_item_inner {
        position: relative;
        display: inline-block;
        padding-bottom: 0.05rem;
    }
    .menu_list > li a .menu_item_inner::after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        border-top: 2px solid #000;
        transform: scaleX(0);
        transform-origin: 0% 0%;
        transition: transform 0.2s;
    }
    .menu_list > li a:hover .menu_item_inner::after,
    .menu_list > li a:focus .menu_item_inner::after {
        transform: scaleX(1);
    }
    .menu_sns_list {
        display: flex;
        margin-top: 0.4rem;
    }
    .menu_sns_icon {
        width: 0.64rem;
    }
    .is_menu_open .menu_btn_line > li:nth-child(n) {
        top: 0.31rem;
    }
}
@media (max-width: 750px) {
    .logo {
        top: calc(100% + 1rem);
        left: 0rem;
        width: 30.3rem;
    }
    .menu_btn {
        width: 10rem;
        height: 10rem;
        right: 1rem;
        top: calc(100% + 1rem);
    }
    .menu_btn_line > li:nth-child(n) {
        left: 2.4rem;
        width: 5.2rem;
    }
    .menu_btn_line > li:nth-child(1) {
        top: 4.5rem;
    }
    .menu_btn_line > li:nth-child(2) {
        top: 5.4rem;
    }
    .menu_wrap {
        width: 50.4rem;
    }
    .menu {
        padding-left: 11rem;
    }
    .menu_inner {
        min-height: 80rem;
    }
    .menu_list > li + li {
        margin-top: 6rem;
    }
    .menu_list > li a {
        font-size: 2.8rem;
        line-height: 1;
        letter-spacing: 0.1em;
    }
    .menu_item_inner {
        position: relative;
    }
    .menu_sns_list {
        display: flex;
        margin-top: 7rem;
    }
    .menu_sns_icon {
        width: 9.6rem;
    }
    .is_menu_open .menu_btn_line > li:nth-child(n) {
        top: 4.95rem;
    }
}

/* promise */
.promise {
    overflow: hidden;
}
.promise_inner {
    background: #fff;
}
.promise_txt {
    color: #00a33e;
}
.section_ttl_over_wrap {
    position: relative;
}
.section_ttl_wrap {
    display: block;
}

@media (min-width: 751px) {
    .promise {
        margin-top: 1.8rem;
    }
    .promise_inner {
        width: 8rem;
        margin: 0 auto 1.78rem;
        padding: 1.64rem 1.1rem 1.3rem;
    }
    .promise_ttl_wrap {
        width: 4.6rem;
    }
    .promise_ttl {
        display: block;
        width: 4.6rem;
        height: auto;
    }
    .promise_txt + .promise_txt {
        margin-top: 0.48rem;
    }
    .promise_txt_medium {
        font-size: 0.2rem;
        line-height: 2.4;
        letter-spacing: 0.1em;
    }
    .promise_txt_large {
        font-size: 0.32rem;
        line-height: 1.75;
        letter-spacing: 0.09em;
    }
}
@media (max-width: 750px) {
    .promise {
        margin-top: 17.8rem;
    }
    .promise_inner {
        width: 73.5rem;
        margin: 0 0 18rem;
        padding: 18.6rem 0rem 14.5rem 2.5rem;
    }
    .promise_ttl_wrap {
        padding-right: 17.7rem;
    }
    .promise_ttl {
        display: block;
        width: 45.8rem;
        height: auto;
        mask-image: url(../images/promise_ttl_sp.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/promise_ttl_sp.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .promise_txt + .promise_txt {
        margin-top: 5.6rem;
    }
    .promise_txt_medium {
        font-size: 2.8rem;
        line-height: 2;
        letter-spacing: -0.06em;
    }
    .promise_txt_large {
        font-size: 3.9rem;
        line-height: 1.7;
        letter-spacing: 0em;
    }
}

/* tv_cm */
.tv_cm {
    position: relative;
    background: #fff;
    padding: 1px 0;
    z-index: 1;
}
.tv_cm_inner {
    position: relative;
    margin: 0 auto;
}
.tv_cm_leaf {
    position: absolute;
}
.section_ttl_sec {
    color: #333;
}
.tv_cm_movie_wrap {
    position: relative;
    overflow: hidden;
}
.movie {
    position: relative;
    cursor: pointer;
    overflow: hidden;
}
.movie_comingsoon {
    cursor: default;
}
.movie img {
    display: block;
}

@media (min-width: 751px) {
    .tv_cm_inner {
        width: 14.4rem;
        padding: 2rem 1.15rem 1.27rem;
    }
    .tv_cm_inner::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 12rem;
        height: 0.05rem;
        margin-left: -6rem;
        background: url(../images/tv_cm_line.png) no-repeat 50% 0 / contain;
    }
    .tv_cm_leaf {
        top: 0.76rem;
        left: -2.05rem;
        width: 5.82rem;
    }

    .tv_cm_ttl_over_wrap {
        margin-left: 2rem;
    }
    .tv_cm_subttl {
        width: 1.01rem;
        margin-left: 0.05rem;
    }
    .tv_cm_ttl_wrap {
        overflow: hidden;
        margin-top: 0.17rem;
        width: 5.65rem;
    }
    .tv_cm_ttl {
        display: block;
        width: 5.65rem;
        height: auto;
        mask-image: url(../images/tv_cm_ttl.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/tv_cm_ttl.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .section_ttl_sec {
        position: absolute;
        font-size: 0.16rem;
        line-height: 1;
        letter-spacing: 0.1em;
        top: 2.26rem;
        left: 5.88rem;
        font-weight: 700;
    }
    .tv_cm_movie_wrap {
        width: 10rem;
        margin-top: 0.54rem;
        margin-left: 2.05rem;
    }
    .icon_play_wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .tv_cm_thumb {
        width: 10rem;
    }
    .movie_thumb {
        transition: transform 1s;
    }
    .icon_play {
        width: 1rem;
    }
    .movie_thumb_overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.2);
        opacity: 0;
        transition: opacity 1s;
    }
    .movie:not(.movie_comingsoon):hover .movie_thumb,
    .movie:not(.movie_comingsoon):focus .movie_thumb {
        transform: scale(1.05);
    }
    .movie:not(.movie_comingsoon):hover .movie_thumb_overlay,
    .movie:not(.movie_comingsoon):focus .movie_thumb_overlay {
        opacity: 1;
    }
}
@media (max-width: 750px) {
    .tv_cm_inner {
        padding: 17.3rem 4rem 18.8rem;
    }
    .tv_cm_inner::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 67rem;
        height: 0.8rem;
        margin-left: -33.5rem;
        background: url(../images/tv_cm_line_sp.png) no-repeat 50% 0 / contain;
    }
    .tv_cm_leaf {
        top: 86.76rem;
        left: 41.95rem;
        width: 28.82rem;
        z-index: 1;
    }
    .tv_cm_ttl_over_wrap {
        margin-left: 2rem;
    }
    .tv_cm_subttl {
        width: 11.4rem;
        margin-left: 3.5rem;
    }
    .tv_cm_ttl_wrap {
        overflow: hidden;
        margin-top: 1.2rem;
        width: 62rem;
    }
    .tv_cm_ttl {
        display: block;
        width: 62.2rem;
        height: auto;
        mask-image: url(../images/tv_cm_ttl_sp.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/tv_cm_ttl_sp.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .section_ttl_sec {
        text-align: center;
        font-size: 2.8rem;
        line-height: 1;
        letter-spacing: 0.1em;
        margin-top: 2rem;
        margin-right: 2rem;
        font-weight: 700;
    }
    .tv_cm_movie_wrap {
        width: 67rem;
        margin-top: 1.5rem;
    }
    .icon_play_wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .tv_cm_thumb {
        width: 100%;
    }
    .icon_play {
        width: 10rem;
    }
}

/* episode */
.episode {
    position: relative;
    background: #fff;
    padding: 1px 0;
    margin-top: -1px;
}
.episode_inner {
    position: relative;
    margin: 0 auto;
}
.episode_txt {
    color: #333;
}
.episode_movie_list {
    display: flex;
    justify-content: center;
}
.episode_movie_wrap {
    position: relative;
    overflow: hidden;
}
.episode_movie_ttl {
    text-align: center;
    color: #333;
}
@media (min-width: 751px) {
    .episode_inner {
        width: 14.4rem;
        padding: 1.38rem 1.15rem 1.8rem;
    }
    .episode_ttl_over_wrap {
        margin-left: 0.05rem;
    }
    .episode_subttl {
        width: 1.53rem;
    }
    .episode_ttl_wrap {
        overflow: hidden;
        margin-top: 0.17rem;
        width: 9.52rem;
    }
    .episode_ttl {
        display: block;
        width: 9.5rem;
        height: auto;
        mask-image: url(../images/episode_ttl.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/episode_ttl.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .episode_txt {
        font-size: 0.2rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
        margin-top: 0.16rem;
        margin-left: 0.04rem;
    }
    .episode_movie_list {
        margin-top: 0.52rem;
    }
    .episode_movie_list > li {
        width: 5.72rem;
    }
    .episode_movie_list > li + li {
        margin-left: 0.6rem;
    }
    .episode_movie_wrap {
        width: 5.72rem;
    }
    .icon_play_wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .episode_thumb {
        width: 5.72rem;
        transition: transform 1s;
    }
    .icon_play {
        width: 1rem;
    }
    .episode_movie_ttl {
        font-size: 0.2rem;
        line-height: 1;
        letter-spacing: 0.1em;
        margin-top: 0.22rem;
    }
}
@media (max-width: 750px) {
    .episode_inner {
        padding: 19.1rem 4rem 17.4rem;
    }
    .episode_ttl_over_wrap {
        margin-left: 5.7rem;
    }
    .episode_subttl {
        width: 17.5rem;
    }
    .episode_ttl_wrap {
        overflow: hidden;
        margin-top: 1.6rem;
        width: 56rem;
    }
    .episode_ttl {
        display: block;
        width: 55.5rem;
        height: auto;
        mask-image: url(../images/episode_ttl_sp.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/episode_ttl_sp.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .episode_txt {
        font-size: 2.8rem;
        line-height: 1.7;
        letter-spacing: 0em;
        margin-top: 2.3rem;
        margin-left: 0rem;
        text-align: justify;
    }
    .episode_movie_list {
        margin-top: 5.2rem;
        flex-direction: column;
    }
    .episode_movie_list > li {
        width: 100%;
    }
    .episode_movie_list > li + li {
        margin-top: 8rem;
    }
    .episode_movie_wrap {
        width: 100%;
    }
    .episode_thumb {
        width: 100%;
    }
    .icon_play {
        width: 10rem;
    }
    .episode_movie_ttl {
        font-size: 2.8rem;
        line-height: 1;
        letter-spacing: 0.1em;
        margin-top: 2.4rem;
    }
}

/* brand */
.brand {
    position: relative;
    padding: 1px 0;
    color: #fff;
}
.brand_inner {
    position: relative;
    margin: 0 auto;
}
.brand_movie_item_set {
    display: flex;
}
.brand_movie_item_detail dt {
    border-bottom: 1px solid #fff;
}
@media (min-width: 751px) {
    .brand {
        background: rgb(0, 163, 62) url(../images/brand_bg.jpg) repeat-x 50% 100% / 19.2rem auto;
    }
    .brand_inner {
        width: 12rem;
        margin-top: 2rem;
        margin-bottom: 1.78rem;
    }
    .brand_ttl_over_wrap {
        margin-left: 1rem;
    }
    .brand_subttl {
        width: 2.33rem;
    }
    .brand_ttl {
        width: 5.96rem;
    }
    .brand_ttl_wrap {
        margin-top: 0.2rem;
    }
    .brand_txt {
        margin-top: 0.16rem;
        margin-left: 1rem;
        font-size: 0.2rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
    }
    .brand_movie_list {
        margin-top: 0.52rem;
    }
    .brand_movie_list > li {
        width: 11rem;
    }
    .brand_movie_list > li + li {
        margin-top: 0.8rem;
    }
    .brand_movie_list > li:nth-child(odd) {
        margin-left: 1rem;
    }
    .brand_movie_list > li:nth-child(even) .brand_movie_item_detail {
        order: -1;
    }
    .brand_movie_list > li:nth-child(even) .brand_movie_item_detail dt {
        text-align: right;
    }
    .brand_movie_item_set {
        justify-content: space-between;
    }
    .brand_movie_item_thumb {
        width: 5.72rem;
    }
    .brand_thumb {
        width: 5.72rem;
    }
    .brand_movie_item_detail {
        width: 4.72rem;
    }
    .brand_movie_item_detail dt {
        font-size: 0.32rem;
        line-height: 1;
        letter-spacing: 0.1em;
        padding-bottom: 0.18rem;
        border-bottom: 1px solid #fff;
    }
    .brand_movie_item_detail dd {
        font-size: 0.16rem;
        line-height: 2.2;
        letter-spacing: 0.1em;
        padding-top: 0.29rem;
    }
}
@media (max-width: 750px) {
    .brand {
        background: rgb(18 177 85) url(../images/brand_bg_sp.jpg) repeat-x 50% 100% / 100% auto;
    }
    .brand_inner {
        margin-top: 18.9rem;
        margin-bottom: 16.8rem;
    }
    .brand_ttl_over_wrap {
        margin: 0 7.6rem;
    }
    .brand_subttl {
        width: 27.2rem;
    }
    .brand_ttl {
        width: 59.9rem;
    }
    .brand_ttl_wrap {
        margin-top: 1.4rem;
    }
    .brand_txt {
        margin: 2rem 8.9rem 0;
        font-size: 2.8rem;
        line-height: 1.75;
    }
    .brand_movie_list {
        margin: 5.1rem 9rem 0;
    }
    .brand_movie_list > li + li {
        margin-top: 6.8rem;
    }
    .brand_movie_item_set {
        flex-direction: column;
    }
    .brand_movie_item_thumb {
        width: 100%;
    }
    .brand_thumb {
        width: 100%;
    }
    .brand_movie_item_detail {
        width: 100%;
        margin-top: 4.2rem;
    }
    .brand_movie_item_detail dt {
        font-size: 3.2rem;
        line-height: 1;
        letter-spacing: 0.1em;
        padding-bottom: 1.3rem;
        border-bottom: 1px solid #fff;
    }
    .brand_movie_item_detail dd {
        font-size: 2.4rem;
        line-height: 1.9;
        letter-spacing: 0.1em;
        padding-top: 2.4rem;
        text-align: justify;
    }
}

/* interview */
.interview {
    padding: 1px 0;
}
.interview_inner {
    position: relative;
}
.interview_leaf {
    position: absolute;
}
.interview_ttl_over_wrap {
    margin: 0 auto;
}
.interview_txt {
    position: relative;
    color: #333;
}
.interview_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.interview_item_num {
    display: flex;
    align-items: center;
}
.interview_item_num_txt {
    color: #808080;
}
.interview_item_num_txt_xx {
    color: #00a33e;
}
.interview_detail dt {
    position: relative;
    color: #333;
}
.interview_detail dt::after {
    content: '';
    display: block;
    border-top: 1px solid #c9c9c9;
    position: absolute;
    left: 50%;
}
.interview_detail dd {
    color: #00a33e;
}
@media (min-width: 751px) {
    .interview {
        margin: 0.4rem 0;
    }
    .interview_inner {
        background: rgba(255, 255, 255, 0.85) url(../images/interview_bg.png) no-repeat 50% 100% / 100% auto;
        width: 13.6rem;
        padding: 2.05rem 0.8rem 1.75rem;
        margin: 0 auto;
    }
    .interview_leaf {
        top: 0.48rem;
        left: 10.2rem;
        width: 2.69rem;
    }
    .interview_ttl_wrap {
        overflow: hidden;
        margin-top: 0.2rem;
    }
    .interview_ttl_over_wrap {
        width: 4.3rem;
    }
    .interview_subttl {
        width: 1.91rem;
    }
    .interview_ttl {
        display: block;
        width: 4.3rem;
        height: auto;
        mask-image: url(../images/interview_ttl.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/interview_ttl.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .interview_txt {
        text-align: center;
        font-size: 0.2rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
        margin-top: 0.18rem;
    }
    .interview_list {
        margin-top: 0.42rem;
    }
    .interview_list > li {
        width: 5.72rem;
    }
    .interview_list > li:nth-child(even) {
        padding-top: 0.8rem;
    }
    .interview_list > li:nth-child(n + 3) {
        margin-top: -0.2rem;
    }
    .interview_item_num_txt {
        font-size: 0.12rem;
        font-weight: 700;
        letter-spacing: 0.2em;
    }
    .interview_item_num_txt_xx {
        font-size: 0.24rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        margin-left: 0.05rem;
    }
    .interview_movie {
        margin-top: 0.1rem;
    }
    .interview_thumb {
        width: 5.72rem;
    }
    .interview_detail {
        text-align: center;
    }
    .interview_detail dt {
        font-size: 0.2rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
        margin-top: 0.16rem;
    }
    .interview_detail dt::after {
        width: 1.6rem;
        bottom: -0.02rem;
        margin-left: -0.8rem;
    }
    .interview_detail dd {
        font-size: 0.2rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
        margin-top: 0.2rem;
    }
}
@media (max-width: 750px) {
    .interview {
        margin-top: 1.5rem;
    }
    .interview_inner {
        background: rgba(255, 255, 255, 0.85);
        padding: 20.1rem 7.2rem 17.3rem;
        margin-left: 1.7rem;
        margin-bottom: 1.6rem;
    }
    .interview_leaf {
        top: 4.4rem;
        left: 52.2rem;
        width: 19.6rem;
    }
    .interview_ttl_wrap {
        overflow: hidden;
        margin-top: 2.1rem;
        width: 43rem;
    }
    .interview_ttl_over_wrap {
        width: 45rem;
    }
    .interview_subttl {
        width: 21.9rem;
    }
    .interview_ttl {
        display: block;
        width: 43.3rem;
        height: auto;
        mask-image: url(../images/interview_ttl_sp.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/interview_ttl_sp.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .interview_txt {
        font-size: 2.8rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
        margin-top: 2.3rem;
    }
    .interview_list {
        margin-top: 4rem;
    }
    .interview_list > li {
        width: 100%;
    }
    .interview_list > li + li {
        margin-top: 5.6rem;
    }
    .interview_item_num_txt {
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 0.2em;
    }
    .interview_item_num_txt_xx {
        font-size: 3.2rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        margin-left: 0.5rem;
    }
    .interview_movie {
        margin-top: 0.7rem;
    }
    .interview_thumb {
        width: 57rem;
    }
    .interview_detail {
        text-align: center;
    }
    .interview_detail dt {
        font-size: 2.8rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
        margin-top: 1.4rem;
        margin-left: -1.6rem;
    }
    .interview_detail dt::after {
        width: 18.6rem;
        bottom: 0.1rem;
        margin-left: -9.3rem;
    }
    .interview_detail dd {
        font-size: 2.8rem;
        line-height: 1.7;
        letter-spacing: 0.1em;
        margin-top: 1.4rem;
        margin-left: -1.6rem;
    }
}

/* cm_making */
.cm_making {
    position: relative;
    padding: 1px 0;
    background: #fff;
}
.cm_making_inner {
    position: relative;
}
.cm_making_ttl_over_wrap {
    display: block;
    margin: 0 auto;
}
@media (min-width: 751px) {
    .cm_making_inner {
        width: 14.4rem;
        padding: 2rem 2.2rem 1.8rem;
        margin: 0 auto;
    }
    .cm_making_ttl_wrap {
        overflow: hidden;
        margin-top: 0.2rem;
    }
    .cm_making_ttl_over_wrap {
        width: 6.6rem;
        padding-left: 0.18rem;
    }
    .cm_making_subttl {
        width: 1.4rem;
    }
    .cm_making_ttl {
        display: block;
        width: 6.5rem;
        height: auto;
        mask-image: url(../images/cm_making_ttl.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/cm_making_ttl.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .cm_making_movie_wrap {
        margin-top: 0.54rem;
    }
    .cm_making_thumb {
        width: 10rem;
    }
    .cm_making_leaf_1 {
        position: absolute;
        top: 0.7rem;
        left: -0.7rem;
        width: 3.52rem;
    }
    .cm_making_leaf_2 {
        position: absolute;
        top: 6.75rem;
        left: 12.5rem;
        width: 1.81rem;
    }
}
@media (max-width: 750px) {
    .cm_making_inner {
        padding: 19.3rem 4rem 17.4rem;
    }
    .cm_making_ttl_wrap {
        overflow: hidden;
        margin-top: 2rem;
    }
    .cm_making_ttl_over_wrap {
        margin-left: 1.3rem;
    }
    .cm_making_subttl {
        width: 16.3rem;
    }
    .cm_making_ttl {
        display: block;
        width: 64.1rem;
        height: auto;
        mask-image: url(../images/cm_making_ttl_sp.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/cm_making_ttl_sp.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .cm_making_movie_wrap {
        margin-top: 5.6rem;
    }
    .cm_making_thumb {
        width: 100%;
    }
    .cm_making_leaf_1 {
        position: absolute;
        top: 2.7rem;
        left: -6.7rem;
        width: 34.9rem;
    }
    .cm_making_leaf_2 {
        position: absolute;
        top: 53rem;
        left: 56.1rem;
        width: 18rem;
    }
}

/* cast */
.cast {
    padding: 1px 0;
}
.cast_inner {
    background: rgba(255, 255, 255, 0.85);
    position: relative;
}
.cast_tree {
    position: absolute;
}
.cast_ttl_over_wrap {
    display: block;
    margin: 0 auto;
}
.cast_item_box_detail_name {
    color: #00a33e;
}
.cast_item_box_detail_txt {
    color: #333;
}

@media (min-width: 751px) {
    .cast {
        margin-top: 0.4rem;
    }
    .cast_inner {
        width: 13.6rem;
        padding: 2.1rem 1.8rem 1.8rem;
        margin: 0 auto;
    }
    .cast_tree {
        top: 0.6rem;
        left: 0.5rem;
        width: 3.5rem;
    }
    .cast_ttl_wrap {
        overflow: hidden;
        margin-top: 0.16rem;
    }
    .cast_ttl_over_wrap {
        width: 2.4rem;
    }
    .cast_subttl {
        width: 0.98rem;
    }
    .cast_ttl {
        display: block;
        width: 2.5rem;
        height: auto;
        mask-image: url(../images/cast_ttl.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/cast_ttl.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .cast_1 {
        position: absolute;
        width: 4.27rem;
        top: 0.1rem;
        left: 0.2rem;
    }
    .cast_2 {
        position: absolute;
        width: 3.44rem;
        top: 0.12rem;
        left: -0.15rem;
    }
    .cast_list {
        margin-top: 0.84rem;
    }
    .cast_list > li:nth-child(odd) .cast_item_box_detail {
        order: -1;
    }
    .cast_list > li:nth-child(odd) .cast_text_right {
        text-align: right;
    }
    .cast_list > li + li {
        margin-top: 0.95rem;
    }
    .cast_item_box {
        display: flex;
    }
    .cast_item_box_detail {
        width: 6.12rem;
    }
    .cast_item_box_img {
        flex: 1;
        position: relative;
    }
    .cast_item_box_detail_name {
        font-size: 0.48rem;
        font-weight: 400;
        line-height: 1.333;
        letter-spacing: 0.1em;
        border-bottom: 1px solid #c9c9c9;
        padding-bottom: 0.15rem;
    }
    .cast_item_box_detail_txt {
        font-size: 0.16rem;
        line-height: 2.2;
        letter-spacing: 0.1em;
        text-align: justify;
    }
    .cast_item_box_detail_txt_wrap {
        margin-top: 0.3rem;
    }
    .cast_item_box_detail_txt + .cast_item_box_detail_txt {
        margin-top: 0.28rem;
    }
}
@media (max-width: 750px) {
    .cast {
        margin-top: 2rem;
    }
    .cast_inner {
        width: 73rem;
        padding: 19.4rem 4rem 17.6rem;
    }
    .cast_tree {
        top: 7rem;
        left: -11.3rem;
        width: 31rem;
    }
    .cast_ttl_wrap {
        overflow: hidden;
        margin-top: 1.8rem;
    }
    .cast_ttl_over_wrap {
        width: 26.5rem;
        padding-left: 1.9rem;
    }
    .cast_subttl {
        width: 11.4rem;
    }
    .cast_ttl {
        display: block;
        width: 24.6rem;
        height: auto;
        mask-image: url(../images/cast_ttl_sp.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url(../images/cast_ttl_sp.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
    .cast_1 {
        width: 37.1rem;
        margin-left: 2.8rem;
    }
    .cast_2 {
        width: 33.3rem;
        margin-left: 2.6rem;
    }
    .cast_list {
        margin-top: 4.3rem;
    }
    .cast_list > li + li {
        margin-top: 7rem;
    }
    .cast_item_box_detail {
        width: 100%;
    }
    .cast_item_box_img {
        text-align: center;
        margin-top: 2.5rem;
    }
    .cast_item_box_detail_name {
        text-align: center;
        font-size: 4.8rem;
        font-weight: 400;
        line-height: 1.333;
        letter-spacing: 0.1em;
        border-bottom: 1px solid #c9c9c9;
        padding-bottom: 1.5rem;
        padding-left: 2.9rem;
    }
    .cast_item_box_detail_txt {
        font-size: 2.4rem;
        line-height: 1.8;
        letter-spacing: 0.1em;
    }
    .cast_item_box_detail_txt_wrap {
        margin-top: 2.2rem;
    }
    .cast_item_box_detail_txt + .cast_item_box_detail_txt {
        margin-top: 2.9rem;
    }
}

/* bnr */
.bnr {
    padding: 1px 0;
}
.bnr_inner {
    margin: 0 auto;
}
.bnr_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.bnr_x {
    display: block;
}
@media (min-width: 751px) {
    .bnr_inner {
        padding: 2rem 0;
        width: 14.4rem;
    }
    .bnr_list > li {
        margin: 0 0.2rem;
    }
    .bnr_list > li:nth-child(n + 3) {
        margin-top: 0.35rem;
    }
    .bnr_x {
        width: 4.8rem;
    }
}
@media (max-width: 750px) {
    .bnr_inner {
        padding: 17rem 0;
    }
    .bnr_list {
        margin-right: 2rem;
    }
    .bnr_list > li + li {
        margin-top: 3.7rem;
    }
    .bnr_x {
        width: 57.2rem;
    }
}

/* sns */
.sns {
    padding: 1px 0;
}
.sns_inner {
    margin: 0 auto;
}
.sns_ttl {
    text-align: center;
    color: #333;
}
.sns_list {
    display: flex;
    justify-content: center;
}
@media (min-width: 751px) {
    .sns {
        position: relative;
    }
    .sns_cover {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
    }
    .sns_inner {
        width: 10rem;
        margin-bottom: 0.4rem;
    }
    .sns_ttl {
        font-weight: 400;
        font-size: 0.2rem;
        line-height: 1;
        letter-spacing: 0.1em;
    }
    .sns_list {
        margin-top: 0.24rem;
    }
    .sns_list > li + li {
        margin-left: 0.1rem;
    }
    .sns_x {
        width: 0.64rem;
    }
}
@media (max-width: 750px) {
    .sns_inner {
        padding-bottom: 4.8rem;
    }
    .sns_ttl {
        font-weight: 400;
        font-size: 3rem;
        line-height: 1;
        letter-spacing: 0.1em;
    }
    .sns_list {
        margin-top: 2rem;
    }
    .sns_list > li + li {
        margin-left: 1rem;
    }
    .sns_x {
        width: 9.6rem;
    }
}

/* footer */
.footer {
    padding: 1px 0;
    position: relative;
    background: #fff;
    font-feature-settings: normal;
}
.footer_nav {
    display: flex;
}
.footer_nav > li a {
    color: #333;
    text-decoration: none;
}
.footer_copy {
    text-align: center;
    color: #808080;
}
.footer_pagetop {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
@media (min-width: 751px) {
    .footer_nav {
        margin-top: 0.55rem;
        justify-content: center;
    }
    .footer_nav > li a {
        font-size: 0.16rem;
        line-height: 2;
        letter-spacing: 0.1em;
    }
    .footer_nav > li a:hover,
    .footer_nav > li a:focus {
        text-decoration: underline;
    }
    .footer_nav > li + li {
        margin-left: 0.52rem;
    }
    .footer_copy {
        font-size: 0.14rem;
        line-height: 2;
        letter-spacing: 0.1em;
        margin-top: 0.22rem;
        margin-bottom: 0.8rem;
    }
    .footer_pagetop {
        width: 0.64rem;
        display: block;
    }
}
@media (max-width: 750px) {
    .footer {
        padding-bottom: 19rem;
    }
    .footer_nav {
        margin-top: 4.3rem;
        margin-left: 4.4rem;
        flex-wrap: wrap;
        width: 60.9rem;
    }
    .footer_nav > li a {
        font-size: 2.4rem;
        line-height: 2;
        letter-spacing: 0.1em;
    }
    .footer_nav > li + li:not(:nth-child(3)) {
        margin-left: 5.5rem;
    }
    .footer_nav > li:nth-child(n + 3) {
        margin-top: 1rem;
    }
    .footer_copy {
        font-size: 1.8rem;
        line-height: 2;
        letter-spacing: 0.1em;
        margin-top: 2.4rem;
    }
    .footer_pagetop {
        width: 9.6rem;
        display: block;
    }
}

/* full_screen */
.full_screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 50;
    background: #000;
    background: rgba(0, 0, 0, 0.9);
    transform: translateX(-100%);
    opacity: 0;
    transition: transform 0s 0.4s, opacity 0.4s 0s;
}
.is_play .full_screen {
    transform: translateX(0%);
    opacity: 1;
    transition: transform 0s 0s, opacity 0.4s 0s;
}
.full_screen iframe {
    width: 100%;
    height: 100%;
    border: none;
}
.full_screen .close_btn {
    display: block;
    position: absolute;
    cursor: pointer;
    z-index: 100;
    top: 0;
    right: 0;
    background: none;
    padding: 0;
    border: none;
}
.movie_close {
    height: auto;
    display: block;
    background: transparent;
}

@media screen and (min-width: 751px) {
    .full_screen {
        background: #000;
    }
    .iframe_player_api_wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        padding: 0.7rem 0;
    }
    .iframe_player_api_cover {
        position: relative;
        width: 100%;
        height: 100%;
    }
    .movie_close {
        width: 0.7rem;
        padding: 0.2rem;
    }
}
@media screen and (max-width: 750px) {
    .iframe_player_api_wrap {
        position: absolute;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .iframe_player_api_cover {
        position: relative;
        width: 100%;
        padding-top: 55.6%;
    }
    .full_screen iframe {
        position: absolute;
        top: 0;
        left: 0;
    }
    .movie_close {
        width: 6.4rem;
        padding: 3.2rem;
        box-sizing: content-box;
    }
}

/* animation */
.is_animation_ready .anim_fade_up {
    opacity: 0;
}
.is_animation_load .anim_fade_up {
    transition: all 0.8s;
}
@media screen and (min-width: 751px) {
    .anim_fade_up.is_animated {
        transform: translateY(-0.2rem);
    }
    /* hover */
    .anim_fade_hover {
        display: block;
        transition: opacity 0.4s;
    }
    .anim_fade_hover:hover,
    .anim_fade_hover:focus {
        opacity: 0.7;
    }
}
@media screen and (max-width: 750px) {
    .anim_fade_up.is_animated {
        transform: translateY(-2rem);
    }
}
.anim_fade_up.is_animated {
    opacity: 1;
}
