@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=block');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=block');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=block');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=block');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&display=block');

* {
	margin:0;
	padding:0;
	text-shadow:none;
	letter-spacing:-0.01px;
	letter-spacing:0.085em;
	font-weight:normal;
	line-height:1.6;
	-webkit-text-size-adjust:100%;
	font-size:12px;
	font-family:"Roboto","Helvetica Neue",YakuHanJP, 'Noto Sans JP',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Osaka,"CI",Meiryo,"メイリオ","lroSVbN","ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight:500;
    outline : none;
	font-feature-settings: "palt";
}

html {
	position:relative;
}

body {
	min-width:1200px;
	position:relative;
	padding:0 0 3.9vw 0;
}

body.lock {
	overflow:hidden;
}

a {
	outline:0;
	border:0;
	color:#0099ff;
	text-decoration:underline;
}

a img {
	transition:1.0s;
}

a img:hover {
	opacity:0.5;
}

img {
	vertical-align:top;
	border:0;
    outline : none;
}

ul,ol {
	list-style:none;
}

.footer {
    padding:34px 0 30px 0;
}

/* コンテント */

.content {
	margin:0 auto;
	width:70vw;
}

/* BOX */

#site_box {
	overflow:hidden;
	clear:both;
	aspect-ratio: 1 / 0.55;
	position:relative;
	background:url(../img/bg_v2.jpg) no-repeat top center #ffffff;
	background-size:100% auto;
}

#site_box_bot {
	background:url(../img/bg_popup.jpg) no-repeat top center #ffffff;
	background-size:cover;
	background-attachment: fixed;
}

/* ヘッダー */

#first  {
	position:relative;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	width:58.5vw;
}

#first .tag {
	width:90vw;
	margin:1.75vw 5vw 0 5vw;
	position:absolute;
}

#first .tag img {
	width:100%;
}

#first .title_box {
	position:relative;
	margin:16.5vw 0 0 12vw;
}

#first .title_box img {
	width:100%;
}

#first h2 {
	position:absolute;
	top:0;
	left:0;
	text-align:center;
	z-index:5;
}

#first .release {
	position:absolute;
	top:0;
	left:0;
	text-align:center;
	z-index:4;
}

#first p {
	width:43.5vw;
	margin:0.085vw 0 0 13.5vw;
	text-align:center;
}

#first p a {
	display:inline-block;
	width:45%;
	margin:0 5px;
}

#first p img {
	width:100%;
}

/* テロップ */

.telop_box {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	z-index:10;
	background:rgba(0,0,0,0.4);
	padding:15px 30px 15px 30px;
	overflow:hidden;
	clear:both;
}

.telop_count {
	width:450px;
	float:left;
	text-align: center;
	font-size:18px;
	font-weight:500;
	color:#e7e264;
    line-height:1;
    position:relative;
}

.telop_count *,
.telop_count span {
    font-weight:500;
	font-size:40px;
	line-height:1;
	font-family: 'Oswald', sans-serif;
	color:#e7e264;
}

.telop {
	width:calc(100% - 450px);
	height:35px;
	overflow:hidden;
	float:left;
	margin:8px 0 0 0;
	visibility:hidden;
	opacity:0;
}

.telop_item_in {
	overflow:hidden;
	clear:both;
	margin:0 20px;
}

.telop_item_in_in {
	float:left;
}

.telop .icon {
	width:35px;
	float:left;
}

.telop .icon img {
	width:100%;
}

.telop p {
	float:left;
	margin:0 0 0 10px;
}

.telop p,
.telop p a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight:500;
    font-size:20px;
    text-decoration:none;
	color:#ffffff;
	letter-spacing:0.1em;
}

.telop p span {
	color:#e7e264;
    font-weight:800;
    font-size:22px;
	display:inline-block;
	letter-spacing:0.1em;
}

/* バナー */

.banner {
	position:absolute;
	bottom:2.5vw;
	right:2.5vw;
	width:18vw;
}

.banner img {
	width:100%;
}

/* コピーライト */

#fot_logo {
	position:absolute;
	bottom:80px;
	right:25px;
	z-index:888;
}

#fot_logo .copyright {
	color:#cccccc;
	font-size:8px;
}

/* プレゼント */

#present {
	padding:50px 0 50px 0;
}

#present p {
	text-align:center;
	margin:0 0 5px 0;
}

#present p,
#present p * {
}

#present p strong {
	display:inline-block;
	font-size:40px;
	font-weight:900;
	color:#16286e;
	background:#ffffff;
	padding:7px;
	margin:0 5px 0 0;
	line-height:1;
}

#present p span {
	display:inline-block;
	font-size:36px;
	font-weight:800;
	color:#000000;
}

#present p span.big {
	font-size:46px;
}

#present p span.small {
	display:inline;
	font-size:30px;
	font-weight:800;
	color:#000000;
	border-bottom:0;
	margin:0;
}

