.information_block2.information_block2.information_block2.information_block2.information_block2@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;500;700;900&display=swap');
:root {
  --vw: 1vw;
}
:root {
  --vh: 1vh;
}
.aaaa{
	margin-bottom:  calc(var(--vw) * -10);
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,video-js {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
    overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse; 
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.both{
	clear:both;
}
p {
    display: block;
    -webkit-margin-before:0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
}
.inline_block {  
	display: inline-block;  
	*display: inline;  
	*zoom: 1;  
}
html{
font-family: 'Noto Sans JP', sans-serif,"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
font-size:10px;
line-height:1.6;
}
@media (max-width:500px){
html{
font-size:9px;
	}
}
	@media (max-width:400px){
html{
font-size:8px;
}
}
body{
	font-size: 1.6rem;
	width: 100%;
	overflow: hidden;
}

img{
	display:block;
	max-width:100%;
}
a,
a:hover,
a:active,
a:visited,
a:link{
	text-decoration:none;
	color:inherit;
}
small{
	font-size: 0.8em;
}
a:hover img{
	opacity: 0.6;
	cursor: pointer;
}
.bgdot{
	background: url("../images/dot.png");
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	height: 100vh;
	width: 100vw;
	padding: 0;
	margin: 0;
		background-image: url("../images/naname.png");
    background-size: cover;
}
.bg_video{
	position:fixed;
	top: 0;
	z-index: -2;
	left: -100vw;
	right: -100vw;
	margin: auto;
	width: 100%;
	height: 100vh;
}
.bg_video video-js{
	left: -300vw;
	right: -300vw;
	margin: auto;
	position: absolute;
	
	padding: 0;
    width: auto !important;
    max-width: none !important;
}
@media (max-aspect-ratio: 16/9) {
.bg_video video-js{
	height: 100vh !important;
}
}
@media (min-aspect-ratio: 16/9) {
.bg_video video-js{
	width: calc(var(--vw) * 100) !important;
}
	}

h2 {height: 54px;
	width: 100%;
	display: block;
}
@media (max-width:1000px){
	h2 {
        height: min(38px, 8vw);
	}
}
h2 img{height: 100%;
	width: auto;
}
.kvt{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	z-index: -1
}
#kv{
	position: relative;
    height: 68vw;
}
.maintitle{
    position: absolute;
    width: 60%;
    right:6vw;
    top: 7vw;
	z-index: 5;
	}
.maintitle_textbg{
    position: absolute;
    width: 55%;
    right: calc(var(--vw) * 23);
    top: calc(var(--vw) * 0);
	z-index: 1;
}
.soukibanner{
	position: absolute;
    width: 35.5%;
    right: 0;
    top: 45vw;
	z-index: 5;
}
@media (max-width:1000px){
	#kv{
		position: relative;
		height: 135vw;
	}
	.maintitle{
		width: 88vw;
		 top: 22vw;
	}
	.soukibanner {
		width: 49vw;
		top: 93vw;
	}
}

#news{
	background-image: url("../images/newsbg.svg");
	background-size: cover;
	background-position: center;
}
.newsinner{
	max-width: 1300px;
	margin: auto;
	position: relative;
	height: 450px;/*ニュースボックスにタイトル分高さ足した数字*/
	padding: 60px 0;
}
#news_area{
	height: 100%;
}
.newsinner .left{
	width: 30%;
	position: absolute;
	left: 60px;}
.newsinner .right{
	width: 58%;
	position: absolute;
	right: 60px;

}
.newjacket{
	background: #ffffff;
	border:1px solid #4271f8;
	box-shadow: 15px 15px 0px 0px rgba(66, 113, 248, 0.44);
	
	padding: 10px;
	margin-top: -300px;
	transform:rotate(15deg); 
	
}
.newsbox{
	background: #ffffff;
	border:1px solid #4271f8;
	box-shadow: 15px 15px 0px 0px rgba(66, 113, 248, 0.44);
	border-radius: 20px;
	padding: 20px;
	height: 350px;
	margin-top: 30px;
	box-sizing: border-box;
}
@media (max-width:1000px){
	.newsinner{
		height: calc(45px + 50vw);
		 padding: 0px 0;
	}
	.newjacket{
		box-shadow: 10px 10px 0px 0px rgba(66, 113, 248, 0.44);
		margin-top: -32vw;
	}
	.newsinner .left{
		width: 35%;
	}
	.newsinner .right{
		width: 70%;
		right: 60px;
		padding-top: 6vw;
	}
	.newsbox{
		box-shadow: 10px 10px 0px 0px rgba(66, 113, 248, 0.44);
		margin-top: 15px;
		        height: 35vw;
	}
}
@media (max-width:800px){
	
	.newsinner .right{
		right: 30px;
	}
	.newsinner .left{
	left: 10px;
        width: 41%;
	}
}

