/*====================================================================================================
VARIABLES
====================================================================================================*/
/* // variables
----------------------------------------------- */
:root {
	/* color */
	--main-color: #3ec9c9;
	--gradation-btn: linear-gradient(99deg, #fb2f6b 3.6%, #ee1141 103.03%);
	--gradation-font: linear-gradient(180deg, #00a2a4 0%, #6fabc0 50%, #90adb8 100%);
	--font-color: #1f2428;
	/* header_height */
	--pc_header_h: 80px;
	--tb_header_h: 60px;
	--sp_header_h: 50px;
}

/* // SPACE
----------------------------------------------- */
:root {
	--space1x: 8px;
	--space2x: calc(var(--space1x) * 2);
	--space3x: calc(var(--space1x) * 3);
	--space4x: calc(var(--space1x) * 4);
	--space5x: calc(var(--space1x) * 5);
	--space6x: calc(var(--space1x) * 6);
	--space7x: calc(var(--space1x) * 7);
	--space8x: calc(var(--space1x) * 8);
	--space9x: calc(var(--space1x) * 9);
	--space10x: calc(var(--space1x) * 10);
	--space11x: calc(var(--space1x) * 11);
	--space12x: calc(var(--space1x) * 12);
	--space13x: calc(var(--space1x) * 13);
	--space14x: calc(var(--space1x) * 14);
	--space15x: calc(var(--space1x) * 15);
	--space16x: calc(var(--space1x) * 16);
	--space17x: calc(var(--space1x) * 17);
	--space18x: calc(var(--space1x) * 18);
	--space19x: calc(var(--space1x) * 19);
	--space20x: calc(var(--space1x) * 20);
	--space21x: calc(var(--space1x) * 21);
	--space22x: calc(var(--space1x) * 22);
	--space23x: calc(var(--space1x) * 23);
	--space24x: calc(var(--space1x) * 24);
	--space25x: calc(var(--space1x) * 25);
}

/*====================================================================================================
SETTINGS
====================================================================================================*/
:root {
	/* font-size */
	--base-fz: 1.6rem;
	/* Font Family 
	--ffEn: "Oswald";
	--ffJa: "Noto Sans JP";
	*/
}



html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	font-family:"Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: var(--base-fz);
	line-height: 1.8;
	min-height: 110vh;
	font-weight: 400;
	background-color: #fff;
	scroll-behavior: smooth;
}

img,
svg,
iframe {
	width: 100%;
	height: auto;
	object-fit: cover;
}

summary {
	display: block;
}
summary::-webkit-details-marker {
	display: none;
}
.f-en {
	font-family: "Cormorant Garamond", serif;
}
.f-serif {
	font-family: 'Noto Serif JP', serif;
    font-feature-settings: "palt";
    font-weight: 400;
    font-size: 18px;
    letter-spacing: -0.03em;
}
.text_link {
	color: #051C95;
}
.text_link:hover {
	text-decoration: underline;
}
.mat0 {
	margin-top: 0 !important;
}
.taLeft {
	text-align: left;
}






.h2_ttl_wrap {
	text-align: center;
	margin-bottom: 70px;
}
.h2_ttl_wrap .ttl_en {
	font-size: 60px;
	color: #B6A16B;
	line-height: 100%;
	position: relative;
	z-index: 1;
	margin-bottom: 15px;
}
.h2_ttl_wrap .ttl_jp {
	color: #1B1A33;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.5;
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 767px) {
.h2_ttl_wrap {
	text-align: center;
	margin-bottom: 40px;
}
.h2_ttl_wrap .ttl_en {
	font-size: 34px;
	line-height: 100%;
	position: relative;
	z-index: 1;
}
.h2_ttl_wrap .ttl_jp {
	color: #22234B;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.4;
	position: relative;
	z-index: 2;
}

}








/*====================================================================================================
UTILITY
====================================================================================================*/
.u-ffja {
	font-family: var(--ffJa), "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.u-ffen {
	font-family: var(--ffEn), "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
/* viewport change - display none
----------------------------------------------- */
.u-spNone {
	display: block;
}
.u-pcNone {
	display: none;
	visibility: hidden;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
	.u-spNone {
		display: none;
		visibility: hidden;
	}
	.u-pcNone {
		display: block;
	}
}

@media all and (min-width: 768px)  {
/* //    |- PC  */
  .elmSP {  display:none !important;  }
} /* TB: min-width: 560px max-width: 1079px */
@media all and (max-width: 767px)  {
/* //    |- SP  */
  .elmPC{ display:none !important;  }
} /* SP: max-width: 559px */


/*====================================================================================================
LAYOUT
====================================================================================================*/
/* container
----------------------------------------------- */
:root {
	--pc_padding: 20px;
	--tb_padding: 20px;
	--sp_padding: 15px;
}
.container {
	position: relative;
	width: min(100%, 1100px);
	padding-left: var(--pc_padding);
	padding-right: var(--pc_padding);
	margin: 0 auto;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.container {
		padding-left: var(--sp_padding);
		padding-right: var(--sp_padding);
	}
}

/*====================================================================================================
BTN
====================================================================================================*/
.btn__cta {
	display: flex;
	justify-content: center;
	grid-template-columns: 100px 1fr 100px;
	align-items: center;
	background: linear-gradient(90deg, #A6251F 0%, #D2403A 100%);
	border-radius: 100px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	width: min(100%, 420px);
	font-size: 2.6rem;
	padding: 25px 40px;
	/*box-shadow: 0px 0px 50px rgba(255, 255, 255, 1)*/
}
.btn__cta::after {
	transform: translateY(2px);
	content: "";
	background: url("../img/icon_05_1.png") no-repeat center top/contain;
	width: 31px;
	aspect-ratio: 21/15;
	justify-self: center;
	position: relative;
	left: 15px;
	bottom: 2px;
}
.btn__cta:hover::after {
	animation: fuwafuwa 1s ease-in-out infinite alternate;
}

/*.CtaBtn .btn__cta::before {
	content: "";
	background: url(../img/icon_04.png) no-repeat center center / contain;
	width: 150px;
	aspect-ratio: 120 / 45;
	position: absolute;
	top: -20px;
}
@media screen and (max-width: 1000px) {
.CtaBtn .btn__cta::before {
	width: 130px;
	top: -20px;
}
}
*/

@keyframes fuwafuwa {
	0% {
		transform: translate(2px, 2px);
	}
	50% {
		transform: translate(9px, 0);
	}
	100% {
		transform: translate(0, 0px);
	}
}

.btn__cta_pc {
	font-size: 1.7rem;
	padding: 15px 20px;
	margin-left: 20px;
}
.btn__cta_pc::after {
	width: 24px;
	left: 10px;
}
@media screen and (max-width: 1000px) {
.btn__cta_pc {
	font-size: inherit;
	padding: inherit;
	margin-left: auto;
}
.btn__cta_pc::after {
	width: 21px;
	left: 20px;
}
}
@media screen and (max-width: 767px) {
.btn__cta_pc {
	font-size: inherit;
	padding: inherit;
	margin-left: auto;
}
.btn__cta_pc::after {
	width: 24px;
	left: 20px;
}
}

@media screen and (max-width: 1000px) {
	.btn__cta {
		grid-template-columns: 80px 1fr 50px;
		width: min(100%, 400px);
		font-size: 2.2rem;
		padding: 20px 26px;
	}
	.btn__cta::before {
		width: 80px;
	}
	.btn__cta::after {
		width: 21px;
	}
}
@media screen and (max-width: 767px) {
	.btn__cta {
		grid-template-columns: 60px 1fr 40px;
		font-size: 2rem;
		padding: 20px 20px;
		width: 90%;
		justify-content: center;
		margin: auto;
	}
	.btn__cta::before {
		width: 130px;
	}
	.btn__cta::after {
		width: 24px;
	}
}

/*====================================================================================================
HEADER
====================================================================================================*/
header {
	z-index: 10000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
.header__inner {
	max-width: 1400px;
	padding: 10px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	transition: all 0.5s;
}
header.isScroll {
	background-color:rgba(255,255,0255,0.9);
}
@media screen and (max-width: 1000px) {
.header__inner {
	padding: 5px 15px;
}
header.isScroll {
	background-color:rgba(255,255,0255,0);
}
}
.header__logo--wrap {
	z-index: 100;
	display: flex;
	align-items: start;
	gap: var(--space4x);
	opacity: 0;
}
@media screen and (max-width: 1000px) {
	.header__logo--wrap {
		gap: var(--space2x);
		flex-wrap: wrap;
		align-items: center;
	}
}
.header__logoA {
	width: 260px;
	transition: all 0.5s;
}
header.isScroll .header__logoA {
	width: 220px;
}
@media screen and (max-width: 1000px) {
	.header__logoA {
		width: 195px;
	}
	header.isScroll .header__logoA {
		width: 180px;
	}
}
.header__logoB {
	width: 128px;
	transition: all 0.5s;
}
header.isScroll .header__logoB {
	width: 100px;
}
@media screen and (max-width: 1000px) {
	.header__logoB {
		width: 96px;
	}
	header.isScroll .header__logoB {
		width: 80px;
	}
}



.header__nav--wrap {
	font-weight: bold;
	letter-spacing: -0.02em;
	font-size: 1.7rem;
	display: flex;
	align-items: center;
	color: #1B1A33;
}
.isScroll .header__nav--wrap {
	color: #1B1A33;
}
@media screen and (max-width: 1000px) {
	.header__nav--wrap {
		z-index: 10;
		position: absolute;
		top: 0;
		left: 0;
		transform: translateY(-100px);
		opacity: 0;
		visibility: hidden;
		width: 100%;
		background-color:rgba(255,255,0255,0.9);
		padding-right: 15px;
		padding-left: 15px;
		padding-top: 120px;
		padding-bottom: 60px;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		transition: all 0.5s ease-in-out;
		display: block;
	}
	.header__nav--wrap.isActive {
		opacity: 1;
		visibility: visible;
		transform: translateY(-20px);
	}
}
.header__spNav {
	display: none;
	visibility: hidden;
}
@media screen and (max-width: 1000px) {
	.header__spNav {
		z-index: 100;
		visibility: visible;
		width: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 8px;
		cursor: pointer;
	}
}
.header__spNav > span:nth-of-type(1),
.header__spNav > span:nth-of-type(2),
.header__spNav > span:nth-of-type(3) {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 2px;
	background-color: #333;
	transition: all 0.3s ease-in-out;
}
.header__spNav.isActive {
	transform-origin: center;
	transform: rotate(360deg);
}
.header__spNav.isActive > span:nth-of-type(1) {
	transform-origin: center;
	transform: translateY(10px) rotate(45deg);
}
.header__spNav.isActive > span:nth-of-type(2) {
	opacity: 0;
}
.header__spNav.isActive > span:nth-of-type(3) {
	transform-origin: center;
	transform: translateY(-10px) rotate(-45deg);
}
.header__nav--list {
	display: flex;
	gap: 1em;
}
@media screen and (max-width: 1000px) {
	.header__nav--list {
		flex-direction: column;
		gap: 16px;
		justify-content: center;
		color: #333;
	}
}
@media screen and (max-width: 1000px) {
	.header__nav--item {
		text-align: center;
	}
}
.header__navSpBtn {
	/*display: none;
	visibility: hidden;*/
}
@media screen and (max-width: 1000px) {
	.header__navSpBtn {
		display: block;
		visibility: visible;
		margin-top: var(--space5x);
	}
}



/*====================================================================================================
CtaBtn
====================================================================================================*/
.CtaBtn {
	/*display: none;*/
	visibility: hidden;
	z-index: 100;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-left: 20px;
	padding-right: 10px;
}
.CtaBtn {
	display: flex;
	visibility: visible;
	/*opacity: 0;
	transform: translateY(100%);*/
	transition: all 0.5s ease-in-out;
	justify-content: space-between;
	align-items: center;
	background: #B6A16B;
	padding: 5px 30px;
}
.CtaBtn .text {
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
}
.CtaBtn .text span{
	font-size: 20px;
	font-weight: bold;
}
.CtaBtn .img {
	width: 20%;
	min-width: 300px;
}
.CtaBtn .btn__cta {
	margin: inherit;
	font-size: 2.4rem;
	width: 35%;
	padding:20px;
	box-shadow: none;
	white-space: nowrap;
	max-width: 330px;
}
.CtaBtn.isScroll {
	opacity: 1;
	transform: translateY(0);
}
.CtaBtn.isScroll.isActive {
	opacity: 0;
	transform: translateY(100%);
}
/* =====SP===== */
@media screen and (max-width: 1000px) {
.CtaBtn {
	display: block;
	visibility: visible;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.5s ease-in-out;
	background: none;
}
.CtaBtn {
	background: #B6A16B;
	padding: 10px 20px;
}
.CtaBtn .btn__cta {
	margin: inherit;
	font-size: 2rem;
	width: 100%;
	padding:16px 30px;
	box-shadow: none;
	margin:0 auto;
	/*box-shadow: 0px 0px 50px rgba(255, 255, 255, 1);*/
	max-width: 100%;
	justify-content:center;
}
.CtaBtn.isScroll {
	opacity: 1;
	transform: translateY(0);
}
.CtaBtn.isScroll.isActive {
	opacity: 0;
	transform: translateY(100%);
}
}

























/*====================================================================================================
TIMETABLE
====================================================================================================*/
/* timetableBlo2
----------------------------------------------- */
.timetableBlo2__ttl {
	position: relative;
	scroll-margin-top: 40px;
	z-index: 2;
	font-weight: 500;
	line-height: 1.4;
	font-size: 40px;
	margin-top: 120px;
	color: #051C95;
	margin-bottom: 60px;
	position: relative;
}
.timetableBlo2__ttl:after {
	position: absolute;
	background: url("../img/timetable_ttl_bg.png") no-repeat;
	top: 50%;
	left:0;
	transform: translateY(-50%);
	content: "";
	width: 100%;
	max-width: 629px;
	height: 135px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
}
@media screen and (max-width: 767px) {
.timetableBlo2__ttl {
	margin-top: 100px;
	font-size: 7vw;
	margin-bottom: 30px;
}
.timetableBlo2__ttl::after {
	height: 16vw;
}
}
.timetableBlo2__list {
	background: #fff;
	padding: 50px 60px;
}

.timetableBlo2__item {
	position: relative;
}
.timetableBlo2__item {
	padding:20px 0;
	border-bottom: 1px solid #CECBE5;
}
.timetableBlo2__item:last-child {
	border-bottom: none;
}
.timetableBlo2__item .timetableBlo2Item__ttl {
	margin-top: 0;
}
.timetableBlo2__item .timetableBlo2Item__head--txt,
.timetableBlo2__item .timetableBlo2Item__head--date {
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
.timetableBlo2__list {
	padding: 30px 24px;
}
.timetableBlo2__item {
	padding: 20px 24px;
}
.timetableBlo2__item {
	display: block;
	padding:18px 0;
}
.timetableBlo2__item .timetableBlo2Item__ttl {
	margin-top: 10;
}
.timetableBlo2__item .timetableBlo2Item__head--txt,
.timetableBlo2__item .timetableBlo2Item__head--date {
	white-space:normal;
}
}

.timetableBlo2Item__head {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: var(--space1x);
}
@media screen and (max-width: 767px) {
	.timetableBlo2Item__head {
		display: block;
		gap: var(--space1x);
	}
}

.timetableBlo2Item__head--txt {
	color: #333333;
	font-weight: 500;
	line-height: 1;
	font-size: 20px;
}

.timetableBlo2Item__head--date {
	color: #051C95;
	font-weight: 700;
	line-height: 1;
	font-size: 25px;
	padding: 8px 24px 10px 0;
	font-style: italic;
}

.timetableBlo2Item__ttl {
	position: relative;
	z-index: 1;
	margin-top: var(--space3x);
	font-weight: bold;
	width: 100%;
	line-height: 1.5;
	font-size: clamp( 2.4rem, 30 / 1920 * 100vw, 2.8rem);
}
.timetableBlo2Item__ttl span {
	background: linear-gradient(0deg, #00ADBD 0%, #3F0061 100%);
	background: -webkit-linear-gradient(0deg, #00ADBD 0%, #3F0061 100%);
	-webkit-background-clip: text;
	display: inline-block;
	-webkit-text-fill-color: transparent;
}

@media screen and (max-width: 767px) {
.timetableBlo2Item__head--txt {
	font-size: 18px;
}
.timetableBlo2Item__head--date {
	font-size: 18px;
	padding: 8px 24px 15px 0;
}
.timetableBlo2Item__ttl span {
	font-size: 20px;
}
}





.timetableBlo2__item a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.timetableBlo2__item a .num {
background: linear-gradient(0deg, #00ADBD 0%, #3F0061 100%);
	background: -webkit-linear-gradient(0deg, #00ADBD 0%, #3F0061 100%);
	-webkit-background-clip: text;
	display: inline-block;
	-webkit-text-fill-color: transparent;
  font-weight: 700;
  line-height: 1;
  font-size: 50px;
  font-style: italic;
  padding: 8px 24px 10px 0;
}
.timetableBlo2__item a .content {
	width: 80%;
}
.timetableBlo2__item a .img {
	margin: 0 0 0 auto;
	transition: .2s;
}
.timetableBlo2__item a:hover .img {
	transform: translateY(10px);
}

@media screen and (max-width: 767px) {
.timetableBlo2__item a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.timetableBlo2__item a .num {
background: linear-gradient(0deg, #00ADBD 0%, #3F0061 100%);
	background: -webkit-linear-gradient(0deg, #00ADBD 0%, #3F0061 100%);
	-webkit-background-clip: text;
	display: inline-block;
	-webkit-text-fill-color: transparent;
  font-weight: 700;
  line-height: 1;
  font-size: 30px;
  font-style: italic;
  padding: 8px 24px 20px 0;
}
.timetableBlo2__item a .content {
	width: 100%;
}
.timetableBlo2__item a .img {
	margin: 10px 0 0 auto;
	width: 12%;
}
}





/*====================================================================================================
PROGRAM
====================================================================================================*/
.program {
	background: url("../img/program_bg.jpg") no-repeat center top / cover;
	padding: 100px 0 ;

	background-attachment: fixed;
	overflow: hidden;
}
.program .container {
	overflow: unset;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.program {
	padding: 80px 0 0;
}
.program .container {
	padding-bottom: var(--space10x);
}
}

/* programBlo1
----------------------------------------------- */
.programBlo1__inner {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);
	background-color: rgb(255 255 255 / 70%);
	padding-top: 80px;
	padding-bottom: 60px;
}
.programBlo1__ttl {
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.02em;
	font-size: 40px;
	color: #051C95;
	position: relative;
}
.programBlo1__ttl:after {
	position: absolute;
	background: url("../img/recommendation_ttle_bg.png") no-repeat;
	top: 40%;
	left:50%;
	transform: translateY(-50%) translateX(-50%);
	content: "";
	width: 100%;
	max-width: 1300px;
	height: 135px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
}
.programBlo1__list {
	display: grid;
	place-content: center;
	gap: var(--space2x);
	margin-top: var(--space5x);
}

.programBlo1__item {
	--gap: 16px;
	--iconWidth: 36px;
	--gap-iconWidth: calc(var(--gap) + var(--iconWidth));
	position: relative;
	font-weight: 500;
	font-size: 2.2rem;
	padding: 12px 0;
	padding-left: calc(32px + var(--gap-iconWidth));
}
.programBlo1__item::before {
	position: absolute;
	top: 20px;
	left: 32px;
	transform: translateY(3px);
	display: inline-block;
	content: "";
	background: url("../img/icon_01.png") no-repeat center top/contain;
	aspect-ratio: 36/31;
	width: var(--iconWidth);
	margin-right: var(--gap);
}
.programBlo1__item--cl {
	font-weight: bold;
	color: #051C95;
	font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
.programBlo1__inner {
	padding-top: 60px;
	padding-bottom: 60px;
}
.programBlo1__ttl {
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.02em;
	font-size: 7vw;
	color: #051C95;
}
.programBlo1__ttl:after {
	height: 14vw;
	top: 50%;
}
.programBlo1__list {
	display: grid;
	place-content: center;
	gap: var(--space2x);
	margin-top: var(--space3x);
}
.programBlo1__item--cl {
	font-size: 2rem;
}
.programBlo1__item {
	--gap: 16px;
	--iconWidth: 24px;
	--gap-iconWidth: calc(var(--gap) + var(--iconWidth));
	font-size: 1.8rem;
	padding: 16px;
	padding-left: calc(16px + var(--gap-iconWidth));
}
.programBlo1__item::before {
	top: 20px;
	left: 24px;
	transform: translateY(7px);
	width: var(--iconWidth);
	margin-right: var(--gap);
}
}




/* programBlo2
----------------------------------------------- */
.programBlo2_note {
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.program .h2_ttl_wrap {
	margin-bottom: 50px;
}
.program .h2_ttl_wrap .ttl_en {
	color: #D8CAB3;
	font-size: 60px;
	line-height: 90%;
}
.program .h2_ttl_wrap h2 {
	font-size: 32px;
	margin-top: -40px;
}
.programBlo2_note {
	text-align: left;
	margin-bottom: 15px;
	font-size: 12px;
}
}

.programBlo2__list {
	display: grid;
}
@media screen and (max-width: 767px) {
	.programBlo2__list {

	}
}
.programBlo2__item {
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 40px;
	border-bottom: 1px solid #D2C5B0;
}
.programBlo2__item.comingsoon {
	display: flex;
	align-items: center;
}
.programBlo2__item.comingsoon .programBlo2Item__ttl {
	margin-top: 0;
}
.programBlo2__item.comingsoon .programBlo2Item__head--txt,
.programBlo2__item.comingsoon .programBlo2Item__head--date {
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
.programBlo2__item {
	position: relative;
	padding-bottom: 18px;
	margin-bottom: 30px;
	border-bottom: 1px solid #D2C5B0;
}
.programBlo2__item.comingsoon {
	display: block;
}
.programBlo2__item.comingsoon .programBlo2Item__ttl {
	margin-top: 10px;
}
.programBlo2__item.comingsoon .programBlo2Item__head--date {
	white-space:nowrap;
	padding: 8px 12px;
}
.programBlo2__item.comingsoon .programBlo2Item__head--txt {
	white-space:normal;
}
}

.programBlo2Item__head {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;}
@media screen and (max-width: 767px) {
	.programBlo2Item__head {
	}
}


.programBlo2Item__head_wrap {
	display: flex;
	justify-content: space-between;
}
.programBlo2Item__head_wrapDate {
	display: flex;
	align-items: center;
}
.programBlo2Item__head_wrapLogo {
	width: 17%;
}
@media screen and (max-width: 767px) {

.programBlo2Item__head_wrap {
	display: block;
}
.programBlo2Item__head_wrapDate {
	display: flex;
	align-items: center;
}
.programBlo2Item__head_wrapLogo {
	width: 40%;
	margin: 20px auto 0
}
}





.programBlo2Item__head--txt {
	color: #1B1A33;
	font-weight: 500;
	line-height: 1;
	font-size: 25px;
	margin:0 30px 0 15px;
}

.programBlo2Item__head--date {
	color: #fff;
	font-weight: 500;
	line-height: 1;
	font-size: 25px;
	background: #B6A16B;
	padding: 10px 15px;
}

.programBlo2Item__ttl {
	position: relative;
	z-index: 1;
	margin-top: var(--space3x);
	font-weight: 400;
	width: 100%;
	line-height: 1.5;
	font-size: clamp(3.2rem, 40 / 1920 * 100vw, 3.2rem);
	color:#B6A16B;
}
.programBlo2Item__ttl_sizedown {
	font-size: clamp(3.2rem, 40 / 1920 * 100vw, 3.1rem);
	letter-spacing: -0.03em;
}
.programBlo2Item__ttl span {
	color: #B6A16B;
}

@media screen and (max-width: 767px) {
.programBlo2Item__head--txt {
	color: #1B1A33;
	font-weight: 500;
	line-height: 1;
	font-size: 20px;
	margin:0 0 0 15px;
}
.programBlo2Item__head--date {
	font-size: 20px;
	padding: 8px 12px;
}
.programBlo2Item__ttl span {
	font-size: 23px;
}
.programBlo2Item__ttl_sizedown span {
	font-size: 24px;
}
}


/* =====TB===== */
@media screen and (max-width: 949px) {
	.programBlo2Item__ttl {
		width: 100%;
		font-size: clamp(2.2rem, 40 / 1920 * 100vw, 4rem);
	}
}

.programBlo2Item__desc {
	font-size: 1.6rem;
	margin-top: var(--space4x);
	font-weight: 700;
}
.programBlo2Item__desc .note {
	font-size: clamp(1.3rem, 40 / 1920 * 100vw, 1.4rem);
	font-weight: 500;
}
.programBlo2Item__talker--list {
	display: grid;
	gap: var(--space5x);
	margin-top: var(--space4x);
}
@media screen and (max-width: 767px) {
	.programBlo2Item__talker--list {
		gap: var(--space3x);
		margin-top: var(--space4x);
	}
}
.programBlo2Item__talker--item {
	display: flex;
	align-items: flex-start;
	gap: var(--space6x);
}


.programBlo2Item__talker--item.comingsoon {
	align-items: center;
}
.programBlo2Item__talker--item.comingsoon .programBlo2ItemTalker__name span{
	background: linear-gradient(0deg, #8688C8 0%, #22234B 50%);
    background: -webkit-linear-gradient(0deg, #8688C8 0%, #22234B 50%);
    -webkit-background-clip: text;
    display: inline-block;
    -webkit-text-fill-color: transparent;
    font-size: 26px;
}

.programBlo2Item__talker--item--center {
	align-items: center;
}
@media screen and (max-width: 767px) {
	.programBlo2Item__talker--item {
		gap: var(--space3x);
	}
}
@media screen and (max-width: 500px) {
	.programBlo2Item__talker--item {
		flex-direction: column;
		align-items: center;
		gap: var(--space3x);
		margin-bottom: 20px;
	}
}

.programBlo2ItemTalker__img {
	width: min(220px, 22%);
	min-width: 120px;
}
@media screen and (max-width: 767px) {
	.programBlo2ItemTalker__img {
		width:60%;
		min-width: 60%;
	}
}
.programBlo2ItemTalker__img img {
	height: auto;
}

.programBlo2ItemTalker__body {
	flex: 1;
}
.programBlo2ItemTalker__head {
	color: #212146;
	font-weight: 700;
	line-height: 1;
	margin-bottom: var(--space1x);
}
@media screen and (max-width: 767px) {
	.programBlo2ItemTalker__head {
		margin-bottom: 0;
	}
}
.programBlo2ItemTalker__name {
	font-weight: 700;
	font-size: 2.2rem;
}
.programBlo2ItemTalker__name.comingsoon {
	    background: linear-gradient(0deg, #8688C8 0%, #22234B 50%);
    background: -webkit-linear-gradient(0deg, #8688C8 0%, #22234B 50%);
    -webkit-background-clip: text;
    display: inline-block;
    -webkit-text-fill-color: transparent;
    font-family: "Cormorant Garamond", serif;
    font-weight: 700;
    font-size: 2.6rem
}
.programBlo2ItemTalker__info {
	margin-top: var(--space1x);
	font-weight: 700;
	line-height: 1.4;
	font-size: 1.5rem;
}

.programBlo2ItemTalker__desc {
	font-family: var(--ffJa), "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 300;
	font-size: 1.4rem;
	margin-top: var(--space1x);
}
.programBlo2ItemTalker__desc--link {
	color: var(--main-color);
	transition: opacity 0.3s;
}
.programBlo2ItemTalker__desc--link:hover {
	opacity: 0.7;
}

.programBlo2ItemTalker__desc2 {
	font-weight: 300;
	font-size: 1.3rem;
	padding-left: 3em;
	text-indent: -3em;
}

.programBlo2__btn {
	margin-top: var(--space8x);
}
@media screen and (max-width: 767px) {
	.programBlo2__btn {
		margin-top: var(--space4x);
	}
}














/* programBlo
----------------------------------------------- */
.programBlo__inner {
	background: #fff;
	padding: var(--space10x) var(--space8x);
	margin-top: var(--space8x);
	box-shadow: 0 0 20px rgba(92,63,0,.2);
}


.programBlo__ttl2 {
	color: #051C95;
	font-size: 30px;
	margin-top: var(--space5x);
	font-weight: 500;
	text-align: center;
	margin-bottom: 70px;
	position: relative;
}
.programBlo__ttl2:before {
	position: absolute;
  background: url(../img/sponsor_ttl_bg.png) no-repeat;
  top: 40%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  content: "";
  width: 100%;
  max-width: 388px;
  height: 135px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
}

.location .map {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.location .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.location .name {
	font-size: 24px;
	margin-top: 20px;
}
.location a {
	text-decoration: underline;
	color: #22234B;
	font-size: 14px;
}
.location a:hover {
	text-decoration: none;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}






@media screen and (max-width: 767px) {
.programBlo__inner {
	padding: var(--space5x) var(--space3x);
	margin-top: var(--space4x);
}
.programBlo__head {
	margin-top: var(--space8x);
}

.programBlo__ttl2 {
	margin-top: var(--space2x);
	margin-bottom: 30px;
	font-size: 25px;
}
.programBlo__ttl2:before {
	width:56vw;
	top: 100%;
}
}
















/*====================================================================================================
FOOTER
====================================================================================================*/
.footerTop___inner {
	background-color: #232323;
	display: flex;
	align-items: center;
	justify-content: center;
	/*gap: 24px;*/
	padding-top: var(--space6x);
	padding-bottom: var(--space6x);
}
.footerTop___inner .header__logoB {
	width: 128px;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.footerTop___inner {
	flex-direction: column;
	padding-top: var(--space3x);
	padding-bottom: var(--space1x);
}
.footerTop___inner .header__logoB {
	display: none;
}
}
.footerBottom__inner {
	background-color: #232323;
	color: #fff;
	text-align: center;
	font-size: 1.5rem;
	padding-top: var(--space3x);
	padding-bottom: var(--space18x);
		border-top: 1px solid #fff;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
	.footerBottom__inner {
		font-size: 1.2rem;
		padding-top: var(--space3x);
		padding-bottom: var(--space12x);
	}
}

.footerTop_sns {
	background-color: #232323;
	display: flex;
	justify-content: center;
	padding-bottom:30px; 
}
.footerTop_sns_item {
	width: 30px;
	margin: 0 5px;
}
/* =====SP===== */
@media screen and (max-width: 767px) {

}




/*====================================================================================================
 郢晢ｿｽ縺冗ｹｧ�ｹ郢晁ご豢帝し�ｮ
====================================================================================================*/
.grad-wrap {
  position: relative;
}
.grad-wrap + .grad-wrap {
  margin-top: 40px;
}
.grad-btn {
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: -15px;
  left: 0;
  width: 148px;
  margin: auto;
  padding: .5em 0;
  border-radius: 2px;
  /*background: #009e8f;*/
  color: #333;
  font-size: 1.3rem;
  text-align: center;
  cursor: pointer;
  transition: .2s ease;
  /*box-shadow: 0 0 3px rgba(0,0,0,.3);*/
  font-size: 20px;
}
@media screen and (max-width: 767px) {
	.grad-btn {
		font-size: 16px;
	}
}
.grad-btn::after {
  content: "view more"
}
.grad-btn:hover {
  /*background: #fff;*/
  color: #051C95;
}
.grad-btn .fa {
  margin-right: .5em;
  position: relative;
  top: 2px;
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 80px;
}
.grad-item p + p {
  margin-top: 1em;
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 40px; /*郢ｧ�ｰ郢晢ｽｩ郢晢ｿｽ�ｽ郢ｧ�ｷ郢晢ｽｧ郢晢ｽｳ邵ｺ�ｧ鬮ｫ�ｽ邵ｺ蜥擾ｽｯ�ｽ蟲�*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-trigger {
  display: none;
}
.grad-trigger:checked ~ .grad-btn {
  bottom: -2em;
}
.grad-trigger:checked ~ .grad-btn::after {
  content: "close"
}
.grad-trigger:checked ~ .grad-btn .fa {
  transform: rotate(180deg);
}
.grad-trigger:checked ~ .grad-item {
  height: auto;
}
.grad-trigger:checked ~ .grad-item::before {
  display: none;
}





















body, p {
  margin: 0;
  padding: 0;
}





/*====================================================================================================
kv　スライダー用
====================================================================================================*/
#swiper01.swiper-outer {
  width: 100%;
  max-width: 100%;
  margin: auto;
  background-size: cover;
}
#swiper01 .swiper-container {
	width: 100%;
	height: 100%;
	margin:auto;
}
#swiper01 .swiper-slide {
width: 40vw !important;
min-width: 900px;
}

#swiper01 .swiper-pagination {
  position: absolute;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  bottom: -30px !important;
  left: 50% !important;
  transform: translateX(-50%);
}
#swiper01 .swiper-pagination-bullet {
  width: 20px;
  height: 2px;
  margin: 0 3px;
  border-radius: 0px;
}
#swiper01 .swiper-button-prev,
#swiper01 .swiper-button-next {
  height: 5vw;
  width: 5vw;
  background-image: none;
  top: 45%;
}

#swiper01 .swiper-button-prev:after,
#swiper01 .swiper-button-next:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 5vw;
  width: 5vw;
  margin: auto;
}
#swiper01 .swiper-button-next {
  right: 18vw;
}
#swiper01 .swiper-button-next:after {
  background: url(../img/arrow-next.svg) no-repeat center / contain;
}
#swiper01 .swiper-button-prev {
  left: 18vw;
}
#swiper01 .swiper-button-prev:after {
  background: url(../img/arrow-prev.svg) no-repeat center / contain;
}
#swiper01 .swiper-slide img {
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* 前後のスライドを暗くする */
#swiper01 .swiper-slide {
  filter: brightness(0.6); /* デフォルトで暗くする */
  transition: filter 0.3s ease; /* スムーズな切り替え */
}

/* 現在のスライドは明るくする */
#swiper01 .swiper-slide.swiper-slide-active {
  filter: brightness(1); /* 明るさ100% */
}


@media screen and (max-width: 1000px) {
#swiper01.swiper-outer {
	margin-top: -10px;
}
#swiper01 .swiper-container {
width: 100%;
height: auto;
}
#swiper01 .swiper-slide {
width: 100% !important;
min-width: 100%;
}
#swiper01 .swiper-button-next, #swiper01 .swiper-button-prev {
width: 50px;
height: 50px;
position: absolute;
}
#swiper01 .swiper-button-next {
right: 10px;
}
#swiper01 .swiper-button-next:after {
width: 50px;
height: 50px;
}
#swiper01 .swiper-button-prev {
left: 10px;
}
#swiper01 .swiper-button-prev:after {
width: 50px;
height: 50px;
}
/* 前後のスライドを暗くするのをSPでは無効 */
#swiper01 .swiper-slide {
  filter: inherit; /* デフォルトで暗くする */
  transition: inherit; /* スムーズな切り替え */
}

