@charset "UTF-8";



:root {
--color-background:#1c1c1c;
--color-black:#1c1c1c;
--color-gray:#808080;
--color-sky:#a3d0d6;
--color-border:rgba(152,114,65,0.2);
--color-white:#ffffff;
/*--color-border:#cbb8a0;*/
--font-light:200;
--font-regular:400;
--font-bold:600;
--border-radius:1vw;
--border-radius-large:11vw;
--letter-spacing:0.1em;
--line-height-large:2.1;
--line-height:1.5;
--line-height-mini:1.2;
--transition:0.7s;
}

/******************/
/******************/

*,
*::before,
*::after {
	box-sizing:border-box;
}

* {
border:0;
margin:0;
outline:0;
padding:0;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:baseline;
/*	all:unset;
	display:revert;*/
}


article, aside, footer, header, main, nav, article, section {display:block;}
img, picture, audio, canvas, video, svg {display:block; max-width:100%; height:auto;}

br,
hr {display:block;}

ol,
ul {list-style:none;}

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

input,
select {vertical-align:middle;}

body {
	line-height:1;
	line-break:strict;
	overflow-wrap:anywhere;
	word-break:normal;
	font-feature-settings:"palt";
	font-kerning:normal;
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
}

a {-webkit-tap-highlight-color:transparent;}

/******************/
/******************/
/* html format ****/

html {
	font-size:62.5%;
	font-size:calc(100vw / 144);
}
html {font-size:clamp(7px, calc(100vw / 1600 * 4 + 5px), 11px);}
html.is-fixrem {font-size:62.5%;}

body {
background-color:#1c1c1c;
background-color:var(--color-background);
color:#ffffff;
color:var(--color-white);
font-family:'YuGothic', 'Yu Gothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'Helvetica', sans-serif;
font-size:19px;
font-size:1.9rem;
font-style:normal;
font-weight:var(--font-regular);
position:relative;
text-align:center;
width:100%;
}

a,
a:link,
a:visited,
a:hover,
a:active {
	color:inherit;
	-webkit-tap-highlight-color:transparent rgba(0,0,0,0);
	text-decoration:none;
	-webkit-text-decoration-skip:objects;
}


h1,
h2,
h3,
h4,
h5,
h6 {display:block; line-height:1.3;}