.newslist{
	    overflow: auto;
	width: 100%;
	height: 100%;
}
.newslist a{
	padding: 1em 0;
  background-image: repeating-linear-gradient(90deg, #1b1464, #1b1464 12px, transparent 12px, transparent 24px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
	display: block;
}
.newslist li:first-child a{
  background-image: repeating-linear-gradient(90deg, #000000, #000000 12px, transparent 12px, transparent 24px), repeating-linear-gradient(90deg, #000000, #000000 12px, transparent 12px, transparent 24px);
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 100% 1px, 100% 1px;
}
.newsmeta{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap:1em;
	margin-bottom: 0.5em;
}
.newslist .date{
	margin: 0;
	color: #999999;
}
.newslist .cat{
	display: block;
	padding: 0.3em 1em;
	line-height: 1;
	border-radius: 0.3em;
	background-color: #ffade3;
	color: #fff;
}

#movie{
	padding: 0;
	background-image: url("../images/sheryl-bg.svg");
	overflow:hidden;
	background-size: cover;
	background-position: top;
}
.movieinner{
	max-width: 1300px;
	margin: auto;
	position: relative;
	height: 610px;
	padding: 60px 0;
	width: 100%;
	
}
.movieinner .left{
	width: 80%;
	position: absolute;
	left: 60px;
	z-index: 2;
}
.movieinner .right{
	width: 80%;
    right: -11vw;
    top: 1vw;
    position: absolute;
	z-index: 1;
}
.movieinner .right img{
	width: 100%;
}
#movie .movie_area {
  position: relative;
  max-width: 1000px;
  width: 100%;
}

.moviebox{
	background: #ffffff;
	border:1px solid #4271f8;
	box-shadow: 15px 15px 0px 0px rgba(57, 195, 200, 0.31);
	border-radius: 20px;
	padding: 20px;
	width: 740px;
	height: auto;
	margin-top: 30px;
}
.moviebox > div{
	position: relative;
}
@media (max-width:1300px){
	.movieinner{
		height: 520px;
	}
	.moviebox{
		width: 600px;
	}
}
@media (max-width:1000px){
	.movieinner{
		height: 68vw;
	}
	.movieinner .left{
		padding-top: 10vw;
	}
	.moviebox{
		width: 70vw;
		height: 40vw;
		box-shadow: 10px 10px 0px 0px rgba(57, 195, 200, 0.31);
	}
	.movieinner .right{
		width: 100%;
	}
	.moviebox{
		margin-top: 15px;
	}
	.movieinner .right{
		top: -3vw;
	}
}
@media (max-width:800px){
	.movieinner .left{
		left: 30px;
	}
}

#information{
	background-image: url("../images/ranka-bg.svg");
	background-size: cover;
	background-position: top;
	position: relative;
	overflow: hidden;
}
.infoinner{
	max-width: 1300px;
	margin: auto;
	position: relative;
	padding: 0;
	width: 100%;
	
}
.infoinner .left{
	width: 72%;
    position: absolute;
    left: -190px;
    z-index: 1;
    top: -11vw;
}
.infoinner .right{
	width: 55%;

margin-left: calc(45% - 60px);
	z-index: 2;
	position: relative;
	
}
.infoinner .right h2{
	display: flex;
    justify-content: flex-end;
	padding-top: 60px;
}
.infoinner .right h3{
	width: 100%;
	margin-top: 2.5vw;
	display: flex;
	justify-content: flex-end;
}
.infoinner .right p.copy{
	display: flex;
	justify-content: flex-end;
	margin-top: 2.5vw;
}
.infobox{
	
	background: #ffffff;
	border:1px solid #4271f8;
	box-shadow: 15px 15px 0px 0px rgba(66, 113, 248, 0.44);
	border-radius: 20px;
	padding: 20px;
	margin-top: 30px;
	box-sizing: border-box;
}
.infobox p{
	margin-bottom: 1.6rem;
}
.infobox p:last-child{
	margin-bottom: 0;
}

#information h2{
	width: auto;
}

.info-p.p1{
	width: 90%;
}
.info-p.p2{
	width: 90%;
}
.info-p.p3{
	width: 87%;
}
.information_block1{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: min(60px,calc(var(--vw) * 12)) min(50px,calc(var(--vw) * 6));
	padding-bottom: 0;
	max-width: 1300px;
	margin: auto;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}
