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

*{
	margin:0;
	padding:0;
	line-height:1.6;
	color:#5b4a3f;
	font-family: 'Noto Serif JP', sans-serif;
	}
img{
	margin:0;
	padding:0;
	border:none;
	} 
a{
	 color:#3E3A39;
 }
a:hover{
	 color:#3E3A39;
 text-decoration:none;
 overflow:hidden;
}

#language_btn {
	font-size: 1.6em;
  margin: 0;
  padding: 0;
  margin-bottom: 2px;
  /* border: rgba(138, 208, 206, 0.4) solid 1px; */
  /* box-shadow: 0px 0.8px 4px rgba(138, 208, 206, 1); */
	color: #fff;
	text-shadow: 1px 1px 4px #3E3A39, -1px -1px 4px #3E3A39;
}


.material-symbols-outlined {
	font-variation-settings:
		'FILL' 0,
		'wght' 400,
		'GRAD' 0,
		'opsz' 48
}

body {
	background: none;
	width: 100%;
}

.bg_top,
.bg_bottom {
	display: none;
}

.hidden {
	display: none;
}

.fade {
	opacity: 0;
	pointer-events: none;
	transition: opacity 1s;
}

.fade.active {
	pointer-events: auto;
	opacity: 1;
}

#concept,
#contact,
#gallery,
#story,
#works,
#p,
#cast {
	width: 100%;
	height: auto;
	background: none;
}

.container {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}

.container>.bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: -1;
}

main {
	min-height: 150vw;
}

.bg_top {
	display: block;
	position: absolute;
	width: 100%;
}

.bg_top {
	top: 0;
}

h1 {
	margin: 0;
	padding-top: 24px;
	margin-left: 20px;
}

#concept h1 {
	width: 180px;
}

#story h1 {
	width: 160px;
}

#gallery h1 {
	width: 180px;
}

#works h1 {
	width: 280px;
}

#gallery h2 {
	width: 30%;
	margin-top: 20px;
}

#cast h1 {
	width: 280px;
}

#news h1 {
	width: 180px;
}

#contact h1 {
	width: 180px;
}

#g_navi {
	display: none;
}

#g_navi_mobile {
	position: fixed;
	padding: 0;
	margin: 0;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url(../img/top_gradation.png) repeat-y bottom / contain;
	width: 100%;
	z-index: 100;
}

#g_navi_mobile li,
#lang_mobile li {
	list-style: none;
}

#g_navi_mobile li:last-child {
	padding-bottom: 10%;
}

#g_navi_mobile li a,
#lang_mobile li a {
	padding: 4px 0;
	display: block;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	font-family: serif;
	text-shadow: 1px 1px 4px #3E3A39, -1px -1px 4px #3E3A39;
	text-align: center;
	width: 100%;
}

#g_navi_mobile li a {
	font-size: calc(100vw / 16);
}

#lang_mobile li a {
	font-size: calc(100vw / 20);
}

#g_navi_mobile li a:hover {
	text-shadow: 1px 1px 4px rgba(138, 208, 206, 1), -1px -1px 4px rgba(138, 208, 206, 1);
}

#lang_mobile {
	position: fixed;
	top: auto;
	left: auto;
	bottom: 3%;
	right: 8%;
	z-index: 101;
}

.menu_btn {
	display: block;
	position: fixed;
	top: 20px;
	left: auto;
	right: 20px;
	z-index: 101;
	display: flex;
}

.menu_btn span:hover {
	color: #5b4a3f;
	text-shadow: none;
}

.menu_btn .start_btn,
.menu_btn .pause_btn {
	margin-right: 10px;
}

.menu_btn span {
	font-size: 40px;
}

.menu_btn #close_btn {
	color: #fff;
	text-shadow: 1px 1px 4px #3E3A39, -1px -1px 4px #3E3A39;
}

a.none_light {
	text-shadow: 1px 1px 4px #3E3A39, -1px -1px 4px #3E3A39;
}

a:hover {
	text-shadow: 1px 1px 4px rgba(138, 208, 206, 1), -1px -1px 4px rgba(138, 208, 206, 1);
}

