@charset "utf-8";

/*///////////////////////////////////////////////////////////////////////////////////////DEFAULT*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, re, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; }
article, aside, details, figcaption, dialog, figure, footer, header, hgroup, menu, nav, section { display: block; }  /*for IE*/
html { font-size: 62.5%; }
body { text-align:center; font-size:1.6em; font-family:"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: 100%;}
h1, h2, h3, h4, h5, h6, table, caption, tbody, tfoot, thead, tr, th, td, input, textarea { font-size:100%;}
img { border:none; vertical-align:bottom; }
ul, ol { list-style:none;}
table {　border-collapse: collapse;　border-spacing: 0;　font-size:inherit;　font:100%;　}
.hiddenTxt { font-size: 1px; line-height: 100%; text-indent: 100%; white-space: nowrap; display: block; overflow: hidden; }
.clearfix:after { content:" "; display:block; clear:both; }

p { line-height:160%; }
img{width: 100%;}
/*/////////////////////////////////////////////////////////////////////////
コンテンツ用CSS
/////////////////////////////////////////////////////////////////////////*/

body {
	color: #555;
	-webkit-font-smoothing: antialiased;
	font-feature-settings : "palt";
	letter-spacing: 0.1rem;
}

#wrapper {
	background:#3f99e5 url(../img/bg.jpg) no-repeat center top;
	background-size: 100%;
	min-width: 1100px;
	background-attachment: fixed;
}

#wrapper header {
	min-width: 1100px;
}

#wrapper header h1 {
	background: url(../img/main_img.webp) no-repeat center top;
	background-size: cover;
	width: 100%;
	padding-top: 57.539%;
}

#wrapper nav {
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 999;
}

#wrapper nav ul {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	margin: 0 auto;
	padding: 25px 0;
}

#wrapper nav ul li a {
	color: #108ccf;
	font-size: 26px;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 600;
	text-decoration: none;
	opacity: 1;
	transition: all 0.2s;
}

#wrapper nav ul li a .fontS {
	font-size: 16px;
}

#wrapper nav ul li a:hover {
	opacity: 0.5;
}

#wrapper article {
	width: 1100px;
	margin: 0 auto;
}

#wrapper article main {
	text-align: left;
	width: 1000px;
	margin: 0 auto;
}

@media all and (max-width: 767px) {

#wrapper {
	min-width: 100%;
}

#wrapper header {
	min-width: 100%;
}

#wrapper header h1 {
	background: url(../img/main_img_sp.webp) no-repeat center top;
	background-size: contain;
	padding-top: calc(598vw/3.75)
}

#wrapper #menuIcon {
	display: block;
	background: #ef5285;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999;
	padding: 13px 14px;
}

#wrapper #menuIcon a, #menuIcon a span {
	display: inline-block;
	transition: all .4s ease-out;
	box-sizing: border-box;
}

#wrapper #menuIcon a {
	position: relative;
	width: 28px;
	height: 12px;
}

#wrapper #menuIcon a span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: #fff;
}

#wrapper #menuIcon a span:nth-of-type(1) {
	top: 0;
}
#wrapper #menuIcon a span:nth-of-type(2) {
	bottom: 0;
}

#wrapper #menuIcon a.active span:nth-of-type(1) {
	-webkit-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}

#wrapper #menuIcon a.active span:nth-of-type(2) {
	-webkit-transform: translateY(-5px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg);
}

#wrapper nav {
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
}

#wrapper nav ul {
	display: block;
	width: 100%;
	padding: 100px 0;
}

#wrapper nav ul li {
	margin-top: 30px;
}

#wrapper nav ul li a {
	font-size: 26px;
	font-weight: 600;
}

#wrapper nav ul li a .fontS {
	font-size: 16px;
}

#wrapper article {
	width: 100%;
}

#wrapper article main {
	box-sizing: border-box;
	width: 100%;
	padding: 0 15px;
}

}

/*-----------------------------------------------------------banner*/
#wrapper article #banner {
	margin-top: 70px;
	text-align: center;

}

#wrapper article #banner img {
	width: 70%;
}


@media all and (max-width: 767px) {

#wrapper article #banner {
	margin-top: 40px;
}

}


/*-----------------------------------------------------------video*/
#wrapper article #video {
	margin-top: 70px;
}

#wrapper article #video ul {
	/*display: flex;
	justify-content: space-between;*/
}

