@charset "UTF-8";
/* CSS Document */

/*<span class="takara">宝</span>*/
.takara::after {
    content: '゛';
    margin-right: -0.5em;
}

.takara {
    margin-right: -0.3em;
}


/*共通*/
body,
p {
    margin: 0;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
}

ul,
li,
a {
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
    color: inherit;
}

img {
    width: 100%;
}


.pc {
    display: revert;
}

.sp {
    display: none !important;
}

.element {
    /* 最初は非表示 */
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: opacity 1s, visibility 1s, transform 1s;
}

/* フェードイン時に入るクラス */
.is-fadein {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);

    left: 0;
    right: 0;
}

/*以下フェードイン表示の指定*/
.fadein {
    opacity: 0;
    animation: fadein 2s ease forwards;
}

@keyframes fadein {
    100% {
        opacity: 1;
    }
}

/*以下遅延の指定*/
.txt01 {
    animation-delay: 0.4s;
}

.txt02 {
    animation-delay: 0.9s;
}



body {
    padding-top: 0.1px;
}

header {
    position: fixed;
    width: 100%;
    background: #FFE6E8;
    z-index: 999;
}

.header_top {
    height: 50px;
    width: 100%;
    box-shadow: 0px 3px 6px #00000034;
    background: #fff;
}

.header_top img {
    width: auto;
    height: 30px;
    margin-top: 10px;
    margin-left: 20px;
}

.header_top img:first-child {
    margin-right: 10px;
    margin-left: 20px;
}

.header_btn_box {
    width: 100%;
    padding: 10px 0 3px 0;
}

.header_btn_inner::after {
    content: '';
    display: block;
    width: 100%;
    height: 12px;
    background: #fff;
    position: absolute;
    bottom: -12px;
    left: 0;
    right: 0;
    z-index: 1;
}

.header_btn_inner {
    max-width: 1000px;
    height: 35px;
    width: 95%;
    margin: 0 auto;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.07em;
}


.header_btn_inner ul {
    display: flex;
    justify-content: center;
}

.header_btn_inner li {
    color: #000;
    width: 40%;
    height: 35px;
    line-height: 35px;
    border-radius: 20px 20px 0 0;
    border-top: 3px solid #000;
    border-left: 3px solid #000;
    border-right: 3px solid #000;
}

.header_btn_inner li:first-child {
    background: #fff;
}

.header_btn_inner li:last-child {
    background: #FEEC34;
}

.header_btn_inner li a {
    display: block;
}

.header_btn_inner .header_btn_off:hover {
    position: relative;
    top: 0px;
}

.header_btn_off {
    position: relative;
    top: 9px;
}