.info_textblock{
	border-radius: 15px;
	background-color: #fff;
	padding: min(40px,calc(var(--vw) * 5));
	box-sizing: border-box;
	max-width: 760px;
    width: 65%;
}






.pkg_03{
	position: absolute;
	top: 0;
	width: 100%;
	left: 0;
	
}
.information_block2{
	position: relative;
	z-index: 3;
    height: min(580px, calc(var(--vw) * 45));
	margin: auto;
	max-width: 1300px;
    margin-top: 20px;
	width: 100%;
	
}
.info_pkg{
	position: absolute;
	box-shadow: 15px 15px 0px 0px rgba(66, 113, 248, 0.44);
	border: 1px solid #4271f8;
}

.info_pkg2{
   position: absolute;
    left: 3.5%;
    top: -14%;
    width: 25%;
    transform: rotate(-7deg);
}


.info_pkg3{
    position: absolute;
    left: 73%;
    top: 9%;
    width: 20%;
    transform: rotate(-6deg);
}
.info_pkg1{
    position: absolute;
   left: 34%;
    top: 12%;
    width: 32%;
    transform: rotate(5deg);
}


.information_block3{
	display:flex;
	align-items: stretch;
	justify-content: center;
	max-width: 1300px;
	width: calc( 100% - 60px);
	box-sizing: border-box;
	gap:25px;
	margin: auto;
	margin-bottom: 60px;
	}

.information_block3 > div{
	width: calc(33.33% - 25px * 2 / 3 );
	background-color: #fff;
}
.info_pkg_data_txt{
	padding: 20px;
}
.btn1{
	margin: auto;
	margin-top: 15px;
	display: block;
	width: 90%;
	
}

@media (max-width:1000px){
	
.infoinner .right h2 {
    padding-top: 30px;
}
	
.info_pkg{
	box-shadow: 10px 10px 0px 0px rgba(66, 113, 248, 0.44);
}
.infoinner .right {
    width: 80%;
    margin-left: 15%;
}
	
.infoinner .left {	
	width: 85%;
        position: absolute;
        left: -19vw;
        z-index: 1;
        top: 19vw;
	}
	.information_block2{
		height: 100vw;
		margin-top: 6vw;
	}
	
	.info_pkg2{
left: 10.5%;
        top: 54%;
        width: 36%;
        transform: rotate(-7deg);
}


.info_pkg3{
   left: 58%;
        top: 57%;
        width: 28%;
    transform: rotate(12deg);
}
.info_pkg1{
          left: 34%;
        top: 5%;
        width: 40%;
    transform: rotate(5deg);
}
.infobox {
  box-shadow: 10px 10px 0px 0px rgba(66, 113, 248, 0.44);
}
	
	
	
	
}
@media (max-width:750px){
	.information_block3{
		display: block;
	}
	.information_block3 > div{
		max-width: 400px;
		width: 80%;
		margin: 30px auto;
	}
	
	
}
#syokai{
	display: none;
}

#special{
	padding: min(140px,calc(var(--vw) * 12)) min(50px,calc(var(--vw) * 8));
	overflow: hidden;
}
#special > section {
	max-width: 900px;
	margin: auto;
	margin-bottom: 80px;
	width: 100%;
}
#special > section:last-child {
	margin-bottom: 0;
}
.special_box{
	background-color: #fff;
	border-radius: 15px;
	padding: min(3rem,calc(var(--vw) * 4));
	padding-top:calc( min(6rem,calc(var(--vw) * 5)) + 2rem);
	box-sizing: border-box;
	position: relative;
	width: 100%;
	
}
.special_inner{
	padding-left: 5rem;
}

.special_h2_1,
.special_h2_2{
	position: relative;
	margin-bottom: 150px;
    margin-bottom: min(150px, 21vw);
	display: flex;
}
.special_h2_2{
	margin: min(150px, 21vw) auto;
    margin-bottom: min(80px, 12vw);
	justify-content: flex-end;
}
.special_h2_1 h2,
.special_h2_2 h2{
	max-width: 1100px;
	margin: auto;
	display: flex;
}
.special_h2_2 h2{
	justify-content: flex-end;
}
.special_h2_1 img,
.special_h2_2 img{
	z-index: 3;
	position: relative;
}
.special_h2_1:after,
.special_h2_2:after{
    content: "";
    position: absolute;
    width: 95vw;
    height: 620%;
    right: 110vw;
    top: -180%;
    bottom: -150%;
    margin: auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("../images/vf-line2.svg");
}
.special_h2_2:after{
	background-image: url("../images/vf-line1.svg");
	left: auto;
    left: 110vw;
}
.spe_h3{
	position: absolute;;
	max-width: 700px;
	width: 80%;
	left: -2rem;
	bottom: calc(100% - 5rem);
    bottom: max(calc(100% - 4vw), calc(100% - 5rem));
}

