@charset "UTF-8";
/*
 * 2025年　リニューアル
 */
 .header .inner {
    background: #fff;
    box-sizing: border-box;
    max-width: 1300px;
    min-height: 70px;
    padding: 14px 0% 5px;
    position: relative;
    width: 100%;
}
.logo_2025 {
    margin: auto;
    max-width: 260px;
    width: 40%;
}
.hero_head {
    margin: auto;
    max-width: 107px;
    position: absolute; top: 15px; left: 3%;
    width: 14%;
}
.header .line_2025 {
    background: #912e34;
    height: 2px;
    position: absolute; top: 0; left: 0;
    width: 100%;
}
.login_head_2025 {
    background: url("../img/icn_login_2501.png") no-repeat;
    background-position: center 30%;
    background-size: 45%;
    font-size: clamp(12px, 3.3332vw, 16px);
    height: auto;
    padding: 9% 0 0;
    position: absolute;
    right: 13%;
    top: 18%;
    text-align: center;
    width: 15%;
}
.menu-trigger:after {
	display: none;
}

@media only screen and (min-width: 500px) and (max-width: 1121px) {
        .hero_head {
            max-width: 80px;
        }
        .logo_2025 {
            margin: auto;
            max-width: 220px;
            width: 40%;
        }
        .login_head_2025 {
            padding: 7% 0 0;
            width: 12%;
        }
}


@media only screen and (min-width: 1122px){
        .logo_2025 {
            position: absolute; top: 20px; left: 108px;
            width: 260px;
        }
        .hero_head {
            float: left;
            margin: 0 10px 0 0;
            max-width: 107px;
            position: absolute; top: 15px; left: 0%;
            width: 14%;
        }
		.login_head_2025 {
			background: none;
            border: none;
			border-radius: 22px;
			color: #000;
			font-size: 14px;
			height: 44px;
			line-height: 44px;
			padding: 0 0 0 10px;
			position: absolute; right: 0px; top: 19px;
			text-align: center;
			width: auto;
			z-index: 10001;
		}
        .login_head_2025 span {
            background: url("../img/icn_login_2501.png") no-repeat;
            background-size: 25px;
            display: inline-block ;
            line-height: 25px;
            padding: 0 0 0 2.5em;
        }
        .login_head_2025:hover {
            opacity: .4;
        }
		.header.login .login_head{
			top: 59px;
		}
		.header.login .login_head {
			left: inherit;
		}
        .sns_wrap_head.sns_202501 {
            background: none;
            border-right: solid 1px #999;
            border-radius: 0;
            flex-wrap: wrap;
            height: 26px;
            justify-content: space-between;
            margin: 0 auto;
            padding: 0 30px 0 0;
            position: fixed;
            top: 27px;
            right: 110px;
			width: 280px;
		}
        .sns_wrap_head.sns_202501 a:first-child {
            margin: 0 20px 3px 0;
        }
        .sns_wrap_head.sns_202501 a:nth-child(2) {
            margin: 0 20px 2px 0;
        }
}

@media only screen and (min-width: 769px) and (max-width: 1121px) {
        .login_head_2025 {
            background: url("../img/icn_login_2501.png") no-repeat;
            background-position: center 10px;
            background-size: 26px;
            font-size: 16px;
            padding: 40px 0 0;
            right: 120px;
            top: 30px;
            width: 60px;
        }
}

/* 1123pxから1300pxまでのコード */
@media only screen and (min-width: 1123px) and (max-width: 1300px) {
         .header .inner {
            width: 94%;
        }
        .logo_2025 {
            position: absolute; top: 20px; left: 108px;
            width: 260px;
        }
        .hero_head {
            margin: auto;
            max-width: 107px;
            position: absolute; top: 15px; left: 0%;
            width: 14%;
        }
}