/* 現在のスライドは明るくする */
#swiper01 .swiper-slide.swiper-slide-active {
  filter: inherit; /* 明るさ100% */
}
}












/*====================================================================================================
sec02
====================================================================================================*/
.sec02_wrap {
	background-image:url("../img/sec02_bg.jpg?ver2");
	background-size: cover;
  background-repeat: no-repeat;
  background-position:  center top;
  background-color: #F4EDD6;
  -webkit-background-size: cover;
  -webkit-text-size-adjust: 100%;
  transform: translateZ(0);
	padding: 90px 0;
}
.sec02Merit_wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 50px;
	max-width: 1060px;
	margin: 0 auto 120px;
}
.sec02Merit_block {
	position: relative;
}
.sec02Merit_block:before {
	position: absolute;
	content:"";
	height: 1px;
	width: 80px;
	background: #B6A16B;
	top: 0;
	left: 0;
}
.sec02Merit_block:after {
	position: absolute;
	content:"";
	width: 1px;
	height: 80px;
	background: #B6A16B;
	top: 0;
	left: 0;
}
.sec02Merit_block .num {
	font-size: 100px;
	font-weight: 300;
	font-style: italic;
	color: #D8CAB3;
	position: absolute;
	top: -60px;
	right: 30px;
	line-height: 100%;
}
.sec02Merit_block_inside .img {
	width: 260px;
	margin: -80px auto 0;
}
.sec02Merit_block_inside .detail {
	background: #fff;
	padding:40px  20px 110px;
	color: #fff;
}
.sec02Merit_block_inside .detail .ttl {
	font-size: 24px;
	margin-bottom: 6px;
	text-align: center;
	color: #1B1A33;
	font-weight: 400;
}
.sec02Merit_block_inside .detail .ttl span {
	font-weight: 500;
	background: linear-gradient(transparent 70%, #ECE7DF 70%);
}
.sec02Topic {
	padding: 30px 0 100px 0;
	width: 100%;
	max-width:960px;
	margin: 0 auto 100px;
	position: relative;
	box-sizing: content-box;
	z-index: 2;
	padding-right: 100px;
}
.sec02Topic:before {
	position: absolute;
	background: #423F6E url("../img/topic_bg.jpg") no-repeat center top / cover;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	background-size: cover;
	margin-left: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	background-position-y: center;
	z-index: -1;
	box-sizing: inherit;
}
.sec02Topic_ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}
.sec02Topic_ttl_en {
	font-size: 150px;
	color: #F2EBDE;
	opacity: 0.2;
	line-height: 1;
}
.sec02Topic_ttl_jp {
	font-size: 26px;
	color: #F7F5F1;
	position: relative;
}
.sec02Topic_ttl_jp:before {
	position: absolute;
	background:#F7F5F1;
	top: 50%;
	left: -140px;
	transform: translateY(-50%);
	content: "";
	width: 120px;
	height: 1px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
}
.sec02Topic_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.sec02Topic_list_item {
	color: #F7F5F1;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
}
.sec02Topic_list_item span {
	position: relative;
	padding-left: 30px;
	display: inline-block;
}
.sec02Topic_list_item span:before {
	position: absolute;
	background: url(../img/icon_check.png) no-repeat;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: "";
	width: 17px;
	height: 13px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
}
.sec02Topic_list_item:not(:last-child) {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom:1px solid #F7F5F1;
}
.sec02Topic_img {
	max-width: 308px;
}
.sec02Topic_note {
	display: block;
	text-align: right;
	color: #fff;
	font-size: 12px;
	margin-top: 5px;
}
#swiper02 .swiper-wrapper {
  transition-timing-function: linear;
}
#swiper02.swiper-outer {
  position: relative;
  width: 100%;
  margin: auto;
}
#swiper02 .swiper-container {
  margin-top: 80px;
  height: auto;
  width: 100%;
  overflow: hidden;
}
#swiper02 .swiper-slide {
  width: 300px;
  margin: 0 10px;
}
#swiper02 .swiper-slide img{
  width: 100%;
  max-width: 300px;
}
#swiper02 .swiper-button-prev,
#swiper02 .swiper-button-next {
 display: none;
}
#swiper02 .swiper-pagination {
	position: relative; /* 絶対配置を解除して親要素に対して相対的に配置 */
  margin-top: 20px;
}
#swiper02 .swiper-pagination-bullet-active {
	background: #1B1A33;
}
@media screen and (max-width: 1000px) {
.sec02_wrap {
	background-image:url("../img/sec02_bg.jpg?ver2");
	background-size: cover;
  background-repeat: no-repeat;
  background-position:  center top;
  background-color: #F4EDD6;
  -webkit-background-size: cover;
  -webkit-text-size-adjust: 100%;
  transform: translateZ(0);
	padding: 50px 0;
}
.sec02_wrap .h2_ttl_wrap {
	padding: 0 15px;
}
.sec02_wrap .h2_ttl_wrap .ttl_jp {
	font-size: 28px;
}
.sec02Merit_wrap {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 30px;
	max-width: 100%;
	margin: 0 auto 60px;
	padding: 0 15px;
}
.sec02Merit_block {
	position: relative;
}
.sec02Merit_block:before {
	width: 60px;
}
.sec02Merit_block:after {
	height: 60px;
}
.sec02Merit_block .num {
	font-size: 80px;
	font-weight: 300;
	font-style: italic;
	color: #D8CAB3;
	position: absolute;
	top: -50px;
	right: 30px;
	line-height: 100%;
}
.sec02Merit_block_inside .img {
	width: 80%;
	margin: -80px auto 0;
}
.sec02Merit_block_inside .detail {
	background: #fff;
	padding:40px  20px 110px;
	color: #fff;
}
.sec02Merit_block_inside .detail .ttl {
	font-size: 22px;
	margin-bottom: 6px;
	text-align: center;
	color: #1B1A33;
	font-weight: 400;
}
.sec02Merit_block_inside .detail .ttl span {
	font-weight: 500;
	background: linear-gradient(transparent 70%, #ECE7DF 70%);
}
.sec02Topic {
	padding: 30px 30px 40px;
	width: calc(100% - 30px);
	max-width:100%;
	margin: 0 15px 60px;
	position: relative;
	box-sizing: border-box;
	z-index: 2;
	background: #423F6E url("../img/topic_bg.jpg") no-repeat center top / cover;
}
.sec02Topic:before {
	display: none;
}
.sec02Topic_ttl {
	display: block;
	margin-bottom: 30px;
}
.sec02Topic_ttl_en {
	font-size: 70px;
	color: #F2EBDE;
	opacity: 0.2;
	line-height: 1;
	margin-bottom: 60px;
}
.sec02Topic_ttl_jp {
	font-size: 22px;
	color: #F7F5F1;
	position: relative;
}
.sec02Topic_ttl_jp:before {
	position: absolute;
	background:#F7F5F1;
	top: -20px;
	left: 0;
	content: "";
	width: 100px;
	height: 1px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
}
.sec02Topic_wrap {
	display: block;
}
.sec02Topic_list_item {
	color: #F7F5F1;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}
.sec02Topic_list_item span {
	position: relative;
	padding-left: 30px;
	display: inline-block;
}
.sec02Topic_list_item span:before {
	position: absolute;
	background: url(../img/icon_check.png) no-repeat;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: "";
	width: 17px;
	height: 13px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
}
.sec02Topic_list_item:not(:last-child) {
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom:1px solid #F7F5F1;
}
.sec02Topic_img {
	max-width: 60%;
	margin:40px auto 0;
}
.sec02Topic_note {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 11px;
	margin-top: 10px;
}
#swiper02.swiper-outer {
	margin-top: -10px;
}
#swiper02 .swiper-container {
width: 100%;
height: auto;
}
#swiper02 .swiper-button-next, #swiper02 .swiper-button-prev {
width: 50px;
height: 50px;
position: absolute;
}
#swiper02 .swiper-pagination {
	position: relative; /* 絶対配置を解除して親要素に対して相対的に配置 */
  margin-top: 10px;
}
}







