@media print {
	body {
		display: none!important;
	}
}
html{
	font-size: 62.5%;
	height: 100%;
}
body{
	font-family: "Noto Sans JP","Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	position: relative;
	z-index: 1;
	color: #242424;
	font-weight: 500;
	user-drag: none;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
}
header{
	z-index: 888;
	z-index: 1;
}
/*header, section, footer*/
main, section, footer{
	z-index: 1;
	position: relative;
}
a{
	opacity: 1;
	transition: opacity .2s;
	text-decoration: underline;
}
@media (hover: hover) {/*pc*/
	a:hover,
	.accordion-details summary:hover {
		opacity: .5;
		transition: opacity .5s;
		text-decoration: none;
	}
}
@media (hover: none) {/*sp*/
	a:hover,
	.accordion-details summary:hover {
		opacity: 1;
	}
}
ul, ol{
	padding: 0;
	margin: 0;
}
li{
	list-style: none;
}
a.text-link{
	color: #242424;
	text-decoration: underline;
}
a.text-link:hover {
	text-decoration: none;
}
p{
	font-size: 1.6rem;
	line-height: 1.4;
}
img{
	vertical-align:top;
	user-drag: none;
	user-select: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-touch-callout: none;
}
.img-border{
	border: 1px solid #ccc;
}

/* --------------------------------------------------------
* width
* -------------------------------------------------------*/
.w912{
	position: relative;
	width: min(912px, 100%);
	margin-inline: auto;
	padding-inline: 1.6rem;
}
.w1232{
	position: relative;
	width: min(1232px, 100%);
	margin-inline: auto;
	padding-inline: 1.6rem;
}

/* --------------------------------------------------------
* fontcolor
* -------------------------------------------------------*/
.red{color: #d61518;}
.yellow{color: #fff100;}

/* --------------------------------------------------------
* font
* -------------------------------------------------------*/
.poppins{font-family: 'Poppins', sans-serif!important;}
.underline{text-decoration: underline;}
.center{text-align: center;}

.bold-900{font-weight: 900;}
.bold-800{font-weight: 800;}
.bold-700{font-weight: 700;}
.bold-500{font-weight: 500;}
.bold-400{font-weight: 400;}

/* --------------------------------------------------------
* loading
* -------------------------------------------------------*/

#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background-color: #fff;
	text-align: center;
	margin-top: -9.0rem;
	@media (width < 1200px) {
		margin-top: -6.4rem;
	}
}

#loading_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#loading_logo img {
	max-width: 360px;
}
#loading_logo span {
	display: block;
	color: #a7911e;
	font-size: 2rem;
	margin-top: 1.6rem;
}
@media not screen and (min-width: 767px){/* 767px↓ */
	#loading_logo img {
		max-width: 64%;
	}
	#loading_logo span {
		margin-top: 0.8rem;
		font-size: 1.6rem;
	}
}

/* fadeUp */
.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/* 点滅 */
.blinking{
	-webkit-animation:blink 0.8s ease-in-out infinite alternate;
	-moz-animation:blink 0.8s ease-in-out infinite alternate;
	animation:blink 0.8s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
	0% {opacity:0;}
	100% {opacity:1;}
}
@-moz-keyframes blink{
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes blink{
	0% {opacity:0;}
	100% {opacity:1;}
}
/*回転*/
.rotate {
	animation:3s linear infinite rotation;
}
@keyframes rotation {
	0%{ transform:rotateY(0);}
	100%{ transform:rotateY(360deg); }
}

/* --------------------------------------------------------
* margin/padding
* -------------------------------------------------------*/
.m_t10{margin-top: 1rem;}
.m_t20{margin-top: 2rem;}
.m_t30{margin-top: 3rem;}
.m_b05{margin-bottom: 0.5rem;}
.m_b10{margin-bottom: 1rem;}
.m_b20{margin-bottom: 2rem;}
.m_b30{margin-bottom: 3rem;}
.m_b40{margin-bottom: 4rem;}
.p_t20{padding-top: 2rem;}

/* --------------------------------------------------------
* br
* -------------------------------------------------------*/
@media only screen and (min-width: 960px){
	.br-pc960 { display:block; }
	.br-sp960 { display:none; }
}
@media only screen and (max-width: 960px){
	.br-pc960 { display:none; }
	.br-sp960 { display:block; }
}
@media only screen and (min-width: 768px){
	.br-pc768 { display:block; }
	.br-sp768 { display:none; }
}
@media only screen and (max-width: 768px){
	.br-pc768 { display:none; }
	.br-sp768 { display:block; }
}
@media only screen and (min-width: 640px){
	.br-pc640 { display:block; }
	.br-sp640 { display:none; }
}
@media only screen and (max-width: 640px){
	.br-pc640 { display:none; }
	.br-sp640 { display:block; }
}
@media only screen and (min-width: 440px){
	.br-pc440 { display:block; }
	.br-sp440 { display:none; }
}
@media only screen and (max-width: 440px){
	.br-pc440 { display:none; }
	.br-sp440 { display:block; }
}

/* --------------------------------------------------------
* header/drawer
* -------------------------------------------------------*/
.drawer-menu{
	height: auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.drawer-menu li{
	padding-right: 2.8rem;
	text-align: left;
	@media (width < 1200px) {
		padding-right: 1.8rem;
	}
	@media (width < 960px) {
		text-align: center;
		padding-right: 0;
	}
}
.drawer-menu li a{
	color: #242424;
	font-size: 1.6rem;
	font-weight: 700;
	@media (width < 960px) {
		padding: 1.8rem 1.0rem;
	}
}
.drawer-menu li a:hover{
	color: #d61518;
	@media (width < 960px) {
		color: #fff;
	}
}
.drawer-menu li.current a{
	color: #d61518;
}
@media not screen and (min-width: 960px){
	.drawer-nav {
		background-color: rgb(214, 21, 24 ,0.95);
	}
	.drawer-menu{
		display: flex;
		flex-wrap: wrap;
	}
	.drawer-menu li{
		width: 100%;
	}
	.drawer-menu li a,
	.drawer-menu li.current a{
		color: #fff;
		padding: 2.0rem 0;
	}
}
.drawer-hamburger {
	padding-top: 20px;
	padding-right: 2.2rem;
	padding-bottom: 32px;
	padding-left: 2.2rem;
}

/* --------------------------------------------------------
* lightbox
* -------------------------------------------------------*/
#lightbox {
  /* 既存のスタイルを置き換えるか、既存のスタイルと共存させる */
  position: fixed !important; /* 画面に対して固定 */
  top: 50% !important; /* 上から50%の位置に移動 */
  left: 50% !important; /* 左から50%の位置に移動 */
  transform: translate(-50%, -50%); /* 要素のサイズの半分だけ戻すことで中央寄せを実現 */
}
/* オーバーレイも固定にする */
#lightboxOverlay {
  position: fixed !important;
}

