@charset "UTF-8";

/* ==================================
PC版 ここから min-width:641px
===================================== */
@media screen and (min-width: 641px) {

	/* 共通スタイル------------------------------- */
	* {
		font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ Pro", Meiryo, "游ゴシック", YuGothic, "小塚ゴシック Pr6N", osaka, sans-serif;
	}

	/* only_pc/sp ------------- */
	.only_sp {
		display: none;
	}

	.only_pc {
		display: block;
	}

	/* ▼=== btn-common  common ===▼ */
	.btn-common {
		width: 350px;
		height: 75px;
		transition: .3s;
	}

	.btn-common:hover {
		background-color: #FFCB00;
	}

	.btn-common:hover span {
		color: #007A1D;
	}

	.btn-common span {
		padding-right: 55px;
	}

	.btn-common:hover span::after {
		transition: .3s;
	}

	.btn-common:hover span::after {
		transform: translateY(-50%) translateX(5px);
		background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><path fill="%23007A1D" d="m17.5.8C7.83.8,0,8.63,0,18.3s7.83,17.5,17.5,17.5,17.5-7.84,17.5-17.5S27.17.8,17.5.8Zm.19,28.19c-1.04.96-2.66.92-3.65-.09-1.02-1.04-1.01-2.7.02-3.73l4.45-4.23H7.96s-.07,0-.1,0c-1.46-.03-2.61-1.23-2.58-2.69.03-1.46,1.23-2.61,2.69-2.58h10.54l-4.45-4.23s-.03-.02-.04-.04c-1.04-1.01-1.07-2.68-.06-3.73,1.01-1.04,2.68-1.07,3.73-.06l11.23,10.69-11.23,10.69Z"/></svg>');
	}

	/* ▼=== link-text ===▼ */
	.link-text {
		border-radius: 50px;
		width: 160px;
		height: 45px;
		transition: .3s;
	}

	.link-text:hover {
		background-color: #FFCB00;
	}

	.link-text:hover span {
		color: #007A1D;
	}

	.link-text:hover span:after {
		transform: translateY(-50%) translateX(5px);
	}

	.link-text span {
		padding-right: 45px;
		transition: .3s;
	}

	.link-text span:after {
		transition: .3s;
	}

	/* ▼== footer ===▼ */
	footer {
		padding-top: 0;
	}

	footer .area-green {
		padding: 0 0 80px 0;
	}

	footer .area-green>div {
		height: 50px;
	}

	footer .parm-parts {
		top: auto;
		bottom: 130px;
		height: 400px;
	}

	footer .parm-parts li:nth-of-type(2),
	footer .parm-parts li:nth-of-type(4) {
		display: block;
		position: absolute;
		bottom: 0;
	}

	footer .parm-parts li:nth-of-type(2) {
		left: 2px;
		width: 293px;
		height: 148px;
	}

	footer .parm-parts li:nth-of-type(4) {
		right: 34px;
		width: 256px;
		height: 150px;
	}

	footer .parm-parts li:nth-of-type(1) {
		bottom: 12.65625vh;
		max-width: 350px;
		width: 21.5625vw;
		height: 36.953125vw;
	}

	footer .parm-parts li:nth-of-type(3) {
		bottom: 140px;
		max-width: 290px;
		width: 19.140625vw;
		height: 38.984375vw;
	}

	footer .parm-parts li:nth-of-type(5) {
		max-width: 680px;
	}

	/* ▼=== area-mainVisual ===▼ */
	.area-mainVisual {
		height: calc(100dvh - 50px);
	}

	.area-mainVisual:before {
		height: 108px;
	}

	.area-mainVisual h1 {
		top: 130px;
		max-width: 650px;
		width: 50.78125vw;
	}

	.area-mainVisual .text-copy {
		top: auto;
		bottom: 146px;
		left: auto;
		right: 12.5vw;
		width: 150px;
		height: 150px;
	}

	.area-mainVisual .text-copy span {
		width: 92px;
	}

	.area-mainVisual .parm-parts {
		bottom: 80px;
		height: calc(100% - 80px);
	}

	.area-mainVisual .parm-parts li:nth-of-type(2),
	.area-mainVisual .parm-parts li:nth-of-type(4) {
		display: block;
		position: absolute;
		bottom: 0;
	}

	.area-mainVisual .parm-parts li:nth-of-type(2) {
		left: 2px;
		width: 293px;
		height: 148px;
	}

	.area-mainVisual .parm-parts li:nth-of-type(4) {
		right: 34px;
		width: 256px;
		height: 150px;
	}


	.area-mainVisual .parm-parts li:nth-of-type(1) {
		bottom: 12.65625vh;
		max-width: 350px;
		width: 21.5625vw;
		height: 36.953125vw;
	}

	.area-mainVisual .parm-parts li:nth-of-type(3) {
		bottom: 140px;
		max-width: 290px;
		width: 19.140625vw;
		height: 38.984375vw;
	}

	.area-mainVisual .parm-parts li:nth-of-type(5) {
		max-width: 680px;
	}

	/* ▼=== h2 common ===▼ */
	h2 {
		padding: 0 50px 0px 50px;
		margin-bottom: 50px;
	}

	h2::before {
		width: 36px;
		height: 48px;
	}

	h2 span:nth-of-type(2) {
		padding: 5px 0 12px 0;
	}

	h2 span svg {
		height: 50px;
	}

	/* ▼=== sec-box common ===▼ */
	.sec-box {
		margin: 140px 0 140px 0;
	}

	.sec-box .inner {
		max-width: 1000px;
		width: calc(100% - 30px);
	}

	.parts-hanabi li {
		width: 300px;
	}

	.parts-hanabi li:first-of-type {
		top: 0px;
		left: 3.90625vw
	}

	.parts-hanabi li:nth-of-type(2) {
		top: auto;
		bottom: 100px;
		right: 3.90625vw;
		transform: none;
	}


	.page-under-body footer .parm-parts {
		bottom: 130px;
	}

	.page-under-body footer .area-green {
		padding: 0px 0 80px 0;
	}

	/* ▼== UNDER common ===▼ */
	.page-under {
		padding-bottom: 400px;
	}

	.page-under .parts-hanabi {
		top: 0px;
	}

	.page-under .parts-hanabi li:first-of-type {
		top: 120px;
	}

	.page-under .parts-hanabi li:nth-of-type(2) {
		bottom: 140px;
	}

	.page-under .under-common {
		padding-top: 140px;
	}

	.page-under .under-common:before {
		height: 65px;
	}

	.page-under .under-common h2 {
		margin: 0 auto 50px auto;
		max-width: 1000px;
	}

	.page-under dl dt,
	.page-under dl dt span {
		margin-bottom: 20px;
	}


	/* .page-under .area-nav .content .nav-menu li {
		margin: 0 0 50px 0;
	} */

	#top .area-nav .content-wrap {
		padding: 0 7.8125vw 0 0
	}

	/* ▼=== TOP ===▼ */
	#top {
		padding-bottom: 400px;
	}

	/* ▼=== TOP sec-about ===▼ */
	#top .sec-about {
		margin-bottom: 0;
		padding: 140px 0;
	}

	#top .sec-about .box-text {
		margin-bottom: 50px;
	}

	/* ▼=== TOP sec-sns ===▼ */
	#top .sec-sns .inner {
		padding: 50px 0;
		max-width: none;
		width: calc(100% - 80px);
	}

	#top .sec-sns ul {
		grid-template-columns: repeat(3, 100px);
		column-gap: 50px;
		width: 400px;
	}

	#top .sec-sns ul li a {
		width: 100px;
		height: 100px;
		transition: .3s;
	}

	#top .sec-sns ul li a:hover {
		background-color: #FFCB00;
	}

	#top .sec-sns ul li svg {
		height: 40px;
		transition: .3s;
	}

	#top .sec-sns ul li a:hover svg {
		fill: #007A1D;
	}

	/* ▼=== TOP sec-past ===▼ */
	#top .sec-past .list-past {
		grid-template-columns: repeat(4, 160px);
		column-gap: 20px;
		margin: 0 auto 50px auto;
		width: fit-content;
	}

	#top .sec-past .list-past li {
		margin-bottom: 20px;
	}

	#top .sec-past .list-past a {
		border-radius: 50px;
		width: 160px;
		height: 45px;
		transition: .3s;
	}

	#top .sec-past .list-past a:hover {
		background-color: #FFCB00;
	}

	#top .sec-past .list-past a:hover span {
		color: #007A1D;
	}

	#top .sec-past .list-past a:hover span:after {
		transform: translateY(-50%) translateX(5px);
	}

	#top .sec-past .list-past span {
		padding-right: 45px;
		transition: .3s;
	}

	#top .sec-past .list-past span:after {
		transition: .3s;
	}

	/* ▼== about ===▼ */
	#about .sec-list .box-item {
		margin-bottom: 50px;
		padding: 50px 0;
	}

	#about .sec-list .box-item .box-text {
		margin: 0 auto;
		max-width: 840px;
		width: calc(100% - 60px);
	}

	#about .sec-list .box-item h3 {
		margin-bottom: 30px;
	}

	#about .sec-list .box-item .link-text {
		margin: 30px 0 0 auto !important;
	}

	/* ▼== program ===▼ */
	#program .tab-panel .inner .btn-common {
		margin: 0 auto 50px auto !important;
	}

	#program .tab-panel .inner .btn-common {
		max-width: 400px;
	}

	#program .tab-list {
		grid-template-columns: repeat(2, 300px);
		column-gap: 50px;
		margin-bottom: 50px;
	}

	#program .tab-list li {
		max-width: 300px;
	}

	#program .tab-list li:hover {
		border: 2px solid #FFCB00;
		background-color: #FFCB00;
		transform: translateY(2px);
		filter: drop-shadow(0px 0px 2px #0057ff);
	}

	#program .tab-list li:hover p {
		color: #007A1D;
	}

	#program .tab-list li p {
		padding: 10px 0 8px 0;
	}

	#program .sec-intro {
		margin-bottom: 140px;
	}

	#program .tab-panel .inner {
		padding: 50px 50px;
	}

	#program .tab-panel li {
		margin-bottom: 50px;
		padding-bottom: 50px;
	}

	#program .tab-panel li:first-of-type {
		padding-top: 50px;
	}


	#program .tab-panel li .left-side {
		position: sticky;
		top: 20px;
		margin: 0;
		max-width: 300px;
		width: 100%;
		height: 100%;
	}

	#program .tab-panel li .left-side .btn-common {
		margin-bottom: 0 !important;
		width: 300px;
	}

	#program .tab-panel li .box-img {
		margin-bottom: 30px;
	}

	#program .sec-intro .right-side {
		max-width: 560px;
		width: 100%;
	}

	#program .tab-panel .box-gird {
		display: flex;
		column-gap: 40px;
	}

	#program .tab-panel li h3 {
		margin-bottom: 30px;
	}

	#program .tab-panel .date {
		margin-bottom: 30px;
	}

	#program .tab-panel .date dt {
		margin-bottom: 20px;
	}

	#program .tab-panel .date dd {
		margin-bottom: 10px;
	}

	#program .tab-panel .other-detail:first-of-type {
		margin-bottom: 20px;
	}

	#program .tab-panel .other-detail {
		margin-bottom: 30px;
	}

	#program .tab-panel .other-detail dt {
		padding-right: 20px;
	}

	#program .tab-panel .other-detail dd {
		width: calc(100% - (2em + 20px));
	}

	#program .tab-panel .cs {
		max-height: 202px;
	}


	/* ▼== present ===▼ */
	#present h2 span:has(svg) {
		display: flex;
		justify-content: center;
	}

	#present h2 svg {
		margin: 0px;
	}

	#present .sec-intro {
		margin-bottom: 50px;
	}

	#present .sec-intro .box-img {
		margin: 0 auto;
		max-width: 720px;
	}

	#present .sec-explain .text-1 {
		margin-bottom: 50px;
	}

	#present .sec-explain ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 30px;
		margin: 0 auto 20px auto;
		max-width: 770px;
	}

	#present .sec-explain li {
		margin: 0;
		padding: 20px 0;
		width: 370px;
	}

	#present .sec-explain li .box-text p span {
		margin-top: 20px !important;
	}

	#present .sec-explain .note {
		margin: 0 auto 30px auto !important;
		max-width: 770px;
	}

	#present .deadline {
		display: grid;
		grid-template-columns: 180px 470px;
		margin: 0 auto 50px auto;
		max-width: 650px;
		width: 100%;
	}

	#present .deadline dt {
		max-width: 180px;
		height: 80px;
	}

	#present .deadline dt span {
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		margin: 0 auto !important;
		text-align: center;
		font-size: clamp(2.2rem, 5.86666vw, 2.5rem);
		color: #007A1D;
	}

	#present .deadline dd {
		position: relative;
		max-width: 470px;
		width: 100%;
		height: 80px;
	}

	#present .deadline dd span {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		margin: 0 !important;
		padding: 0 0;
	}

	#present .sec-explain .box-text a:hover {
		background: linear-gradient(transparent 0%, #FFCB00 0%);
		color: #007A1D;
	}

	#present .text-2 p:has(strong) {
		margin: 0 0 30px 0 !important;
	}

	#present .btn-common {
		margin: 50px auto 0 auto !important;
	}


	/* ▼== eyecatch ===▼ */
	#eyecatch h2 svg:first-of-type {
		margin: 0;
	}

	#eyecatch .sec-intro .box-img {
		margin: 0 auto 50px auto;
		max-width: 720px;
	}

	#eyecatch .sec-list h3 {
		margin-bottom: 50px;
		height: 54px;
	}

	#eyecatch .sec-list ul {
		position: relative;
		z-index: 1;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 2vw;
	}

	#eyecatch .sec-list ul li {
		max-width: 490px;
		width: 100%;
	}

	#eyecatch .sec-list dl {
		margin-bottom: 20px;
		padding: 30px 30px;
	}

	#eyecatch .sec-list dl dt {
		margin-bottom: 20px;
	}

	/* ▼== fes-list ===▼ */
	#fes .sec-intro .box-text:has(.box-video) {
		margin-bottom: 50px;
	}

	#fes .box-video {
		margin: 0 auto;
	}

	#fes .titleList-select {
		display: none;
	}

	#fes .sec-castList {
		position: relative;
		z-index: 9;
	}

	#fes .sec-castList .titleList-tab {
		display: grid;
		grid-template-columns: repeat(8, 1fr);
		column-gap: 2vw;
		margin: 0 auto 50px auto;
		max-width: 780px;
	}

	#fes .sec-castList .titleList-tab li.current a {
		background-color: #FFCB00;
	}

	#fes .sec-castList .titleList-tab li.current span {
		color: #007A1D;
	}

	#fes .sec-castList .titleList-tab a {
		display: block;
		position: relative;
		max-width: 60px;
		width: 16vw;
		max-height: 60px;
		height: 16vw;
		background-color: #007A1D;
	}

	#fes .sec-castList .titleList-tab span {
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		text-align: center;
		line-height: 1;
		font-size: 2.8rem;
		color: #FFCB00;
	}

	#fes .list-wrap .section ul {
		grid-template-columns: repeat(4, 1fr);
		column-gap: 4vw;
	}

	#fes .list-wrap .section li {
		margin-bottom: 40px;
		max-width: 220px;
		width: 22vw;
		transition: .3s;
	}

	#fes .list-wrap .section li:hover {
		transform: translateY(-5px);
	}

	#fes .list-wrap .section li .text {
		padding: 20px 0;
	}

	#fes .list-wrap .section li .text h3 {
		margin-bottom: 10px;
	}

	#fes .list-wrap .section li .birthday {
		padding: 10px 0;
	}




	/* ▼== fes-detail ===▼ */
	#fesDetail .sec-castDtail .area-content {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		z-index: 9;
		padding: 50px 50px;
		margin-bottom: 50px;
	}

	#fesDetail .sec-castDtail .area-photo {
		position: sticky;
		top: 50px;
		max-width: 400px;
		width: 31.75vw;
		height: 100%;
	}

	#fesDetail .sec-castDtail .area-photo .box-img {
		max-width: 400px;
		height: 100%;
		max-height: 400px;
		height: 100%;
	}

	#fesDetail .sec-castDtail .box-img {
		margin-bottom: 0px;
	}

	#fesDetail .sec-castDtail .box-text {
		max-width: 450px;
		width: 45vw;
	}

	#fesDetail .sec-castDtail h3 {
		margin-bottom: 30px;
		padding-bottom: 20px;
	}

	#fesDetail .sec-castDtail dl {
		padding: 30px 0 30px 0;
	}

	#fesDetail .sec-castDtail .ico-sns a,
	#fesDetail .sec-castDtail .ico-sns svg {
		transition: .3s;
	}

	#fesDetail .sec-castDtail .ico-sns a:hover {
		transform: translateY(-1px);
		background-color: #FFCB00;
	}

	#fesDetail .sec-castDtail .ico-sns svg:hover {
		fill: #007A1D;
	}

	#fesDetail .sec-castDtail .other-sns a,
	#fesDetail .sec-castDtail .other-sns span {
		transition: .3s;
	}

	#fesDetail .sec-castDtail .other-sns:hover {
		background-color: #FFCB00;
	}

	#fesDetail .sec-castDtail .other-sns:hover span {
		color: #007A1D;
	}

	/* min-width:641px */
}