/*====================================================================================================
concept
====================================================================================================*/
.concept {
	padding: 100px 20px;
	background:#B6A16B url("../img/concept_bg.jpg") no-repeat center top / cover;
}
.concept .ttl_en,
.concept .ttl_jp {
	color: #fff;
}
.concept_txt {
	font-size: 24px;
	text-align: center;
	line-height: 1.6;
	color: #fff;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.concept {
	padding: 60px 20px;
	background:#B6A16B url("../img/concept_bg.jpg") no-repeat center top / cover;
}
.concept .ttl_en,
.concept .ttl_jp {
	color: #fff;
}
.concept_txt {
	font-size:18px;
	text-align: left;
	line-height: 1.6;
	color: #fff;
}
}







/*====================================================================================================
Archive&Photos
====================================================================================================*/
.archive {
	padding: 100px 20px;
	background:#F7F5F1 ;
}
.archiveMovie {
	position: relative;
	max-width: 1060px;
	margin: 0 auto;
}
.archiveMovie:before {
	position: absolute;
	content:"";
	height: 1px;
	width: 80px;
	background: #B6A16B;
	bottom: 0;
	right: 0;
	z-index: 1;
}
.archiveMovie:after {
	position: absolute;
	content:"";
	width: 1px;
	height: 80px;
	background: #B6A16B;
	bottom: 0;
	right: 0;
}
.archiveMovie_inner {
	max-width: 1060px;
	margin: 0 auto;
	padding: 80px 70px;
	background: #fff;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;
	position: relative;
}
.archiveMovie_inner:before {
	position: absolute;
	content:"";
	height: 1px;
	width: 80px;
	background: #B6A16B;
	top: 0;
	left: 0;
}
.archiveMovie_inner:after {
	position: absolute;
	content:"";
	width: 1px;
	height: 80px;
	background: #B6A16B;
	top: 0;
	left: 0;
}
.archiveMovie_item_video {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 20px;
}
.archiveMovie_item_video iframe {
  width: 100%;
  height: 100%;
}
.archiveMovie_item_ttl {
	color: #22234B;
	line-height: 1.4;
	text-align: center;
}
.archiveMovie_item_ttl span {
	font-size: 20px;
}