/* --------------------------------------------------------
* kv
* -------------------------------------------------------*/
.kv {
/*	background-color: #fff100;*/
	background-color: #ffec01;
	padding-block: 1.6rem;
	padding-inline: 1.6rem;
	@media (width < 1200px) {
		background-color: #ffec01;
/*		background-color: #fff100;*/
		padding-inline: 0;
	}
}


/* --------------------------------------------------------
* Message
* -------------------------------------------------------*/
.message {
	background-image: url("../img/message_bg.png");
	background-size: cover;
	background-attachment: fixed;
	background-position: top;
	padding-block: min(8.0vw, 12.0rem);
}
.message__wrap {
	width: min(992px, 100%);
	margin-inline: auto;
	padding-inline: 1.6rem;

}
.message__title {
	width: min(680px, 100%);
	margin-inline: auto;
	margin-bottom: min(2.4vw, 1.6rem);
}
.message__title-sub {
	margin-bottom: min(1.0vw, 2.0rem);
}
.message__title-sub div {
	text-align: center;
	margin-bottom: 0.4rem;
}
.message__title-sub span {
	text-align: center;
	display: inline-block;
	background-color: #a7911e;
	color: #fff;
	font-weight: 800;
	font-size: 3.2rem;
	line-height: 1.0;
	padding-block: 0.5rem;
	padding-inline: 1.0rem;
	@media (width < 960px) {
		font-size: clamp(1.8rem, -3.8rem + 11.6667vw, 3.2rem);
	}
}
.message__item {
	margin-bottom: min(4.8vw, 7.0rem);
}
.message__item:last-child {
	margin-bottom: 0;
}
.message__movie {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-bottom: min(4.8vw, 7.0rem);
}
.message__movie iframe {
	width: 100%;
	height: 100%;
}