#wrapper article #video ul li {
	/*width: calc( (100% - 40px) / 2 );*/
	height: auto;
	position: relative;
}

#wrapper article #video ul li::before {
	content: '';
	display: block;
	padding-top: 56.25%;
}

#wrapper article #video ul li iframe {
	position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
	width: 100%;
	height: 100%;
}


@media all and (max-width: 767px) {

#wrapper article #video {
	margin-top: 40px;
}

#wrapper article #video ul {
	display: block;
}

#wrapper article #video ul li {
	width: 100%;
	height: auto;
	position: relative;
	margin-top: 20px;
}

}

/*-----------------------------------------------------------news*/
#wrapper article #news {
	background: rgba(255, 255, 255, 0.7);
	margin-top: 70px;
	padding: 40px 50px;
}

#wrapper article h2 {
	color: #ef5285;
	font-size: 110px;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 100;
	text-align: center;
}

#wrapper article #news h2 {
	float: left;
}

#wrapper article #news dl {
	margin-left: 380px;
	height: 90px;
	overflow-y: scroll;
}

#wrapper article #news dl dt {
	clear: both;
	color: #ef5285;
	font-size: 20px;
	line-height: 140%;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 300;
	float: left;
	padding-top: 10px;
}

#wrapper article #news dl dd {
	padding: 10px 10px 0 7em;
}

#wrapper article #news dl dt:first-of-type, #wrapper article #news dl dd:first-of-type {
	padding-top: 0;
}


@media all and (max-width: 767px) {

#wrapper article #news {
	margin-top: 40px;
	padding: 20px;
}

#wrapper article h2 {
	text-align: center;
	font-size: 30px;
	font-weight: 200;
}

#wrapper article #news h2 {
	float: none;
}

#wrapper article #news dl {
	margin-left: 0;
	height: auto;
}

#wrapper article #news dl dt {
	font-size: 16px;
	font-weight: 300;
	float: none;
	padding-top: 10px;
}

#wrapper article #news dl dd {
	font-size: 13px;
	padding: 0;
}

#wrapper article #news dl dt:first-of-type {
padding-top: 10px;
}

}

/*-----------------------------------------------------------intro*/
#wrapper article #intro {
	background: linear-gradient(181deg, #f7c8d7, #ffffffb5);
	margin-top: 70px;
	padding: 50px;
}

#wrapper article #intro h2 {
	text-align: center;
}
#wrapper article #intro .lead{
	font-style: italic;
	font-weight: 600;
	margin-bottom: 20px;
}
#wrapper article #intro .introImgR {
	float: right;
	margin: 30px -100px 0 0;
}

#wrapper article #intro .introImgL {
	float: left;
	margin: 30px 0 0 -100px;
}

#wrapper article #intro .introTxt {
	margin-top: 30px;
}

#wrapper article #intro .introTxt dt {
	font-size: 30px;
	line-height: 180%;
}

#wrapper article #intro .introTxt dt span {
	color: #fff;
	font-weight: bold;
	background: #ef5285;
	padding: 2px 0;
}

#wrapper article #intro .introTxtL {
	padding-right: 380px;
}

#wrapper article #intro .introTxtR {
	padding-left: 380px;
}

#wrapper article #intro .introTxt dd {
	line-height: 180%;
	margin-top: 10px;
}


@media all and (max-width: 767px) {

#wrapper article #intro {
	margin-top: 40px;
	padding: 20px;
}
	
#wrapper article #intro .introImgR {
	float: none;
	margin: 20px 0 0 0;
}

#wrapper article #intro .introImgR img {
	width: 100%;
	height: auto;
}

#wrapper article #intro .introImgL {
	float: none;
	margin: 20px 0 0 0;
}

#wrapper article #intro .introImgL img {
	width: 100%;
	height: auto;
}

#wrapper article #intro .introTxt {
	margin-top: 10px;
}

#wrapper article #intro .introTxt dt {
	font-size: 18px;
}
	
#wrapper article #intro .introTxt dt span {
	padding: 3px 0;
}

#wrapper article #intro .introTxtL {
	padding-right: 0;
}

#wrapper article #intro .introTxtR {
	padding-left: 0;
}

#wrapper article #intro .introTxt dd {
	font-size: 13px;
}

}

/*-----------------------------------------------------------story*/
#wrapper article #story {
	background:linear-gradient(360deg, #d0e7ffad, #22b7ffab);
	margin-top: 70px;
	padding: 50px;
}