#present .present_item {
	clear:both;
	overflow:hidden;
	margin:20px auto 0 auto;
}

#present .present_item_in {
	width:calc(25% - 15px);
	float:left;
	margin:0 7.5px 0 7.5px;
}

#present .present_item_in img {
	width:100%;
}

#present .present_kome {
	font-size:16px;
	color:#000000;
	text-align:center;
	margin:20px 0 0 0;
	font-weight:500;
}

#present .campaign_end {
	text-align:center;
	color:#16286e;
	font-size:24px;
	font-weight:700;
}

#present .campaign_end span {
	color:#16286e;
	font-size:40px;
	font-weight:700;
}

#present .campaign_end span.title {
	color:#16286e;
	font-size:20px;
	display:inline-block;
}

/* ステップ */

#step {
	padding:10px 0 50px 0;
}

#step h3 {
	text-align:center;
	margin:40px 15px 0 15px;
}

#step h3 img {
	height:65px;
}

#step .step_item {
	padding:0 70px;
}

#step .step_item_in {
	margin:30px 15px 0 15px;
	padding:30px;
	background: url(../img/bg_item_pc.jpg) no-repeat center center;
	background-attachment: fixed;
	background-size: cover;
}

#step .step_item_in.age {
}

#step .step_item_in_in {
}

#step .step_item_in_in p {
}

#step .step_item_in p {
	font-size:28px;
	text-align:center;
	font-weight:700;
	color:#ffffff;
	padding:0 0 0 25px;
}

#step .step_item_in p span {
	font-size:40px;
	font-weight:900;
	color:#e5c672;
}

#step .step_item_in span.small {
	font-size:16px;
	font-weight:700;
	color:#e5c672;
	display:block;
	margin:10px 0 0 0;
}

#step .step_item_in span.small a {
	font-size:16px;
	font-weight:700;
	color:#e5c672;
}

#step .step_but_box {
	margin:10px 0 0 0;
}

#step .step_but {
	text-align:center;
}

#step .step_but a {
	display:inline-block;
	border-radius:100px;
	text-align:center;
	color:#16286e;
	font-size:40px;
	text-decoration: none;
	font-weight:700;
	background:#ffffff;
	margin:10px 0 0 0;
	padding:10px 120px;
	font-weight:700;
}

#step .step_but.small a {
	font-size:24px;
	padding:10px 50px;
	font-weight:700;
}

#step .step_but.small a span {
	font-size:18px;
	color:#16286e;
	font-weight:700;
}

#step .step_but a:hover {
	opacity:0.65;
}

#step .kiyaku_list ul {
	margin:40px 15px 0 15px;
}

#step .kiyaku_list li {
	list-style-type: none;
	padding:0 0 0 14px;
	font-size:12px;
	font-weight:500;
	color:#000000;
	position:relative;
}

#step .kiyaku_list li a {
	font-size:12px;
	color:#16286e;
	font-weight:700;
	text-decoration:underline;
}

#step .kiyaku_list li:before {
	display: inline;
	content: "※";
	position: absolute;
	top:0;
	left:0;
}

#step .kiyaku_list.kome li:before {
	content: "■";
	font-size:10px;
	display: inline-block;
	color:#16286e;
}

#step .kiyaku_list li b {
	font-size:12px;
	color:#000000;
	font-weight:800;
}

/* コメント */

#comment {
	padding:40px 0 50px 0;
	position:relative;
}

#comment .content {
}

#comment .content h2 img {
	width:100%;
}

.movie_bg {
	position: fixed;
	top:0;
	right: 0;
	bottom: 0;
	min-width: 100%;
	min-height: 100%;
	z-index:-4;
	overflow:hidden;
	background:url(../img/bg_dot.svg);
	background-size:4px 4px;
}

.parallax-bg {
  width: 100%;
	height:100%;
	position:fixed;
  top: 0;
  left: 0;
  bottom:0;
  z-index: -5;
	height:100vh;
}

.parallax-bg video {
  width: 100%;
	height:100%;
  object-fit: cover; 
}

#comments h2 {
	position:relative;
	top:-50px;
	text-align:center;
}

#comments h2 img {
	margin:0 auto;
}

#comment p {
	text-align:center;
	font-size:20px;
	font-weight:500;
	color:#ffffff;
}

#comment p span {
	font-size:26px;
	color:#f1f404;
	font-weight:700;
}

#comment p a {
	font-size:20px;
	color:#ffffff;
	font-weight:500;
	text-decoration: underline;
}

#comment  #gadget {
	visibility:hidden;
	padding:0 20px 60px 20px;
}

#comment .comment_cont_box {
	padding:20px 0 20px 0;
	text-align:center;
}

#comment .comment_cont {
	display:inline-block;
    font-weight:500;
	font-size:36px;
	line-height:1;
	padding:0 20px 10px 20px;
	color:#ffffff;
}