/* --------------------------------------------------------
* confetti
* -------------------------------------------------------*/
section.confetti-section {
	position: relative;
	height: auto;
	font-size: 2rem;
}
section.confetti-section canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}
/* --------------------------------------------------------
* greeting
* -------------------------------------------------------*/
.greeting {
	background-color: rgb(255, 214, 0 ,0.10);
	overflow: hidden;
}
.greeting__wrap {
	margin-top: 15rem;
	margin-bottom: 8rem;
	margin-inline: auto;
	width: min(912px, 100%);
	padding-inline: 1.6rem;
	position: relative;
	z-index: 3;
	@media (width < 767px) {
		margin-top:  min(18vw, 20rem);
		margin-bottom:  4.0rem
	}
}
.greeting__wrap02 {
	border: 4px solid #a7911e;
	padding-inline: 2.4rem;
	background-color: rgb(255, 255, 255 ,0.8);
	border-radius: 1.6rem;
	@media (width < 880px) {
		padding-inline: 1.6rem;
	}
}
.greeting__logo {
	margin-inline: auto;
	width: 160px;
	margin-top: -8.0rem;
	@media (width < 767px) {
		width: min(100px, 34%);
		margin-top: min(-2.5vw,-5.0rem);
	}
}
.greeting__title {
	text-align: center;
	margin-inline: auto;
	width: min(540px, 100%);
	margin-top: 1.2rem;
	margin-bottom: min(3.0vw, 2.0rem);
	text-align: center;
}
.greeting__title img{
	width: 100%;
	@media (width < 960px) {
		width: 90%;
	}
}
.greeting__text {
	text-align: center;
	border-top: 2px solid #a7911e;
	border-bottom: 2px solid #a7911e;
	padding-block: min(5.6vw, 3.6rem);
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.6;
	@media (width < 960px) {
		font-size: clamp(1.5rem, -0.5rem + 4.1667vw, 2rem);
	}
}
.greeting__from {
	text-align: center;
	color: #a7911e;
	font-size: 2.4rem;
	font-weight: 900;
	padding-block: min(6.4vw, 4.0rem);
	@media (width < 960px) {
		font-size: clamp(1.8rem, -0.6rem + 5vw, 2.4rem);
	}
}
.greeting__bg {
	display: block;
	position: absolute;
	@media (width < 960px) {
		display: none;
	}
}
.greeting__bg img { 
	overflow: hidden;
}
.greeting_bg-img01 {
	top: 3%;
	left: -2%;
	width: 15.2%;
}
.greeting_bg-img02 {
	top: 42%;
	left: 5%;
	width: 11.4%;
	@media (width < 1300px) {
		left: 2.5%;
	}
}
.greeting_bg-img03 {
	bottom: 6%;
	left: 3%;
	width: 15.2%;
}
.greeting_bg-img04 {
	top: 10%;
	right: -1.8%;
	width: 17.6%;
}
.greeting_bg-img05 {
	top: 50%;
	right: 7.5%;
	width: 10.4%;
	@media (width < 1300px) {
		right: 2%;
	}
}
.greeting_bg-img06 {
	bottom: 1%;
	right: 3%;
	width: 13.2%;
}
.fuwafuwa01 {
	animation: fuwafuwa01 6s infinite ease-in-out;
}
@keyframes fuwafuwa01 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(30px);
	}
}
.fuwafuwa02 {
	animation: fuwafuwa02 2s infinite ease-in-out;
}
@keyframes fuwafuwa02 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(10px);
	}
}
.fuwafuwa03 {
	animation: fuwafuwa03 2s infinite ease-in-out;
}
@keyframes fuwafuwa03 {
	0%, 100% {
		transform: translateY(10px);
	}
	50% {
		transform: translateY(0);
	}
}
.fuwafuwa04 {
	animation: fuwafuwa04 6s infinite ease-in-out;
}
@keyframes fuwafuwa04 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(30px);
	}
}
.fuwafuwa05 {
	animation: fuwafuwa05 4s infinite ease-in-out;
}
@keyframes fuwafuwa05 {
	0%, 100% {
		transform: translateY(30px);
	}
	50% {
		transform: translateY(0);
	}
}
.fuwafuwa06 {
	animation: fuwafuwa06 3s infinite ease-in-out;
}
@keyframes fuwafuwa06 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(30px);
	}
}


/* --------------------------------------------------------
* ambassador
* -------------------------------------------------------*/
.ambassador {
	background-color: rgb(182, 164, 66 ,0.72);
	padding-top: 4.0rem;
	padding-bottom: 4.0rem;
	@media (width < 960px) {
		padding-bottom: 2.0rem;
	}
}
.ambassador-pc {
	display: block;
	@media (width < 960px) {
		display: none;
	}
}
.ambassador-sp {
	display: none;
	@media (width < 960px) {
		display: block;
		margin-inline: auto;
		width: 90%;
	}
	@media (width < 767px) {
		width: 100%;
	}
}
.ambassador__wrap {
	max-width: 1352px;
	margin-inline: auto;
	padding-inline: 1.6rem;
}
.ambassador__whiteframe{
	background-color: #fff;
	border-radius: 1.6rem;
	padding-inline: 4.0rem;
	padding-top: 2.4rem;
	@media (width < 767px) {
		padding-top: 3.2rem;
		padding-inline: 1.6rem;
	}
}
.ambassador__whiteframe-inner {
	max-width: 1120px;
	margin-inline: auto;
}
.ambassador__text {
	font-size: 1.4rem;
	line-height: 1.4;
	@media (width < 1080px) {
		font-size: 1.2rem;
	}
	@media (width < 960px) {
		font-size: clamp(1.2rem, 0.4rem + 1.6667vw, 1.4rem);
		line-height: 1.6;
	}
}
.ambassador-pc .ambassador__whiteframe-inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.ambassador-pc .ambassador__whiteframe-main {
	width: 75%;
}
.ambassador-pc .ambassador__whiteframe-sub {
	width: 24%;
	display: flex;
	flex-direction: column;
}
.ambassador-pc .ambassador__profile-pc {
	margin-top: auto;
	padding-bottom: 2.4rem;
}
.ambassador-pc .ambassador__name-en {
	position: absolute;
	top: 3.8%;
	right: 0;
	z-index: 5;
	width: 31%;
}
.ambassador-pc .ambassador__name {
	margin-bottom: 1.0rem;
}
.ambassador-sp .ambassador__position {
	margin-bottom: min(2.4vw, 3.0rem);
	width: 100%;
	text-align: center;
}
.ambassador-sp .ambassador__name {
	margin-bottom: -2.0rem;
	width: 100%;
	text-align: center;
}
.ambassador-sp .ambassador__position img {
	width: 90%;
}
.ambassador-sp .ambassador__name img {
	width: 50%;
}
.ambassador-sp .ambassador__text {
	margin-top: min(1.6vw, 1.6rem);
}
.ambassador-sp .ambassador__name-en {
	text-align: right;
	margin-top: -0.5rem;
}
.ambassador-sp .ambassador__name-en img{
	width: 90%;
}