b {color:#987241; color:var(--color-gold);}
i {font-style:normal;}
u {text-decoration:underline;}
em {font-weight:bold;}
strong {font-weight:bold; font-size:1.4em;}
mark {background:transparent;}

q {}
q:before,
q:after {content:'"';}
s {text-decoration:underline;}
del {text-decoration:line-through;}

ins {}
iframe {}

ruby {}
rt {font-size:0.5em;}

sup {vertical-align:super; font-size:smaller;}
sub {vertical-align:sub; font-size:smaller;}

details {}

hr {margin:2em 0; border:0; border-top:1px solid #cccccc; border-color:var(--color-border); height:0;}

table {
	border-collapse:collapse; border-spacing:0; empty-cells:show; border:0; width:100%; margin:0 0 3em 0; border-top:1px solid #cccccc; border-color:var(--color-beige);
}
table th,
table td {
	padding:1.5em 1em; vertical-align:top; border-bottom:1px solid #cccccc; border-color:var(--color-beige);
}
table th {vertical-align:middle; text-align:center;}
table td span {display:block; font-size:15px; font-size:1.5rem;}
table caption {
	text-align:left; padding:8px;
}


	
	

::-moz-selection {background-color:#987241; background-color:var(--color-gold); color:#ffffff;}
::selection {background-color:#987241; background-color:var(--color-gold); color:#ffffff;}

/******************/
/******************/
/* shortcodes *****/

.-center {text-align:center;}

/******************/
.wrapper {
	clear:both; display:block; margin:0 auto; position:relative; max-width:500px; width:100%;
	padding:0;
}

.wrapper::after {
	content:"";
	display:block;
	position:fixed;
	width:100%; max-width:500px; top:0; left:50%; bottom:100%; min-height:100vh;
	transform:translateX(-50%);
	background:url("../img/site-background.webp") left top no-repeat;
	background-size:100% auto;
	z-index:-1;
}

.site-teaser .wrapper::after {background-image:url("../img/teaser-background.webp");
background-position:left top -100px ; opacity:0.35;}

.site-top {
	/*background: url("../img/site-top-background.webp") 0 0 no-repeat;*/
	background:var(--color-black);
	background-size: cover;
	background-attachment: fixed;
}





.inner {
	padding:0 20px;margin:0 auto; position:relative;
}

.inner[data-width="max"] {max-width:2400px;}
.inner[data-width="mid"] {max-width:1600px;}
.inner[data-width="min"] {max-width:1300px;}


/******************/
/******************/


/******************/
/******************/

.site {}
.site-header {}
.site-navi {}
.site-main {}
.site-footer {}
.site-background {}

/******************/
/******************/
/* header *********/

.load {
	display:flex; justify-content:center; align-items:center;
	position:fixed;
	top:0; left:0; right:0;
	min-height:100dvh;
	background:var(--color-background);
	z-index:9999;
	opacity:1;
	visibility:visible;
	transition:opacity .6s ease, visibility .6s ease;
}
.load.is-hide {
	opacity:0;
	visibility:hidden;
}

.load .logo {
	max-width:500px; margin:0 auto;
	padding:0 50px;
}


.site-header {
	width:100%; max-width:500px; padding:10px 0; margin:0 auto; display:block; position:relative;
	background:url("../img/header-background.webp") 0 0 no-repeat;
	background-size:cover;
	z-index:9999;
}

.site-header .inner {display:flex; justify-content:space-between; align-items:center;}

.header-logo {
	margin:0 auto 0;
	min-width:210px;
	padding:0;
	width:70%;
}


/******************/
/******************/
/* navi ***********/



/******************/
/******************/
/* widget *********/

.site-left,
.site-right {
	width:calc((100% - 500px) / 2); position:fixed;
	height:100%; min-height:100vdh;
	display:block;
	top:0; bottom:0;
	background:center center no-repeat;
	background-size:cover;
}
.site-left {left:0; background-image:url("../img/site-background-left.webp");}
.site-right {right:0; background-image:url("../img/site-background-right.webp");}

.site-left {display:flex; align-items:center;}
.site-left .link {width:100%;}

.site-right {
	display:flex; justify-content:center; align-items:center;
}
.site-right .logo {max-width:220px; width:70%;}


@media (max-width:1300px) {
	.site-left .link {display:none;}
}
@media (max-width:1000px) {
	.site-right .logo {display:none;}
}

/******************/
/******************/
/* footer *********/

.site-footer {
	padding: clamp(150px, 5vw, 500px) 0;
}

.footer-logo dl {margin:0 auto 5vw; line-height:var(--line-height-large);}
.footer-logo dl dt {margin:0 auto 1em; width:21vw; max-width:280px;}
.footer-logo dl dt img {width:100%; height:auto;}
.footer-logo dl dt a {}
.footer-logo dl dt a:hover {}
.footer-logo dl dd {font-size:15px; font-size:1.5rem; margin:0 auto 1em;}

small.site-info {clear:both; font-size:15px; font-size:1.5rem;}
small.site-info a {color:#987241; color:var(--color-gold);}
small.site-info a:hover {color:#987241; color:var(--color-gold);}

/******************/
/******************/
/* main ***********/

.site-main {
	line-height:1.8;
	text-align:left;
	hyphens:auto;
}

.main-header {}
.main-thumbnail {}
.main-content {}
.main-sidebar {}
.main-footer {}


/******************/
/******************/
/* main-content ***/


.article h1,
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {margin:0 auto 1em auto; line-height:1.3;}

.article h1 {font-size:51px; font-size:5.1rem;}
.article h2 {font-size:22px; font-size:2.2rem;}
.article h3 {font-size:35px; font-size:3.5rem;}
.article h4 {font-size:29px; font-size:2.9rem;}
.article h5 {font-size:25px; font-size:2.5rem;}
.article h6 {font-size:21px; font-size:2.1rem;}

.article p {margin:0 0 2em 0;}

.single-content ul,
.single-content ol {margin:0 0 2em 0; padding:0; list-style:outside;}

.article ul ul,
.article ul ol,
.article ol ul,
.article ol ol {margin-bottom:0;}

.article ul {list-style:none;}
.article ul ul {list-style:circle;}
.article ol {list-style:none;}
.article ol ol {list-style:upper-roman;}

.article ol li {padding:0 0 0 1.6em; text-indent:-1.4em; text-indent:calc(-12px - 0.4em);
	list-style:none;
	counter-increment:number;
}
.article ol li:before {content:counter(number) "."; margin:0 0.4em 0 0;}

.article dl {margin:0 0 2em 0; padding:0;}
.article dl dt {margin:0; position:relative; font-size:1.1em;}
.article dl dd {margin:0 0 1em 0; padding:0;}


.article img {max-width:100%; height:auto;}

.article blockquote {
padding:1em;
margin:0 0 2em 1em;
border-left:2px solid #222222;
}

.article blockquote > *:last-child,
.article blockquote > *:last-child > *:last-child,
.article blockquote > *:last-child > *:last-child > *:last-child {margin:0;}

.article blockquote cite {font-size:0.8em;}
.article blockquote cite:before {content:"— "; margin:0 0 0 1em;}



/******************/
/* page.php single.php single-custompost.php *****/

.page-title {}
.single-title {}
.single-custompost-title {}

.page-meta {}
.single-meta {}
.single-custompost-meta {}

.page-thumbnail {}
.single-thumbnail {}
.single-custompost-thumbnail {}

.page-content {}
.single-content {}
.single-custompost-content {}


.page-title {padding:9vw 0;}
.page-title .title {
	line-height:var(--line-height-mini); text-align:left; margin:0 0 40px 0;
	
}
.page-title .title {font-size:25px; font-size:2.5rem;}
.page-title .title i {display:block; font-size:125px; font-size:12.5rem; display:block;
	line-height:1;
}
.page-title .title span {
	display:flex; align-items:center; margin:1em 0 0 0;
}
.page-title .title span::before {
	content:""; width:3em; height:1px; background:var(--color-gold);
	margin:0 0.5em 0 0;
}


/******************/
/* section ********/

.section {
	position:relative; display:block; padding:0; margin:0;
}


.section-title .title {
	display:inline-block;
	font-size:65px; font-size:6.5rem; line-height:var(--line-height-mini);
}
.section-title .title span {
	font-size:21px; font-size:2.1rem;
	margin:1em auto 0 0;
	color:var(--color-gold);
}
.section-title .title span b {
	display:flex;
	justify-content:flex-start; align-items:center;
	color:var(--color-black);
}
.section-title .title span b::before {
	content:"";
	display:block;
	width:3em; height:1px; background:var(--color-gold);
	margin:0 0.5em 0 0;
}
.section-title .title::after {}
.section-title .subtitle {font-weight:bold;}
.section-title .description {font-size:15px; font-size:1.5rem;}

h4.title span {
	font-size:21px; font-size:2.1rem;
	margin:0.5em auto 0 0;
}
h4.title span b {
	display:flex;
	justify-content:flex-start; align-items:center;
	color:var(--color-black);
}
h4.title span b::before {
	content:"";
	display:block;
	width:2em; height:1px; background:var(--color-gold);
	margin:0 0.5em 0 0;
}


@media (max-width:600px) {
	.section-title .title {font-size:51px; font-size:5.1rem;}
}





/******************/
/******************/
/* front-page.php */

.section-teaser-logo {
	padding:50px 0;
	min-height:100dvh;
	display:flex; align-items:center; justify-content:center;
}
.section-teaser-logo .logo {
	max-width:500px;
	padding:0 50px;
	margin:0 auto;
}


.section-teaser-timer {
	text-align:center;
	padding:0 0 100px 0;
	transform:translateY(0);
	transition:transform .6s ease;
}
.section-teaser-timer.is-up {
	transform:translateY(-100px);
}
.section-teaser-timer .title {font-size:30px; font-size:3.0rem;
	letter-spacing:var(--letter-spacing);
}
.section-teaser-timer .timer {
	display: flex;
	column-gap: 1rem;
	justify-content: space-around;
	font-size: 1.4rem;
	font-weight: var(--font-bold);
	line-height: 1;
}

.section-teaser-timer .timer-container .timer .time {
	font-size: 6.6rem;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	display: block;
	margin-bottom: 1rem;
	width: 1.2em;
	white-space: nowrap;
	text-align:center;
}

.section-teaser-timer .timer-container .timer .caption {
	display:block;
	white-space:nowrap;
	text-transform:uppercase;
}

.section-teaser-timer .timer-container .timer .time::after {
	content:":";
	margin:0 0 0 16%;
}
.section-teaser-timer .timer-container .timer .seconds .time::after {
	display:none;
}

@media (max-width:600px) {
	.section-teaser-timer .timer-container .timer .time {font-size:5.2rem;}
	.section-teaser-timer .timer-container .timer .caption {font-size:1.2rem;}
}

.section-teaser-cm .title {text-align:center;}
.section-teaser-cm .box {
	border:1px solid #fff; padding:15px;
	line-height:1;
}

.section-teaser-cm .box iframe {
	max-width:100%;
	aspect-ratio:3 / 1.7;
	height:auto;
}


.section-top-main {padding:0 0 60px 0;}
.section-top-main .thumbnail {
	margin:0 auto 40px;
}
.section-top-main ul {display:flex; justify-content:space-between; line-height:var(--line-height-mini); text-align:center;
	font-weight:bold;
}
.section-top-main ul li {flex-basis:32%;}
.section-top-main ul li a {display:block; border:1px solid var(--color-sky); padding:10px 5px; border-radius:50px;}
.section-top-main ul li:nth-child(even) a {
	background:var(--color-sky);
	color:var(--color-black);
	white-space:nowrap;
}


.section-top-ahamo img {width:100%; height:auto;}
.section-top-ahamo .hide {display:none;}


.section-top-collaboration .collaboration-selector {margin:0 auto 40px;}
.section-top-collaboration .collaboration-selector ul {display:flex; justify-content:space-between;}
.section-top-collaboration .collaboration-selector ul li {flex-basis:49%;}
.section-top-collaboration .collaboration-selector ul li button {display:block; cursor:pointer;}
.section-top-collaboration .collaboration-selector ul li img {width:100%; height:auto; pointer-events:none;}

.section-top-collaboration .box {
/*	background:#293440;
	background:rgba(41,52,64,0.4);
	border-left:1px solid;
	border-right:1px solid;
	border-color:rgba(255,255,255,0.4);*/
	border-bottom:2px solid rgba(255,255,255,0.4);
	padding:20px 20px;
	margin:0 0 60px 0;
	text-align:center;
	position:relative;
}
.section-top-collaboration .box::before,
.section-top-collaboration .box::after {
	content:""; display:block; position:absolute;
	width:2px; height:100%;
	top:0;
	background: rgba(255, 255, 255, 0.1);
	background: linear-gradient(180deg,rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.4) 100%);
}
.section-top-collaboration .box::before {left:0;}
.section-top-collaboration .box::after {right:0;}

.collaboration-01 .subtitle {margin-top:4em;}
.collaboration-01 .text {
	font-size:21px;
	font-size:2.1rem;
}
.collaboration-01 .text i {
	font-family: "Roboto", sans-serif;
	font-weight: bold;
	font-size:1.5em;
}

.collaboration-01 .note,
.collaboration-02 .note {
	text-align:left;
	color:#bdbdbd;
	line-height:var(--line-height-mini);
	margin:0 auto 2em;
}

.collaboration-01 .note {color:#bdbdbd;}

.collaboration-01.is-active .collabo-01 {}
.collaboration-01.is-not-active .collabo-01-show {display:none;}

.collaboration-01 .-hr {margin:4em auto; display:block; max-width:80%;}
.collaboration-01 .kikan {padding:0 20px; margin:0 auto 4em;}

.collaboration-01 .entry {
	margin:0 auto 6em;
}


.collaboration-01 .box-kiyaku,
.collaboration-02 .box-kiyaku {
	overflow:scroll;
	background:#1e1e1e;
	padding:20px 20px;
	max-height:400px;
	margin:0 auto 2em;
}
.collaboration-01 .box-kiyaku h3,
.collaboration-02 .box-kiyaku h3 {
	margin:0 auto 1em; font-size:24px; font-size:2.4rem; font-weight:bold;
}
.collaboration-01 .box-kiyaku p,
.collaboration-02 .box-kiyaku p {
	text-align:left; margin:0 0 1em 0;
	font-size:14px; font-size:1.4rem; 
}

.collaboration-01 .-large {
	font-size:1.2em;
}

.collaboration-02 .youtube {overflow:hidden; position:relative;padding: 0; margin:0 14px 2em 14px;
	width:calc(100% - 28px);
	aspect-ratio:3 / 2;
}
.collaboration-02 .youtube iframe {
	max-width:100%; width:100%; height:100%;
	position:absolute;
	top:0; right:0; bottom:0; left:0;
}


.collaboration-02 .tokuten .subtitle {margin:0 auto 1em;font-size:1.2em; font-weight:bold;}
.collaboration-02 .tokuten ul {text-align:left; margin:0 0 2em 0; font-weight:bold;}
.collaboration-02 .tokuten ul li {padding:0 0 0.5em 1em; text-indent:-1em; border-bottom:1px solid #fff;
	margin:0 0 0.5em 0;
}
.collaboration-02 .tokuten ul li b {color:#a4ffff;}


.collaboration-02 .tokuten-content {
	overflow:hidden;
	max-height:0;
	transition:max-height 0.4s ease;
}
.collaboration-02 .tokuten-content ol {list-style: none; margin:0 auto 2em;}
.collaboration-02 .tokuten-content ol li {margin:0 0 1em 0; text-indent:0; padding:0;}
.collaboration-02 .tokuten-content ol li::before {display:none;}

.collaboration-02 .tokuten-open {max-width:250px; background:none; appearance: none;}
.collaboration-02 .tokuten-open .open {display:block;}
.collaboration-02 .tokuten-open .close {display:none;}
.collaboration-02 .tokuten-open.is-active .open {display:none;}
.collaboration-02 .tokuten-open.is-active .close {display:block;}

.collaboration-02 a {color:#48ffff; text-decoration:underline;}

.section-top-about {
	background:#404040;
	margin:60px 0 0 0;
	padding:60px 0;
	overflow:hidden;
}
.section-top-about::after {
	content:"";
	position:absolute;
	bottom:0;
}
.section-top-about .title {text-align:center;}
.section-top-about .title img {margin:0 auto; max-width:110px;}

.section-top-about p {text-align:center;}
.section-top-about .swiper-container {
	padding:0 40px;
	position:relative;
}
.section-top-about .swiper-wrapper {}

.section-top-about .swiper-button-prev,
.section-top-about .swiper-button-next {
	width:25px; height:25px;
	background:0 0 no-repeat;
	background-size:25px 25px;
}
.section-top-about .swiper-button-prev {background-image:url("../img/arrow-left.svg"); left:0;}
.section-top-about .swiper-button-next {background-image:url("../img/arrow-right.svg"); right:0;}

.section-top-about .swiper-button-prev:after,
.section-top-about .swiper-button-next:after {display:none;}

.section-top-about .swiper-pagination {position:relative; top:auto; margin:2em auto 0;}
.section-top-about .swiper-pagination-bullet {width:12px; height:12px;}
.section-top-about .swiper-pagination-bullet-active {background:#fff;}

.sns-list ul {gap:8px; display:flex; justify-content:center; margin:0 auto 4em;}


.section-top-movie {
	background:url("../img/about-footer.webp") 0 0 no-repeat;
	background-size:100% auto;
	padding:100px 0 0 0;
}
.section-top-movie img {width:100%;}
.section-top-movie .item {margin:0 auto 40px;}
.section-top-movie .item img {
	width:100%; height:auto;
}





.main-footer {
	text-align:center;
	background:var(--color-background);
	padding:30px 0 30px;
	font-weight:bold;
	font-size:20px; font-size:2.0rem;
}
.main-footer p {margin:0 auto 1em;}
.main-footer b {font-size:30px; font-size:3.0rem;}
.main-footer p a {color:#a3d0d6; text-decoration:underline;}



/******************/
/* button *********/
/* .article button */

.button {margin:1em auto; font-size:24px; font-size:2.4rem; width:fit-content;}

.buttons {display:flex; justify-content:flex-start;}
.buttons .button {margin:2em 1em 2em 0;}

.button a {
	display:flex; justify-content:center; align-items:center;
	min-width:190px; padding:0.5em 2.5em 0.5em 2.5em;
	border-radius:50px;
	text-align:center;
	background:#808080 no-repeat;
	background-image:url("../img/arrow-right-white.webp");
	background-size:0.5em auto;
	background-position:right 1em center;
	border:1px solid; border-color:var(--color-black); color:var(--color-white); position:relative;
	transition:var(--transition);
	position:relative;
}
/*
.button a::after {
	content:""; width:1.3em; height:1.3em;
	background:url("../img/arrow-right-white.webp") center center no-repeat;
	background-size:100% auto;
	margin:0 0 0;
	position:absolute; right:1em; top:50%; transform:translateY(-50%);
}
*/
.button a:hover {
	opacity:0.5; cursor:pointer;
}
.button a:hover:after {
	background-image:url("../img/arrow-right-black.svg");
}



@media (max-width:600px) {
	.button a {min-width:150px;}
}



/******************/
/******************/
/* fonts **********/



/******************/

.noscript {
	display:flex; justify-content:center; align-items:center;
	position:fixed;
	top:0; left:0; right:0; bottom:0;
	background-color:var(--color-green);
	color:#fff;
	line-height:var(--line-height);
	z-index:99999;
}


/******************/
/******************/
/* Keyframes ******/


/* end ************/
/******************/
/******************/