#comment .comment_cont span,
#comment .comment_cont span * {
    font-weight:500;
	font-size:60px;
	line-height:1;
	color:#ffffff;
	font-family: 'Oswald', sans-serif;
}

#comment #gadget .type p span {
	line-height:1.4;
}

#gadget #more {
	color:#ffffff;
    font-weight:700;
}

#comment .sign_text {
	font-size:16px;
	font-weight:500;
	text-align:center;
	color:#ffffff;
}

/* ポップアップ */

.kiyaku_box {
	display:none;
}

.kiyaku_box_in {
	position:fixed;
	background:rgba(255,255,255,0.85);
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:10010 !important;
}

.kiyaku_text {
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	background:url(../img/bg_popup.jpg) no-repeat top center #ffffff;
	background-size:cover;
	overflow:hidden;
	z-index:10011 !important;
}

.kiyaku_text_in_out {
	overflow-y:scroll;
	scrollbar-width:10px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:auto;
	height:100%;
}

.kiyaku_text_in {
	position:relative;
	padding:20px 70px 20px 70px;
	z-index:10012 !important;
	display:none;
	margin:auto;
}

.kiyaku_text_in_out::-webkit-scrollbar,
.kiyaku_text::-webkit-scrollbar {
	width:10px;
}

.kiyaku_text_in_out::-webkit-scrollbar-track,
.kiyaku_text::-webkit-scrollbar-track {
	background:#ffffff;
}

.kiyaku_text_in_out::-webkit-scrollbar-thumb,
.kiyaku_text::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, 0.5);
	box-shadow:0 0 0 1px rgba(255, 255, 255, 0.5);
}

.kiyaku_text_in::-webkit-scrollbar-corner,
.kiyaku_text_in_out::-webkit-scrollbar-corner {
	display: none;
}

.kiyaku_close {
	display:block;
	position:fixed;
	top:20px;
	right:20px;
	width:60px;
	height:60px;
	transition:0.35s;
	cursor: pointer;
	z-index:10013 !important;
}

.kiyaku_close:hover {
	opacity:0.5;
}

.kiyaku_close::before,
.kiyaku_close::after {
	content: "";
	position: absolute;
	top:50%;
	left:50%;
	width:2px;
	height:60px;
	background:#16286e;
}
 
.kiyaku_close::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
 
.kiyaku_close::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

/* ポップアップ - タブ */

.campaign_tab {
	position: absolute;
	top:0;
	left:0;
	right:0;
	padding:30px 0 0 0;
	z-index:10020 !important;
}

.campaign_tab ul {
	text-align:center;
}

.campaign_tab li {
	display:inline-block;
	font-size:18px;
	font-weight:500;
	color:#16286e;
	background:#ffffff;
	padding:10px 30px;
	margin:0 3px;
	border-radius:50px;
	cursor: pointer;
	transition:1.0s;
}

.campaign_tab li:hover {
	opacity:0.5;
}

.campaign_tab li.active {
	color:#ffffff;
	background:#16286e;
}

#campaign .step_item,
#campaign .kiyaku {
	display:none;
}

/* ポップアップ - インナー */

#campaign {
	padding:120px 0 20px 0;
	position:relative;
}

#campaign .main_item {
	width:1100px;
	margin:0 auto;
}

/* ポップアップ - 見出し */

#campaign h2 {
	text-align:center;
	margin:0 0 5px 0;
}

#campaign h2 span {
	display:inline-block;
	border-bottom:2px solid #000000;
	font-size:36px;
	font-weight:700;
	color:#000000;
	margin:0 0 10px 0;
}

#campaign h2 span.small {
	display:inline;
	font-size:30px;
	font-weight:700;
	color:#000000;
	border-bottom:0;
	margin:0;
}

/* ポップアップ - プレゼント */

#campaign .present_item {
	clear:both;
	overflow:hidden;
	margin:20px auto 0 auto;
}

#campaign .present_item_in {
	width:calc(25% - 10px);
	float:left;
	margin:0 5px 0 0;
}

#campaign .present_item_in img {
	width:100%;
}

#campaign .present_kome {
	font-size:14px;
	color:#000000;
	text-align:center;
	margin:15px 0 40px 0;
	font-weight:700;
}

/* ポップアップ - 応募方法 */

#campaign .step_item {
	padding:0 70px;
}

#campaign .step_item_in {
	margin:15px 0 0 0;
	padding:15px 20px;
}

#campaign .step_item_in.age {
}

#campaign .step_item_in_in {
	display:table;
}

#campaign .step_item_in_in h3,
#campaign .step_item_in_in p {
	display:table-cell;
}

#campaign .step_item_in_in h3 span {
	width:71px;
	height:71px;
	line-height:71px;
	font-size:50px;
	border:2px solid #000000;
	text-align:center;
	color:#000000;
	vertical-align:middle;
	font-weight:700;
	display:inline-block;
}