.spe_h3 img{
	width: 100%;
}
.spe_h3 .pos_a{
	bottom: 0;
	left: 0;
	position: absolute;
	height: 199%;
}

.spe_h4{
	position: relative;
	padding-left: 5rem;
	margin-left: -5rem;
		font-size: 1.8rem;
    padding-top: 0.5em;
    margin-bottom: 1.6rem;
	font-weight: 900;
}
.spe_h4:last-child{
	margin-bottom: 0;
}
#tokusouban .spe_h4_1{
	margin-bottom: 0;
	
}
.spe_h4:before{
    position: absolute;
    top: 0px;
    content: "";
    background-image: url(../images/info-num1.svg);
    display: block;
    width: 4rem;
    height: 4rem;
    left: 0;
    top: 0.3em;
}
.spe_h4_1,
.spe_h4_3,
.spe_h4_5,
.spe_h4_7,
.spe_h4_9{
	color: #26adac;
}
.spe_h4_2,
.spe_h4_4,
.spe_h4_6,
.spe_h4_8,
.spe_h4_10{
	color: #f783c5;
}
.spe_h4_2:before{
	background-image: url("../images/info-num2.svg");
}
.spe_h4_3:before{
	background-image: url("../images/info-num3.svg");
}
.spe_h4_4:before{
	background-image: url("../images/info-num4.svg");
}
.spe_h4_5:before{
	background-image: url("../images/info-num5.svg");
}
.spe_h4_6:before{
	background-image: url("../images/info-num6.svg");
}
.spe_h4_7:before{
	background-image: url("../images/info-num7.svg");
}
.spe_h4_8:before{
	background-image: url("../images/info-num8.svg");
}
.spe_h4_9:before{
	background-image: url("../images/info-num9.svg");
}
.spe_h4_10:before{
	background-image: url("../images/info-num10.svg");
}
.spe_h4:last-child{
	margin-bottom: 0;
}

#special h5{
	margin-top: 1em;
	margin-bottom: 0.5em;
	position: relative;
	padding-left: 1em;
	font-weight: 900;
	
}
#special h5:before{    content: "";
    height: 0.6em;
    width: 0.6em;
    background-color: #f783c5;
    display: block;
    position: absolute;
    left: 0;
    top: 0.5em;
    border-radius: 10px;
}
#special h5:first-child{
	margin-top: 0;
}
.under_h5{
	font-size: 0.9em;

padding-left: 2rem;
}
.under_h5 ul span{
	display: inline-block;
	margin-right: 0.5em;
	color: #26adac
}
.encore{
	color: #fff;
	background-color: #26adac;
	padding: 0 0.5em;
    width: 5em;
    text-align: center;
	margin: 0.5em 0;
}
.setlist li{
	position: relative;
	padding-left: 2em;
}
.setlist li span:first-child{
	position: absolute;
	left: 0;
	top: 0;
	color: #26adac;
}
.kuma{
	width: 1em;
	display: inline-block;
    margin-bottom: -0.15em;
}
.special_two_col1,
.special_two_col2{
	display: flex;
	gap:20px;
	justify-content: space-between;
}
.special_two_col2 .right,
.special_two_col1 .right{
	width: 370px;
	flex-shrink: 0;
}
.special_two_col2 .left,
.special_two_col1 .left{
	flex-shrink: 1;
	width: 100%;
}
#spec .soon{
	max-width: 370px;
	margin: auto;
		width: 80%;
}

.tokusouban_img{
	display: none;
}
.campaign_shop_bg{
	overflow: hidden;
}
.campaign_bg{
	transform: skewY(7deg);
	    margin-top: 7vw;
	overflow: hidden;
    margin-bottom: calc(-1 * min(20vw, 200px));
    margin-bottom: calc(-22vw + 80px);
    padding-bottom: min(20vw, 200px);
    margin-bottom: calc(-1 * min(20vw, 200px));
    padding-bottom: 20vw;
    margin-bottom: calc(-1 * 30vw);
}

.campaign_container{
    transform: skewY(-7deg);
    padding: 7vw min(50px, calc(var(--vw) * 8));
    margin: -7vw 0;
    margin-bottom: -14vw;
	background-image: url("../images/campaign-bg.svg");
	background-size:cover;
	background-repeat: no-repeat;
	background-position:top 0 center;
	z-index: 5;
}
.campaign_inner{
	margin: auto;
	max-width: 1000px;
    padding: min(100px, 22vw) 0;
    padding-bottom: min(250px, 22vw);
    padding: min(100px, 22vw) 0;
    padding-bottom: max(100px, 35vw);
}

