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

/*共通*/
.slideArea1{/*スライダーを囲む用の箱*/
	max-width: none;
	width: 100%;
	margin: 0 auto;
	position: relative;
	padding-bottom: 1em;
	
}

.slideArea1 .swiper-pagination-bullet {
	width: 0.6em; /* 幅 */
	height:0.6em; /* 高さ */
	background: #fff; /* 色*/
	opacity: 0.2; /* 半透明（デフォルトでは0.2） */
}
/* 現在のスライドのスタイル */
.slideArea1 .swiper-pagination-bullet-active {
	background: var(--green); 
	opacity: 1; /* 不透明 */
	transform: scale(1);
}
.txtShadow{text-shadow:1px 1px 2px #000,0px 0px  3px #000,0px 0px  5px #000;}
.txtShadow_w{text-shadow:1px 1px 2px #fff,0px 0px  3px #fff,0px 0px  5px #fff;}

.midashi{/*見出し*/
	width: calc(100% - 7em);
	max-width: 520px;
	margin: 0 auto 1em;
	padding-top: 1em;
}
.midashi2{
	padding: 0.8em;
	width: calc(100% - 2em);
	position: relative;
	background-color: var(--green);
	text-align: center;
	color: var(--black);
	font-weight: bold;
	/*border-bottom: var(--darkGreen) 2px solid;*/
	filter: drop-shadow(1px 2px var(--darkGreen));
	margin:0 auto 0.5em;
}

.midashi3{
	padding: 0.8em;
	width:100%;
	position: relative;
	background-color: var(--green);
	text-align: center;
	color: var(--black);
	font-weight: bold;
	margin:0 auto 0.5em;
/*	background: var(--r_b2);*/
}
.midashi4{
	padding: 0.5em;
	width:15em;
	position: relative;
	text-align: center;
	/*font-weight: bold;*/
	margin: 1em auto 0;
}
.midashi4:before{
	content: "";
	width: 100%;
	top:0;
	bottom: 0;
	left: -0.25em;
	border-left: 0.5em var(--green) solid;
	border-right: 0.5em var(--green) solid;
	transform: skewX(-5deg);
	position: absolute;
	display: block;
	background: rgba(0,0,0,0.7);
}
.midashi4 span{
	position: relative;
	z-index: 2;
}
.midashi2:before{
	content: "";
	display: block;
	position: absolute;
	top:0;
	left: -1em;
	bottom: 0;
	width: 1em;
	background-image: url("../img/midashi2_icon.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	
}
.midashi2:after{
	content: "";
	display: block;
	position: absolute;
	top:0;
	right: -1em;
	bottom: 0;
	width: 1em;
	background-image: url("../img/midashi2_icon.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transform: scale(-1,1);

	
}
.midashi2 .small{
	font-size: 0.7em;
	vertical-align: middle;
	display: inline-block;
	margin-left: 0.5em;
	line-height: 2em;
}
.frame,.frame2{
	position: relative;
	background:var(--black_bg);
	border: var(--green) 2px solid;
	box-shadow: 0.3em 0.3em  var(--green);
	color: #fff;
}

.frame:before,.frame:after,
.frame2:before{
	content: "";
	width: 5em;
	height: 6em;
	position: absolute;
	display: block;
	background-image: url("../img/frame.png");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: contain;

}
.frame:before{
	top:0.3em;
	left: 0.3em;
}
.frame:after,.frame2:before{
	bottom:0.3em;
	right: 0.3em;
	transform: scale(-1,-1);
}

.frame .inner,.frame2 .inner{
	position: relative;
	z-index: 20;
	padding: 2em 1em;
}



.gridArea{
	display: flex;
	column-gap: 1em;
	row-gap: 1em;
	flex-wrap: wrap;

	/*grid-template-columns:repeat(1, 1fr);*/
}
.gridArea .gridBox{
	width: 100%;	
}
.gridArea .gridBox.vCenter{
	display: grid;
	align-content: center;
}
.gridArea .gridBox h2{
	color: var(--black);
	text-align: center;
	padding: 0;
	font-weight: bold;
	position: relative;
	background-color: var(--green);
	margin-bottom: 0.5em;
}
.gridArea .gridBox h2 span{
	padding: 0.5em 0;
	display: block;
}
/*.gridArea .gridBox h2:before,.gridArea .gridBox h2:after{
	content: "";
	width: 100%;
	height: 1px;
	position: relative;
	display: block;
	background: var(--gLine);
	left: 0;
}*/

.gridArea .gridBox .txt{
	padding: 0.5em 0 0;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: translateY(2em);

}

.gridArea .gridBox.action .txt{
	opacity: 1;
	transform: translateY(0);
}
.gridArea .gridBox .img{
	text-align: center;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: scale(1.1);
}
.gridArea .gridBox.action .img{
	opacity: 1;
	transform: scale(1);
}

.wideBox .img{	
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: scale(1.1);
}
.wideBox .img.action{
	opacity: 1;
	transform: scale(1);
}
.wideBox .txt{
	padding: 0.5em 0 0;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: translateY(2em);

}

.wideBox .txt.action{
	opacity: 1;
	transform: translateY(0);
}


/*TOP*/
.topArea{
	background-image: url("../img/smp/top_img.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
/*----------------------------------------------------------------

-----------------------------------------------------------------*/
.topMainArea{
	position: relative;
}
/*キャッチテキスト*/

.creator{
	max-width: 21.7em;
	margin: 0 auto;
	color: #fff;
	font-size:clamp(12.8px, 3.3vw, 14px);
	line-height: 1.5em;
	padding: 1em 0;
}
/*#topCatch .catchImg{

	transition: transform 0.9s 0s ease-out,opacity 0.9s 0s ease;
	opacity: 0;
	transform: scale(1.1);
}
#topCatch.action  .catchImg{
	transform: scale(1);
	opacity: 1;
	
}
*/
/*#topCatch .catchTxt{
	font-size: 1.1em;
	padding: 1em;
	line-height: 1.5em;
	font-weight: bold;
	letter-spacing: 1px;
	transition: transform 0.7s 0.3s ease-out,opacity 0.7s 0.3s ease;
	opacity: 0;
	transform: translateY(1em);
}
#topCatch.action  .catchTxt{
	transform: translateY(0);
	opacity: 1;
	
}
.catchTxt .large{
	font-size: 1.3em;
	line-height: 1.8em;
	letter-spacing: 2px;
}*/

#topCatch {
	padding: 4em 0;
	position: relative;
	line-height: 1.8em;
	/*background-image: url("../img/smp/chatch_bg.png");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% 100%;*/
	overflow: hidden;
	letter-spacing: 1px;
	text-align: center;
	margin-top: 2em;
}
.catchTxt{
	transition: transform 0.9s 0s ease-out,opacity 0.9s 0s ease;
	opacity: 0;
	transform: scale(1.1);
	font-weight: 500;
	position: relative;
	z-index: 2;
}
#topCatch.action  .catchTxt{
	transform: scale(1);
	opacity: 1;
	
}
#topCatch:before{
	content: "";
	width:0%;
	top:0;
	bottom: 0;
	background: url("../img/bg_w.png");
	display: block;
	position: absolute;
	z-index: -1;
	opacity: 0.5;
	transition: all 0.5s 0s ease-out;
}
#topCatch.action:before{
	width: 100%;
	/*transform: skewY(2deg);*/
}

#topCatch.action{
	transform: translateY(0);
	opacity: 1;
}
#topCatch strong.large{
	font-size: 2em;
	background-color: var(--green);
	color: #111;
	line-height: 1.5em;
	font-weight: 900;
	text-shadow: none;
	padding: 0 0.2em;
	margin: 3px 3px;
	display: inline-block;
}
#topCatch .color{
	color: #ff0261;
	font-size: 1.2em;
}
/*ストーリー*/
.storyTxt{
	line-height: 1.8em;
	padding: 2em 0;
	text-align: center;
}
.storyTxt .large{
	font-size: 1.3em;
}