/* --------------------------------------------------------
* about
* -------------------------------------------------------*/
.about {
	background-color: rgb(255, 241, 0 ,0.1);
	@media (width < 767px) {
		padding-top: 2.0rem;
		padding-bottom: 2.0rem;
	}
}

.about__wrap {
	max-width: 1120px;
	width: 100%;
	margin-inline: auto;
	background-image: url("../img/about_bg_circle_pc.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: /*cover*/84%;
	padding-top: 6rem;
	padding-bottom: min(6vw, 8rem);
	@media (width < 767px) {
		background-image: url("../img/about_bg_circle_sp.png");
		background-size: cover;
	}
}

.about__body {
	position: relative;
}
.about__text01 {
	text-align: center;
	width: 47.4%;
/*	width: min(580px, 80%);*/
	margin-inline: auto;
	padding-top: min(3vw, 6rem);
	@media (width < 767px) {
		width: 86%;
	}
}
.about__text02 {
	text-align: center;
	width: 47.4%;
/*	width: min(580px, 78%);*/
	margin-inline: auto;
	padding-block: 3.0rem;
	@media (width < 767px) {
		width: 84%;
		padding-block: 2.4rem;
	}
}
.about__text03 {
	text-align: center;
	width: 54%;
/*	width: min(520px, 80%);*/
	margin-inline: auto;
	@media (width < 767px) {
		width: 86%;
	}
}
.about__bg {
	display: block;
	position: absolute;
	@media (width < 767px) {
		display: none;
	}
}
.about__book-left-pc {
	top: 0;
	left: 0%;
	width: 25.2%;
}
.about__book-right-pc {
	top: 0;
	right: 0%;
	width: 25.2%;
}
.about__foot {
	width: min(480px, 100%);
	margin-inline: auto;
	padding-inline: 1.6rem;
	margin-top: 4.0rem;
	@media (width < 767px) {
		width: 100%;
		margin-top: 0;
		margin-bottom: 2.0rem;
	}
}
.about__book-sp {
	display: none;
	@media (width < 767px) {
		display: block;
		text-align: center;
	}
}
.about__link a {
	width: 100%;
	background-color: #d61518;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	font-size: 2.0rem;
	padding-block: 3.0rem;
	@media (width < 960px) {
		font-size: clamp(1.6rem, 0rem + 3.3333vw, 2rem);
	}
	
}
.about__link a::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 5px;
	background-image: url("../img/icon_search.svg");
	background-size: cover;
	vertical-align: middle;
}

/* --------------------------------------------------------
* section
* -------------------------------------------------------*/
.section__title-en {
	display: block;
	margin-inline: auto;
	width: 640px;
	margin-bottom: min(4vw, 4rem);
	@media (width < 960px) {
		width: min(640px, 75%);
	}
}
.section__title-ja {
	text-align: center;
	display: block;
	margin-bottom: min(4vw, 4rem);
}
section.border-top {
	border-top: 12px solid #a7911e;
	@media (width < 960px) {
		border-top: 8px solid #a7911e;
	}
}
/* --------------------------------------------------------
* col
* -------------------------------------------------------*/
.c-col2,
.c-col3 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.c-col2 li{
	width: 49%;
	@media (width < 768px) {
		width: 100%;
		margin-bottom: 3.0rem;
	}
}
.c-col2 li:last-child{
	margin-bottom: 0;
}
.c-col3 li{
	width: 32%;
	@media (width < 960px) {
		width: 49%;
	}
	@media (width < 767px) {
		width: 100%;
	}
}