/* ==================================
PC中間調整 ここから min-width:800px
===================================== */
@media screen and (min-width: 800px) {

	/* ▼=== navigation common ===▼ */
	.area-nav .btn-bar {
		display: none;
	}

	.area-nav .content {
		position: fixed;
		top: auto;
		bottom: 0;
		width: 100%;
		height: auto;
	}

	.area-nav .content .shadow {
		display: none;
	}

	.area-nav .content .content-wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: right;
		position: static;
		bottom: 0;
		padding: 0 3.90625vw 0 0;
		width: 100%;
		height: 80px;
	}

	.area-nav .content .nav-menu {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-right: 3.90625vw;
		margin-bottom: 0;
	}

	.area-nav .content .nav-menu li {
		margin-right: 1.5625vw;
		margin-bottom: 0;
	}

	.area-nav .content .nav-menu li a {
		display: block;
		padding: 2px 15px;
		border-radius: 50px;
		text-align: center;
		line-height: 1.2;
		transition: .3s;
	}

	.area-nav .content h1 {
		position: absolute;
		left: 3.90625vw;
		bottom: 10px;
		margin: 0;
		max-width: 182px;
		width: 14.2185vw;
	}


	.area-nav .content .nav-menu li a span {
		transition: .3s;
	}

	.area-nav .content .nav-menu li a:hover {
		background-color: #FFCB00;
	}

	.area-nav .content .nav-menu li a:hover span {
		color: #007A1D;
	}

	.area-nav .content .nav-menu li:last-of-type {
		margin-right: 0;
	}

	.area-nav .content .nav-sns {
		align-items: center;
	}

	.area-nav .content .nav-sns li {
		margin-right: 1.5625vw;
	}

	.area-nav .content .nav-sns li:last-of-type {
		margin-right: 0;
	}

	.area-nav .content .nav-sns a {
		height: 24px;
	}

	.area-nav .content .nav-sns a svg {
		transition: .3s;
	}

	.area-nav .content .nav-sns a:hover svg {
		fill: #FFCB00;
	}

	/* min-width: 800px */
	.textlink a{
	font-size: 2rem;
}

}

@media screen and (min-width: 800px)and (max-width: 1105px) {
	.page-under .area-nav .content .content-wrap {
		display: block;
		padding: 10px 2vw 0 0;
		height: 90px;
	}

	.page-under .area-nav .content ul {
		margin-left: auto !important;
		width: fit-content;
	}

	.page-under .area-nav .content .nav-menu {
		margin-right: 1vw;
		margin-bottom: 10px;
	}

	.page-under .area-nav .content .nav-menu li {
		margin-right: 1vw;
	}

	.page-under .area-nav .content h1 {
		left: 2vw;
	}
	/* min-width: 1000px */
}