.count_wrap {
    height: 200px;
    opacity: 0;
    position: fixed; left: 0; bottom: 0;
    transition:all 0.6s ease-in-out;
    width: 100%;
}
.count_wrap.action {
    opacity: 100;
    transition:all 0.6s ease-in-out;
}
.count_wrap .anime {
    position: absolute; left: -2%; bottom: -15%;
    z-index: 103;
    width: 128px;
}
.count_wrap .cd_wrap {
    background: #fff;
    border: solid 2px #950c09;
    border-radius: 100px;
    box-shadow: 2px 3px 10px #333;
    color: #000;
    padding: 3px 16px 7px 23px;
    position: absolute;
    left: 90px;
    bottom: 20px;
    z-index: 102;

}
.count_wrap .cd_wrap .txt {
    color: #950c09;
    font-size: 10px;
    font-weight: 700;
}
.count_wrap .cd_wrap #countdown {
    font-size: 1em;
    line-height: 1.2;
}
@media only screen and (min-width: 768px) {
        .count_wrap {
            height: 200px;
            pointer-events: none;
            width: 100%;
        }
        .count_wrap .anime {
            left: -2%;
            bottom: -57px;
            width: 250px;
            z-index: 2;
        }
        .count_wrap .cd_wrap {
            border: solid 2px #950c09;
            border-radius: 100px;
            box-shadow: 2px 3px 10px #333;
            color: #000;
            padding: 10px 19px 12px 29px;
            position: absolute;
            left: 162px;
            bottom: 58px;
            z-index: 1;
        }
        .count_wrap .cd_wrap .txt {
            color: #950c09;
            font-size: 13px;
            font-weight: 700;
        }
        .count_wrap .cd_wrap #countdown {
            font-size: 23px;
            line-height: 1;
        }
}




.modal {
    overflow-y: auto; /* モーダル内のスクロールを有効にする */
    -webkit-overflow-scrolling: touch; /* iOSでのスムーズスクロール */
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.8);
}

.modal-content {
    overflow-y: auto; /* コンテンツが大きい場合にスクロール可能にする */
    margin: 10px auto;
    max-height: 95dvh; /* 動的ビューポート高 */
    max-width: 1300px;
    position: relative;
    width: calc(100% - 20px);
}
.modal-content img,
.modal-content video,
.modal-content iframe {
    max-width: 100%;
}
.modal-content p {
    margin: 0 0 1em;
    max-width: 100%;
    word-break: break-all;
}

.close {
    background: #616161;
    cursor: pointer;
    height: 40px;
    line-height: 1;
    padding: 0;
    position: absolute ;
    right: 0px;
    top: 0px;
    width: 40px;
}
.close:before {
    background: #fff;
    content: "";
    height: 1px;
    position: absolute ;
    transform: rotate(45deg);
    top: 20px;
    left: -5px;
    width: 50px;
}
.close:after {
    background: #fff;
    content: "";
    height: 1px;
    position: absolute ;
    transform: rotate(135deg);
    top: 20px;
    left: -5px;
    width: 50px;
}

.img_35dome {
    margin: 0 auto 30px;
    max-width: 480px;
    position: relative;
    width: 75%;
}
.btn_modal_01 {
    background: #a51632;
    border: solid 1px #000;
    border-radius: 30px;
    color: #fff;
    font-size: clamp(14px, 3.3332vw, 20px);
    font-weight: 700;
    height: 30px;
    line-height: 30px;
    position: absolute; bottom: 20px; left: 10%;
    text-align: center;
    width: 80%;
}
.spacer_modal {
    clear: both;
    height: 0px;
}

@media only screen and (min-width: 768px) {
        .modal-content {
            margin: 20px auto;
            width: calc(100% - 40px);
        }
        .modal-content .inner {
            height: 100%;
            padding: 0 0px 100px;
            width: 100%;
        }
        .close {
            height: 60px;
            transition:all 0.6s ease-in-out;
            width: 60px;
        }
        .close:before {
            top: 30px;
            left: -0px;
            width: 60px;
        }
        .close:after {
            top: 30px;
            left: -0px;
            width: 60px;
        }
        .close:hover {
            background: #333;
            transition:all 0.3s ease-in-out;
        }
        .btn_modal_01 {
            border-radius: 30px;
            height: 60px;
            left: inherit;
            line-height: 56px;
            transition:all 0.6s ease-in-out;
            bottom: 20px;
            right: 60px;
            width: 430px;
        }
        .btn_modal_01:hover {
            background: #ffff00;
            color: #912e34;
            transition:all 0.3s ease-in-out;
        }
}