#campaign .step_item_in p {
	font-size:28px;
	text-align:left;
	vertical-align:middle;
	font-weight:700;
	color:#000000;
	padding:0 0 0 25px;
}

#campaign .step_item_in p span {
	font-size:40px;
	font-weight:700;
	color:#000000;
}

#campaign .step_item_in span.small {
	font-size:16px;
	font-weight:800;
	color:#16286e;
	display:block;
	margin:10px 0 0 0;
}

#campaign .step_but {
	padding:0 0 20px 0;
	text-align:center;
}

#campaign .step_but a {
	display:inline-block;
	border-radius:100px;
	text-align:center;
	color:#ffffff;
	font-size:40px;
	text-decoration: none;
	font-weight:700;
	background:#16286e;
	margin:30px 0 0 0;
	padding:10px 120px;
	font-weight:700;
}

#campaign .step_but.small a {
	font-size:24px;
	padding:10px 50px;
	font-weight:500;
}

#campaign .step_but.small a span {
	font-size:18px;
	color:#ffffff;
	font-weight:500;
}

#campaign .step_but a:hover {
	opacity:0.65;
}

/* ポップアップ - ネタバレ防止 */

#campaign .netabale {
	margin:20px 0 0 0;
}

#campaign .netabale h4 {
	text-align:center;
	margin:10px 0 0 0;
}

#campaign .netabale h4 span {
	display:inline-block;
	position: relative;
	padding: 0 55px;
	font-size:20px;
	color:#000000;
	font-weight:900;
}

#campaign .netabale h4 span:before,
#campaign .netabale h4 span:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: black;
}

#campaign .netabale h4 span:before {
	left:0;
}

#campaign .netabale h4 span:after {
  right: 0;
}

#campaign .netabale p {
	font-size:18px;
	color:#000000;
	font-weight:500;
}

#campaign .netabale p span {
	font-size:18px;
	color:#ff0000;
	font-weight:500;
}

/* ポップアップ - 規約 */

#campaign.only {
    padding:40px 0 20px 0;
}

#campaign.only .kiyaku {
	display:block;
}

#campaign .kiyaku h3 {
	font-size:18px;
	color:#000000;
	font-weight:700;
	text-align:left;
	margin:0 0 10px 0;
}

#campaign .kiyaku .head {
	margin:30px 0 30px 0;
	color:#000000;
	font-size:14px;
	font-weight:500;
}

#campaign .kiyaku p {
	margin:5px 0 20px 0;
	color:#000000;
	font-size:12px;
	font-weight:500;
}

#campaign .kiyaku ul {
	margin:5px auto 20px 25px;
}

#campaign .kiyaku li {
	color:#000000;
	font-size:12px;
	position:relative;
	font-weight:400;
	list-style-type: decimal;
}

#campaign .kiyaku li a {
	color:#000000;
	font-size:12px;
	font-weight:400;
}

/* ポップアップ - 共通（注意事項） */

#campaign .kiyaku_list ul {
	margin:10px auto 20px auto;
}

#campaign .kiyaku_list li {
	list-style-type: none;
	padding:0 0 0 14px;
	font-size:12px;
	font-weight:500;
	color:#000000;
	position:relative;
}

#campaign .kiyaku_list li a {
	font-size:12px;
	color:#000000;
	font-weight:500;
	text-decoration:underline;
}

#campaign .kiyaku_list li:before {
	display: inline;
	content: "※";
	position: absolute;
	top:0;
	left:0;
}

#campaign .kiyaku_list.kome li:before {
	content: "■";
	font-size:10px;
	display: inline-block;
	margin:3px 0 0 0;
}

#campaign .kiyaku_list li b {
	font-size:12px;
	color:#000000;
	font-weight:800;
}

/* ポップアップ - 共通（応募締切） */

#campaign .campaign_end {
	text-align:center;
	color:#000000;
	font-size:24px;
	font-weight:700;
}

#campaign .campaign_end span {
	color:#000000;
	font-size:40px;
	font-weight:700;
}

#campaign .campaign_end span.title {
	color:#000000;
	font-size:20px;
	display:inline-block;
	margin:0 15px 0 0;
}

/* ポップアップ - 共通（警告） */

#campaign .campaign_attention {
	font-size:20px;
	color:#ff0000;
	text-align:center;
	margin:25px 0 40px 0;
	font-weight:500;
}

/* シェア */

.step_share {
	margin:50px 7.5px 0 7.5px;
	clear:both;
	overflow:hidden;
}

.step_share img {
	width:100%;
}

.share_item {
	position: relative;
	width:calc( 33.3% - 15px );
	margin:0 7.5px 20px 7.5px;
	padding:0 0 3.5% 0;
	float:left;
}

.share_item_img {
	aspect-ratio: 16 / 9;
}