.storyTxt{
	display: block;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: translateY(1em);

}

.action .storyTxt{
	transform: translateY(0);
	opacity: 1;
	
}
.storyTxt .img{
	text-align: center;
	padding: 2em 0 0;
	transition: transform 0.8s 0.1s ease-out,opacity 0.8s 0.1s ease;
	opacity: 0;
	transform: translateY(1em);

}
.action .storyTxt .img{
	transform: translateY(0);
	opacity: 1;
	
}
/*BGM*/
#bgmArea{
	margin-bottom: 1em;
}
/*店舗特典*/
.shopWrap{
	margin-bottom: 1em;
}
.shopWrap h2.midashi4{
	width: 100%;
	margin: 0 0 0.5em -0.25em;
	font-weight: bold;
	font-size: 1.1em;
	line-height: 1.5em;
}

.shopBox h3{
	padding: 0.5em;
}
.gridArea .gridBox.shopBox .txt{
	text-align: center;
	background-color: var(--green);
	color:#111;
	padding: 0.5em;
	font-weight: bold;
}
.gridArea .gridBox.shopBox{
	background-color: #140d17;
	border: var(--green) 1px solid;
	padding: 0.5em;
}


.btGrid{
	display: flex;
	column-gap: 1em;
	row-gap: 1em;
	flex-wrap: wrap;
	justify-content: center;
	/*grid-template-columns:repeat(1, 1fr);*/
	margin-top: 0.5em;
}
.btGrid a{
	width: calc(50% - 0.5em);
	text-align: center;
	
	display: block;
	
	
	font-weight: bold;
	/*box-shadow: 2px 2px #000;*/
	position: relative;
}
.btGrid a.all{
	width: calc(100% - 0.5em);
	max-width:850px;
}
.btGrid a span{
	z-index: 2;
	color: #fff;
	display: block;
	position: relative;
	padding: 1em 0.5em;
}