.menu_btn .hidden {
	display: none;
}

#title img {
	width: 100%;
}

#contents {
	padding-top: 5%;
	padding-left: 14%;
	margin: 0;
	width: 86%;
}

#contents img {
	width: 280px;
	margin-bottom: 5%
}

#contents p {
	width: 96%;
	margin: 0;
	margin-bottom: 5%;
	font-size: 14px;
	color: #535353;
	margin: 0 0 40px 0;
	line-height: 3;
}

#contents {
	margin: 0;
}

#gallery_left {
	width: 40%;
	padding-left: 7%;
}

#gallery_left img {
	width: 100%;
}



#contents ul {
	display: flex;
	flex-direction: column;
	width: 84%;
	padding-left: 11%;
}

#contents ul li {
	list-style-type: none;
	display: flex;
	align-items: start;
	margin-bottom: 10%;
}

#contents ul li>img {
	width: 36%;
	object-fit: contain;
}

#contents ul div {
	width: 63%;
	margin: 0;
	margin-left: 1%;
}

#contents ul div a img {
	width: 100%;
}

#gallery11 p>img {
	width: 50%;
}

.movie {
	display: block;
	margin: 2% 0;
	width: 40%;
}

h2 {
	width: 84%;
	padding-left: 11%;
}

h2 img {
	width: 36%;
}

#concept h2,
#story h2 {
	padding: 0;
	margin-bottom: 0.75em;
	width: 100%;
}

#concept h2 {
	font-size: 16px;
}

#story h2 {
	font-size: 20px;
}

#story h2.en {
	font-size: 18px;
}

#story h2,
#story h3 * {
	line-height: 2;
}

#story h3 {
	margin-bottom: 1em;
}

#story h3 a {
	font-size: 16px;
	text-decoration: none;
}

#contents p {
	margin: 1em 1.5em 1em 0em;
	padding: 0;
	font-size: 14px;
}

#works #contents {
	width: 96%;
	padding: 0;
	margin: 0 auto;
}

#works img {
	width: 100%;
	vertical-align: bottom;
	margin-bottom: 0;
}

#cast #contents {
	margin-top: 10%;
	width: 100%;
}

#cast_box {
	margin: 0 auto;
	width: 100%;
}
 
.cast_l {
	width: calc(50% - 1em);
	float: left;
	text-align: right;
	line-height: 2.4;
	font-size: 12px;
}

.cast_r {
	width: calc(50% - 1em);
	float: left;
	padding-left: 2em;
	text-align: left;
	line-height: 2.4;
	font-size: 12px;
}

.artist {
	float: left;
	width: 100%;
	text-align: center;
	font-size: 24px;
	margin-top: 5em;
}

.artist span,
.artist a {
	font-size: 12px;
	display: block;
	text-align: center;
	text-shadow: none;
}

.thanks {
	display: block;
	text-align: center;
	font-size: 12px;
}

#news table {
	margin-right: 4%;
}

#news p {
	font-size: 12px;
}

#news th {
	width: 45px;
	vertical-align: top;
	padding-right: 0.62em;
}

#news th,
#news td {
	line-height: 2;
}

#news tr,
#contact tr {
	display: block;
	border-bottom: 1px dotted #b9b8b7;
	padding: 0.62em 0;
}

#contact #contents * {
	font-size: 14px;
}


#contact table {
	width: 100%;
}

#contact tr {
	display: flex;
	flex-direction: column;
	padding-bottom: 1em;
	margin-bottom: 1em;
	margin-left: 2%;
}

#contact td {
	line-height: 2;
}

#contact input[type="text"] {
	width: 96%;
}

#contact textarea {
	width: 96%;
	height: 5em;
}

#contact #contents {
	padding-left: 15%;
	width: 70%;
}

#contact input[type="button"] {
	width: 96%;
}

footer {
	background: url(../img/bg_bottom.png) no-repeat bottom / contain;
	width: 100vw;
	padding-top: 63%;
	z-index: 0;
}

