@charset "utf-8";

/*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-     Site Contents     -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+*/
/*          loading          */
#overlay{position:fixed;width:100%;height:100%;text-align:center;background:#FFF;z-index:9999;}




/* ヘッダー */
.nav-btn {
	position: fixed;
	z-index: 100;
	width: 25vw;
	height: 20vw;
	/* 835：70px、1280：100px */
	max-width: clamp(4.375rem, 0.857rem + 6.74vw, 6.25rem);
	max-height: clamp(4.375rem, 0.857rem + 6.74vw, 6.25rem);
	background: #01acc6;
	top: 0;
	right: 0;
	margin: 3%;
	border-radius: 50%;
	color: #fff830;
	outline: 4px solid #fff;
	outline-offset: -6px;
	cursor: pointer;
}
.nav-btn img {
	position: absolute;
	top: -5px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 8vw;
	/* 835：32px、1280：42px */
	max-width: clamp(2rem, 0.827rem + 2.25vw, 2.625rem);
	transition: .6s ease-out;
}
.nav-btn.show img {
	transform: rotate(360deg)
	/* transform: rotateY(360deg); */
}
.nav-btn p {
	position: absolute;
	/* 835：7px、1280：12px */
	font-size: clamp(0.438rem, -0.149rem + 1.12vw, 0.75rem);
	/* 835：14px、1280：18px */
	bottom: clamp(0.875rem, 0.406rem + 0.9vw, 1.125rem);
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	line-height: 1;
	font-weight:600;
}
.nav-btn .off, .nav-btn.show .on {
	display: none;
}
.nav-btn.show .off {
	display: block;
}
@media (min-width: 835px) {
	.nav-btn {
		width: 10vw;
		height: 10vw;
		margin: 30px;
		outline-offset: -7px;
	}
	.nav-btn img {
		width: 5vw;
	}
}
.nav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99;
	width: 100%;
	height: 100vh;
	overflow-y: auto;
	background: #01acc6 url(/img/mv4r/sound-euphonium.webp);
	background-repeat: no-repeat;
	background-position: -3vw -2vw;
	background-size: 105%;
	visibility: hidden;
	opacity: 0;
	transition: .3s ease-out;
}
@media (min-width: 835px) {
	.nav {
		background-position: -6% -2vw;
		background-size: 60%;
	}
}
.show .nav {
	visibility: visible;
	opacity: 1;
}
.nav-box {
	width: 75%;
	max-width: 1000px;
	margin: auto;
	/* 835：30px、1280：36px */
	font-size: clamp(1.875rem, 1.171rem + 1.35vw, 2.25rem);
	font-weight: 600;
	padding: 20px 0;
}
.nav-box .left {
	/* 835：30px、1280：40px */
	margin-top: clamp(1.875rem, 0.702rem + 2.25vw, 2.5rem);
}
.nav-box .left a {
	margin-top: 0;
	/* 835：30px、1280：40px */
	margin-bottom: clamp(1.875rem, 0.702rem + 2.25vw, 2.5rem);
}
.nav-box a {
	color: #fff;
	display: block;
	line-height: 1;
	/* 835：30px、1280：40px */
	margin: clamp(1.875rem, 0.702rem + 2.25vw, 2.5rem) 0;
}
.nav-box a span {
	display: block;
	/* 835：12px、1280：14px */
	font-size: clamp(0.75rem, 0.515rem + 0.45vw, 0.875rem);
	margin-top: 5px;
	font-weight: 400;
	letter-spacing: 1px;
}
@media (min-width: 835px) {
	.nav-box {
		width: 90%;
		display: flex;
		padding: 90px 0;
	}
	.nav-box .right, .nav-box .left {
		width: 50%;
	}
	.nav-box a span {
		margin-top: 10px;
	}
	.nav-box .right {
		width: 34%;
	}
	.nav-box .left {
		width: 66%;
	}
	.nav-box .left a {
		width: 50%;
	}
	.nav-box .left .nav-list li {
		display: flex;
		flex-flow: wrap;
		flex-direction: column;
		/* 835：500px、1280：690px */
		height: clamp(31.25rem, 8.968rem + 42.7vw, 43.125rem);
	}
}