.btGrid a.sw span{
	background: #f981b5;
}
.btGrid a.ps span{
	background: #3dc3e5;
}
.btGrid a.all span{
	background: var(--r_b);
}
.btGrid a.sw:hover span,
.btGrid a.ps:hover span,
.btGrid a.all:hover span{
	background: #000;
}
.btGrid a:after{
	content: "";
	top:2px;
	width: 100%;
	left: 2px;
	bottom: -2px;
	position: absolute;
	display: block;
	background: var(--black);
	z-index: 1;
}
.btGrid a.sw:hover:after{
	background: #f981b5;
}
.btGrid a.ps:hover:after{
	background: #3dc3e5;
}
.btGrid a.all:hover:after{
	background: var(--r_b);
}



/*PRODUCT*/

article{
    max-width: 1100px;
    width: 90%;
    margin: 0 auto;
    
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 0.5em;
    row-gap: 1em;
	margin-top: 0.5%;
}
article2{
	max-width: 1100px;
    width: 90%;
    margin: 0 auto;
    
	display: block;
    column-gap: 0.5em;
    row-gap: 1em;
}
article section{
    color: #fff;
    font-size: 1.2em;
    margin: 1.0em auto;
    padding: 1.0em 1.0em 2em 1.0em;
    text-align: center;
    width: 100%;
    display: inline-block;
	background:var(--black_bg);
	border: var(--green) 2px solid;
	box-shadow: 0.3em 0.3em  var(--green);
}
article2 section{
    color: #fff;
    font-size: 1.2em;
    margin: 1.0em auto;
    padding: 1.0em 1.0em 2em 1.0em;
    text-align: center;
    width: 100%;
    display: inline-block;
	background:var(--black_bg);
	border: var(--green) 2px solid;
	box-shadow: 0.3em 0.3em  var(--green);
}

article section:before,
article2 section:before{
content: "";
width: 4em;
height: 5em;
position: absolute;
display: block;
background-image: url("../img/frame.png");
background-position: left top;
background-repeat: no-repeat;
background-size: contain;
}

article section:before, article2 section:before{
	margin-top:-0.8em;
	margin-left: -0.8em;
}


article2 section .sample_img,
article section .sample_img{
    width: 90%;
    display: inline-block;
    border: solid 1px #44edeb;
}
article2 section .set .sample_img,
article section .set .sample_img{
    width: 100%;
}

article2 section .sample_img img,
article section .sample_img img{
    width: 100%;
}

article2 section h3,
article section h3{
    background-color: #44edeb;
    color: #000;
    margin: 0.3em 0;
    padding: 0.3em;
	text-align: center;
	font-weight: normal;
}

article2 section h4,
article section h4{
    font-weight: normal;
    border-left:solid 5px #44edeb;
    border-bottom: solid 1px #44edeb;
    margin-top: 0.2em;
    padding-left: 15px;
}

article2 section .detail,
article section  .detail{
    text-align: left;
    margin-top: 0.5em;
	margin-bottom: 1em;
}