.archiveSlide_ttl1 {
	max-width: 1060px;
	margin: 0 auto -30px;
	position: relative;
	z-index: 100;
}
.archiveSlide_ttl1 span{
	background: #F7F5F1;
	color: #B6A16B;
	font-weight: 300;
	font-size: 60px;
	font-style: italic;
	line-height: 1;
	padding: 10px 20px;
	display: inline-block;
}
/*=================
上段 右へスライド　PC
=================*/
#swiper03 .swiper-wrapper {
  transition-timing-function: linear;
}
#swiper03.swiper-outer {
  position: relative;
  width: 100%;
  margin: auto;
}
#swiper03 .swiper-container {
  margin-top: 40px;
  height: auto;
  width: 100%;
  overflow: hidden;
}
#swiper03 .swiper-slide {
  width: 300px;
  margin: 0 10px;
}
#swiper03 .swiper-slide img{
  width: 100%;
  max-width: 300px;
}
#swiper03 .swiper-button-prev,
#swiper03 .swiper-button-next {
 display: none;
}

.archiveSlide_ttl2 {
	max-width: 1060px;
	margin: -30px auto 0;
	position: relative;
	z-index: 100;
	text-align: right;
}
.archiveSlide_ttl2 span{
	background: #F7F5F1;
	color: #B6A16B;
	font-weight: 300;
	font-size: 60px;
	font-style: italic;
	line-height: 1;
	padding: 10px 20px;
	display: inline-block;
}
/*=================
下段 左へスライド　PC
=================*/
#swiper04 .swiper-wrapper {
  transition-timing-function: linear;
}
#swiper04.swiper-outer {
  position: relative;
  width: 100%;
  margin: auto;
}
#swiper04 .swiper-container {
  margin-top: 20px;
  height: auto;
  width: 100%;
  overflow: hidden;
}
#swiper04 .swiper-slide {
  width: 300px;
  margin: 0 10px;
}
#swiper04 .swiper-slide img{
  width: 100%;
  max-width: 300px;
}
#swiper04 .swiper-button-prev,
#swiper04 .swiper-button-next {
 display: none;
}