#wrapper article #story h2{
	color: #fff;
}

#wrapper article #story .storyImg {
	float: right;
	margin-right: -90px;
}

#wrapper article #story dl {
	margin-top: 25px;
}

#wrapper article #story dl dt span {
	color: #555;
	font-size: 30px;
	background: #fff;
	padding: 2px;
}

#wrapper article #story dl dd {
	line-height: 180%;
	margin-top: 15px;
	color: #fff;

	font-weight: 600;
}


@media all and (max-width: 767px) {

#wrapper article #story {
	margin-top: 40px;
	padding: 20px;
	position: relative;
}


#wrapper article #story .storyImg {
float: none;
margin-right: 0;
position: absolute;
bottom: 20px;
left: 0;
}

#wrapper article #story .storyImg img {
width: 100%;
height: auto;
}

#wrapper article #story dl {
padding-right: 0;
margin-top: 15px;
}

#wrapper article #story dl dt span {
font-size: 18px;
padding: 3px;
}

#wrapper article #story dl dd {
font-size: 13px;
margin-top: 10px;
}

}
/*-----------------------------------------------------------chart*/
#wrapper article #chart {
	background:linear-gradient(0deg, #fbf0b7bd, #ffd97fd1);
	margin-top: 70px;
	padding: 50px;
}

#wrapper article #chart h2 {
	text-align: center;
}

#wrapper article #chart  img{
	width: 100%;
}
@media all and (max-width: 767px) {

#wrapper article #chart {
	margin-top: 40px;
	padding: 20px;
}

}

/*-----------------------------------------------------------cast*/
#wrapper article #cast {
	background: rgba(255, 255, 255, 0.7);
	margin-top: 70px;
	padding: 50px;
}

#wrapper article #cast h2 {
	text-align: center;
}
#wrapper article #cast h3{
	font-size: 30px;
	color: #ef5285;
	text-align: center;
	font-weight: 100;
}

#wrapper article #cast .castList {
	display: grid;
	grid-template-columns:repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 60px;
}

#wrapper article #cast .castList:last-of-type {
	display: grid;
	grid-template-columns:repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 0;
}

#wrapper article #cast .castList:last-of-type li{
	margin-top: 20px;
}

#wrapper article #cast .castList li {
	background: linear-gradient(150deg, #fff, #c6e5f3);
	box-shadow: 3px 3px #0c8ecf;
	margin-top: 40px;
border-radius: 15px;
}

#wrapper article #cast .castList li img{
	width: 100%;
	border-radius: 15px 15px 0 0;
}

#wrapper article #cast .castList li dl {
	padding: 15px;
}

#wrapper article #cast .castList li dl dt {
	font-size: 28px;
}

#wrapper article #cast .castList li dl dd {
	font-size: 15px;
	line-height: 180%;
	margin-top: 10px;
}

#wrapper article #cast .castList li dl dd .castName {
	color: #0c8ecf;
	font-size: 20px;
	font-weight: bold;
}
#wrapper article #cast .castList li dl dd .introduction{
	color: #0c8ecf;
	font-size:15px;
	font-weight: bold;
}

#wrapper article #cast .staffM {
	margin-top: 60px;
}

#wrapper article #cast .staffList {
	font-size: 20px;
	width: 36em;
	margin: 0 auto;
}

#wrapper article #cast .staffList dt {
	color: #ef5285;
	float: left;
	padding-top: 15px;
}

#wrapper article #cast .staffList dd {
	padding: 15px 0 0 3em;
}

#wrapper article #cast .staffList dd .title {
	font-size: 13px;
}


@media all and (max-width: 767px) {

#wrapper article #cast {
margin-top: 40px;
padding: 20px;
}

#wrapper article #cast .castList {
display: block;
}

#wrapper article #cast .castList:last-of-type {
	display: grid;
	grid-template-columns:repeat(2, 1fr);
	}

#wrapper article #cast .castList li {
width: 100%;
margin-top: 25px;
}

#wrapper article #cast .castList li img {
float: none;
width: 100%;
}

#wrapper article #cast .castList li dl {
padding: 10px 20px;
}

#wrapper article #cast .castList li dl dt {
font-size: 20px;
}

#wrapper article #cast .castList li dl dd {
font-size: 13px;
}

#wrapper article #cast .castList li dl dd .castName {
font-size: 16px;
}