.shop_box article section .set{
    border: solid 1px #44edeb;
    padding: 0.3em;
    text-align: center;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}
article section span{
    font-size: 14px;
	margin: 2% 5% 2% 5%!important;
}

article section p,
article2 section p{
    font-size: 14px;
	margin: 2% 5% 6% 5%!important;
	text-align: left;
}


article section .attention{
    width: 100%;
}
article2 section .link_btn,
article section .link_btn{

	text-align: left;
	margin: 0 0 0 5%;
	vertical-align: middle;
}
article2 section .link_btn img,
article section .link_btn img{
	width: 33%;
}
article2 section .shop_link,
article section .shop_link,
.cp_btn{
    background-color: #44edeb;
    color: #000;
    padding: 0.5em;
    display: inline-block;
	width: 50%;
    min-width: 8.0em;
    margin: 1%;
	margin-bottom: 3%;
	margin-left: 5%;
    transition: all .3s;
	text-align: center;
}
article section .shop_link:hover,
.cp_btn:hover{
    background-color: #9d9d9d;
}



article2 section table{
	margin: 3%;
	width: 94%;
	border-collapse : collapse;
}
article2 section table td{
	border: solid 1px #44edeb;
	text-align: center;
}
article2 section table td.storeLink{

}
article2 section table td.shop_logo{
	vertical-align: middle;
	width: 27%;
	
}

article2 section table td.shop_logo img{
	width: 70%;
	margin: 2%;
	min-width: 90px;
}
article2 section table td.logo_img{
	font-size:max(0.9vw,12px);
}
article2 section table td.logo_img img{
	width: 60%;
	
}
article2 section table a.storeLink {
    background-color: #44edeb;
    color: #000;
    padding: 0.5em;
    display: inline-block;
	width: 70%;
    min-width: 8.0em;
    margin: 4% 1%;
    transition: all .3s;
	text-align: center;
	font-size:max(0.8vw,12px);
}
article2 section table a.storeLink:hover{
    background-color: #9d9d9d;
    color: #000;
}

article2 section table td.no_btn{
    background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #cda678 50%, #cda678 calc(50% + 0.5px), transparent calc(50% + 1px));
}




/*---------------------------------------------------------
@media
------------------------------------------------------------*/
/*PC*/
@media (min-width: 381px) {/*481~768px*/
	.frame .inner,.frame2 .inner{

	padding: 2em;
}
}
@media (min-width: 481px) {/*481~768px*/


	.creator{
		font-size:clamp(12px, 2.6vw, 14px);
		line-height: 1.5em;
	}
}
@media (min-width: 769px) {
	.creator{
		font-size:clamp(14px, 2vw, 16px);
		line-height: 1.5em;
	}
}

/*@media (min-width: 769px) {*/
@media (min-width: 1025px) {
	
/*.gridArea{

	grid-template-columns:repeat(2, 1fr);
}*/
	.gridArea .gridBox{
	width: calc(50% - 0.5em);	
}
.frame .inner,.frame2 .inner{

	padding: 2em;
}

	.topArea{
		background-image: url("../img/pc/top_img.jpg");
	}
	
	/*キャッチテキスト*/
/*#topCatch {
	background-image: url("../img/pc/chatch_bg.png");
	background-size: 100% 100%;

}*/
.storyTxt .large{
	font-size: 1.5em;
}
	.wideBox .shopBox{
	width: calc(50% - 0.5em);
		margin: 0 auto;
}
/*BGM*/
#bgmArea.movieThumArea .movieThumBox{
	width: calc(calc(100% / 3) - 1em);
	margin: 0.5em;

}
/*ムービー*/
.movieThumArea .movieThumBox{
	width: calc(calc(50% / 1) - 1em);
	margin: 0.5em;

}
/*店舗特典店舗リンク*/
.btGrid a{
	width: calc(25% - 0.5em);	
}

	
}
@media (min-width: 1451px) {
	.creator{
		font-size:clamp(14px, 1.5vw, 18px);
		line-height: 1.5em;
	}
}


@media screen and (max-width: 768px) {
/*==================
product
==================*/
article{
        grid-template-columns: repeat(1, 1fr)!important;
    }
article section{
    width: 95%;
}
article2 section{
    width: 100%;
}
article2 section table a.storeLink {
	width: 20%;
	font-size:8px;
	 margin: 2% 1%;
}

	}