.archivePhotoreport {
	max-width: 1060px;
	margin:70px auto 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 20px;
}
.archivePhotoreport_item_ttl {
	text-align: center;
	margin-top: 20px;
}
.archivePhotoreport_item_ttl a {
		font-size: 18px;
	color: #423F6E;
	text-decoration: underline;
	display: inline-block;
	line-height: 1.6;
}
.archivePhotoreport_item_ttl a:hover {
	text-decoration: none;
}

/* =====SP===== */
@media screen and (max-width: 767px) {
.archive {
	padding: 60px 20px;
}
.archiveMovie {
	position: relative;
	max-width: 100%;
	margin: 0 auto;
}
.archiveMovie:before {
	width: 60px;
}
.archiveMovie:after {
	height: 60px;
}
.archiveMovie_inner {
	max-width: 100%;
	margin: 0 auto;
	padding: 30px 15px;
	background: #fff;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 30px;
	position: relative;
}
.archiveMovie_inner:before {
	width: 60px;
}
.archiveMovie_inner:after {
	height: 60px;
}
.archiveMovie_item_video {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 15px;
}
.archiveMovie_item_video iframe {
  width: 100%;
  height: 100%;
}
.archiveMovie_item_ttl {
	color: #22234B;
	line-height: 1.4;
	text-align: center;
	font-size: 15px;
}
.archiveMovie_item_ttl span {
	font-size: 18px;
}

.archiveSlide_ttl1 {
	max-width: 100%;
	margin: 0 auto -20px;
	position: relative;
	z-index: 100;
}
.archiveSlide_ttl1 span{
	background: #F7F5F1;
	color: #B6A16B;
	font-weight: 300;
	font-size: 30px;
	font-style: italic;
	line-height: 1;
	padding: 7px 15px;
	display: inline-block;
}
/*=================
上段 右へスライド　SP
=================*/
#swiper03 .swiper-container {
  width: 100%;
  height: auto;
  margin-top: 30px;
}
#swiper03 .swiper-slide {
  width: 250px;
}
#swiper03 .swiper-slide img{
  width: 250px;
}