.mv {
    width: 100%;
    height: auto;
    overflow: hidden;
    /*	position: relative;*/

    margin-top: 109px;
    background: url("../img/mv_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 0px;
}

h1 {
    max-width: 1400px;
    width: 90%;
    margin: 0 auto;
    /*	display: inline-block;*/
    text-align: center;
    /*	top: 15px;*/
    /*	position: absolute;*/
    /*	z-index: 1;*/
    /*    left: 0;*/
    /*    right: 0;*/
}

/*以下フェードイン表示の指定*/
.fadein {
    opacity: 0;
    animation: fadein 2s ease forwards;
}

@keyframes fadein {
    100% {
        opacity: 1;
    }
}

/*以下遅延の指定*/
.txt01 {
    animation-delay: 0.4s;
}

.txt02 {
    animation-delay: 0.9s;
}



h1 {
    font-size: 0;
}

.box_1 {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 60px 0;
    background: #E6F3F9;
    color: #000;
}

.box_1_text {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

.box_1_text p:first-child {
    font-size: 25px;
    font-weight: bold;
    border-bottom: 2px solid #000;
    padding-bottom: 13px;
}

.box_1_text p:last-child {
    font-size: 20px;
    font-weight: bold;
    margin-top: 20px;
}

.box_1_text p:last-child span.min {
    font-size: 15px;
    display: block;
}

.midashi {
    font-family: 'M PLUS 2', sans-serif;
    font-size: 35px;
    position: relative;
    margin-bottom: 43px;
    text-align: center;
    font-weight: bold;
}

.midashi::after {
    content: '';
    background: #1BA2E6;
    width: 77px;
    height: 6px;
    border-radius: 3px;
    margin: 5px auto auto auto;
    display: block;
}

.midashi span {
    font-size: 25px;
    display: block;
    font-weight: normal;
}

.box_2 {
    background: #fff;
    max-width: 1000px;
    width: 92%;
    margin: 0 auto;
    padding: 60px 0;
    text-align: left;
}

.box_2 .box {
    background: #fff;
    border: 2px solid #1BA2E6;
    width: 97.5%;
    padding: 7px 0;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    padding-left: 2%;
    margin: 30px auto 13px auto;
}

.box_2 .box::before {
    content: '';
    background: #1BA2E6;
    height: 100%;
    width: 10px;
    display: block;
    position: absolute;
    left: -1px;
    top: 0;
}

.box_2 p:first-of-type {
    font-size: 20px;
    font-weight: bold;
}

.box_2 p:first-of-type span {
    font-weight: normal;
}

.box_2 p:last-of-type {
    font-size: 20px;
    font-weight: bold;
    text-align: left;
}

.box_2 ul li {
    text-indent: -1em;
    margin-left: 1em;
    display: inline-block;
}

.box_2 ul.normal li {
    text-indent: 0;
    margin-left: 0;
}

.box_2 ul li::before {
    content: '■';
}

.box_2 ul.normal li::before {
    display: none;
}

.box_2 ul li span.kome,
.red_box .kome {
    text-indent: -1em;
    margin-left: 1em;
    display: inline-block;
}

.box_2 ul li span.kome::before,
.box_2_ul li.kome::before,
.red_box .kome::before {
    content: '※';
}

.box_2_ul li:first-child::before {
    content: '■抽選：';
}

.box_2_ul li:first-child {
    text-indent: -4em;
    margin-left: 4em;
    display: inline-block;
}

.box_2_ul li span.kome {
    text-indent: -1em !important;
    margin-left: -2em !important;
    display: inline-block;
}

.box_2 .red_box {
    max-width: 1000px;
    width: 94%;
    background: #F8D3D4;
    border: #DC0A16 3px solid;
    color: #000;
    font-size: 16px;
    text-align: center;
    margin: 20px auto 0 auto;
    padding: 15px 25px;
    text-align: left;

    word-break: break-all;
}

.box_2 .red_box p {
    font-size: 20px;
    color: #DC0A16;
    text-align: center;
    font-weight: bold;
    margin-bottom: 5px;
}

.box_2 .red_box li.disc::before {
    content: '・';
}

.box_2 .red_box li.disc {
    text-indent: -1em;
    margin-left: 1em;
}

.box_2 .red_box li.ml_1 {
    margin-left: 1em;
}

.box_3 {
    width: 100%;
    background: #1BA2E6;
    padding: 50px 0;
}

.box_3_text_1 {
    max-width: 205px;
    width: 80%;
}

.box_3_text_2 {
    max-width: 185px;
    width: 80%;
}

.box_3_box {
    max-width: 1000px;
    width: 90%;
    margin: auto auto 60px auto;
    text-align: center;
    border-radius: 15px;
    padding: 40px 0 50px 0;
    background: #fff;
    font-size: 16px;
    display: block;
}

.box_3_box_2 {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    border-radius: 15px;
    padding: 40px 0 50px 0;
    background: #fff;
    font-size: 16px;
    display: block;
}

.box_3_box p {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 15px !important;
    width: 95%;
    margin: 0 auto;
}

.box_3_box ul {
    /*    max-width: 854px;*/
    width: 92%;
    text-align: left;
    margin: 0 auto;
    letter-spacing: 0.06em;
}

/* 1. 全体の配置ルールを統一（インデントから絶対配置へ変更） */
.li_disc,
.li_kome,
.li_kome_2 {
    position: relative;
    padding-left: 1.2em;
    /* 記号のあとの「文字の開始位置」をここで固定 */
    text-indent: 0;
    /* マイナスインデントを解除 */
    margin-left: 0;
    /* マージンも不要になるので0に */
    list-style: none;
    /* デフォルトの点を念のため消す */
}

/* 2. 記号（・や※）の位置を左端に固定 */
.li_disc::before,
.li_kome::before,
.li_kome_2::before {
    position: absolute;
    left: 0;
    top: 0;
}

/* 3. 各クラスの記号を指定 */
.li_disc::before {
    content: '・';
}

.li_kome::before,
.li_kome_2::before {
    content: '※';
}

.li_maru::before {
    content: '●';
}

.box_3_box_2 p:first-of-type {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 14px;
}

.box_3_box_2 .li_kome {
    text-align: left;
    display: inline-block;
}

.box_3_box_2 .li_kome:first-of-type {
    text-align: center;
    font-size: 12px;
}

.box_3_box_2 .flow {
    width: 92%;
    margin: 15px auto auto auto;
}

.box_3_box_2 .campaign_code {
    margin-bottom: 30px;
}

.box_3_box_2 .campaign_code p {
    text-align: center;
    color: #FF0000;
    font-size: 18px;
    margin: 10px auto 15px auto;
    width: 92%;
}

.box_3_box_2 .campaign_code p span {
    font-size: 16px;
    display: block;
}

.box_3_box_2 .campaign_code ul {
    display: flex;
    margin: 0 auto;
    justify-content: center;
}

.box_3_box_2 .campaign_code ul li {
    max-width: 300px;
    width: 40%;
    background: #CF000E;
    color: #fff;
    border-radius: 55px;
    padding: 10px 0.5em;
    font-weight: bold;
    line-height: 1.3;
    font-size: 18px;
}

.box_3_box_2 .campaign_code ul li:first-child {
    margin-right: 15px;
}

.box_3_box_2 .campaign_code ul li:last-child {
    margin-left: 15px;
}

.box_3_box_2 .campaign_code ul li:hover {
    opacity: 0.7;
}

.box_3_box_2 .campaign_code ul li a {
    display: block;
    width: 100%;
    height: 100%;
}

.box_3_box_2 .campaign_code ul li a span {
    display: block;
    font-size: 16px;
}

.box_3_box_2 .shimekiri {
    border: 1px solid #1BA2E6;
    background: #E6F5FD;
    text-align: center;
    list-style: none;
    width: 90%;
    margin: 30px auto auto auto;
    padding: 20px 10px;
}

.box_3_box_2 .shimekiri li:first-child,
.box_3_box_2 .shimekiri li:nth-child(2) {
    font-size: 20px;
    margin-bottom: 5px;
    font-weight: 600;
}

.box_3_box_2 .text,
.box_3_box_2 .text .li_kome {
    font-size: 16px !important;
    text-align: left;
    width: 92%;
    margin: 0 auto;
    padding-left: 1em;
}

.box_3_box_2 .text li:first-child {
    font-weight: bold;
}

.box_3_box_2 .text li:nth-child(3) {
    margin-bottom: 1em;
}

.box_3_box_2 .text li:nth-child(4) {
    font-weight: bold;
}

/*
.btn{
    max-width: 360px;
    width: 100%;
	height: 87px;
	background: #E3000D;
	font-weight: bold;
	border-radius: 18px;
	line-height: 87px;
	letter-spacing: 0.06em;
	-webkit-transition: none;
	transition: none;
	text-decoration: none!important;
	box-shadow: 0 10px 0 #A50009;  
    display: block;
    position: relative;
    margin: 23px auto 35px auto;
    text-align: center;
}

.btn p{
    font-family: 'M PLUS 2', sans-serif;
    font-size: 30px;
    color: #fff;
}

.btn:hover{
	top: 8px;
	box-shadow: none;
}
*/

/*
.box_3_box_3{
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

.winning_flow{
    width: 92%;
    padding: 12px 0;
    background: #06285A;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    display: inline-block;
    text-align: left;
    
    position: relative;
    margin: auto auto 35px auto;
}

.winning_flow:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #06285A;
}

.box_3_box_3 ul.winning_flow:nth-child(4){
    margin-bottom: 20px;
}

.box_3_box_3 ul.winning_flow:nth-child(4):before {
    display: none;
}

.winning_flow li:first-child{
    font-size: 30px;
    color: #06285A;
    background:#FEEC34;
    text-align: center;
    font-family: 'M PLUS 2', sans-serif;
    border-radius: 23px;
    height: 45px;
    width: 45px;
    margin-right: 0.3em;
    margin-left: 0.3em;
}

.winning_flow li:last-child{
    width: 89%;
    letter-spacing: 0.06px;
}

.winning_flow li{
    display: inline-block;
    vertical-align: middle;
}

.box_3_box_3 .text{
    text-align: left;
    width: 92%;
    margin: 0 auto;
    padding-left: 1em;
}

.box_3_box_3 .li_maru{
    text-indent: -1em;
    margin-left: 1em;
}
*/

.box_4 {
    width: 100%;
    background: #F5F5F5;
    padding: 70px 0;
}

.quo_text_box {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

.quo_text {
    max-width: 854px;
    width: 90%;
    margin: auto 0 auto auto;
    text-align: center;
    display: flex;
    align-items: center;
}

.quo_text li:first-child {
    /*    max-width: 280px;*/
    /*    width: 100%;*/
    text-align: right;
    width: 50%;
}

.quo_text li:last-child {
    text-align: left;
    font-size: 22px;
    margin-left: 35px;

    /*    width: 63.11%;*/
}

.quo_text li:last-child span {
    font-size: 16px;
    display: block;
    margin-top: 5px;
}

.quo_text img {
    /*    width: 100%;*/
    width: 92%;
}

.quo_flow {
    max-width: 1000px;
    width: 90%;
    margin: 35px auto 47px auto;
    background: #FEED80;
    padding-bottom: 25px;
}

.quo_flow p {
    font-size: 22px;
    text-align: center;
    color: #fff;
    background: #137CCF;
    padding: 10px 0;
}

.quo_flow_inner {
    /*    max-width: 957px;*/
    width: 100%;
    margin: 0 auto;
    font-size: 16px;
    text-align: center;
    margin-top: 60px;
    margin-bottom: 20px;
    font-size: 16px;
    letter-spacing: 0.06em;
}

.quo_flow_inner ul:first-child,
.quo_flow_inner ul:nth-child(2) {
    display: inline-block;
    max-width: 259px;
    width: 27%;
    vertical-align: top;
    text-align: left;
    position: relative;
}

.quo_flow_inner ul:nth-child(2) {
    margin: 0 2.6%;
}

.quo_flow_inner ul:last-child {
    display: inline-block;
    max-width: 347px;
    width: 36%;
    vertical-align: top;
    text-align: left;
    position: relative;
}

.quo_flow_inner ul:first-child::before {
    content: '';
    background: url("../img/quo_flow_step1.png");
    width: 65px;
    height: 65px;
    background-size: cover;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    top: -35px;
    left: -20px;
}

.quo_flow_inner ul:nth-child(2)::before {
    content: '';
    background: url("../img/quo_flow_step2.png");
    width: 65px;
    height: 65px;
    background-size: cover;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    top: -35px;
    left: -20px;
}

.quo_flow_inner ul:last-child::before {
    content: '';
    background: url("../img/quo_flow_step3.png");
    width: 65px;
    height: 65px;
    background-size: cover;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    top: -35px;
    left: -20px;
}

.quo_flow_inner img {
    width: 100%;
}

.box_4 .kome_box {
    width: 91%;
    margin: 0 auto;
    font-size: 14px;
    text-indent: -2.5em;
    margin-left: 4em;

}

.box_4 .kome_box li:first-child::before {
    content: '※1';
    margin-right: 1em;
}

.box_4 .kome_box li:nth-child(2)::before {
    content: '※2';
    margin-right: 1em;
}

.box_4 .kome_box li:nth-child(3)::before {
    content: '※3';
    margin-right: 1em;
}

.box_4 .kome_box li:last-child::before {
    content: '※4';
    margin-right: 1em;
}

.box_4 a {
    max-width: 325px;
    width: 31%;
    display: inline-block;
    border-radius: 127px;
    border: 2px solid #1278C9;
    background: #fff;
    font-size: 18px;
    color: #1278C9;
    text-align: center;
    font-weight: bold;
    padding: 8px 0;
}

.box_4 a:nth-child(2) {
    margin: 0 1%;
}

.box_4 a:hover {
    opacity: 0.7;
}

.quo_btn {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

.box_5 {
    width: 100%;
    background: #DFF2FB;
    padding: 60px 0;
    margin: 0 auto;
}

.box_5 div.midashi {
    margin-bottom: 25px;
}

.box_5 div.midashi:nth-of-type(3),
.box_5 div.midashi:nth-of-type(5) {
    margin-top: 100px;
}

.box_5_box {
    max-width: 1000px;
    width: 90%;
    background: #fff;
    text-align: left;
    margin: 0 auto;
    border-radius: 15px;
    padding: 20px 0;
}

.box_5_box ul {
    width: 92%;
    margin: 0 auto;
    font-size: 16px;
    word-break: break-all;
}

.box_5_box ul p {
    font-weight: bold;
    margin-bottom: 5px;
}

.box_5 div:nth-child(2) p:last-of-type {
    border-top: 2px solid #06285A;
    margin-top: 20px;
    padding-top: 20px;
}

/* .box_5 div:nth-child(2) li:nth-of-type(6),
.box_5 div:nth-child(2) li:nth-of-type(7),
.box_5 div:nth-child(2) li:nth-of-type(8) {
    margin-left: 1em;
} */

/*
.box_5 div:nth-child(2) li:last-of-type{
    margin-top: 1em;
}
*/

.box_5 div:last-child {
    text-align: center;
}

.box_5_g_2 {
    max-width: 1000px;
    width: 90%;
    background: #F5F5F5;
    text-align: left;
    margin: 0 auto;
    padding: 25px;
}

.box_5 .box_5_g_2:last-of-type {
    text-align: center;
}

.box_5_g_2 .privacy {
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

.contact_01 {
    max-width: 302px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

.contact_02 {
    width: 46px;
    height: 46px;
    vertical-align: middle;
    margin-right: 10px;
}

.box_5 .contact_mail {
    font-size: 25px;
    font-weight: bold;
    vertical-align: middle;
    margin: 10px auto;
}

.box_5 .jimukyoku {
    font-size: 25px;
    font-weight: bolder;
    letter-spacing: 0.06em;
}

.box_6 {
    width: 100%;
    background: #fff;
    padding: 60px 0;
}

.box_6_box {
    max-width: 780px;
    width: 90%;
    height: auto;
    margin: 0 auto;
    text-align: center;
    font-size: 25px;
    font-weight: bold;
}

.box_6_box img {
    width: 100%;
    max-width: 90%;
}

.box_6_box img:hover {
    opacity: 0.8
}

.box_6_box_img_1 {
    margin-top: 30px;
}

.banner_01_text_pc {
    width: 745px !important;
    margin-bottom: 65px;
    margin-top: 20px;
}

.banner_02_text_pc {
    width: 554px !important;
    margin-bottom: 65px;
    margin-top: 20px;
}

footer {
    background: url("../img/footer_bg.png") no-repeat;
    background-size: cover;
    text-align: center;
    padding: 60px 0;
    background-repeat: no-repeat;
}

footer a {
    max-width: 748px;
    width: 80%;
    margin: 0 auto;
    display: block;
}

footer img:hover {
    opacity: 0.8;
}

footer a img {
    width: 100%;
}

.copyright {
    width: 100%;
    background: #E30A17;
    font-size: 14px;
    text-align: center;
    padding: 5px 0;
    color: #fff;
    font-weight: lighter;
    margin-bottom: 70px;
}

.copyright_no {
    margin-bottom: 0 !important;
}

.winning_box {
    background: #C9EEF9;
    width: 100%;
    padding: 50px 0;
    color: #03275B;
}

.winning_text {
    max-width: 1000px;
    width: 95%;
    margin: 0 auto;
    text-align: center;
    font-size: 25px;
    font-weight: bold;
}

/*
.btn_fixed{
    position: fixed;
    background: #000;
    width: 100%;
    height: 70px;
    text-align: center;
    right: 0;
    bottom: 0;
    z-index: 1;
    padding-bottom: 15px;
}

.btn_fixed a{
    font-family: 'M PLUS 2', sans-serif;
    max-width: 600px;
    width: 90%;
	height: 50px;
	background: #E3000D;
	font-weight: bold;
	border-radius: 10px;
	line-height: 50px;
	letter-spacing: 0.06em;
	-webkit-transition: none;
	transition: none;
	text-decoration: none!important;
	box-shadow: 0 8px 0 #A50009;  
    display: block;
    position: relative;
    margin: 23px auto 35px auto;
    text-align: center;
    font-size: 25px;
    color: #fff;
}

.btn_fixed a:hover{
	top: 8px;
	box-shadow: none;
}
*/

.btn_fixed {
    position: fixed;
    background: #E3000D;
    width: 100%;
    height: 70px;
    text-align: center;
    right: 0;
    bottom: 0;
    z-index: 1;
    box-shadow: 0 -6px 10px rgba(0, 0, 0, 0.3);

    background-image: linear-gradient(20deg,
            #E3000D 45%,
            rgb(255, 255, 255, 0.4) 50%,
            #E3000D 55%);
    background-size: 500% 100%;
    /*    background-clip: text;*/
    /*    -webkit-background-clip: text;*/
    color: transparent;
    animation: shine 2.5s infinite;
}

.btn_fixed a {
    font-family: 'M PLUS 2', sans-serif;
    /*    max-width: 600px;*/
    width: 100%;
    height: 100%;
    /*	background: #E3000D;*/
    font-weight: bold;
    /*	border-radius: 10px;*/
    line-height: 70px;
    letter-spacing: 0.06em;
    -webkit-transition: none;
    transition: none;
    text-decoration: none !important;
    /*	box-shadow: 0 8px 0 #A50009;  */
    display: block;
    position: relative;
    /*    margin: 23px auto 35px auto;*/
    text-align: center;
    font-size: 25px;
    color: #fff;
}

.btn_fixed:hover {
    opacity: 0.7;
}

.text_b {
    font-size: 12px;
    padding-bottom: 10px;
}

.text_r {
    font-size: 12px;
    color: #FF0000;
    padding-bottom: 10px;
}

@keyframes shine {
    0% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@media screen and (max-width: 840px) {
    .box_4 a {
        font-size: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .sp {
        display: inherit !important;
    }

    .pc {
        display: none !important;
    }

    .header_top {
        height: 40px;
        margin: 0 auto;
        text-align: center;
        padding: 0;
    }

    .header_top img {
        margin-top: 0;
        margin-left: 0;
        width: auto;
        height: 55%;
        max-width: none;
        padding: 1vh 0 0 0;
        vertical-align: middle;
    }

    .header_top img:first-child {
        margin-left: 0;
        margin-right: 20px;
    }

    .header_btn_box {
        padding: 10px 0 0 0;
    }

    .header_btn_inner {
        height: 30px;
    }

    .header_btn_inner li {
        font-size: 15px;
        width: 50%;
        height: 30px;
        line-height: 30px;
        border-radius: 7px 7px 0 0;
        border-top: 2px solid #000;
        border-left: 2px solid #000;
        border-right: 2px solid #000;
    }

    .header_btn_inner::after {
        height: 10px;
    }

    .header_btn_off {
        position: relative;
        top: 8px;
    }

    .mv {
        margin-top: 92px;
        background: url("../img/mv_bg_sp.png") no-repeat;
        background-size: contain;
        background-color: #004980;
    }

    h1 {
        width: 100%;
        margin-top: 0;
    }

    h1 img:first-child {
        width: 100%;
    }

    .midashi {
        font-size: 20px;
        margin-bottom: 35px;
    }

    .midashi span {
        font-size: 15px;
    }

    .midashi::after {
        width: 40px;
        height: 4px;
    }

    .midashi::after {
        margin: 2px auto auto auto;
    }

    .box_1 {
        padding: 30px 0;
    }

    .box_1_text img {
        max-width: 333px;
        width: 100%;
        text-align: center;
        margin: 15px auto auto auto;
    }

    .box_1_text p:first-child {
        font-size: 18px;
        padding-bottom: 10px;
    }

    .box_1_text p:last-child {
        font-size: 15px;
        margin-top: 10px;
    }

    .box_1_text p:last-child span {
        font-size: 15px;
    }

    .box_1_text p:last-child span.min {
        font-size: 12px;
    }

    .box_2,
    .box_2 p:first-of-type {
        font-size: 15px;
    }

    .box_2 .box {
        font-size: 18px;
        padding-left: 6%;
        width: 92%;
    }

    .box_3_box {
        border-radius: 15px;
        padding: 30px 0;
        font-size: 15px;
        margin: auto auto 46px auto;
        letter-spacing: 0.06em;
    }

    .box_3_box_2 {
        border-radius: 15px;
        padding: 30px 0;
        font-size: 15px;
        margin: auto auto 0 auto;
        letter-spacing: 0.06em;
    }

    .box_3_box p:first-of-type {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .box_3_box ul li:first-child {
        font-size: 15px;
        margin-top: 15px;
    }

    .box_3_box_2 p:first-of-type {
        font-size: 18px;
    }

    .box_3_box_2 .li_kome {
        text-align: center !important;
        display: block;
        width: 90%;
        margin: 0 auto;
        padding-left: 0.5em;
    }

    .box_3_box_2 img {
        margin: 30px auto;
    }

    .box_3_box_2 .li_maru {
        font-size: 15px;
        width: 89%;
        /* margin-left: 0em; */
        padding-left: 1em;
    }

    .box_3_box_2 .li_kome_2 {
        padding-left: 1em;
    }

    .box_3_box_3 .li_maru {
        font-size: 15px;
        width: 95%;
        margin-left: 1em;
        padding-left: 0em;
    }

    .btn {
        width: 90%;
        height: 57px;
        line-height: 57px;
    }

    .btn p {
        font-size: 20px;
    }

    .winning_flow {
        padding: 13px 1%;
        width: 89%;
        font-size: 15px;
    }

    .winning_flow li:first-child {
        width: 30px;
        height: 30px;
        font-size: 20px;
        margin-right: 0;
    }

    .winning_flow li:last-child {
        width: 81%;
        margin-left: 1%;
    }

    .box_3_box_3 .text {
        padding-left: 0;
    }

    .quo_text {
        max-width: none;
        width: 100%;
        margin: 0 auto;
        display: block;
    }

    .quo_text li:first-child {
        display: block;
        margin: 40px auto 15px auto;
        max-width: 166px;
        width: 60%;
    }

    .quo_text li:last-child {
        display: block;
        text-align: center;
        margin-left: 0;
        font-size: 16px;
    }

    .quo_text li:last-child span {
        font-size: 13px;
        margin-top: 2px;
        text-align: left;
        letter-spacing: 0.04em;
    }

    .quo_flow p {
        font-size: 18px;
        padding: 5px 0;
    }

    .quo_flow_inner {
        margin-top: 45px;
        font-size: 15px;
        margin-bottom: 0;
    }

    .quo_flow_inner ul:first-child,
    .quo_flow_inner ul:nth-child(2),
    .quo_flow_inner ul:last-child {
        display: block;
        width: 78%;
        max-width: none;
        margin: auto auto 50px auto;
        letter-spacing: 0.03em;
    }

    .quo_flow_inner ul:last-child {
        margin: auto auto 30px auto;
    }

    .quo_flow_inner ul:first-child::before,
    .quo_flow_inner ul:nth-child(2):before,
    .quo_flow_inner ul:last-child:before {
        left: -6vw;
        width: 78px;
        height: 78px;
    }

    .box_4 .kome_box {
        width: auto;
        margin: 0 auto;
        font-size: 14px;
        text-indent: -2.5em;
        margin-left: 3.5em;
        padding-right: 1.4em;
    }

    .box_4 a {
        width: 90%;
        display: block;
        margin: 0 auto;
        font-size: 16px;
        padding: 7px 0;
        line-height: 20px;
    }

    .box_4 a:nth-child(2) {
        margin: 20px auto;
    }

    .quo_flow {
        margin: 20px auto 30px auto;
    }

    .box_5_g {
        width: auto;
        font-size: 14px;
        padding: 0 16px 15px 15px;
    }

    .box_5_g_2 {
        width: auto;
        font-size: 14px;
        padding: 10px 20px;
    }

    .box_5_g_2 .privacy {
        max-width: 297px;
        width: 100%;
    }

    .box_5_g_midashi {
        width: auto;
        text-align: center;
        font-size: 15px;
        padding: 5px 0;
    }

    .box_5_g .li_kome:first-of-type {
        padding-top: 10px !important;
    }

    .contact_01 {
        max-width: 209px;
        width: 80%;
    }

    .contact_02 {
        width: 32px;
        height: 32px;
    }

    .box_5 .contact_mail {
        font-size: 17px;
    }

    .box_5 .box_5_g_2:last-of-type {
        margin-bottom: 27px;
    }

    .box_2,
    .box_3,
    .box_4,
    .box_5 {
        padding: 40px 0;
    }

    .box_6 {
        padding: 30px 0 0 0;
    }

    .box_6_box_img_1 {
        margin-top: 0;
    }

    .banner_01_text_pc {
        width: 80% !important;
        margin-bottom: 40px;
    }

    .banner_02_text_pc {
        width: 80% !important;
        margin-bottom: 40px;
    }

    .box_6_box {
        font-size: 18px;
        font-weight: normal;
    }

    footer {
        background: url("../img/footer_bg_sp.png") no-repeat;
        background-size: cover;
        text-align: center;
        padding: 54px 0;
    }

    .copyright {
        font-size: 10px;
        margin-bottom: 50px;
    }

    /*
    .btn_fixed{
        height: 79px;
        padding-bottom: 25px;
    }
    .btn_fixed a{
        width: 85%;
        height: 54px;
        border-radius: 10px;
        line-height: 54px;
        font-size: 20px;
    }
*/

    .btn_fixed {
        height: 40px;
        padding: 5px 0;
        box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.4);
    }

    .btn_fixed a {
        height: 40px;
        line-height: 40px;
        font-size: 20px;
    }

    .winning_box {
        padding: 25px 0;
    }

    .winning_text {
        font-size: 18px;
        letter-spacing: 0;
    }

    .box_2 .red_box {
        width: 88%;

        font-size: 15px;
        margin: 20px auto 0 auto;
        padding: 15px;
    }

    .box_2 .red_box span {
        font-size: 16px;
    }

    .box_2 .red_box p {
        font-size: 17px;
    }

    /*
    .box_2 p:last-of-type{
        font-size: 15px;
    }
*/
    .box_2_ul li:first-child,
    .box_2_ul li span.kome {
        text-indent: -1em;
        margin-left: 1em !important;
    }

    .box_2_ul li:first-child::before {
        display: block;
    }

    .box_3_box_2 .li_kome,
    .box_3_box_2 .li_kome:first-of-type {
        text-align: left !important;
        font-size: 13px;
        letter-spacing: 0;
        padding-left: 1em;
        width: 84%;
        margin: 0 auto;
    }

    .box_3_box_2 .flow {
        display: block;
        margin: 20px auto 15px auto;
        max-width: 380px;
        width: 88%;
    }

    .box_3_box_2 .flow img {
        padding: 0;
        margin: 0;
    }

    .box_3_box_2 .flow img.flow_02_sp {
        /*        position: relative;*/
    }

    .box_3_box_2 .campaign_code {
        padding-bottom: 30px;
        margin-top: -95%;
        margin-bottom: 0;
        /*
        position: absolute;
        top: 0;
*/

        background: #E6F5FD;
        border-left: 3px solid #1BA2E6;
        border-right: 3px solid #1BA2E6;

    }

    .box_3_box_2 .campaign_code p {
        font-size: 15px;
        margin: 10px auto 10px auto;
        width: 95%;
        letter-spacing: 0em;
    }

    .box_3_box_2 .campaign_code p span {
        font-size: 13px;
    }

    .box_3_box_2 .campaign_code ul {
        display: block;
    }

    .box_3_box_2 .campaign_code ul li {
        /*        max-width: 300px;*/
        width: 85%;
        /*        background: #1BA2E6;*/
        /*        color: #fff;*/
        /*        border-radius: 55px;*/
        /*        padding: 10px 0.5em;*/
        /*        font-weight: bold;*/
        /*        line-height: 1.3;*/
        font-size: 16px;
        position: relative;
        z-index: 1;
        margin: 0 auto;
    }

    .box_3_box_2 .campaign_code ul li a span {
        font-size: 14px;
    }

    .box_3_box_2 .campaign_code ul li:first-child,
    .box_3_box_2 .campaign_code ul li:last-child {
        margin: auto auto 10px auto;
        /*        margin-right: 0;*/
        /*        margin-bottom: 10px;*/
    }

    /*
    .box_3_box_2 .flow ul:last-child{
        margin-bottom: 0;
    }
    .box_3_box_2 .flow ul::after{
        background: url(../img/flow_next_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 18%;
        height: 15px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        top: auto;
        bottom: -30px;
        display: block;
    }
    .box_3_box_2 .flow ul li:nth-child(2){
        font-size: 15px;
        margin-bottom: 12px;
        padding: 0;
        width: 86%;
        letter-spacing: 0;
    }
    .box_3_box_2 .flow ul img {
        margin: auto auto 15px auto;
    }
    .box_3_box_2 .flow ul:first-child li:last-child img {
        margin: 0 auto;
    }
    .box_3_box_2 .flow ul:nth-child(2) li:last-child{
        margin-bottom: 0;
    }
    .box_3_box_2 .flow ul li.li_kome{
        font-size: 13px;
        width: 80%;
        letter-spacing: 0;
    }
*/
    .box_3_box_2 .shimekiri {
        max-width: 380px;
        width: 82%;
        margin: 20px auto auto auto;
        padding: 15px 8px;
    }

    .box_3_box_2 .shimekiri li:first-child,
    .box_3_box_2 .shimekiri li:nth-child(2) {
        font-size: 16px;
    }

    .box_3_box_2 .shimekiri li:last-child {
        font-size: 13px;
    }

    .box_3_box_2 .text {
        width: 89%;
        font-size: 15px !important;
        padding-left: 0;
        letter-spacing: 0;
    }

    .box_3_box_2 .text .li_kome {
        width: 95%;
        font-size: 15px !important;
        padding-left: 0;
        letter-spacing: 0;
        margin: 0 0 0 1em;
    }

    .box_5_box ul {
        width: 90%;
        font-size: 15px;
    }

    .box_5 div.midashi:nth-of-type(3),
    .box_5 div.midashi:nth-of-type(5) {
        margin-top: 40px;
    }

    .box_5_box:last-child li:last-child {
        padding: 0 5%;
        text-align: left;
        font-size: 15px;
    }

    .box_5 .jimukyoku {
        font-size: 17px;
    }
}

@media screen and (max-width:382px) {
    .box_3_box_2 .campaign_code {
        padding-bottom: 9%;
    }
}

@media screen and (max-width:372px) {
    .box_3_box_2 .campaign_code {
        padding-bottom: 8%;
    }
}

@media screen and (max-width:370px) {
    .box_3_box_2 .campaign_code p {
        font-size: 3.6vw;
    }

    .box_3_box_2 .campaign_code p span {
        font-size: 3.3vw;
    }

    .box_3_box_2 .campaign_code ul li {
        font-size: 4.2vw
    }

    .box_3_box_2 .campaign_code ul li span {
        font-size: 3.6vw
    }

    .box_3_box_2 .campaign_code {
        /*        margin-bottom: 10px;*/
    }

}

@media screen and (max-width:350px) {

    /*
    .header_btn_inner li{
        font-size: 5vw;
    }
*/
    .box_1_text p:first-child {
        font-size: 5.5vw;
    }

    .box_1_text p:last-child,
    .box_1_text p:last-child span {
        font-size: 4.5vw;
    }

    .btn_fixed a {
        font-size: 5.5vw;
    }
}

@media screen and (max-width:333px) {
    .box_3_box_2 .campaign_code {
        padding-bottom: 6%;
    }
}

@media screen and (max-width:315px) {
    .box_3_box_2 .campaign_code {
        padding-bottom: 5%;
    }
}

@media screen and (max-width:312px) {
    .box_3_box_2 .campaign_code {
        padding-bottom: 4%;
    }
}

@media screen and (max-width:308px) {
    .box_3_box_2 .campaign_code {
        padding-bottom: 1%;
    }
}