#wrapper article #cast .staffM {
margin-top: 30px;
}

#wrapper article #cast .staffList {
font-size: 13px;
width: 100%;
}

#wrapper article #cast .staffList dt {
float: none;
padding-top: 10px;
}

#wrapper article #cast .staffList dd {
padding: 0;
}

}

/*-----------------------------------------------------------product*/
#wrapper article #product {
	background: linear-gradient(181deg, #f7c8d7, #ffffffb5);
	margin-top: 70px;
	padding: 50px;
}

#wrapper article #product h2 {
	text-align: center;
}

#wrapper article #product .productList {
	display: grid;
	grid-template-columns: auto auto auto;
	margin-top: 20px;
	gap: 20px;
}

#wrapper article #product .productList li {
	text-align: center;
}

#wrapper article #product .productList li dl {
	margin-top: 30px;
}

#wrapper article #product .productList li dl dt {
	font-size: 24px;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: bold;
}

#wrapper article #product .productList li dl dd {
 color: #ef5285;
	font-size: 20px;
	margin-top: 10px;
}

#wrapper article #product .productList li dl dd .onSale {
	font-size: 40px;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: bold;
}

#wrapper article #product .productList li .detail {
	font-size: 13px;
	margin-top: 20px;
}

#wrapper article #product .productList li .detail li {
	width: 100%;
	margin-top: 10px;
}

#wrapper article #product .productList li .detail li .bold {
	font-weight: bold;
}

#wrapper article #product .productList .btn a {
	color: #fff;
	font-size: 18px;
	text-decoration: none;
	display: inline-block;
	background: #ef5285;
	border-radius: 2em;
	padding: 0.5em 3em;
	margin-top: 20px;
	transition: all 0.4s;
}

#wrapper article #product .productList .btn a:hover {
	opacity: 0.5;
}


@media all and (max-width: 767px) {

	#wrapper article #product {
		margin-top: 40px;
		padding: 20px;
}

#wrapper article #product .productList {
	display: block;
	margin-top: 0;
}

#wrapper article #product .productList li {
	width: 100%;
	margin-top: 35px;
}

#wrapper article #product .productList li:first-of-type {
	margin-top: 20px;
}

#wrapper article #product .productList li img {
	width: 100%;
}

#wrapper article #product .productList li dl {
	margin-top: 20px;
}

#wrapper article #product .productList li dl dt {
	font-size: 16px;
}

#wrapper article #product .productList li dl dd {
	font-size: 16px;
	margin-top: 10px;
}

#wrapper article #product .productList li dl dd .onSale {
	font-size: 30px;
}

#wrapper article #product .productList li .detail {
	font-size: 13px;
	margin-top: 15px;
}

#wrapper article #product .productList li .detail li {
	width: 100%;
	margin-top: 10px;
}

#wrapper article #product .productList .btn a {
	font-size: 16px;
	margin-top: 15px;
}

#wrapper article #product .productList .btn a:hover {
	opacity: 1;
}

}
/*-----------------------------------------------------------stream*/
#wrapper article #stream {
	background: rgba(255, 255, 255, 0.7);
	margin-top: 70px;
	padding: 50px;
}
#wrapper article #stream a{
	width: 200px;
	display: block;
	margin: 40px auto 0;
}
#wrapper article #stream a img{
	width: 100%;
}

@media all and (min-width: 768px) {
	#wrapper article #stream a{
		width: 400px;
	}
}

/*-----------------------------------------------------------公式SNS*/
.sns{
	margin-top: 70px;
}

.sns h3{
	text-align: center;
	color: #fff;
font-size: 20px;
margin-bottom: 10px;
}
.sns ul{
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
    gap: 40px;
}
.sns a {
    border-radius: 9999px;
    width: 40px;
    height: 40px;
		margin: 0 auto;
    background-color: #000;
    display: block;
    padding: 2rem;
}

.sns a img{
	width: 100%;
}

/*-----------------------------------------------------------footer*/
#wrapper footer {
	background: #fff;
	margin-top: 70px;
	padding: 30px 0;
}

#wrapper footer p {
	color: #108ccf;
	font-size: 13px;
}


@media all and (max-width: 767px) {

	#wrapper footer {
		margin-top: 40px;
		padding: 30px 15px;
	}

	
#wrapper footer p {
	font-size: 10px;
}

}

/*eof*/