/* --------------------------------------------------------
* special
* -------------------------------------------------------*/
.special {
	background-color: rgb(255, 241, 0 ,0.04);
}
.special .section__title {
	margin-bottom: min(9vw, 9rem);
}
.special__article {
	padding-top: min(2vw, 2rem);
	padding-bottom: min(12vw, 12rem);
}
.special__article-coming {
	border: 1px solid #242424;
	background-color: #fff;
	border-radius: 1.6rem;
	padding-inline: 4.0rem;
	padding-block: 10rem;
	position: relative;
	text-align: center;
	@media (width < 960px) {
		border-radius: 0.8rem;
		padding-inline: 1.6rem;
		padding-block: 4rem;
	}
}
.special__number-coming {
	display: block;
	position: absolute;
	top: -2.4rem;
	left: 2%;
	width: 220px;
	@media (width < 960px) {
		width: 180px;
		top: -34%;
	}
	@media (width < 540px) {
		width: 35%;
		top: -2.4rem;
	}
}
.special__article-head {
	border-radius: 1.6rem 1.6rem 0 0;
	border: 1px solid #242424;
	background-color: #242424;
	position: relative;
	@media (width < 960px) {
		border-radius: 0.8rem 0.8rem 0 0;
	}
}
.special__article-head span {
	display: block;
	position: absolute;
	top: -2.4rem;
	left: 2%;
	width: 220px;
	@media (width < 960px) {
		width: 180px;
		top: -34%;
	}
	@media (width < 540px) {
		width: 35%;
		top: -2.4rem;
	}
}
.special__article-head h3 {
	text-align: center;
	font-weight: 900;
	color: #fff100;
	font-size: 4.0rem;
	letter-spacing: 0.2em;
	padding-block: 3.0rem;
	@media (width < 960px) {
		font-size: clamp(2rem, -4.4rem + 13.3333vw, 3.6rem);
		padding-block: 2.4rem;
	}
}
.special__article-body {
	border-radius: 0 0 1.6rem 1.6rem;
	border: 1px solid #242424;
	background-color: #fff;
	padding-inline: 4.0rem;
	padding-bottom: 4.0rem;
	@media (width < 960px) {
		padding-inline: 1.6rem;
		padding-bottom: 1.6rem;
		border-radius: 0 0 0.8rem 0.8rem;
	}
}
.special__article-body h3 {
	border-bottom: 2px solid #d61518;
	padding-top: min(6vw, 6rem);
	padding-bottom: min(4vw, 4rem);
	margin-bottom: min(4vw, 4rem);
	text-align: center;
}
.special__article-body h3 img {
	width: min(1040px, 100%);
}
.special__banner a {
	text-decoration: none;
}
.special__banner-img {
	margin-bottom: 0.1rem;
}
.special__article-foot {
	border-top: 1px solid #ccc;
	padding-top: min(8vw, 4rem);
	margin-top: min(8vw, 4rem);
}
.special__set-detail {
	width: min(880px, 100%);
	margin-inline: auto;
}
.special__set-title {
	width: 100%;
	background-color: #d61518;
	text-align: center;
	color: #fff;
	border-radius: 5.0rem;
	position: relative;
	display: inline-block;
	padding-block: 1.6rem;
	font-size: 3.4rem;
	font-weight: 900;
	@media (width < 960px) {
		font-size: clamp(1.8rem, -4.6rem + 13.3333vw, 3.4rem);
	}
}
.special__set-title:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #d61518;
}
.special__set-text {
	text-align: center;
	font-size: 3.0rem;
	margin-top: 2.4rem;
	margin-bottom: 1.0rem;
	@media (width < 960px) {
		font-size: clamp(1.8rem, -3rem + 10vw, 3rem);
	}
}
.special__set-btn {
	margin-top: 1.0rem;
}
.special__set-btn li {
	@media (width < 960px) {
		margin-bottom: 1.0rem;
	}
}


/* --------------------------------------------------------
* c-btn
* -------------------------------------------------------*/
.c-btn {
	position: relative;
	display: block;
	padding-block: 2.4rem;
	color: #fff;
	vertical-align: middle;
	text-decoration: none;
	text-align: center;
	font-size: 2.2rem;
	line-height: 1.4;
	font-weight: 700;
	@media (width < 960px) {
		font-size: clamp(1.6rem, -0.8rem + 5vw, 2.2rem);
	}
}
.c-btn::before,
.c-btn::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.c-btn.arrow::before{
	width: 24px;
	height: 24px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #fff;
}
.c-btn.arrow::after{
	right: 16px;
	box-sizing: border-box;
	width: 6px;
	height: 6px;
	border: 6px solid transparent;
}
.coming.c-btn {
	color: #242424;
	background-color: #ccc;
}

.interview01.c-btn {
	background-color: #fe0000;
}
.interview01.c-btn.arrow::after{
	border-left: 8px solid #fe0000;
}
.interview02.c-btn {
	background-color: #1c22d8;
}
.interview02.c-btn.arrow::after{
	border-left: 8px solid #1c22d8;
}
.zadan01.c-btn {
	background-color: #ff0000;
}
.zadan01.c-btn.arrow::after{
	border-left: 8px solid #ff0000;
}
.zadan02.c-btn {
	background-color: #1c22d8;
}
.zadan02.c-btn.arrow::after{
	border-left: 8px solid #1c22d8;
}
.set01 .c-btn {
	background-color: #1d1d64;
}
.set01 .c-btn.arrow::after{
	border-left: 8px solid #1d1d64;
}
.set02 .c-btn {
	background-color: #35a25d;
}
.set02 .c-btn.arrow::after{
	border-left: 8px solid #35a25d;
}
.apply.c-btn {
	color: #d61518;
}
.apply.c-btn {
	background-color: #fff100;
}
.apply.c-btn.arrow::before{
	background: #d61518;
}
.apply.c-btn.arrow::after{
	border-left: 8px solid #fff100;
}