.shop_bg{
	transform: skewY(0deg);
	padding-bottom: 50vw;
    margin-bottom: -50vw;
	position: relative;
}
.shop_bg2{
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    transform: skewY(-15deg);
    display: block;
	overflow: hidden;
}
.shop_bg2_bg{
    transform: skewY(15deg);
    display: block;
    background-image: url(../images/daiya-bg.svg);
    background-color: #b2e8ea;
	height: 150%;
	position: relative;
	top: -25%;
	width: 100%;
	width: 100%;
}
.shop_container{
	transform: skewY(0deg);
	padding: 15vw min(50px,calc(var(--vw) * 8));
	margin: -15vw 0; 
	padding-top: 0;
	z-index: 10;
}
.shop_inner{
	margin: auto;
	max-width: 1000px;
    padding: min(200px, 20vw) 0;
    padding-bottom: min(300px, 30vw);
	padding-bottom: 22vw;
    padding-bottom: max(150px, 22vw);
    padding-bottom: max(8rem);
}

.soukiyoyaku_img1{
	margin-bottom: min(50px, calc(var(--vw) * 10));
}
.souki_box h4{
	color: #26adac;
	background-color: #333333;
	text-align: center;
	width: 100%;
	padding: 0.5em;
	box-sizing: border-box;
	font-size: 1.8rem;
	font-weight: 700;	flex-shrink: 0;
}

.souki_block.block1 h4,
.souki_block.block4 h4{
	color: #ff7bac;
}
.souki_box_twocol,
.souki_box_twocol .left{
	gap:40px;
	display: flex;
	align-items: stretch;
}
.souki_box_twocol{
	margin-bottom: 40px;
}
.souki_box_twocol > div{
	width: calc(50% - 20px);
}
.souki_box_twocol .left{
	justify-content: space-between;
	flex-direction: column;
}
.souki_block{
	background-color: #fff;
    display: flex;
    flex-direction: column;
}
.souki_block .block_main{
	height: 100%;
	flex-shrink: 1;
	padding: 1rem 2rem;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

.souki_block.block1{
    flex-shrink: 0;
}
.souki_block.block2{
    height: 100%; 
    flex-shrink: 1;
}
.souki_block.block3 img{
	width: 250px;
}
.souki_block.block4 .block_main{
	flex-direction: row;
	gap:20px;
	justify-content: flex-start;
	align-items:flex-start; 
}

.souki_block.block4 a:hover{
	opacity: 0.5;
}
.souki_block.block4 > small{
	padding: 1rem 2rem;
	padding-top: 0;
}
.souki_block.block4 .block_main > div{
	width: calc(50% - 10px);
}
.souki_block.block4 a,
.souki_block.block4 p{
	padding-left: 2em;
	display: block;
	position: relative;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	font-weight: 600;
}
.souki_block.block4 a:before{
	content: "";
	width: 1.6em;
	height: 1.6em;
	position: absolute;
	left: 0;
	top: 0;
	background-image: url("../images/icon_shop2.svg");
	display: block;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.souki_block.block4 p:before{
	content: "";
	width: 1.6em;
	height: 1.6em;
	position: absolute;
	left: 0;
	top: 0;
	background-image: url("../images/icon_shop1.svg");
	display: block;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.souki_block.block4 .kome{
    padding: 0 0.5em;
    border: solid 1px #cccccc;
    margin-top: 1.5em;
}
.souki_block.block4 .kome p{
	font-weight: 300; 
}
@media (max-width:1000px){
.spe_h3 {
	width: 100%;
	}
	.special_two_col2{
		flex-direction: column;
	}
	.special_two_col2 .right{
		width: 100%;
	}
	.special_two_col2 .right img{
		width: 370px;
		margin: auto;
		width: 80%;
	}
	.special_two_col1 .right{
		display: none;
	}
	.souki_box_twocol, .souki_box_twocol .left ,.special_two_col2{
		gap:min(50px, calc(var(--vw) * 8));
	}
.tokusouban_img{
	display: block;
}
	.tokusouban_img img{
		max-width: 370px;
		width: 80%;
		margin: auto;
	}
}
@media (max-width:800px){
	
.souki_box_twocol {
    margin-bottom: min(50px, calc(var(--vw) * 8));
	flex-direction: column;
	}
	.souki_box_twocol > div {
    width: 100%;
	}
	
.souki_block.block4 .block_main {
    flex-direction:column;
	gap: 0px;
	}
	
.souki_block.block4 .block_main > div {
    width:100%;;
	}

}

@media (max-width:800px){
	
.special_inner {
	padding-left: 3rem;
	}
	
.spe_h4 {
    position: relative;
    padding-left: 3rem;
	margin-left: -3rem;
	}
	.spe_h4:before {
    width: 2.3rem;
    height: 2.3rem;
    left: 0;
    top: 0.6em;
	}
}

#shop h2{
	margin: auto;
	height: auto;
	width: 100%;
	margin-top: calc(-1 * min(200px, 20vw) );
    margin-top: calc(-1 * min(210px, 19vw));
	margin-bottom: 6rem;
}
#shop h2 img{
	width: 100%;
	height: auto;
}
.shop_read{
	max-width: 800px;
	margin: auto;
}
.shop_read small{
	font-size: 0.9em;
}

.shop_container h3{
	max-width: 480px;
	margin: auto;
	display: block;
	margin-bottom: 3rem;
	margin-top: 6rem;
}
.shop_text2{
	text-align: center;
}
.shop_list{
	display: flex;
	gap:20px;
	align-items: stretch;
	flex-wrap: wrap;
}
.shop_list > li{
	width: calc(33.33% - 20px * 2 / 3);
}
.shop_list_item{
	border-radius: 15px;
	background-color: #fff;
	padding: 2rem;
	padding-bottom: 8rem;
	position: relative;
	display: flex;
	flex-direction: column;
	gap:1.5rem;
	box-sizing: border-box;
}
.shop_list_item h4{
	font-weight: 800;
    display: flex;
    justify-content: center;
    width: 100%;
	text-align: center;
    box-sizing: border-box;
    min-height: calc(3.2em);
    align-items: center;
}
.shop_list_img{
	flex-shrink: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}
.shop_list_img img{
	max-width: 100%;
}
.shop_btn{
	flex-shrink: 0;
	background-color: #cfcfd6;
	border: solid 1px #cfcfd6;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	padding: 0.5em;
	text-decoration: none;
	position: absolute;
	bottom:2rem;
    width: calc(100% - 6rem);
	left: 0;
	right: 0;
	margin: auto;
}
.shop_btn:link,
.shop_btn:visited,
.shop_btn:active{
	color: #fff;
}
.shop_btn:hover{
	color: #cfcfd6;
	background-color: #fff;
}

@media (max-width:800px){
	.shop_list{
		flex-direction: column;
		align-items: center;
	}
	.shop_list li{
		width: 100%;
        max-width: 320px;
	}
}
#bottom_arae{
	padding: min(100px, calc(var(--vw) * 20)) min(50px, calc(var(--vw) * 10));
}
#bottom_arae h2{
	margin: auto;
	margin-bottom:  min(60px, calc(var(--vw) * 12))
}
#bottom_arae h2 img{
	margin: auto;
}
#sns{
	margin-bottom:  min(100px, calc(var(--vw) * 20))
}