address {
	font-size: 10px;
	text-align: center;
	color: #fff;
}

footer .artist {
	float: none;
	color: #fff;
	margin-top: 0;
}

footer a {
	color: #fff;
	margin-bottom: .5rem;
	padding: 0;
}

.bg_works {
	opacity: 0;
}

#gallery #contents * {
	font-size: 11px;
}

#gallery h2 {
	padding-left: 0;
}

#gallery h2 img {
	width: 100%;
}

#story h3 a {
	text-shadow: none;
}

#gallery #contents ul {
	padding-left: 0;
	width: 96%;
}

#gallery #contents p {
	margin: 0;
	line-height: 1.5;
}

#cast #contents {
	padding-left: 0;
}

#works #contents > div:not(:last-child) {
	margin-bottom: 10%;
}

#thanks .wrapper {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	align-items: center;
}

#thanks .message {
	text-align: center;
	font-size: 14px;
}

@media screen and (min-width:768px) {

	.mobile {
		display: none;
	}

	.bg_works {
		opacity: 1;
	}
	
	nav,
	main {
		max-width: 1000px;
		margin: 0 auto;
	}

	.fade {
		pointer-events: auto;
	}



	.menu_btn {
		display: none;
	}

	#menu_box {
		opacity: 1;
	}

	#g_navi_mobile {
		position: static;
		background: none;
		flex-direction: row;
		justify-content: space-around;
		width: 96%;
		max-width: 1000px;
		margin: 0 auto;
	}

	#g_navi_mobile li {
		padding-top: 5%;
		width: 12%;
	}

	#g_navi_mobile li a {
		font-size: 24px;
		text-shadow: none;
		color: #5b4a3f;
	}

	#g_navi_mobile li a.on_light {
		text-shadow: none;
	}

	#g_navi_mobile li a:hover {
		/* color: #fff; */
		text-shadow: 1px 1px 4px rgba(138, 208, 206, 1), -1px -1px 4px rgba(138, 208, 206, 1);
		}

	#g_navi_mobile li:last-child {
		padding-bottom: 0;
	}

	footer {
		position: absolute;
		top: 110%;
		left: 0;
	}

	.artist {
		font-size: 44px;
		margin-top: 0;
	}

	.artist a {
		font-size: 14px;
	}

	address {
		font-size: 14px;
	}

	#contents {
		padding-top: 20px;
	}

	#concept h1,
	#story h1,
	#gallery h1,
	#works h1,
	#cast h1,
	#news h1,
	#contact h1 {
		padding-top: 50px;
	}

	#concept h1 {
		width: 310px;
	}

	#story h1 {
		width: 248px;
	}

	#gallery h1 {
		width: 302px;
	}

	#works h1,
	#cast h1 {
		width: 432px;
	}

	#news h1 {
		width: 231px;
	}

	#contact h1 {
		width: 302px;
	}

	#concept h2,
	#story h2 {
		font-size: 28px;
	}

	#story h3 a {
		font-size: 24px;
		text-shadow: none;
	}

	#concept p,
	#story p {
		font-size: 20px;
	}

	#works #contents {
		width: 60%;
		margin-left: auto;
		margin-right: 3%;
	}

	#cast #contents {
		margin: 0;
		padding: 0;
		width: 100%;
	}

	#cast_box {
		width: 100%;
		width: auto;
	}

	.cast_l,
	.cast_r {
		width: 48%;
	}

	.cast_r {
		padding-left: 4%;
	}

	.artist span,
	.thanks {
		width: auto;
	}

	.cast_l,
	.cast_r,
	.artist span,
	.thanks {
		font-size: 20px;
	}

	#cast_box .artist {
		margin-top: 5em;
	}

	#cast_box {
		margin-top: 10%;
	}

	#contact #contents * {
		font-size: 20px;
	}

	#gallery #contents * {
		font-size: 16px;
	}

	#gallery #contents {
		width: 86%;
	}

	#gallery .movie,
	#gallery .letter {
		margin-top: 1em;
		max-width: 106px;
	}

	#thanks .message {
		font-size: 20px;
	}
}