/* --------------------------------------------------------
* slider
* -------------------------------------------------------*/
/*setting*/
.dots-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2.0rem;
}
.dots-wrap li {
	width: 16px;
	height: 16px;
	margin: 0 0.7rem;
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
	border: 2px solid #d61518;
	@media (width < 880px) {
		width: 12px;
		height: 12px;
	}
}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
	background-color: #d61518;
}
.dots-wrap li button {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	border: none;
	background-color: transparent;
}
.slide-arrow {
	z-index: 2;
	bottom: 0;
	cursor: pointer;
	margin: auto;
	position: absolute;
	top: 0;
	width: 48px;
	@media (width < 880px) {
		width: 24px;
	}
}

/*shortmovie*/
.slider-shortmovie__youtube {
	width: 100%;
	aspect-ratio: 9 / 16;
}
.slider-shortmovie__youtube iframe {
	width: 100%;
	height: 100%;
}
.slider-shortmovie__caption {
	margin-top: 0.8rem;
	font-size: 2.2rem;
	line-height: 1.2;
	text-align: center;
	font-weight: 700;
	@media (width < 960px) {
		font-size: clamp(1.4rem, -1.8rem + 6.6667vw, 2.2rem);
	}
	@media (width < 767px) {
		font-size: 1.4rem;
	}
}
.slider-shortmovie-pc {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	@media (width < 640px) {
		display: none;
	}
}
.slider-shortmovie-pc .slider-shortmovie__item {
	width: 30%;
}
.slider-shortmovie-sp {
	display: none;
	width: 76%;
	margin-inline: auto;
	@media (width < 640px) {
		display: block;
	}
}
.slider-shortmovie-sp .slider-shortmovie__item {
	width: 100%;
}
.slider-shortmovie-sp .prev-arrow {
	left: -14%;
}
.slider-shortmovie-sp .next-arrow {
	right: -14%;
}

/*photo*/
.slider-photo {
	width: 100%;
	margin-inline: auto;
}
.slider-photo__item {
	width: 100%;
	text-align: center;
}
.slider-photo__item img {
	width: 85%;
	margin-inline: auto;
}
.slider-photo .prev-arrow {
	left: -5px;
}
.slider-photo .next-arrow {
 	right: -5px;
}
/*.slider-photo__box {
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: #fff;
	padding-top: 3.2rem;
	padding-inline: 1.6rem;
	@media (width < 880px) {
		padding-top: 4.0rem;
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
	}
}*/

.slider-shortmovie__youtube.sp {
	position: relative;
	z-index: 1;
}
.slider-shortmovie__youtube.sp iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.iframe-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: transparent;
	pointer-events: auto;
}
/* --------------------------------------------------------
* gallery
* -------------------------------------------------------*/
.gallery {
	background-color: rgb(255, 241, 0 ,0.1);
	padding-bottom: min(9vw, 13rem);
}
.gallery-offshot__title {
	width: 380px;
	margin-bottom: 0.5rem;
	@media (width < 900px) {
		width: 50%;
	}
}
.gallery-offshot {
	width: 100%;
	max-width: 880px;
	margin-inline: auto;
	padding-top: 2.0rem;
	@media (width < 880px) {
		width: 100%;
	}
}

