@charset "UTF-8";

body {
    width: 100%;
    /*overflow-x: hidden;*/
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    margin: 0;
    text-align: justify;
line-break: strict;
overflow-wrap: break-word;
word-wrap: break-word;
}

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

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    
    
    .header_bg {
        background: #EFEFEF;
        box-sizing: border-box;
    }
    .header_wrap {
        position: relative;
        text-align: center;
        margin: 0 auto;
        width: 100%;
        max-width: 945px;
        padding: 2.535vw 0;
        box-sizing: border-box;
    }
    .header_logo {
        display: inline-block;
        width: 38.548vw;
    }
    .header_logo img {
        width: 100%;
    }
    .header_pr {
        display: inline-block;
        font-size: 0;
        position: absolute;
    	top: 50%;
    	right: 15px;
    	transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    	width: 8.585%;
    }
    .header_pr img {
        width: 100%;
    }
    
    
    @media screen and (min-width: 440px) {
        .header_wrap {
            padding: 10px 0;
        }
        .header_logo {
            width: 179.598px;
        }
        .header_pr {
            width: 40px;
        }
    }
    
    
    @media screen and (min-width: 640px) {
        .header_logo {
            width: 210px;
        }
        .header_wrap {
            padding: 9.55px 0;
        }
    }
    
    
    
    .ft_line {
        display: inline-block;
        width: 100%;
        height: 1px;
        background: #cdcdcd;
        border: none;
    }
    
    
    .c_grad1 {
        background: linear-gradient(90deg, #751484 0%, #1e2973 10%, #005bab 50%, #1d2087 90%, #751484 100%);
    }
    .band_txt1 {
        margin: 0;
        text-align: center;
        color: #fff;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.4;
        text-shadow: 3px 3px 3px rgba(0,0,0,.75)
    }
    .band_txt1 .span1 {
        font-size: .8em;
    }
    .band_txt1 .span2 {
        font-size: 1.21em;
    }
    .band_wrap {
        padding: 6px 5px;
    }
    @media screen and (min-width: 640px) {
        .band_txt1 {
            font-size: 23.93px;
        }
        .band_wrap {
            padding: 12px 12px;
        }
    }
    
    .mv_fg {
        font-size: 0;
        text-align: center;
    }
    .mv_fg img {
        width: 100%;
    }
    
    .itr_wrap {
        position: relative;
        padding: 20px 20px 30px;
    }
    .itr_wrap::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(135deg, #751484 0%, #005bab 50%, #1d2087 100%);
        opacity: .2;
        z-index: 1;
    }
    .itr_container {
        position: relative;
        z-index: 5;
        margin: 0 auto;
        max-width: 900px;
    }
    .itr_txt {
        margin: 0 0 24px;
        font-size: 16px;
        line-height: 1.5067;
        font-weight: 500;
    }
    .c_btn1 {
        text-align: center;
        font-size: 0;
    }
    .c_btn1 a {
        display: inline-block;
        width: 100%;
        max-width: 284px;
    }
    .c_btn1 a img {
        width: 100%;
    }
    @media screen and (min-width: 640px) {
        .itr_wrap {
            padding: 30px 20px 40px;
        }
        .itr_txt {
            font-size: 19px;
            font-weight: 600;
            line-height: 1.75;
            letter-spacing: .02em;
            margin-bottom: 30px;
        }
        .c_btn1 a {
            max-width: 386px;
        }
    }
    
    
    .main_wrap {
        background: #eee;
        padding: 30px 20px 60px;
    }
    .main_container {
        margin: 0 auto;
        max-width: 900px;
    }
    .main_box {
        position: relative;
        background: #fff;
        margin: 0 0 32px;
    }
    .lv2 {
        background: linear-gradient(135deg, #751484 0%, #005bab 50%, #1d2087 100%);
        color: #fff;
        font-size: 20px;
        text-align: center;
        padding: .4em 0;
        position: relative;
        margin: 0;
    }
    .lv2::before {
        content: "";
        display: inline-block;
        position: absolute;
        right: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0px 0px 30px 15px;
        border-color: transparent transparent #fff transparent;
    }
    .main_box_in {
        padding: 18px 18px 10px;
        position: relative;
    }
    .lv3 {
        text-align: center;
        font-size: 19px;
        line-height: 1.37;
        position: relative;
        margin: 0 0 22px;
        padding: 0 0 16px;
    }
    .lv3::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 3px;
        background: linear-gradient(135deg, #751484 0%, #005bab 50%, #1d2087 100%);
    }
    .card1 {
        margin: 0 auto 22px;
        max-width: 300px;
        display: flex;
        justify-content: space-between;
    }
    .card1_img {
        font-size: 0;
        width: 25%;
    }
    .card1_ct {
        width: 70%;
    }
    .card1_txt1, .card1_txt2, .card1_txt3 {
        margin: 0;
    }
    .card1_txt1 {
        font-weight: 500;
        font-size: 14px;
        line-height: 1.62;
    }
    .card1_txt2 {
        font-weight: 500;
        font-size: 16px;
        line-height: 1.44;
    }
    .card1_txt3 {
        font-weight: 600;
        font-size: 19px;
        line-height: 1.24;
    }
    .main_btn {
        margin-top: 60px;
    }
    #note_text{
        text-align: center;
        font-size: 0.9em;
    }
    @media screen and (min-width: 640px) {
        .main_wrap {
            padding: 60px 20px 140px;
        }
        .main_box {
            margin: 0 0 50px;
        }
        .lv2 {
            font-size: 28px;
            width: calc(100% + 20px);
        }
        .lv2::before {
            border-width: 0px 0px 40px 20px;
            border-color: transparent transparent #eee transparent;
        }
        .main_box_in {
            padding: 20px 16px 10px;
        }
        .lv3 {
            font-size: 24px;
            line-height: 1.4167;
            padding: 0 0 20px;
            margin: 0 0 30px;
        }
        .card1_flex {
            display: flex;
            justify-content: space-between;
            margin: 0 auto;
            max-width: 800px;
            flex-wrap: wrap;
        }
        .card1 {
            max-width: 100%;
            margin: 0 0 40px;
            width: 49%;
        }
        .card1_img {
            width: 100px;
        }
        .card1_ct {
            width: calc(100% - 100px - 20px);
        }
        .card1_1 {
            width: 45%;
        }
        .card1_2 {
            width: 53%;
        }
        .card1_3 {
            width: 51%;
        }
        .card1_4 {
            width: 47%;
        }
        .card1_txt1 {
            font-size: 16px;
        }
        .card1_txt2 {
            font-size: 18px;
        }
        .card1_txt3 {
            font-size: 21px;
        }
        .main_btn {
            margin-top: 120px;
        }
    }
    
    
    .contact_wrap {
        padding: 45px 20px;
    }
    .contact_container {
        margin: 0 auto;
        max-width: 900px;
    }
    .c_contact_box_wrap {
        text-align: center;
    }
    .c_contact_box_lv2 {
        font-size: 22px;
        color: #807f80;
        margin: 0 0 10px;
    }
    .c_contact_box {
        background: #fff;
        border-radius: 16px;
        padding: 24px 10px;
        box-shadow: 0 0 10px rgba(0,0,0,.3);
        margin: 0 auto;
        max-width: 505px;
    }
    .c_contact_box_logo {
        font-size: 0;
        margin: 0 0 28px;
    }
    .c_contact_box_logo img {
        width: 270px;
    }
    .c_contact_box h3 {
        font-size: 16px;
        margin: 0 0 8px;
    }
    .c_contact_box_txt {
        font-size: 15px;
        line-height: 1.95;
        margin: 0;
    }
    @media screen and (min-width: 640px) {
        .contact_wrap {
            padding: 90px 20px;
        }
        .c_contact_box_lv2 {
            font-size: 28px;
        }
        .c_contact_box_logo {
            margin-bottom: 36px;
        }
        .c_contact_box_logo img {
            width: 353px;
        }
        .c_contact_box h3 {
            font-size: 18px;
        }
        .c_contact_box_txt {
            font-size: 16px;
        }
        .c_contact_box {
            padding: 36px 10px;
        }
    }
    
    
    .c_bar1 {
        height: 7px;
        width: 100%;
        background: linear-gradient(135deg, #751484 0%, #005bab 50%, #1d2087 100%);
    }
    
    
    .vd_wrap {
        background: linear-gradient(90deg, #751484 0%, #1e2973 11%, #1e2b69 30%, #1e2b69 70%, #1e2973 90%, #751484 100%);
        padding: 45px 20px 80px;
    }
    .vd_container {
        margin: 0 auto;
        max-width: 800px;
    }
    .vd_block1 {
        text-align: center;
        margin: 0 0 60px;
    }
    .vd_lv2 {
        color: #fff;
        margin: 0 0 22px;
        font-size: 22px;
    }
    .vd_txt1 {
        color: #b2b2b3;
        font-weight: 600;
        font-size: 17px;
        line-height: 1.4167;
        margin: 0 0 24px;
    }
    .vd_video_wrap{
        position: relative;
        background-color: #000;
    }
    .playBtn{
        position: absolute;
        margin: auto;
        top: 0; bottom: 0; right: 0; left: 0;
        z-index: 99;
        cursor: pointer;
        width: 20vw;
    }

   .vd_video_wrap.is-playing .playBtn {
    opacity: 0;
    visibility: hidden; /* display:noneの代わり。クリック判定も消えます */
    }
    .vd_video_wrap video {
        width: 100%;
    }
    .vd_wrap .c_contact_box_lv2 {
        color: #c6c7c8;
    }
    @media screen and (min-width: 640px) {
        .vd_wrap {
            padding: 88px 20px 100px;
        }
        .vd_lv2 {
            font-size: 28px;
        }
        .br-sp {
            display: none;
        }
        .vd_txt1 {
            font-size: 22px;
            margin-bottom: 20px;
        }
        .vd_block1 {
            margin: 0 0 60px;
        }
        .vd_video_wrap{
            background-color: none;
        }
        .playBtn{
            width: auto;
        }
    }
    
    
    
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/





