#sns ul{
	display: flex;
	gap:3rem;
	justify-content: center;
	align-items: center;
}
#sns ul li{
	width: 8rem;
}
#sns ul li a{
	display: block;
}

#link .banner1{
	display: block;
	margin: auto;
	max-width: 600px;
	width: 100%;
	margin-bottom: 6rem;
}
#link .banner2{
	display: block;
	margin: auto;
	max-width: 380px;
	width: 100%;
}
footer{
	background-color: #000;
	text-align: center;
	padding: min(40px, calc(var(--vw) * 8)) min(20px, calc(var(--vw) * 2));
}
footer p{
	text-align: center;
	color: #fff;
	margin: auto;
}
.navimenu{
	width: 6rem;
	top: 2rem;
	 right: 2rem;
	display: block;
	z-index: 10;
	position: fixed;
	cursor: pointer;
}
@media (max-width:800px){
.navimenu{
	width: 4rem;
	}
}
.pagetop{
	width: 6rem;
	bottom: 2rem;
	 right: 2rem;
	display: block;
	z-index: 10;
	position: fixed;
}

.spnavi{
	height: 100vh;
  position: fixed;
  background-color:rgba(0,0,0,0.60);
  top: 0;
  right: 0;
  width: 100%;
  display: none;
  z-index: 1000;
	box-sizing: border-box;
	font-size: 10px;
}
.spnavi_border{
	background-size: cover;
	background-position: center;
	display: block;
	
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
	
}
.spnavi_inner {
  background-color: #012c5c;
	display: none;
	
/*background: linear-gradient(to bottom,  #000000 1%,#012c5c 90%); */
	background-color: #333333;
  width: 100%;
	padding: 0 3rem;
	padding-top: 6em;
	padding-bottom: 6em;
	box-sizing: border-box;
	font-size: 10px;
    max-height: calc(var(--vh) * 100);;
    overflow: auto;
}
.navi_logo{
	max-width: 550px;
	margin: auto;
	margin-bottom: 6rem;
	position: relative;
}
.menu_close{
	position: absolute;
	top: 2rem;
	right: 2rem;
    width: 4rem;
	cursor: pointer;
	
}
.spnavi nav {
  display: flex;
	justify-content: center;
  width: 100%;
  padding: 0px 0;
	max-width:700px;
	margin: auto;
	gap:6rem;
}
.spnavi nav  ul{
	width: 50%;
}
.spnavi nav  ul li{
	border-top: solid 1px #fff;
}
.spnavi nav  ul li:last-child{
	border-bottom: solid 1px #fff;
}
.spnavi a {
	display: flex;
	align-items: center;
	justify-content: center;
  width: 100%;
  font-weight: 700;
	padding: 20px 25px;
	box-sizing: border-box;
}
.spnavi a img{
	max-width: 410px;
	width: 100%;
}
.spnavi:after,
.spnavi:before{
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 1.8rem;
	display: block;
	background-size: contain;
  background-image: url("../images/menu_hasen.svg");
}
.spnavi:before{
	top: 0;
}
.spnavi:after{
	bottom: 0;
}