.share_item_but {
	position: absolute;
	bottom:0;
	left:0;
	text-align:center;
	right:0;
}

.step_share .share_item_but img {
	width:50%;
}

.step_share .share_item_but span {
	display:inline-block;
}

/* soon */

.soon {
	font-size:48px;
	color:#C4D700;
	text-align:center;
	margin:50% 0 0 0;
	font-weight:300;
}

.soon.bk {
	color:#000000;
}

/* SNS */

#share {
	position:absolute;
	bottom:110px;
	left:12px;
}

#share .sns {
	overflow:hidden;
	clear:both;
	z-index:100;
	text-align:center;
}

#share .sns_in {
	display:inline-block;
	margin:0 5px;
	vertical-align:top;
}

/* ロゴ */

.logo {
	position:absolute;
	bottom:35px;
	right:20px;
	z-index:1010;
}

/* フッター */

.footer-ttl {
    width: 185px;
    margin: 0 auto;
}

.footer-ttl img {
    height: auto;
    max-width: 100%;
    width: 100%;
    display: block;
    pointer-events: none;
}

/* シーンカット */

.ph_box_out {
	overflow:hidden;
}

.ph_box {
	position:relative;
}

.ph_box li img {
	height:200px;
}

/* スマホ */

.only_pc {
	display:block;
}

.only_sp {
	display:none;
}

/* 公式 - ナビ */

.l-gnav * {
    font-weight:800;
    font-family: "Noto Serif JP", serif;
    color: #16286e;
	letter-spacing:-0.01px;
}

.l-gnav {
    position: fixed;
    z-index: 15;
    line-height: 1;
    width: 100%;
    bottom: 0;
}

@media screen and (max-width: 768px) {
    .l-gnav {
    	top:0;
    	bottom:0;
        background-color:#16286e;
        height: 11.7948717949vw
    }
}

@media screen and (min-width: 769px) {
    .l-gnav {
        background-color:hsla(0,0%,100%,1);
        padding:0.85vw;
        box-sizing: border-box
    }
}

@media screen and (max-width: 768px) {
    .l-gnav__overlay {
        position:fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 998;
        background-color: rgba(0,0,0,.5);
        display: none;
        opacity: 0;
        pointer-events: none;
        transition: opacity .4s ease
    }
}

@media screen and (min-width: 769px) {
    .l-gnav__overlay {
        display:none
    }
}

@media screen and (max-width: 768px) {
    .l-gnav__inner {
        display:none;
        overflow: hidden;
        height: 0;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999;
        transition: height .4s ease;
        padding-top: 12.8205128205vw;
        padding-bottom: 12.8205128205vw;
        pointer-events: none;
        opacity: 0;
        background: url("../img/bg_nav.jpg") no-repeat top center;
        background-size: 100% auto;
        margin-top: 11.7948717949vw
    }
}

@media screen and (min-width: 769px) {
    .l-gnav__inner {
        align-items:center;
        display: flex;
        justify-content: space-between
    }
}

@media screen and (max-width: 768px) {
    .l-gnav__list {
        margin:0 auto;
        width:80vw
    }
}

@media screen and (min-width: 769px) {
    .l-gnav__list {
        align-items:center;
        display: flex;
        gap: 0 1.3888888889vw;
        width: 100%;
        justify-content: center;
    }
}

.l-gnav__list__sns {
    display: flex
}

@media screen and (max-width: 768px) {
    .l-gnav__list__sns {
        gap:3.8461538462vw;
        justify-content: center;
        top: 0;
        left: 3.8461538462vw;
        position: absolute;
        align-items: center;
        justify-content: end;
        padding-right: 3.8461538462vw;
        height: 100%
    }
}

@media screen and (min-width: 769px) {
    .l-gnav__list__sns {
        position:absolute;
        right: 1.9444444444vw;
        top: 0;
        bottom: 0;
        align-items: center;
        gap: 1.1111111111vw
    }
}

.l-gnav__list__sns__item {
    list-style: none
}

.l-gnav__list__sns__link {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .5s
}

@media screen and (max-width: 768px) {
    .l-gnav__list__sns__link {
        width:5.3846153846vw;
        height: 5.3846153846vw
    }

    .l-gnav__list__sns__link svg {
        fill: #fff;
        transition: all .5s
    }
}

@media screen and (min-width: 769px) {
    .l-gnav__list__sns__link {
        width:1.7361111111vw;
        height: 1.7361111111vw
    }

    .l-gnav__list__sns__link svg {
        fill: #16286e;
        transition: all .5s
    }
}

.l-gnav__list__sns__link:hover {
    opacity: .6
}

.l-gnav__list__sns__link img {
    height: auto
}

.l-gnav__list__item {
    list-style: none
}

@media screen and (max-width: 768px) {
    .l-gnav__list__item {
        margin-bottom:3.5897435897vw
    }
}