.archiveSlide_ttl2 {
	max-width: 100%;
	margin: -20px auto 0;
	position: relative;
	z-index: 100;
	text-align: right;
}
.archiveSlide_ttl2 span{
	background: #F7F5F1;
	color: #B6A16B;
	font-weight: 300;
	font-size: 30px;
	font-style: italic;
	line-height: 1;
	padding: 7px 15px;
	display: inline-block;
}
/*=================
下段 左へスライド　
=================*/
#swiper04 .swiper-container {
  width: 100%;
  height: auto;
  margin-top: 30px;
}
#swiper04 .swiper-slide {
  width: 250px;
}
#swiper04 .swiper-slide img{
  width: 250px;
}
}









/* outline
----------------------------------------------- */
.outline {
	padding: 100px 20px;
	background: linear-gradient(0deg, #F2EADB 0%, #F7F5F1 100%);
}
.outline_inner {
	max-width: 900px;
	margin: 0 auto;
}
.outline-table {
	margin-bottom: 60px;
}
.outline-table li:not(:last-child) {
  border-bottom: 1px solid #222;
}
.outline-table li {
  padding: 30px 20px;
}
.outline-table dl {
  display: flex;
  font-size: 2rem;
  color: #222;
}
.outline-table dt {
  font-weight: 700;
  width: 20%;
}
.outline-table dd {
  flex: 1;
}
.outline-table dd p span {
	font-size: 1.6rem;
}

.outline-table .link {
	text-decoration: underline;
	font-size: 15px;
}
.outline-table .link:hover {
	text-decoration: none;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.outline {
  padding: 60px 20px;
}
.outline_inner {
	max-width: 100%;
	margin: 0 auto;
}
.outline-table {
	margin-bottom: 40px;
}
.outline-table li {
  padding: 10px;
}
.outline-table dl {
  display: flex;
  font-size: 1.5rem;
}
.outline-table dt {
  width: 28%;
}
.outline-table dd {
  flex: 1;
}
.outline-table dd p span {
	font-size: 1.2rem;
}
.outline-table .link {
	font-size: 12px;
}
}





















/* howtoapply
----------------------------------------------- */
.howtoapply {
	padding: 100px 20px;
	background: url("../img/howtoapply_bg.jpg") no-repeat center top / cover;
}
.howtoapply_inner {
	max-width: 900px;
	margin: 0 auto;
}
.howtoapply_wrap {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap: 30px;
}
.howtoapply_block {
	max-width: 450px;
	position: relative;
	box-sizing: border-box;
	background: linear-gradient(0deg, #F7F5F1 0%, #F2EADB 100%);
	padding: 40px;
}
.howtoapply_block .head1 {
	font-size: 20px;
	text-align: center;
	color: #22234B;
}
.howtoapply_block .head2 {
	font-size: 30px;
	text-align: center;
	color: #22234B;
}
.howtoapply_block .price {
	font-size: 24px;
	text-align: center;
	color: #22234B;
	padding: 6px;
	border:1px solid #22234B;
	margin: 25px 0 20px;
}
.howtoapply_list {
	padding-bottom: 100px;
}
.howtoapply_list li {
	text-indent: -1em;
  padding-left: 1em;
}
.howtoapply_list li:not(:last-child) {
	margin-bottom: 18px;
}
.howtoapply_block .btn__cta {
	position: absolute;
	bottom: 40px;
 left:50%;
	transform: translateX(-50%);
	background: linear-gradient(90deg, #A6251F 0%, #D2403A 100%);
	color: #fff;
	font-size: 20px;
	width: calc(100% - 80px);
}
.howtoapply_block .btn__cta1::after {
	background: url("../img/icon_05_2.png") no-repeat center top/contain;
	width: 20px;
	bottom: 0;
}
.howtoapply_block .btn__cta2::after {
	background: url("../img/icon_05_1.png") no-repeat center top/contain;
	width: 25px;
	bottom: 2px;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.howtoapply {
	padding: 60px 20px;
}
.howtoapply_inner {
	max-width: 100%;
	margin: 0 auto;
}
.howtoapply_wrap {
	display: block;
}
.howtoapply_block {
	max-width: 100%;
	position: relative;
	padding: 30px 20px;
}
.howtoapply_block:not(:last-child) {
	margin-bottom: 40px;
}
.howtoapply_block .head1 {
	font-size: 16px;
	text-align: center;
	color: #22234B;
}
.howtoapply_block .head2 {
	font-size: 22px;
	text-align: center;
	color: #22234B;
}
.howtoapply_block .price {
	font-size: 18px;
	text-align: center;
	color: #22234B;
	padding: 5px 15px;
	border:1px solid #22234B;
	margin: 20px 0 18px;
}
.howtoapply_list {
	padding-bottom:20px;
}
.howtoapply_list li {
	text-indent: -1em;
  padding-left: 1em;
}
.howtoapply_list li:not(:last-child) {
	margin-bottom: 18px;
}
.howtoapply_block .btn__cta {
	position: inherit;
	bottom: inherit;
 left:inherit;
	transform: inherit;
	color: #fff;
	font-size: 16px;
	width: 100%;
}
.howtoapply_block .btn__cta1::after {
	background: url("../img/icon_05_2.png") no-repeat center top/contain;
	width: 20px;
	bottom: 0;
}
.howtoapply_block .btn__cta2::after {
	background: url("../img/icon_05_1.png") no-repeat center top/contain;
	width: 25px;
	bottom: 2px;
}
}




/* sponsor
----------------------------------------------- */
.sponsor {
	padding: 100px 20px;
	background: url("../img/sponsor_bg.jpg") no-repeat center top / cover;
}
.sponsorList li:not(:last-child) {
	margin-bottom: 50px;
}
.sponsorList li .lank {
	text-align: center;
	width: 100%;
	font-size: 30px;
}
.sponsorList li .lank span{
	position: relative;
}
.sponsorList li .lank span:before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 1px;
	left: -60px;
}
.sponsorList li .lank span:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 1px;
	right: -60px;
}
.sponsorList li .lank_platinam span {
	background: linear-gradient(0deg, #515B72 0%, #778CBE 50%);
  background: -webkit-linear-gradient(0deg, #515B72 0%, #778CBE 50%);
  -webkit-background-clip: text;
  display: inline-block;
  -webkit-text-fill-color: transparent;
}
.sponsorList li .lank_platinam span:before {
	background: #515B72;
}
.sponsorList li .lank_platinam span:after {
	background: #778CBE;
}
.sponsorList li .lank_gold span {
	background: linear-gradient(0deg, #C6910E 0%, #D1B87B 50%);
  background: -webkit-linear-gradient(0deg, #C6910E 0%, #D1B87B 50%);
  -webkit-background-clip: text;
  display: inline-block;
  -webkit-text-fill-color: transparent;
}
.sponsorList li .lank_gold span:before {
	background: #C6910E;
}
.sponsorList li .lank_gold span:after {
	background: #D1B87B;
}

.sponsorList li .lank_silver span {
	background: linear-gradient(0deg, #A9A9A9 0%, #C6C6C6 50%);
  background: -webkit-linear-gradient(0deg, #A9A9A9 0%, #C6C6C6 50%);
  -webkit-background-clip: text;
  display: inline-block;
  -webkit-text-fill-color: transparent;
}
.sponsorList li .lank_silver span:before {
	background: #A9A9A9;
}
.sponsorList li .lank_silver span:after {
	background: #C6C6C6;
}

.sponsorList li .lank img{
	width: 14.5%;
}
.sponsorList li .comingsoon {
	color: #c4c4c4;
	font-size:clamp(2rem, 32 / 1920 * 100vw, 3.2rem); ;
	text-align: center;
}
.sponsorList li h2 {
	text-align: center;
	font-weight: 400;
}
.sponsorList li h2 span {
	background: inherit;
	-webkit-text-fill-color:inherit;
	color: #C4C4C4;
	font-weight: 400;
}
.sponsorList_logo_plutinum {
	margin-top: 25px;
	display: flex;
	justify-content: center;
}
.sponsorList_logo_plutinum .img{ 
	width: 55%;
}
.sponsorList_logo_gold {
	margin-top: 25px;
	display: flex;
	justify-content: center;
}
.sponsorList_logo_gold .img{ 
	width: 33%;
}
.sponsorList_logo_silver {
	margin-top: 25px;
	display: flex;
	justify-content: center;
}
.sponsorList_logo_silver .img{ 
	width: 25%;
}
/*
.sponsorList_logo_plutinum {
	margin-top: 25px;
	display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.sponsorList_logo_plutinum .img{
	border: 1px solid #e5e5e5;
}
.sponsorList_logo_gold {
	margin-top: 15px;
	display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.sponsorList_logo_gold .img{
	border: 1px solid #e5e5e5;
}
.sponsorList_logo_silver {
	margin-top: 15px;
	display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.sponsorList_logo_silver .img{
	border: 1px solid #e5e5e5;
}
*/

/* =====SP===== */
@media screen and (max-width: 767px) {
.sponsor{
	padding: 60px 20px;
}
.sponsorList li:not(:last-child) {
	margin-bottom: 40px;
}
.sponsorList li .lank img{
	width: 33%;
}
.sponsorList li .lank span:before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 1px;
	left: -40px;
}
.sponsorList li .lank span:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 1px;
	right: -40px;
}
.sponsorList li h2 {
	text-align: center;
	font-weight: 400;
}
.sponsorList li h2 span {
	background: inherit;
	-webkit-text-fill-color:inherit;
	color: #C4C4C4;
}
.sponsorList_logo_plutinum {
	margin-top: 25px;
	display: block;
	justify-content: center;
}
.sponsorList_logo_plutinum .img{
	width: 100%;
}
.sponsorList_logo_gold {
	margin-top: 25px;
	display: flex;
	justify-content: center;
}
.sponsorList_logo_gold .img{ 
	width: 50%;
}
.sponsorList_logo_silver {
	margin-top: 25px;
	display: flex;
	justify-content: center;
}
.sponsorList_logo_silver .img{ 
	width: 40%;
}

.location .name {
	font-size: 20px;
	margin-top: 20px;
}

/*
.sponsorList_logo_plutinum {
	margin-top: 25px;
	display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
}
.sponsorList_logo_gold {
	margin-top: 15px;
	display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.sponsorList_logo_silver {
	margin-top: 15px;
	display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
*/

}




/* application
----------------------------------------------- */
.application {
	padding: 100px 20px;
	background:#1B1A33;
}
.application_inner {
	max-width: 900px;
	margin: 0 auto;
	background: #fff;
	padding: 40px;
}
.application .h2_ttl_wrap .ttl_en {
	color: #fff;
}
.application .h2_ttl_wrap .ttl_jp {
	color: #fff;
}
.applicationAttention_list {
	max-width: 900px;
	margin: 0 auto 30px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 45px;
}
.applicationAttention_list_item {
	color: #1B1A33;
	background: #D2C5B0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	position: relative;
	font-size: 24px;
	line-height: 1.5;
}
.applicationAttention_list_item:before {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	border-top: 20px solid #1B1A33;
	border-left: 20px solid transparent;
}
.applicationAttention_list_item:after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	border-bottom: 20px solid #1B1A33;
	border-right: 20px solid transparent;
}
.applicationAttention_wrap {
	max-width: 900px;
	margin: 0 auto 30px;
	padding: 30px 0;
	border-top: 1px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	color: #fff;
}
.applicationAttention_ttl {
	font-size: 20px;
	margin-bottom: 20px;
}
.applicationAttention_txt {
	font-size: 16px;
	font-weight: 400;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.application{
	padding: 60px 20px;
}
.application_inner {
	max-width: 100%;
	margin: 0 auto;
	padding: 30px 15px;
}
.applicationAttention_list {
	max-width: 900px;
	margin: 0 auto 30px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 20px;
}
.applicationAttention_list_item {
	color: #1B1A33;
	background: #D2C5B0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 15px;
	position: relative;
	font-size: 18px;
	line-height: 1.5;
	min-height: 90px;
}
.applicationAttention_ttl {
	font-size: 17px;
	margin-bottom: 20px;
}
.applicationAttention_txt {
	font-size: 15px;
	font-weight: 400;
}
}




/* privacy
----------------------------------------------- */
.privacy {
	padding: 100px 20px;
}
.privacy_inner {
	max-width: 900px;
	margin: 0 auto;
	background: #fff;
}
.privacy_wrap {
	margin-top: 30px;
}
.privacy_wrap p {
	margin-bottom: 20px;
	font-size: 14px;
}
.privacy_wrap p a{
	color: #22234B;
	text-decoration: underline;
}
.privacy_wrap p a:hover {
	text-decoration: none;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.privacy{
	padding: 60px 20px;
}
.privacy_inner {
	max-width: 100%;
	margin: 0 auto;
}
}









/*====================================================================================================
MV
====================================================================================================*/
.mv {
	background: url("../img/bg_img_01.jpg") no-repeat center top/cover;
}
.mv__inner {
	padding: 120px 30px 50px;
	text-align: center;
	overflow: hidden;
	position: relative;
}
.mv__inner h1 {
	position: relative;
	z-index: 10;
	margin: 0 0 30px;
}
.mv__ttl img{
	width: 88%;
	max-width: 930px;
}
.mv_copy {
	max-width: 950px;
}
.mvSlide .swiper-wrapper {
  transition-timing-function: linear;
  position: relative;
}
.mvSlide.swiper-outer {
  position: relative;
  width: 100%;
  margin: auto;
}
.mvSlide .swiper-container {
  margin-top: 80px;
  height: auto;
  width: 100%;
  overflow: visible;
}


.mvSlide_item_wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.mvSlide_item_wrap img {
	object-fit:contain;
}

/* KVスライダー個別設定　PC */
.mvSlide .swiper-slide1 {
  width: 100%;
  max-width: 900px;
  margin: 0 100px;
  box-sizing: border-box;
}

.mvSlide .swiper-slide2 {
  width: 100%;
  max-width: 1100px;
  margin: 0 60px;
  box-sizing: border-box;
}
.mvSlide_item_wrap .mvSlide_item_img2_1 {
	width: 48%;
	margin:40px 2% 0 0 ;
}
.mvSlide_item_wrap .mvSlide_item_img2_2 {
	width: 43%;
}


.mvSlide .swiper-slide3 {
  width: 100%;
  max-width: 1100px;
  margin: 0 60px;
  box-sizing: border-box;
}
.mvSlide_item_wrap .mvSlide_item_img3_1 {
	width: 40%;
	margin: 40px 2% 0 0;
}
.mvSlide_item_wrap .mvSlide_item_img3_2 {
	width: 58%;
}

.mvSlide .swiper-slide4 {
  width: 100%;
  max-width: 1100px;
  margin: 0 60px;
  box-sizing: border-box;
}
.mvSlide_item_wrap .mvSlide_item_img4_1 {
	width: 49%;
	margin: 40px 2% 0 0;
}
.mvSlide_item_wrap .mvSlide_item_img4_2 {
	width: 56%;
}
/* /ここまでKVスライダー個別設定　PC */

.mvSlide .swiper-pagination {
  position: relative; /* 絶対配置を解除して親要素に対して相対的に配置 */
  margin-top: 20px;
}
.mvSlide .swiper-pagination-bullet-active {
  background: #25498d;
}


.mvSlide  .swiper-button-prev,
.mvSlide  .swiper-button-next {
  height: 60px;
  width: 60px;
  background-image: none;
  top: 40%;
}
.mvSlide .swiper-button-prev:after,
.mvSlide .swiper-button-next:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 60px;
  width: 60px;
  margin: auto;
}
.mvSlide .swiper-button-next {
  right: -15px;
}
.mvSlide .swiper-button-next:after {
  background: url(../img/arrow-next.svg) no-repeat center / contain;
}
.mvSlide .swiper-button-prev {
  left: -15px;
}
.mvSlide .swiper-button-prev:after {
  background: url(../img/arrow-prev.svg) no-repeat center / contain;
}




@media screen and (max-width: 767px) {
.mv {
	background-position-x:-35vw;
}
.mv__inner {
	padding: 40px 15px 20px;
}
.mv__ttl {
	line-height: 1.5;
	font-size: clamp(5rem, 85 / 1920 * 100vw, 8.5rem);
}
.mv__ttl img{
	width: 100%;
	max-width: 100;
}
.mv_copy {
	max-width: 100%;
}
.mvSlide .swiper-container {
  width: 100%;
  height: auto;
  margin: 0 0;
  box-sizing: border-box;
}
.mvSlide .swiper-button-next, .mvSlide .swiper-button-prev {
  width: 50px;
  height: 50px;
  position: absolute;
}


.mvSlide_item_wrap {
	display: block;
}
.mvSlide_item_wrap img {
	width: 100%;
	object-fit:contain;
}


/* KVスライダー個別設定　SP */
.mvSlide .swiper-slide1 {
  width: 100%;
  margin: 100px 10px 0;
}
.mvSlide .mv_title_main_sp2 {
	margin-top: 30px;
}


.mvSlide .swiper-slide2 {
  width: 100%;
  margin: 0 10px;
}
.mvSlide_item_wrap .mvSlide_item_img2_1 {
	width: 90%;
	margin-right: 0;
	margin-bottom: 20px;
}
.mvSlide_item_wrap .mvSlide_item_img2_2 {
	width: 90%;
}

.mvSlide .swiper-slide3 {
  width: 100%;
  margin: 0 10px;
}
.mvSlide_item_wrap .mvSlide_item_img3_1 {
	width: 90%;
	margin-right: 0;
	margin-bottom: 30px;
}
.mvSlide_item_wrap .mvSlide_item_img3_2 {
	width: 100%;
}

.mvSlide .swiper-slide4 {
  width: 100%;
  margin: 0 10px;
}
.mvSlide_item_wrap .mvSlide_item_img4_1 {
	width: 90%;
	margin-right: 0;
	margin-bottom: 30px;
}
.mvSlide_item_wrap .mvSlide_item_img4_2 {
	width: 100%;
}
/* /ここまでKVスライダー個別設定　SP */


.mvSlide .swiper-pagination {
  position: relative; /* 絶対配置を解除して親要素に対して相対的に配置 */
  margin-top: 10px;
}



.mvSlide  .swiper-button-prev,
.mvSlide  .swiper-button-next {
  height: 50px;
  width: 50px;
}
.mvSlide .swiper-button-prev:after,
.mvSlide .swiper-button-next:after {
  height: 50px;
  width: 50px;
}
.mvSlide .swiper-button-next {
  right: -10px;
}
.mvSlide .swiper-button-next:after {
  background: url(../img/arrow-next.svg) no-repeat center / contain;
}
.mvSlide .swiper-button-prev {
  left: -10px;
}
}








/*スピーカー詳細
----------------------------------------------- */
.programDetail {
	margin-top: 20px;
}
.programDetail_ttl {
	font-size: 32px;
	color: #1B1A33;
	font-weight: 600;
	line-height: 1.5;
}
.programDetail_ttlSub {
	font-size: 26px;
	font-weight: 600;
	position: relative;
	margin: 10px 0 30px;
	line-height: 1.5;
}
.programDetail_txt {
	margin-top: 30px;
}
.programSpeaker {
	background: #fff;
	padding: 40px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;
	margin: 30px 0 0 ;
	box-shadow: 0 0 20px rgba(92,63,0,.15)
}
.programSpeaker_Blo {
	display: flex;
}
.programSpeaker_Blo_img {
	width: 100%;
	max-width: 138px;
	margin-right: 20px;
}
.programSpeaker_Blo_stance {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 5px;
	color: #B6A16B;
}
.programSpeaker_Blo_name {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 5px;
	color: #333333;
}
.programSpeaker_Blo_position {
	font-size: 16px;
	font-weight: 700;
	color: #333333;
	margin-bottom: 15px;
}
.programSpeaker_Blo_btn span {
	position: relative;
	color: #B6A16B;
	font-size: 20px;
	border-bottom: 1px solid #B6A16B;
	padding-right: 20px;
}
.programSpeaker_Blo_btn span:after {
	position: absolute;
	background: url(../img/icon_arrow_r_gold.svg) no-repeat;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	width: 10px;
	height: 17px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
	right: 0;
	transition: .3s;
}
.programSpeaker_Blo_btn span:hover:after {
	right: -10px;
}
/* =====SP===== */
@media screen and (max-width: 767px) {
.programDetail {
	margin-top: 18px;
}
.programDetail_ttl {
	font-size: 24px;
}
.programDetail_ttlSub {
	font-size: 20px;
	padding-left: 0;
	margin: 12px 0 25px;
}
.programDetail_txt {
	margin-top: 25px;
}
.programSpeaker {
	background: #fff;
	padding: 20px 18px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 30px;
	margin: 25px 0 0 ;
}
.programSpeaker_Blo {
	display: flex;
}
.programSpeaker_Blo_img {
	width: 100%;
	max-width: 110px;
	margin-right: 18px;
}
.programSpeaker_Blo_stance {
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 5px;
	color: #B6A16B;
}
.programSpeaker_Blo_name {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 5px;
	color: #333333;
}
.programSpeaker_Blo_position {
	font-size: 15px;
	font-weight: 700;
	color: #333333;
	margin-bottom: 15px;
}
.programSpeaker_Blo_btn span {
	position: relative;
	color: #B6A16B;
	font-size: 18px;
	border-bottom: 1px solid #B6A16B;
	padding-right: 20px;
}
.programSpeaker_Blo_btn span:after {
	position: absolute;
	background: url(../img/icon_arrow_r_gold.svg) no-repeat;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	width: 10px;
	height: 17px;
	display: inline-block;
	background-size: contain;
	z-index: 100;
	right: 0;
	transition: .3s;
}
.programSpeaker_Blo_btn span:hover:after {
	right: -10px;
}
}








/*スピーカーのポップアップ
----------------------------------------------- */
/* ポップアップのコンテナ */
.popup {
  display: none; /* 初期状態は非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(182, 161, 107, 0.9);
  z-index: 100000;
  justify-content: center;
  align-items: center;
}
/* ポップアップ内のコンテンツ */
.popup-content {
  position: relative;
  width: 100%;
  max-width: 900px;
  max-height: 90%;
  background: #fff;
  padding: 40px;
}
/* スクロール可能な内部コンテナ */
.popup-content-inner {
  max-height: calc(90vh - 80px); /* Adjust for padding and close button */
  overflow-y: auto; /* Enable vertical scrolling */
}
/* 閉じるボタンのスタイル */
.close-btn {
  position: absolute;
  top: -60px;
  right: 0;
  background-color: rgba(255, 255, 255, 0.5);
  color: #B6A16B;
  font-size: 24px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 1; /* Ensure it stays above scrolling content */
}
.close-btn2 {
  color: #B6A16B;
  font-size: 20px;
  cursor: pointer;
  text-align: center;
  display: block;
  margin-top: 15px;
}
.close-btn2 span {
  position: relative;
  padding-left: 35px;
  border-bottom: 1px solid #B6A16B;
}
.close-btn2 span:before {
  position: absolute;
  background: url(../img/icon_cross.svg) no-repeat;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 17px;
  height: 17px;
  display: inline-block;
  background-size: contain;
  z-index: 100;
  left: 0;
}

/* =====SP===== */
@media screen and (max-width: 767px) {
/* ポップアップ内のコンテンツ */
.popup-content {
  position: relative;
  width: 95%;
  max-width: 900px;
  max-height: 80%;
  background: #fff;
  padding: 20px 18px;
}
.popup-content .programSpeaker_Blo_img {
  width: 100%;
  max-width: 90px;
  margin-right: 18px;
  flex-shrink: 0;
}
.popup-content-inner {
  max-height: calc(80vh - 76px); /* Adjust for smaller padding on mobile */
  overflow-y: auto; /* Enable vertical scrolling */
}
.close-btn {
  top: -60px;
}
/* 閉じるボタンのスタイル */
.close-btn {
  top: -50px;
  font-size: 22px;
  width: 40px;
  height: 40px;
}
.popup-content .programSpeaker_Blo_txt {
	margin-top: 15px;
	font-size: 15px;
}
}



















/* xxxxxxxxxxxx
----------------------------------------------- */

/* =====SP===== */
@media screen and (max-width: 767px) {

}