/* --------------------------------------------------------
* present
* -------------------------------------------------------*/
.present {
	padding-bottom: min(9vw, 13rem);
}
.present__lead {
	font-weight: 900;
	font-size: 3.0rem;
	line-height: 1.4;
	display: inline-block;
	position: relative;
	padding-inline: 3.4rem;
	@media (width < 960px) {
		font-size: clamp(1.8rem, -3rem + 10vw, 3rem);
	}
	@media (width < 767px) {
		padding-inline: 0;
	}
}
.present__lead::before,
.present__lead::after {
	content: "";
	height: 100%;
	width: 3px;
	background-color: #d61518;
	position: absolute;
	top: 0;
	@media (width < 767px) {
		background-color: transparent;
		display: none;
	}
}
.present__lead::before {
	left: 0;
	transform: rotate(-30deg);
}
.present__lead::after {
	right: 0;
	transform: rotate(30deg);
}
.present__banner {
	margin-inline: auto;
	width: min(750px, 100%);
	margin-top: 2rem;
	margin-bottom: min(4vw, 4rem);
}
.present__banner a {
	text-decoration: none;
}
.present-detail__lead {
	font-size: clamp(1.5rem, 0.3rem + 2.5vw, 1.8rem);
	line-height: 1.6;
}
.present-detail__lead .line {
	display: inline;
	background: linear-gradient(transparent 60%, #fff100 60%);
}
.present-detail__title {
	color: #d61518;
	font-weight: 900;
	position: relative;
	align-items: center;
	display: flex;
	font-size: clamp(2rem, 0.4rem + 3.3333vw, 2.4rem);
	margin-top: min(8vw, 4rem);
	margin-bottom: 1.6rem;
}
.present-detail__title::before,
.present-detail__title::after {
	background-color: #d61518;
	content: "";
	flex-grow: 1;
	height: 1px;
}
.present-detail__title::before {
	margin-right: 2.0rem;
}
.present-detail__title::after {
	margin-left: 2.0rem;
}
.present-table {
	display: table;
	width: 100%;
}
.prize.present-table {
	border: 1px solid #d61518;
	margin-bottom: 1.0rem;
}
.present-table__prize-head,
.present-table__apply-head {
	display: table-cell;
	@media (width < 767px) {
		display: block;
	}
}
.present-table__prize-head {
	text-align: center;
	background-color: #d61518;
	width: 160px;
	vertical-align: middle;
	font-weight: 900;
	font-size: 2.8rem;
	color: #fdf9ad;
	@media (width < 767px) {
		width: 100%;
		font-size: 2.0rem;
	}
}
.present-table__prize-head span {
	font-size: 130%;
	font-family: 'Poppins', sans-serif!important;
}
.present-table__prize-detail {
	background-color: #fff;
	padding: 1.2rem 1.6rem;
	text-align: left;
	font-weight: 700;
	@media (width < 767px) {
		text-align: center;
	}
}
.present-table__prize-name {
	color: #d61518;
	font-size: clamp(1.5rem, 0.3rem + 2.5vw, 1.8rem);
}
.present-table__prize-person {
	border-top: 1px solid #d6151820;
	padding-top: 0.5rem;
	margin-top: 0.5rem;
}

.present-table__apply-head {
	text-align: left;
	color: #d61518;
	width: 200px;
	vertical-align: top;
	font-weight: 900;
	font-size: 1.8rem;
	@media (width < 767px) {
		width: 100%;
		font-size: clamp(1.5rem, 0.3rem + 2.5vw, 1.8rem);
		margin-bottom: 1.0rem;
	}
}
.apply.present-table {
	border-top: 1px solid #24242420;
	padding: 2.4rem 1.6rem;
}
.apply.present-table:last-child {
	border-bottom: 1px solid #24242420;
}
.present-table__apply-detail {
	font-size: 1.8rem;
	font-weight: 700;
	@media (width < 767px) {
		width: 100%;
		font-size: clamp(1.5rem, 0.3rem + 2.5vw, 1.8rem);
	}
}
.present-table__apply-detail a {
	color: #d61518;
}
.present-table__apply-booklist {
	background-color: #d6151810;
	padding: 2.0rem;
	width: 320px;
	margin-top: 1.0rem;
	@media (width < 767px) {
		width: 100%;
		padding: 1.6rem;
	}
}
.present-table__apply-booklist li {
	font-size: 1.6rem;
	@media (width < 640px) {
		font-size: 1.5rem;
	}
}
.present-table__apply-attention {
	padding: 2.0rem;
	background-color: #fff100;
	margin-top: 1.0rem;
}
.present-table__apply-attention li {
	font-size: 1.2rem;
	font-weight: 500;
	@media (width < 640px) {
		font-size: 1.1rem;
	}
}

/* --------------------------------------------------------
* c-attention
* -------------------------------------------------------*/
.c-attention__list li{
	margin-bottom: 5px;
}
.c-attention__list li:last-child{
	margin-bottom: 0;
}
.c-attention__list li a{
	color: #ee6474;
	text-decoration: underline;
}
.c-attention__list li a:hover {
	text-decoration: none;
}
.c-attention__list .icon {
	display: block;
	padding-left: 1.5em;
}
.c-attention__list .icon::before {
	content: "";
	display: block;
	float: left;
	margin-left: -1.5em;
	width: 1em; text-align: center;
}
.c-attention__list .icon.type_kome::before {
	content: "※";
}
.c-attention__list .icon.type_disc::before {
	content: "・";
	color: #d61518;
}

/* --------------------------------------------------------
* accordion
* -------------------------------------------------------*/
.accordion-details{
	border: 2px solid #242424;
	background-color: #242424;
	margin-bottom: 2.0rem;
}
.accordion-details summary {
	width: 100%;
	display: inline-block;
	position: relative;
	padding: 2.4rem 0;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	font-size: 2.2rem;
	text-align: center;
	@media (width < 960px) {
		font-size: clamp(1.6rem, -0.8rem + 5vw, 2.2rem);
	}
}
.accordion-details[open] summary {
	color: #fff100;
}
.accordion-details summary::-webkit-details-marker {
	display: none;
}
.accordion-details summary::before,
.accordion-details summary::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.accordion-details summary::after {
	top: 0;
	right: 2.0rem;
	width: 15px;
	height: 15px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform: rotate(135deg);
	content: '';
	transition: transform .3s;
}
.accordion-details[open] summary::after {
	transform: rotate(315deg);
	border-top: 3px solid #fff100;
	border-right: 3px solid #fff100;
}
.accordion-details__contents {
	transform: translateY(-10px);
	opacity: 0;
	background-color: #fffef5;
	padding: 2.4rem 1.6rem;
	transition: transform .5s, opacity .5s;
	font-size: clamp(1.4rem, 0.6rem + 1.6667vw, 1.6rem);
	display: table;
	width: 100%;
}
.accordion-details[open] .accordion-details__contents {
	transform: none;
	opacity: 1;
}

/* --------------------------------------------------------
* aside / topic
* -------------------------------------------------------*/
.topic {
	padding-top: 4rem;
	padding-bottom: 4rem;
	background-color: #d61518;
	@media (width < 767px) {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}
.topic__title {
	color: #fff100;
	text-align: center;
	margin-bottom: 1.0rem;
	font-size: 2.4rem;
	display: inline-block;
	position: relative;
	padding-inline: 2.4rem;
	@media (width < 960px) {
		font-size: clamp(1.8rem, -0.6rem + 5vw, 2.4rem);
	}
}
.topic__title::before,
.topic__title::after {
	content: "";
	height: 100%;
	width: 3px;
	background-color: #fff100;
	position: absolute;
	top: 0;
}
.topic__title::before {
	left: 0;
	transform: rotate(-30deg);
}
.topic__title::after {
	right: 0;
	transform: rotate(30deg);
}
.topic__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.topic__list li {
	text-align: center;
	width: 33.33%;
	padding-inline: 0.5rem;
	@media (width < 960px) {
		width: 100%;
		margin-bottom: 1.6rem;
		padding-inline: 0;
	}
}

/* --------------------------------------------------------
* footer
* -------------------------------------------------------*/
footer{
	padding-top: 4rem;
	padding-bottom: 4rem;
	background-color: #a7911e;
	@media (width < 767px) {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}
.footer__wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footer__sns {
	width: 440px;
	@media (width < 960px) {
		width: 100%;
	}
}
.footer__sns-title {
	font-weight: 900;
	text-align: left;
	color: #fff;
	margin-bottom: 1.0rem;
	font-size: 1.5rem;
	@media (width < 960px) {
		text-align: center;
	}
}
.footer__btn {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footer__btn-item {
	width: 23%;
	@media (width < 767px) {
		width: 48%;
		margin-bottom: 1.6rem;
	}
}
.footer__btn-item a {
	display: block;
	font-size: 1.3rem;
	text-decoration: none;
	padding-block: 1.2rem;
	background-color: #fff;
	color: #a7911e;
	text-align: center;
	font-weight: 700;
	border-radius: 0.4rem;
}
.footer__copy {
	text-align: right;
	width: 400px;
	@media (width < 960px) {
		border-top: 1px solid #ffffff20;
		width: 100%;
		margin-top: 2.4rem;
		padding-top: 4.0rem;
		text-align: center;
	}
}
.footer__copyright{
	color: #fff;
	font-size: 1.1rem;
	margin-top: 1.6rem;
}


/* --------------------------------------------------------
* slide animation
* -------------------------------------------------------*/
/*** blur ***/
.blur{
	animation-name: blurAnime;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
}
@keyframes blurAnime{
	from{
		filter: blur(10px);
		transform: scale(1.02);
		opacity: 0;
	}
	to{
		filter: blur(0);
		transform: scale(1);
		opacity: 1;
	}
}
.blurTrigger{
	opacity: 0;
}

/*** bgextend ***/
.bgextend{
	animation-name: bgextendAnimeBase;
	animation-duration: 2s;
	animation-fill-mode:forwards;
	overflow: hidden;
	opacity: 0;
	position: relative;
}

@keyframes bgextendAnimeBase{
	from{
		opacity:0;
	}
	to{
		opacity:1;
	}
}
.bgappear{
	animation-name: bgextendAnimeSecond;
	animation-duration: 0.8s;
	animation-delay: 0.4s;
	animation-fill-mode: forwards;
	opacity: 0;
	padding: 0 1.6rem;
	background-color: #c8a27c;
}
@media not screen and (min-width: 960px){/* 960px↓ */
	.bgappear{
		padding: 0 0.8rem;
	}
}

@keyframes bgextendAnimeSecond{
	0%{opacity: 0;}
	100%{opacity: 1;}
}

/*left→right*/
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #c8a27c;
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}
.bgappearTrigger,
.bgLRextendTrigger{
	opacity: 0;
}

/* --------------------------------------------------------
* page-top
* -------------------------------------------------------*/
#page-top{
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background-color: #c8a27c;
	display: inline-block;
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 5;
	opacity: 0;
	transform: translateY(100px);
}
#page-top a{
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.2;
	position: absolute;
	display: inline-block;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width :70px;
	text-align:center;
	text-decoration: none;
	font-family: "Cinzel", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
@media not screen and (min-width: 640px) {
	#page-top{
		width: 50px;
		height: 50px;
	}
	#page-top a{width: 50px;font-size: 1.1rem;}
}

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 1;
		transform: translateY(100px);
	}
}
/*** fadeUp ***/
.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeUpAnime{
	from{
		opacity: 0;
		transform: translateY(100px);
	}
	to{
		opacity: 1;
		transform: translateY(0);
	}
}
/* fadeLeft */
.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
	from {
		opacity: 0;
		transform: translateX(-100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}
/* flipLeft */
.flipLeft{
animation-name:flipLeftAnime;
animation-duration:1s;
animation-fill-mode:forwards;
perspective-origin:left center;
opacity:0;
}
@keyframes flipLeftAnime{
	from {
		transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
		opacity: 0;
	}
	to {
		transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
		opacity: 1;
	}
}
.flipLeftTrigger,
.fadeLeftTrigger,
.fadeUpTrigger{
	opacity: 0;
}
.delay-time05{
	animation-delay: 0.5s;
}