.l-gnav__list__item img {
    display: block;
    height: 100%;
    width: auto
}

@media screen and (min-width: 769px) {
    .l-gnav__list__item img {
        height:.6944444444vw
    }
}

.l-gnav__list__link {
    display: block;
    text-decoration: none;
    color: #16286e;
    transition: all .5s;
    cursor: pointer;
    height: 100%
}

@media screen and (max-width: 768px) {
    .l-gnav__list__link {
        align-items:center;
        box-sizing: border-box;
        font-size: 5.641025641vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        padding: 2.0512820513vw 0;
        position: relative;
        height: 100%;
        background-color: #fff
    }
}

@media screen and (min-width: 769px) {
    .l-gnav__list__link {
        font-size:1.3888888889vw
    }
}

@media screen and (max-width: 768px) {
    .l-gnav__menu {
        width:13.5897435897vw;
        height: 11.7948717949vw;
        right: 0;
        display: block;
        top: 0;
        cursor: pointer;
        z-index: 15;
        position: fixed;
        background: none;
        border: none;
        padding: 0;
        background-color: #fff
    }
}

@media screen and (min-width: 769px) {
    .l-gnav__menu {
        display:none
    }
}

.l-gnav__menu span {
    line-height: 1;
    position: absolute;
    color: #fff;
    transition: opacity .3s ease
}

@media screen and (max-width: 768px) {
    .l-gnav__menu span {
        font-size:3.0769230769vw;
        bottom: 1.5384615385vw;
        width: 7.1794871795vw;
        right: 3.0769230769vw;
        text-align: center
    }
}

.l-gnav__menu .menu1,.l-gnav__menu .menu2,.l-gnav__menu .menu3 {
    width: 7.1794871795vw;
    height: .7692307692vw;
    background-color: #16286e;
    position: absolute;
    right: 3.0769230769vw;
    transition: all .3s ease-out
}

.l-gnav__menu .menu1 {
    top: 3.0769230769vw
}

.l-gnav__menu .menu2 {
    top: 5.3846153846vw
}

.l-gnav__menu .menu3 {
    top: 7.6923076923vw
}

.l-gnav__menu .menuclick1 {
    top: 5.3846153846vw;
    height: .7692307692vw;
    transform: rotate(35deg)
}

.l-gnav__menu .menuclick2 {
    opacity: 0
}

.l-gnav__menu .menuclick3 {
    top: 5.3846153846vw;
    height: .7692307692vw;
    transform: rotate(-35deg)
}

/* free */

.free_item {
	background: url(../img/bg_item_pc.jpg) no-repeat center center;
	background-attachment: fixed;
	background-size: cover;
	padding:50px 0;
}

.free_item .item_mvtk {
	width: 840px;
	margin:0 auto;
}

/* スマホ */