.nav-box .right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.series-link .series {
	color: #fff830;
	line-height: 1;
	/* 835：30px、1280：40px */
	margin: clamp(1.875rem, 0.702rem + 2.25vw, 2.5rem) 0;
	padding-left: .5em;
}
.series-link .series span {
	position: relative;
}
.series-link .series span::before, .series-link .series span::after {
	content: "";
	position: absolute;
	background: url(/img/mv4r/par.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	width: 12%;
	max-width: 21px;
	height: 80%;
	max-height: 61px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.series-link .series span::before {
	left: -20%;
}
.series-link .series span:after {
	right: -20%;
	transform: scale(-1, 1);
}
@media (min-width: 835px) {
	.series-link .series span::before {
		left: -15%;
	}
	.series-link .series span:after {
		right: -15%;
	}
}


.nav-sns .list {
	display: flex;
	align-items: center;
	gap: 20px;
}
.nav-sns .text {
	/* 835：15px、1280：20px */
	font-size: clamp(0.938rem, 0.351rem + 1.12vw, 1.25rem);
}
.nav-box .right .nav-list {
	padding-left: .5em;
}

@media (min-width: 835px) {
	.nav-sns .list {
		gap: 40px;
	}
	.nav-sns .item {
		width: 11%;
	}

}
@media not (min-width: 835px) {
	.nav-sns .item {
		width: 15%;
		max-width: 50px;
	}

}








.cl-bl01 {
	color: #009FE8;
}
.cl-bl02 {
	color: #01ACC6;
}
.cl-bl03 {
	color: #A9E1F8;
}
.bgc-bl01 {
	background-color: #106A78;
}
.bgc-bl02 {
	background-color: #F2FEFF;
}
.cl-ye {
	color: #FFF894;
}
/*          Site Contents          */
.cl-link {
	color: #01ACC6;
	text-decoration: underline;
}
@media (min-width: 835px) {
	.cl-link:hover {
		text-decoration: none;
	}
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.indent-back {
	padding-left: 1em;
	text-indent: -1em;
}
#site-wrap {
	position: relative;
	width: 100%;
	height: 100%;
	height: auto !important;
	min-height: 100%;
	overflow: hidden;
}



.movie-link {
	display: inline-block;
	position: relative;
}
.movie-link::before {
	content: "";
	position: absolute;
	width: 50%;
	height: 50%;
	/* 500：50px、1280：116px */
	max-width: clamp(3.125rem, 0.481rem + 8.46vw, 7.25rem);
	max-height: clamp(3.125rem, 0.481rem + 8.46vw, 7.25rem);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border: 2px solid var(--color01);
	border-radius: 50%;
	transition: .45s cubic-bezier(.39,.58,.57,1);
}
.movie-link::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 1%;
	margin: auto;
	border-style: solid;
	/* 500：10px、1280：22px *//* 500：13px、1280：35px */
	border-width: clamp(0.625rem, 0.144rem + 1.54vw, 1.375rem) 0 clamp(0.625rem, 0.144rem + 1.54vw, 1.375rem) clamp(0.813rem, -0.069rem + 2.82vw, 2.188rem);
	border-color: transparent;
	transition: .45s cubic-bezier(.39,.58,.57,1);
	border-left-color: var(--color01);
}
@media (min-width: 835px) {
	.movie-link::before {
		/* 835：80px、1280：135px */
		width: 25%;
		height: 45%;
		border: 4px solid var(--color01);
	}
	.movie-link::after {
		left: 2.5%;
	}
}



/* フッター */
.footer-wrap {
	position: relative;
	z-index: 1;
	/* 375：80px、1280：120px ／ 375：20px、1280：40px*/
	padding: clamp(5rem, 3.964rem + 4.42vw, 7.5rem) 0 clamp(1.25rem, -1.096rem + 4.49vw, 2.5rem) 0;
}
.footer {
	width: 88%;
	max-width: 1400px;
	margin: 0 auto;
}
.sns-list {
	display: flex;
	justify-content: center;
	column-gap: min(2%, 160px);
	align-items: center;
}
.sns-list .txt {
	/* 375：13px、1280：16px */
	font-size: clamp(0.813rem, 0.735rem + 0.33vw, 1rem);
}
@media (max-width: 834.98px) {
	.sns-list {
		column-gap: min(7%, 160px);
	}
	.sns-item.img {
		width: 8%;
	}
	
}

@media (min-width: 835px) {
	.sns-list .sns-item {
		width: 32px;
	}
	.sns-list .sns-item.txt {
		width: 120px;
		font-size: 18px;
		font-weight: 600;
	}
	.footer-banner-list {
		display: flex;
		justify-content: center;
		column-gap: min(10%, 160px);
	}

	.footer-logo {
		width: 30%;
	}
	.footer-link {
		width: 60%;
	}
}
@media (max-width: 834.98px) {
	.footer-logo {
		width: 61%;
		max-width: 300px;
		margin: 0 auto;
	}
}
@media (min-width: 835px) {
	.footer .common-nav {
		padding-bottom: 2em;
	}
}
@media (max-width: 834.98px) {
	.footer .common-nav {
		padding-top: 2em;
		padding-bottom: 1em;
	}
}
.footer-banner-list,
.footer-copyright {
	/* 375：15px、1280：30px */
	padding-top: clamp(0.938rem, 0.549rem + 1.66vw, 1.875rem);
}
@media (min-width: 835px) {
	.footer .common-nav-list {
		justify-content: flex-end;
		column-gap: 1.5em;
		max-width: none;
	}
	.footer .common-nav-item {
		width: auto;
	}
}
@media (max-width: 834.98px) {
	.footer .common-nav-sns {
		width: 88%;
		max-width: 300px;
		margin: 0 auto;
	}
}
@media (min-width: 835px) {
	.footer .common-nav-link br {
		display:none;
	}
}
.footer-banner-list {
	width: 70%;
	max-width: 600px;
	margin: auto;
	display: flex;
	/* 375：15px、1280：25px */
	gap: clamp(0.938rem, 0.679rem + 1.1vw, 1.563rem);
}
@media (max-width: 834.98px) {
	.footer-banner-list {
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		max-width: 480px;
		margin: 0 auto;
	}
	.footer-banner-list li {
		width: 30%;
	}
	.footer-banner-item.yamaha {
		width: 20%;
		text-align: center;
	}
}
.footer-copyright {
	width: 88%;
	max-width: 1400px;
	margin: 0 auto;
	font-weight: 400;
}
@media (min-width: 835px) {
	.footer-copyright {
		font-size: 13px;
		display: flex;
		gap: clamp(0.938rem, 0.679rem + 1.1vw, 1.563rem);
		justify-content: center;
	}
}
@media (max-width: 834.98px) {
	.footer-copyright {
		font-size: 10px;
		text-align: center;
	}
}
.series-banner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
	margin: auto;
	text-align: center;
	
	/* 375：30px、1280：70px */
	padding-top: clamp(1.875rem, 0.839rem + 4.42vw, 4.375rem);
}
.series-banner a {
	display: block;
}
@media (min-width: 835px) {
	.series-banner {
		width: 90%;
		max-width: 800px;
	}
}


/* ホバー */
@media (min-width: 835px) {
	.sns-list .sns-item,.footer-banner-item,.series-banner a {
		transition: .3s ease-out;
	}
	.sns-list .sns-item:hover,.footer-banner-item:hover,.series-banner a:hover {
		opacity: .8;
	}
}