@media (max-width:500px){
	
.spnavi nav {
	gap: 3rem;
	
	}
.spnavi a {
	padding: 10px 10px;
	}
}



.type_fade2 {
  opacity: 0;
  transform: translate(0, 0vw);
  transition: 0.4s;
}
.type_fade {
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s;
}
.type_fade.hide{
  transform: translate(0, -10vw);
}

.type_fade_left{
  opacity: 0;
  transform: translate(-100vw, 0);
  transition: 1.5s  0.4s;
}
.type_fade_right{	
  opacity: 0;
  transform: translate(100vw, 0);
  transition: 1.5s 0.4s;
}
.type_fade_c1{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s 0.1s;
}
.type_fade_c2{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s 0.2s;
}
.type_fade_c3{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s 0.3s;
}
.type_fade.show,
.type_fade.show .type_fade_c1,
.type_fade.show .type_fade_c2 ,
.type_fade.show .type_fade_c3,
.type_fade2.show,
.type_fade_left.show,
.type_fade_right.show{
  opacity: 1;
  transform: translate(0, 0);
}

@media screen and (min-width: 801px) {
.type_parent_pc{
	}
.type_parent_pc > li,
.type_parent_pc > div{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s;
	}
	
.type_parent_pc.hide > li,
.type_parent_pc.hide > div{
  transform: translate(0, -10vw);
	}
.type_parent_pc > li:nth-child(1),
.type_parent_pc > div:nth-child(1){
  transition: 0.4s;
	}
.type_parent_pc > li:nth-child(2),
.type_parent_pc > div:nth-child(2){
  transition: 0.4s 0.1s;
	}
.type_parent_pc > li:nth-child(3),
.type_parent_pc > div:nth-child(3){
  transition: 0.4s 0.2s;
	}
.type_parent_pc > li:nth-child(4),
.type_parent_pc > div:nth-child(4){
  transition: 0.4s 0.3s;
	}
.type_parent_pc > li:nth-child(5),
.type_parent_pc > div:nth-child(5){
  transition: 0.4s 0.4s;
	}
.type_parent_pc > li:nth-child(6),
.type_parent_pc > div:nth-child(6){
  transition: 0.4s 0.5s;
	}
.type_parent_pc > li:nth-child(7),
.type_parent_pc > div:nth-child(7){
  transition: 0.4s 0.6s;
	}
.type_parent_pc > li:nth-child(8),
.type_parent_pc > div:nth-child(8){
  transition: 0.4s 0.7s;
	}
.type_parent_pc > li:nth-child(9),
.type_parent_pc > div:nth-child(9){
  transition: 0.4s 0.8s;
	}
.type_parent_pc > li:nth-child(10),
.type_parent_pc > div:nth-child(10){
  transition: 0.4s 0.9s;
	}
.type_parent_pc > li:nth-child(11),
.type_parent_pc > div:nth-child(11){
  transition: 0.4s 1.0s;
	}
.type_parent_pc > li:nth-child(12),
.type_parent_pc > div:nth-child(12){
  transition: 0.4s 1.1s;
	}
.type_parent_pc > li:nth-child(13),
.type_parent_pc > div:nth-child(13){
  transition: 0.4s 1.2s;
	}
.type_parent_pc > li:nth-child(14),
.type_parent_pc > div:nth-child(14){
  transition: 0.4s 1.3s;
	}
.type_parent_pc > li:nth-child(15),
.type_parent_pc > div:nth-child(15){
  transition: 0.4s 1.4s;
	}
.type_parent_pc.show > li,
.type_parent_pc.show > div{
  opacity: 1;
  transform: translate(0, 0);
}
}
@media screen and (max-width: 800px) {
	.type_fade_sp{
}
.type_fade_sp {
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s;
}
.type_fade_sp.hide{
  transform: translate(0, -10vw);
}
.type_fade_sp.show{
  opacity: 1;
  transform: translate(0, 0);
}
}

