@charset "UTF-8";

/* ==========================================
	 フォント
   ========================================== */

body {
	color: #1d2d45;
	font-family:YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
p {
	font-size:1.55rem;
	line-height:1.5;
}
ul li, ol li { font-size:1.55rem;}
small {font-size: 0.8em;}
img {
	max-width: 100%;
	height: auto;
}
em { font-style: normal;}
span,small,em,strong { display: inline-block;}

/* ==========================================
	 リンク
   ========================================== */

a:link    { color: #bb3137;}
a:visited { color: #bb3137;}
a:hover   { color: #E00011; opacity: .9; text-decoration: none;}
a:active  { color: #E00011; opacity: 1;}
a:focus { outline: none;}
a, a:hover { transition: 0.25s;}
a img:hover { filter: brightness( 104% ) contrast( 106% ) }



/* LOADING（.loading）
----------------------------------------- */
body { opacity: 0;transition: opacity 3350ms;}
body.hide { opacity: 1;}



/* ==========================================
	構造
============================================= */
html {
	-webkit-overflow-scrolling: touch;
	background-color: #7fc1e5;
}
html, body { background:#fff; }

/* header
	------------------------------ */
header {
	font-family: "Ryumin Regular KL";
	text-align: center;
}
header .produce {
	margin: 70px 0 0;
	font-size: .85rem;
	font-family: "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
header h1 {
/* 	color: #fff; */
	margin: .3em auto .45em;
	font-size: 2.3rem;
	font-family: "Ryumin Regular KL";
	line-height: 1.05;
}
header h1.title:before { content:  "「";font-family:serif;}
header h1.title:after { content:  "」";font-family:serif;}
header .mainpict { margin: 40px auto;}
header .mainpict img {
	width: 88%;
	max-width: 600px;
}
header dl.cast {
	display: inline;
	margin-bottom: 0;
}
header dl dt {
	margin-bottom: .52em;
	font-size: .9rem;
}
header dl dd {
	display: inline-block;
	margin: 0 .55em;
	font-size: 1.2rem;
	font-weight: bold;
}

header div.cast h3 {
	margin-bottom: .52em;
	font-size: .9rem;
}
header div.cast ul {
	display: inline-block;
	margin: 0 auto;
}
header div.cast ul li {
	display: inline-block;
	margin: 0 .55em;
	font-size: 1.2rem;
}
@media (max-width: 768px) {
header div.cast ul.first,
	header div.cast ul.last {
	display: block;
  }
}


header .story {
	padding: 50px 0 ;
	font-feature-settings: "pkna"; /* （仮名や仮名関連の字形セットをプロポーショナル字形に置き換える指定） */
	text-align: justify;
	text-justify: inter-word; 
 	word-wrap: break-word;
/* 	text-align-last: left; */
	letter-spacing: .06em;
}
header .story .inner {
	margin: auto;
	padding: 5vmin;
	width: 88%;
	max-width: 800px;
	text-align: left;
background:
  linear-gradient(0deg, transparent 0, rgba(255,255,255,.15) 0),
  linear-gradient(135deg, transparent 20px, rgba(255,255,255,.15) 20px),
  linear-gradient(180deg, transparent 0, rgba(255,255,255,.15) 0),
  linear-gradient(315deg, transparent 20px, rgba(255,255,255,.15) 20px);
background-position: bottom left, top left, top right, bottom right;
background-size: 50% 50%;
background-repeat: no-repeat;
}
header .story .inner h3 {
	margin-bottom: 1em;
	color: rgba(255,255,255,.6);
	font-size: 1.95rem;
	font-style: italic;
	text-align: center;
}
header .story .inner p {
	color: #16426c;
	font-size: 1.2rem;
}
header .info {
	margin: 30px auto 80px;
	width: 90%;
}
header .info h2 {
	font-size: 1.95rem;
	letter-spacing: 0.075em;
}
header .info h2 small {
	font-size: .7em;
	margin: 0 -0.5em;
}
header .info p.tour {
	font-size: 1rem;
	letter-spacing: 0.1em;
}
header .info p.tour em { font-size: 1.2em;}
header .info .open {
	display: inline-block;
	margin-top: 20px;
	padding: .3em 2em;
	color: #fff;
	background-color: #bb3137;
}
header .logo {
	position: absolute;
	top:10px;
	right: 20px;
	width: 40px;
	height: auto;
}

/* content
	------------------------------ */
.content {
	margin: 0 auto;
	width: 88%;
	max-width: 1000px;
	text-align: center;
}
.content .text {
	margin: auto;
	padding: 40px;
	max-width: 700px;
	color: #fff;
	background: #3066b4;
}
.content .text h2 {
	margin-bottom: 15px;
	font-size: 1.65rem;
}


.content .text .btn a {
	display: block;
	margin: 1em auto 2em;
	padding: .5em 2em .6em;
	max-width: 300px;
	color: #fff;
	text-shadow : 1px 1px 0px rgba(0,0,0,0.5) ;
	text-align: center;
	background-color: #2a4175; 
}
.content .text .btn a:hover {
	filter: brightness( 114% ) contrast( 116% );	
}
.content .text p.btn {
	margin: 5vmin auto;
	font-size: 1.3rem;
}
.content p { font-size: 1.05rem;}
.content .text p.small {
	margin-top: -10px;
	margin-bottom: 30px;
	font-size: .7rem;
	text-align: center;
}
.content .text .tomember { margin: 2vh auto;}
.content .text .tomember a { font-weight: bold;}

/* M&OplaysWEB会員登録ボタン */
.content .text p.btn {margin: 2em auto;}
.content .text p.btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 1em auto .2em;
	padding: 1em 1.5em 1em; 
	max-width: 400px;
	color: #333;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-align: center;
	text-shadow : none;
	background-color: #fff;
	border-radius: 0;
/* 	transition: 0.25s ease-in; */
}
.content .text p.btn a img {
  width: auto;
  height: 1em;
  vertical-align: -2px;
}
.content .text p.btn a:hover img {
  filter: invert(12%) sepia(100%) saturate(6281%) hue-rotate(348deg) brightness(76%) contrast(108%);
}
.content .text p.btn a:link,
.content .text p.btn a:visited {}
.content .text p.btn a:hover {
	color: #cf000e;
	box-shadow: 0px 0px 17px rgba(0,0,0,0.4);
}
.content .text p.btn a:active {
	-webkit-box-shadow: 0 0px 3px 1px rgba(0,0,0,0.2) inset;
	-moz-box-shadow   : 0 0px 3px 1px rgba(0,0,0,0.2) inset;
	box-shadow        : 0 0px 3px 1px rgba(0,0,0,0.2) inset;
}


.content .text .copy {
	margin: 40px auto 30px;
	font-size: 1.3rem;
}
.content .text .contact {
	margin:40px auto 0;
	padding: 20px 30px;
	max-width: 400px;
	border: 1px solid #333;
}

.content .contact {
	margin: 50px auto;
	font-family: "Ryumin Regular KL";
}
.content .contact .title {
	display: block;
	margin-bottom: 10px;
}
.content .contact p {
	font-size: 1.25rem;
	font-weight: bold;
}
.content .contact p small { font-size: .75em;}

/* footer
	------------------------------ */
footer {
	display: block;
	margin-top: 60px;
	padding: .3em 0 20px;
	color: #333;
	font-size: .8rem;
	text-align: center;
	opacity: 1;
}
footer .logo {max-width: 60px;}
footer .copylight {
	font-size: .8rem;
	letter-spacing: 0.1em;
}

@media screen and (min-width: 480px) { /* スマホ横（480px以上）*/

}@media screen and (min-width: 768px) { /* タブレット（768px以上）*/
/* header
	------------------------------ */
header h1 { font-size: 3rem;}
header dl.cast dt { display: inline-block; margin: 0 1.2em;}

}@media screen and (min-width: 992px) { /* ノートPC（992px以上） */

}@media screen and (orientation: landscape) {/* 横向きの場合のスタイル */

}@media screen and (orientation: portrait) {/* 縦向きの場合のスタイル */

}@media screen and (min-width: 1200px) { /* デスクトップ（1200px以上） */

}@media screen and (min-width: 1640px) { /* デスクトップ（1640px以上） */
}