@media screen and (max-width:768px) {

	.only_pc {
		display:none;
	}

	.only_sp {
		display:block;
	}

	body {
		min-width:320px;
	    padding:11.7948717949vw 0 0 0;
	}

	#site_box {
		background:url(../img/bg_sp_v2.jpg) no-repeat top center #ffffff;
		background-size:100% auto;
		min-height:0;
	}

	.over {
		position:fixed;
	}

	.over_nav {
		position:fixed;
		height:45px;
	}

	.attention {
		position:fixed;
		width:140px;
		z-index:1005;
		bottom:65px;
		right:15px;
		left:auto;
		animation: purupuru_anim 3s infinite;
	}

	.attention img {
		width:100%;
	}

	/* BOX */

	#site_box {
		aspect-ratio: 1 / 1.85;
	}

	/* コンテント */

	.content {
		width:auto;
	}

	/* ヘッダー */
	
	#first {
		width:auto;
	}

	#first .title_box {
		margin:98.5vw 5% 0 5%;
	}

	#first .tag {
		width:auto;
		margin:4vw 0 0 0;
	}

	#first h1 {
		padding:0;
	}

	#first h1 img {
		width:100%;
	}

	#first h2 {
		margin:0;
		padding:0;
	}

	#first h2 img {
		width:100%;
	}

	#first p {
		width:auto;
		margin:0 8.75% 0 8.75%;
	}

	#first p img {
		width:100%;
	}

	#first .banner {
		padding:0;
		margin:15px 0 0 0;
	}

	#first .banner img {
		width:100%;
	}

	/* テロップ */

	.telop_box {
		padding:12.5px 0 15px 0;
		background: rgba(0, 0, 0, 0.25);
	}

	.telop_count {
		width:auto;
		float:none;
		font-size:18px;
	    line-height:1;
	}

	.telop_count *,
	.telop_count span {
		font-size:30px;
	}

	.telop {
		width:auto;
		height:25px;
		float:none;
		margin:10px 0 0 0;
		overflow:hidden;
	}

	.telop .icon {
		width:25px;
	}

	.telop p {
		margin:2.5px 0 0 5px;
	}

	.telop p,
	.telop p a {
	    font-size:14px;
	}

	.telop p span {
	    font-size:14px;
	}

	/* プレゼント */

	#present {
		padding:30px 5% 30px 5%;
	}

	#present p {
		margin:0 0 10px 0;
	}

	#present p strong {
		display:inline-block;
		font-size:24px;
		padding:5px 10px;
		margin:0 0 10px 0;
		line-height:1.4;
	}

	#present p span {
		display:inline-block;
		font-size:20px;
	}

	#present p span.big {
		font-size:30px;
	}

	#present p span.small {
		display:inline;
		font-size:20px;
		margin:0;
	}

	#present .present_item {
		margin:15px auto 0 auto;
	}

	#present .present_item_in {
		width:calc(50% - 15px);
		margin:0 7.5px 15px 7.5px;
	}

	#present .present_kome {
		font-size:12px;
		margin:10px 0 0 0;
	}

	#present .campaign_end {
		font-size:18px;
	}

	#present .campaign_end span {
		font-size:30px;
	}

	#present .campaign_end span.title {
		font-size:16px;
	}

	/* ステップ */

	#step {
		padding:10px 7.5% 50px 7.5%;
	}

	#step h3 {
		margin:25px 15px 0 15px;
	}

	#step h3 img {
		height:40px;
	}

	#step .step_item {
		padding:0 5%;
	}

	#step .step_item_in {
		margin:20px 0 0 0;
		padding:20px 20px;
	}

	#step .step_item_in p {
		font-size:18px;
		padding:0;
	}

	#step .step_item_in p span {
		font-size:22px;
	}

	#step .step_item_in span.small {
		font-size:12px;
		margin:10px 0 0 0;
	}

	#step .step_item_in span.small a {
		font-size:12px;
	}

	#step .step_but a {
		display:block;
		border-radius:100px;
		font-size:16px;
		margin:10px;
		padding:5px 20px;
	}

	#step .step_but.small a {
		font-size:18px;
		padding:5px 20px;
	}

	#step .step_but.small a span {
		font-size:14px;
	}

	#step .kiyaku_list ul {
		margin:10px 0 0 0;
	}

	#step .kiyaku_list li {
		padding:0 0 0 12px;
		font-size:10px;
	}

	#step .kiyaku_list li a {
		font-size:10px;
	}

	#step .kiyaku_list li b {
		font-size:10px;
	}

	/* シェア */

	.step_share {
		margin:50px 0 0 0;
	}

	.share_item {
		width:auto;
		margin:0 0 20px 0;
		padding:0 0 9vw 0;
		float:none;
	}

	/* コピーライト */

	#fot_logo {
	    position: static;
	    text-align: center;
	    margin:10px 0 0 0;
	}

	/* コメント */

	#comment {
		padding:20px 0 0 0;
	}

	#comment p {
		font-size:18px;
	}

	#comment p span {
		font-size:24px;
	}

	#comment p a {
		font-size:18px;
	}

	#comment  #gadget {
		padding:0 0 40px 0;
	}

	#comment .comment_cont_box {
		padding:0 5%;
	}

	#comment .comment_cont {
		font-size:24px;
		padding:0 20px 15px 20px;
	}

	#comment .comment_cont span,
	#comment .comment_cont span * {
		font-size:40px;
		line-height:1.6;
	}

	#comment .sign_text {
	    font-size:12px;
	}

	/* ポップアップ */

	.kiyaku_text_in {
		padding:30px 8.5%;
	}

	.kiyaku_close {
		position:fixed;
		top:15px;
		right:15px;
		width:25px;
		height:25px;
	}

	.kiyaku_close::before,
	.kiyaku_close::after {
		height:25px;
	}

	.kiyaku_close:hover {
		opacity:1;
	}

	/* ポップアップ - タブ */

	.campaign_tab {
		padding:30px 0 0 0;
	}

	.campaign_tab li {
		font-size:16px;
		border-radius:50px;
		margin:0  3px 10px 3px;
	}

	.campaign_tab li:hover {
		opacity:1;
	}

	/* ポップアップ - インナー */

	#campaign {
		padding:140px 0 20px 0;
	}

	/* ポップアップ - 見出し */

	#campaign h2 {
		margin:0 0 5px 0;
	}

	#campaign h2 span {
		display:inline;
		border-bottom:0;
		font-size:5.25vw;
		margin:0 0 10px 0;
	}

	#campaign h2 span.small {
		display:inline;
		font-size:4.25vw;
		border-bottom:0;
		margin:0;
	}

	/* ポップアップ - プレゼント */

	#campaign .main_item {
	    width:auto;
	}

	#campaign .present_item {
		margin:20px 0 0 0;
	}

	#campaign .present_item_in {
		width:calc(50% - 6px);
		margin:0 3px 6px 3px;
	}

	#campaign .present_kome {
		font-size:12px;
		margin:10px 3px 20px 3px;
		text-align:left;
	}

	/* ポップアップ - 応募方法 */

	#campaign .step_item {
		padding:0;
	}

	#campaign .step_item_in {
		margin:10px 0 0 0;
		padding:10px 0;
	}

	#campaign .step_item_in_in {
		display:table;
	}

	#campaign .step_item_in_in h3,
	#campaign .step_item_in_in p {
		display:table-cell;
	}

	#campaign .step_item_in_in h3 span {
		width:46px;
		height:46px;
		line-height:46px;
		font-size:36px;
		margin:0;
	}

	#campaign .step_item_in p {
		font-size:16px;
		text-align:left;
		padding:0 0 0 15px;
	}

	#campaign .step_item_in p span {
		font-size:18px;
	}

	#campaign .step_item_in span.small {
		font-size:14px;
	}

	#campaign .step_but {
		padding:0 0 10px 0;
	}

	#campaign .step_but a {
		display:block;
		font-size:24px;
		margin:30px 0 0 0;
		padding:10px 20px;
	}

	#campaign .step_but.small a {
		font-size:16px;
		padding:10px 20px;
		margin:15px 0 0 0;
	}

	#campaign .step_but.small a span {
		font-size:12px;
	}

	#campaign .step_but a:hover {
		opacity:1;
	}

	/* ポップアップ - ネタバレ防止 */

	#campaign .netabale h4 span {
		padding: 0 7%;
		font-size:16px;
	}

	#campaign .netabale h4 span:before,
	#campaign .netabale h4 span:after {
		width:5%;
	}

	#campaign .netabale p {
		font-size:14px;
		padding:0;
		margin:5px 0 0 0;
	}

	#campaign .netabale p span {
		font-size:14px;
	}


	/* ポップアップ - 規約 */

	#campaign .kiyaku h3 {
		font-size:16px;
	}

	#campaign .kiyaku li {
		font-size:12px;
	}

	#campaign .kiyaku li a {
		font-size:12px;
	}

	/* ポップアップ - 共通（注意事項） */

	#campaign .kiyaku_list ul {
		margin:0 auto;
	}

	#campaign .kiyaku_list li {
		padding:0 0 0 14px;
		font-size:12px;
	}

	#campaign .kiyaku_list li a {
		font-size:12px;
	}

	#campaign .kiyaku_list.kome li:before {
		content: "■";
		font-size:10px;
		display: inline-block;
		margin:2px 0 0 0;
	}

	#campaign .kiyaku_list li b {
		font-size:12px;
	}

	/* ポップアップ - 共通（応募締切） */

	#campaign .campaign_end {
		font-size:16px;
		margin:10px 0 0 0;
	}

	#campaign .campaign_end span {
		font-size:24px;
	}

	#campaign .campaign_end span.title {
		font-size:14px;
		margin:0 0 5px 0;
		display:inline-block;
		border-bottom:2px solid #000000;
	}

	/* ポップアップ - 共通（警告） */

	#campaign .campaign_attention {
		font-size:14px;
		margin:15px 0 10px 0;
	}

	/* soon */

	.soon {
		font-size:24px;
		margin:20px 0 0 0;
	}

	/* SNS */

	#share {
	    position: static;
	}

	/* ロゴ */

	.logo {
		position:fixed;
		bottom:auto;
		top:10px;
		right:10px;
		width:120px;
	}

	.logo img {
		width:120px;
	}

	/* シーンカット */

	.ph_box li img {
		height:125px;
	}
	
	/* free */

	.free_item {
		background: url(../img/bg_item_sp.jpg) no-repeat center center;
		background-attachment:auto;
		background-size:100% auto;
		padding:50px 0;
	}

	.free_item .item_mvtk {
		width:auto;
		margin:0 auto;
	}
	
	#mvtk-widgets-container {
		margin:0 auto;
	}

}

/* メッセージ */

.msg {
	color:rgb(230,0,18);
	text-align:center;
	margin:30px 0 50px 0;
	font-size:24px;
	font-weight:900;
}

/* プロテクト */
/*
* {
	-moz-user-select: -moz-none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	user-select: none;
	pointer-events: none;
}
*/

a,
a *,
#youtube *,
#oubo_btn,
.sns *,
#js-nav,
#js-nav *,
#js-hamburger ,
#js-hamburger *,
.kiyaku_text_in_out,
.kiyaku_box_in,
.kiyaku_close,
.campaign_tab li,
#tags_modal,
#comments,
#more,
#tags_twlink,
#tags_twlink * {
	pointer-events: auto;
}

@media print {
	body {
		display:none;
	}
}

/* 予告 */

.ytMovie_box {
	position:relative;
	overflow:hidden;
}

.ytMovie_box.share {
	aspect-ratio: 16 / 9;
}

.ytMovie_box iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


#loading {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999999999;
}