.special_h2_1:after{
	    right: 100vw;
  transition: 0.4s ;
}
.special_h2_2:after{
    left: 100vw;
  transition: 0.4s ;
}
.special_h2_1.show:after{
    right: 5vw;
} 
.special_h2_2.show:after{
    left: 5vw;
}
.special_h2_1 img, 
.special_h2_2 img{
  opacity: 0;
}
.special_h2_1.show img, 
.special_h2_2.show img{
  opacity: 1;
  transform: translate(0, 0);
  transition: 0.4s 0.2s;
}

@media (max-width:800px){
	

.special_h2_1:after, .special_h2_2:after {
	width: 130vw;
	}
.special_h2_1.show:after{
    right: 0vw;
} 
.special_h2_2.show:after{
    left: 0vw;
}
}
.anime_sheryl{
	transform-origin: 50% 100%;
    transition: 0.6s ease-out;
    transform: translateY(100%) rotate(-40deg);
opacity: 0;
}
.anime_sheryl.show{
    transform: translateY(0px) rotate(0deg);
	opacity: 1;
}

.anime_ranka{
	transform-origin: 50% 100%;
    transition: 0.6s ease-out;
    transform: translateY(50%) rotate(40deg);
opacity: 0;
}
.anime_ranka.show{
    transform: translateY(0px) rotate(0deg);
	opacity: 1;
}



.movie_open {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
  height: 0;
	cursor: pointer;
	background-color: #000;
}
.movie_open:before {
	content: "";
	width: 30%;
	height: 30%;
	display: block;
	position: absolute;
	z-index: 10;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url("../images/movie_btn.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.movie_open img {
  position: absolute;
  left: 0;
  margin: auto;
  top: -100%;
  bottom: -100%;
  width: 100%;
	opacity: 0.6;
	will-change: opacity;
}

.modalbtn {
  cursor: pointer;
}
.modalbox {
  position: fixed;
  width: 100%;
  z-index: 100001;
  display: none;
  left: 0;
  bottom: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  height: 100vh;
  box-sizing: border-box;
  padding: 2rem;
  padding-top: 8rem;
  background-color: rgba(0, 0, 0, 0.40);
  justify-content: center;
  align-items: flex-start;
}
.img_thumb {
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.img_thumb img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
  margin: auto;
}
.modal_img_container {
  display: flex;
  justify-content: center;
  max-height: calc(100% - 60px);
  max-width: 100%;
  align-items: center;
  position: relative;
  padding: min(2rem, 3vw);
  background-color: #fff;
  border-radius: 1.5rem;
  box-sizing: border-box;
	display: none;
}
.modal_movie_container{
  display: flex;
  justify-content: center;
  max-height: calc(100% - 60px);
  max-width: 1500px;
  align-items: center;
  position: relative;
/*  padding: min(2rem, 3vw);
  background-color: #fff;
  border-radius: 1.5rem;*/
  box-sizing: border-box;
	display: none;
	width: 100%;
}
.youtubearea {
  padding: 0 !important;
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 56.25% !important;
  overflow: hidden;
}
.youtubearea iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: -20%;
  right: -20%;
  left: -20%;
  bottom: -20%;
  margin: auto;
}
#modal_img {
  width: auto;
  height: auto;
  max-height: calc(100vh - 240px);
  max-width: 100%;
  object-fit: contain;
}
.modal_close {
  cursor: pointer;
  width: 100%;
  background-position: right center;
    height: min(5rem, 11vw);
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("../images/close.svg");
  margin-top: 0px;
  margin-bottom: 2rem;
  position: absolute;
  top: -6rem;
}


.modalplus{
	position: relative;
}
.modalplus:before{
	content: "";
	position: absolute;
	bottom: 15px;
	left: 15px;
	width: 40px;
	height:40px;
	background-image: url("../images/plus.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.newsinner .left .modalplus:before {
    z-index: 10;
    right: -5%;
    left: auto;
    top: 16%;
    max-width: 14%;
    max-height: 14%;
}