@charset "utf-8";
/*******************************************************
	Meysen Academy Copyright(c) All Rights Reserved.
*******************************************************/

/*****************************************************
TOP
******************************************************/

.bl-subPage-top {
	display: flex;
	align-items: flex-end;
	width: 100%;
	height:70vh;
	/* padding: min(80px, 10%) max(120px, (100% - 1250px) / 2); */
	padding: min(80px, 10%) max(120px, (100% - 1250px) / 2) min(160px, 15%) max(120px, (100% - 1250px) / 2);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 500px;
}

.el-subPage-title {
	display: flex;
	flex-direction: column;
	color: #fff;
}

.el-subPage-titleEl {
	font-family: var(--en-webfont-bold);
	font-size: clamp(30px, 3rem, 38px);
	/* font-size: 50px; */
	line-height: 1.3;
}

.el-subPage-titleJp {
	font-family: var(--regular-font);
	font-size: clamp(40px, 3rem, 42px);
	/* font-size: 35px; */
	font-weight: normal;
	line-height: 1.3em;
}

/*****************************************************
Body
******************************************************/

.ly-subPage-main {
	display: grid;
	grid-template-columns: calc(var(--window-width) / 4) calc(var(--window-width) * .75);
}

.bl-sideNav {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: calc(var(--window-width) / 4);
	padding: 4.5rem max(2rem, 5%);
	background: #EFEDEB;
}

.el-sideNav-opener {
	display: none;
}

.el-sideNav-ul {
	position: sticky;
	top: 10rem;
}

.el-sideNav-li {
	display: flex;
}

.el-sideNav-li.hp-last {
	margin-bottom: 2rem;
}

.el-sideNav-liAnchor {
	position: relative;
	padding: .5rem 0;
	font-size: .9375rem;;
}

.el-sideNav-liAnchor::after {
  position: absolute;
	top: 50%;
	left: calc(-100% - 1.5rem);
	width: 100%;
	height: 5px;
	content: '';
}

.el-sideNav-liAnchor:hover::after, .el-sideNav-liAnchor:active::after, .js-active .el-sideNav-liAnchor::after {
  position: absolute;
	top: 50%;
	left: calc(var(--window-width)  * -.25 / 2 - 1.5rem);
	width: calc(var(--window-width) * .25 / 2 );
	height: 2px;
	content: '';
	background: rgb(var(--season-main-color));
	transform: translateY(-50%);
}

.el-sideNav-liAnchor:hover, .el-sideNav-liAnchor:active, .js-active .el-sideNav-liAnchor {
  color: rgb(var(--season-main-color));
  font-weight: 600;
}

.el-sideNav-btn {
	width: 100%;
	margin: .25rem 0 .5rem;
	padding: .6rem 2rem;
	border-radius: 4rem;
	background: rgb(var(--season-sub-color));
	text-align: center;
	color: #fff;
	font-size: .9375rem;;
}

.el-sideNav-btn:hover, .el-sideNav-btn:active {
  background: rgb(var(--season-main-color));
}

.el-sideNav-li:last-of-type .el-sideNav-btn {
	margin-bottom: 0;
}

.ly-contentWide {
	width: 100%;
	padding: 6% 6.5% 5%;
}

.ly-contentWide:last-child {
	padding: 5% 6.5% 5rem;
}

.ly-contentWide-heightS {
	width: 100%;
	padding: 5% 6.5%;
}

.ly-contentWide-heightM {
	width: 100%;
	padding: 7.5% 6.5%;
}

.el-sectionTitle {
	font-size: 1.575rem;
	margin-bottom: 3rem;
}

.el-sectionSubTitle {
	font-size: 1.375rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.ly-sticky-wrapper {
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: max-content;
}

#at-df {
  flex-direction: row-reverse;
}

.el-sticky-img {
	position: sticky;
  	top: 0;
	width: 40%;
	height: 100%;
	object-fit: cover;
}

.bl-pageIntro-imgCutIn {
  	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 3.5rem 10% 10rem;
}

.bl-pageIntro-imgCutIn.hp-bg-main {
	color: #fff;
}

.bl-pageIntro-imgCutIn h3{
  	margin-bottom: 2rem;
	text-align: center;
}

.bl-pageIntro-imgCutIn p{
	line-height: 1.8rem;
	text-align: center;
}

.bl-pageIntro-imgCutIn-deep {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 3.5rem 10% 20%;
}

.bl-pageIntro-imgCutIn-deep + .el-pageIntro-imgCutIn {
	 margin-top: -20%;
}

.el-pageIntro-imgCutIn {
	display: flex;
	width: 80%;
	margin: -7rem auto 5rem;
}

.bl-fullWidth-flex {
	display: flex;
}

.bl-fullWidth-flexReverse {
	display: flex;
	flex-direction: row-reverse;
}

.bl-dualRow-img {
	width: 50%;
	object-fit: cover;
}
	.bl-dualRow-img_img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
.bl-dualRow-textBox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50%;
	padding: 2rem 2rem 2rem 5%;
}
.bl-dualRow-textBox-startTop {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 50%;
	padding: 0 2rem 2rem 0;
}

.el-dualRow-title span {
	font-family: var(--en-webfont-bold);
	font-size: 1.3rem;
	line-height: 1;
}

.el-dualRow-title {
	display: flex;
	flex-direction: column;
	margin-bottom: 2rem;
	font-family: "FOT-クレー Pro DB";
	font-size: 3rem;
}
.el-dualRow-text {
  	margin-bottom: 1rem;
	padding-left: 1.3rem;
	text-indent: -1.3rem;
	line-height: 1.5;
}

.el-dualRow-text:last-of-type {
	margin-bottom: 0;
}

.bl-gridItem-mono {
	grid-row: 3;
	grid-column: 1 / 4;
	display: flex;
	width: 100%;
}

.bl-gridItem-tri {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.el-program-descTest-wrap {
	flex-grow: 2;
	padding: 1.5rem 1.5rem 2.5rem;
	color: #fff;
}

.bl-gridItem-mono .el-program-descTest-wrap {
	width: calc(100% / 3 * 2);
	padding: 2rem;
	color: var(--font-color);
}

.bl-gridItem-mono p {
	width: 100%;
	max-width: 600px;
}

.el-program-descTest-wrap h5 {
	display: flex;
	line-height: 1.1em;
	flex-direction: column;
	font-family: var(--en-webfont-bold);
	font-size: 1.8rem;
}

.el-program-descTest-wrap h5 span{
	margin-bottom: .2rem;
  	font-size: 1rem;
	font-weight: normal;
}

.bl-flexWrapper-between {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.bl-flexContainer-duo {
	width: calc((100% - 3rem) / 2 );
	margin-bottom: 3.5rem;
}

.el-flexContent-descImg {
	margin-bottom: 1.5rem;
	padding-top: 75%;
	background-position: center;
	background-size: cover;
}

.bl-flexContainer-duo h3 {
    margin: 2rem 0 1.2rem;
    font-family: "FOT-クレー Pro DB";
    font-size: 1.85rem;
    font-weight: normal;
    line-height: 1.2;
    letter-spacing: inherit;
}

.bl-flexContainer-duo p { line-height: 1.7em; }

.bl-slider-full {
	width: 100%;
	margin: auto;
}

.bl-slider-full .slick-arrow::before {
	color: #fff;
	background: rgb(var(--season-main-color));
}

.bl-slider-full .bl-slickImg .slick-prev::before {
  left: 300%!important;
}

.bl-slider-full .bl-slickImg .slick-next::before {
  right: 300%!important;
}

.bl-slider-full .slick-arrow:hover::before,
.bl-slider-full .slick-arrow:active::before {
	color: #fff !important;
	background: rgb(var(--season-sub-color)) !important;
	border: solid 2px rgb(var(--season-sub-color));
}

.bl-slider-full .slide-dots {
	position: absolute;
	right: 5%;
	bottom: 30px;
	width: max-content !important;
	width: fit-content !important;
}

.bl-slider-full .slide-dots li {
	background: transparent;
	border: solid 1px #fff;
	z-index: 10;
}

.bl-slider-full .slide-dots .slick-active {
	background: #fff;
	z-index: 15;
}

.bl-slider-wide {
	width: 90%;
	margin: auto;
}

.js-slickDots {
	margin: auto;
}

.el-logo-slideImg {
	margin: auto;
}

.bl-tabSelector-wrap {
	position: sticky;
	top: 90px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background: #fff;
	border-bottom: solid 1px #575757;
	z-index: 50;
}

.hp-books .slick-slider {
	overflow: visible !important;
}

.hp-books .slick-arrow {
	top: auto !important;
	bottom: -5.25rem;
}

.hp-books .slick-next {
	right: 30% !important;
}

.hp-books .slick-prev {
	left: 30% !important;
}

.hp-books .slide-dots {
	bottom: -10%;
	right: 50%;
	transform: translateX(50%);
}

.hp-books .slide-dots li {
  height: 12px;
}

.hp-books .slide-dots li {
	background: rgb(var(--season-sub-color));
	border-color: rgb(var(--season-sub-color));
}

.hp-books .slide-dots .slick-active {
	background: rgb(var(--season-main-color));
	border-color: rgb(var(--season-main-color));
}

	/* Added */
	.bl-tab-stickyWrap + .ly-subpage-mainContent .bl-tabSelector-wrap { margin-top:8px; }

.el-tabSelector {
	position: relative;
	padding: 2rem 3rem;
	font-weight: 600;
	color: #575757;
	cursor: pointer;
	transition: all .3s ease-in;
}

.el-tabSelector::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	width: 0px;
	height: 5px;
	background: rgb(var(--season-main-color));
	transition: all .3s ease-in;
}

.el-tabSelector:hover, .el-tabSelector:active, .js-active.el-tabSelector {
	color: rgb(var(--season-main-color));
}

.el-tabSelector:hover::after, .el-tabSelector:active::after,
.js-active.el-tabSelector::after {
	position: absolute;
	content: '';
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: rgb(var(--season-main-color));
}

.bl-content-section {
	display: flex;
}

.bl-tabContent-wrap {
	width: 0;
	height: 0;
	overflow: hidden;
	transition: all 0s ease-in
}

.bl-tabContent-wrap.js-active {
	display: flex;
	width: 100%;
	height: auto;
}
/* Table Settings */
.bl-table {
	position: relative;
	border-spacing: 0;
	border: solid 2px rgb(var(--season-main-color));
	border-radius: 1.5rem;
}

.bl-table-wrapSimple th {
	border-right: solid 2px rgb(var(--season-main-color));
}

.bl-table-wrapSimple.hp-width100 th {
	width: 30%;
}

.el-tableData .hp-weight-bold {
	width: 4rem;
}

.bl-tableContent-column tbody {
	display: flex;
}

.bl-tableContent-column .bl-tableRow {
  	display: flex;
	flex-direction: column;
}

.bl-tableContent-column th {
	background: transparent;
	border-bottom: solid 2px rgb(var(--season-main-color));
}

.bl-tableContent-column td {
	display: flex;
	flex-direction: column;
	align-items: center;
  	flex-grow: 2;
	align-items: center;
	border-bottom: 0px !important;
	background: transparent;
}

.bl-tableContent-column td.hp-textAlignCenter {
	justify-content: center;
}

.bl-tableContent-column .bl-tableRow:not(:last-of-type) {
	border-right: solid 2px rgb(var(--season-main-color));
}

.hp-overflow-scroll .bl-table {
	border-collapse: separate;
	border-radius: 0 2rem 2rem 0;
	border-top: 2px solid;
	border-right: 2px solid;
	border-bottom: 2px solid;
	border-left: 0px solid;
	border-image: linear-gradient(90deg, transparent 134px, rgb(var(--season-main-color)) 134px, rgb(var(--season-main-color)) 95%, transparent 95%);
	border-image-slice: 1;
	border-radius: 1.5rem !important;
}

.hp-overflow-scroll .bl-table::before {
	position: absolute;
	content: '';
	top: -2px ;
	right: 0;
	bottom: -2px;
	width: 15%;
	background: transparent;
	border-top: solid 2px rgb(var(--season-main-color));
	border-right: solid 2px rgb(var(--season-main-color));
	border-bottom: solid 2px rgb(var(--season-main-color));
	border-radius: 0 1.5rem 1.5rem 0;
}
	@-moz-document url-prefix() {
	.hp-overflow-scroll .bl-table::before {
		top: 0;
		bottom: 0;
	}
}

.hp-overflow-scroll .bl-table::after {
	position: absolute;
	content: '';
	right: -2rem;
	width: 2rem;
	height: 1rem;
	background: transparent;
	top: 50%;
}

.el-tableHead {
	font-weight: bold;
}

.bl-tableRow:not(:last-of-type) .el-tableHead, .bl-tableRow:not(:last-of-type) .el-tableData  {
	border-bottom: solid 2px rgb(var(--season-main-color));
}

.el-tableHead:not(:last-of-type), .el-tableData:not(:last-of-type) {
	border-right: solid 2px rgb(var(--season-main-color));
}

th, td {
	max-width: 350px;
	min-width: 135px;
	padding: 1.5rem 2rem;
}

.hp-overflow-scroll th,
.hp-overflow-scroll td {
	background: #fff;
}

.bl-textTab {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.bl-textTab input {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 18;
	cursor: pointer;
}

.el-textTab-opener {
	position: relative;
	display: block;
	margin:  0;
	padding: 1.2rem 4.5rem 1.2rem 3rem;
	line-height: 1.6;
	font-weight: bold;
	font-size: 1.1rem;
	cursor: pointer !important;
	text-decoration: none;
	transition: all .3s ease-in;
}

.bl-textTab input:hover + .el-textTab-opener,
.bl-textTab input:active + .el-textTab-opener{
  color: rgb(var(--season-main-color));
}

.el-textTab-opener::after {
	position: absolute;
	content: '';
	bottom: 50%;
	right: 2rem;
	border-right: 8px solid transparent;
	border-top: 13.22875px solid rgb(var(--season-main-color));
	border-left: 8px solid transparent;
	transform: translateY(50%);
	transition: all .3s ease-in;
}

.bl-textTab input:hover + .el-textTab-opener::after,
.bl-textTab input:after + .el-textTab-opener::after{
  	border-right: 8px solid transparent;
	border-top: 13.22875px solid var(--font-color);
	border-left: 8px solid transparent;
}

.bl-textTab:nth-of-type(odd) .el-textTab-opener {
	background: #EFEDEB;
}

.bl-textTab:nth-of-type(even) .el-textTab-opener {
	background: #E3E0DC;
}

.el-textTab-content {
	position: relative;
	overflow: hidden;
	height: 0;
	max-height: 0;
	padding: 0;
	transition: all 0.5s ease-in, padding .05s;
	color: #fff;
	background: #3B3739;
}

.bl-textTab input:checked ~ .el-textTab-content {
	height: auto;
	max-height: 15000px;
	padding: 1.2rem 10% 2.5rem 3rem;
}

.bl-textTab input:checked ~ .hp-overflow-scroll {
  overflow: scroll !important;
}

.bl-textTab input:checked ~ .el-textTab-content::after {
	position: absolute;
	content: '';
	top: 1rem;
	right: 2rem;
	border-right: 8px solid transparent;
	border-bottom: 13.22875px solid #fff;
	border-left: 8px solid transparent;
	transform: translateY(50%);
}

.el-textTab-content a{
	position: relative;
	color:#fff;
	text-decoration: underline;
}

.el-textTab-content a:hover, .el-textTab-content a:active {
	color: rgb(var(--season-main-color));
}

.el-textTab-content a::after {
	position: absolute;
	content: '';
  	top: -3px;
	left: -3px;
	right: -3px;
	bottom: -3px;
	z-index: 100;
}

.el-textTab-content th,
.el-textTab-content td {
	background: #3B3739;
}

.el-textTab-content .hp-overflow-scroll {
	padding: 1rem 0;
}

.el-textTab-content .el-stickyTable-left {
	left: 0;
}

.el-textTab-content .bl-tableContent-column th, .el-textTab-content .bl-tableContent-column td,
.el-textTab-content .bl-table-wrapSimple th, .el-textTab-content .bl-table-wrapSimple td{
	background: transparent;
}

.el-textTab-title {
	display: flex;
	margin-bottom: 1.5em;
	font-weight: bold;
}

.el-textTab-text {
	padding-left: 2rem;
}

.el-stickyTable-left {
	position: sticky;
	left: 0%;
	border-left: solid 2px rgb(var(--season-main-color));
}

.bl-tableRow:first-of-type .el-stickyTable-left {
	border-left: 0px;
	border-top: 0px;
}

.bl-tableRow:first-of-type .el-stickyTable-left::after {
	position: absolute;
	top: -2px;
	right: 0;
	left: 0px;
	bottom: 0;
	content: '';
	border-top: solid 2px rgb(var(--season-main-color));
	border-left: solid 2px rgb(var(--season-main-color));
	border-radius: 1.5rem 0 0 0;
}

.bl-tableRow:last-of-type .el-stickyTable-left, .un-irregular {
	border-left: 0px;
	border-bottom: 0px !important;
}

.bl-tableRow:last-of-type .el-stickyTable-left::after,
.un-irregular::after {
	position: absolute;
	top: 0px;
	right: 0;
	left: 0px;
	bottom: -2px;
	content: '';
	border-bottom: solid 2px rgb(var(--season-main-color));
	border-left: solid 2px rgb(var(--season-main-color));
	border-radius: 0 0 0 1.5rem;
}
/* Bus Settings */
.bl-bus-grid {
	display: grid;
	grid-template-columns: 120px 1fr 1fr;
	grid-gap: 2.5rem;
	margin-bottom: 5rem;
}

.bl-busImg-wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0;
}

.bl-busImg-wrap img{
	object-fit: contain;
	height: 120px;
}

/* --- Video Play -------------------------------*/
.bl-video-wrap {
	display: inline-block;
    position: relative;
    width: 100%;
    height: 100%;
	transition: all .3s ease-in;
}
	.bl-video-wrap::after {
		content:"";
		position: absolute;
		top:0;
		left:0;
		width: 100%;
		height: 100%;
		background: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, .4) 100%);
		background-size: cover;
		transition: all .3s ease-in;
	}
		.bl-video-wrap:hover::after {
			background: linear-gradient(to bottom, rgba(0, 0, 0, .2) 0%, rgba(0, 0, 0, .2) 100%);
			transition: all .3s ease-in;
		}
		.bl-video-wrap.comingsoon:hover::after {
			background: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, .4) 100%);
		}
		.bl-video-wrap .inline-video { position: absolute; top:0; left:0; z-index: 5; }

		.js-popup-vimeo .icon-play {
			position: absolute;
			top: 50%;
			left: 50%;
			width: 5rem;
			height: 5rem;
			border-radius: 50%;
			border: solid 10px rgba( 255, 255, 255, .8);
			transform: translate( -50%, -50%);
			transition: all .3s ease-in;
			z-index: 12;
		}
			.icon-play::before {
				font-size: 2rem;
				position: absolute;
				top: 50%;
				left: 50%;
				color: rgba( 255, 255, 255, .8);
				transform: translate( -40%, -50%);
				transition: all .3s ease-in;
			}
			.js-popup-vimeo:hover .icon-play {
				position: absolute;
				top: 50%;
				left: 50%;
				width: 5rem;
				height: 5rem;
				background: rgba( 255, 255, 255, .8);
				border-radius: 50%;
				border: solid 0px;
				transform: translate( -50%, -50%);
			}
			.js-popup-vimeo:hover .icon-play::before {
				color: rgb(var(--season-main-color), .8);
			}


.bl-imgDuo-gap-wrap {
  	display: grid;
	width: 100%;
	grid-template-columns:  1fr 1fr;
	grid-gap: 1rem;
}

.bl-imgDuo-gap-wrap:last-of-type {
  margin-bottom: 0 !important;
}

.el-imgDuo-gap {
	width: 100%;
	padding-top: calc(100% - 1rem);
	background-size: cover;
	background-repeat: no-repeat;
}

.bl-preFooter-anchWrap_subpage {
	display: grid;
	width: 100%;
	grid-gap: 1rem;
	padding: 0 1rem;
	grid-template-columns: 1fr 1fr 1fr;
}

#el-prefooter-noImg, #el-prefooter-noImg02 { background: rgb(var(--season-sub-color)); }

#el-prefooter-noImg:hover::after, #el-prefooter-noImg:active::after,
#el-prefooter-noImg02:hover::after, #el-prefooter-noImg02:active::after {
	background: rgb(var(--season-main-color), 1);
}

@media screen and (max-width : 1200px) {

.ly-subPage-main {
	grid-template-columns: var(--window-width);
  	grid-template-rows: auto auto;
}

.bl-sideNav {
	width: 100%;
	padding: 2rem max(2rem, 5%);
  }

.el-sideNav-ul {
 	height: 0;
	overflow: hidden;
	transition: all .3sec ease-in;
}

.js-appear + #sideNav {
	height: 100%;
	margin: 3rem auto;
	text-align: center;
}

	.el-sideNav-li {
		justify-content: center;
	}

	.el-sideNav-liAnchor::after {
		display: none;
	}

.el-sideNav-opener {
	position: relative;
	display: flex;
	width: max-content;
	width: fit-content;
	justify-content: center;
	align-items: center;
	background:  linear-gradient(to left, rgb(var(--season-main-color)), rgb(var(--season-main-color)) 2.5rem, #fff 2.5rem, #fff calc(2.5rem + 2px), rgb(var(--season-main-color)) calc(2.5rem + 2px));
		/* rgb(var(--season-main-color)); */
	padding: .8rem 3.5rem .8rem 1.5rem;
	border: 0px;
	border-radius: 3rem;
	color: #fff;
	cursor: pointer;
}

.el-sideNav-opener:hover, .el-sideNav-opener:active {
	background: linear-gradient(to left, rgb(var(--season-sub-color)), rgb(var(--season-sub-color)) 2.5rem, #fff 2.5rem, #fff calc(2.5rem + 2px), rgb(var(--season-sub-color)) calc(2.5rem + 2px) );
}

.el-sideNav-opener::after {
	position: absolute;
    content: '';
    bottom: 48%;
    right: 1.1rem;
    border-right: 5px solid transparent;
    border-top: 7px solid #fff;
    border-left: 5px solid transparent;
    transform: translateY(50%);
}
	.bl-tabSelector-wrap {
		top: 70px;
		padding-top: 1.5rem;
	}
}
@media screen and (max-width : 960px) {
.bl-subPage-top {
	min-height: 380px;
	padding: 10% 5% 15% 5%;
	font-size: .6em;
}
.el-subPage-titleEl {
	font-size: clamp(26px, 3rem, 32px);
	margin-bottom: 0;
}

.el-subPage-titleJp {
	font-size: clamp(28px, 2.6rem, 36px);
	line-height: 1.1em;
}

.bl-flexWrapper-between {
	flex-direction: column;
}

.bl-flexContainer-duo {
	width: 100%;
	margin-bottom: 5rem;
}

.bl-gridItem-mono {
    grid-row: 4;
    grid-column: 1 / 3;
    display: flex;
    width: 100%;
}

	th, td {
		padding: 1.5rem;
	}

	.el-textTab-text {
		padding-left: 0rem;
	}

.bl-slider-full .slick-slider{
	width: 100%;
	margin: 0;
	padding: 0;
}
	.bl-slider-full .slick-prev {
		left: 0 !important;
	}

	.bl-slider-full .slick-next {
		right: 0 !important;
	}

	.bl-preFooter-anchWrap_subpage {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr 1fr;
	}

	.bl-preFooter-anchWrap_subpage .el-preFooter-anch {
		width: 100%;
		padding-top: 30%;
	}
}

@media screen and (max-width : 768px) {
.bl-bus-grid {
	grid-template-columns: 1fr 1fr;
  	grid-template-rows: auto auto;
}
	.bl-bus-grid:last-of-type {
		margin-bottom: 0;
	}

	.bl-bus-grid:last-of-type .bl-busRoute-wrap:last-of-type{
		margin-bottom: 0;
	}

	.bl-busImg-wrap {
		grid-column: 1 / 3;
    	grid-row: 1;
		width: 100%;
		max-width: 150px;
		margin: auto;
	}

	.bl-busRoute-wrap{
		width: 100%;
		grid-column: 1 / 3;
    	grid-row: 2;
	}

	.bl-busRoute-wrap:last-of-type{
		width: 100%;
		grid-column: 1 / 3;
    	grid-row: 3;
		margin-bottom: 5rem;
	}

	.bl-imgDuo-gap-wrap.bl-contain-solidContent {
		grid-template-columns: 100%;
		grid-template-rows: 1fr 1fr;
	}

	.bl-contain-solidContent .el-imgDuo-gap {
		width: 100%;
		height: 100%;
		padding-top: 60%;;
	}
}

@media screen and (max-width : 640px) {
	.el-sectionTitle { margin-bottom: 1.5rem; }

	.ly-sticky-wrapper { display: block; }
	.bl-fullWidth-flex, .bl-fullWidth-flexReverse { flex-direction: column; }
	.ly-contentWide { padding: 10% 6.5% 5%; }

	.ly-contentWide:last-child,
	.ly-contentWide-heightS,
	.ly-contentWide-heightM { padding: 10% 6.5%; }

	.bl-dualRow-img { width: 100%; }
	.bl-dualRow-textBox {
		width: 100%;
		padding: 3rem 2rem;
	}
	.bl-dualRow-textBox-startTop {
		width: 100%;
		padding: 2rem 1rem;
	}
	.el-dualRow-title {
		font-size: 2rem;
	}
	.el-dualRow-title span {
		font-size: 1rem;
	}

	.bl-flexContainer-duo h3 {
		font-size: 1.5rem;
		line-height: 1.2;
	}

	.bl-gridItem-mono {
		grid-row: 7;
		grid-column: 1;
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.bl-gridItem-mono .el-program-descImg {
		width: 100%;
	}

	.el-logo-slideImg {
		width: 100%;
	}

	.bl-flexContainer-duo {
		margin-bottom: 3rem;
	}

	.bl-pageIntro-imgCutIn {
		padding-bottom:7rem;
	}

	.el-pageIntro-imgCutIn {
		margin: -5rem auto 3rem;
	}

	.bl-tabSelector-wrap {
		padding: 2rem 0 1rem;
	}

	.el-tabSelector {
		padding: 1rem 2rem;
	}

	.bl-table-wrapSimple:not(.hp-noWrap) .bl-tableRow {
		display: flex;
		flex-direction: column;
	}

	.bl-table-wrapSimple th, .bl-table-wrapSimple td {
		width: 100%;
		max-width: none;
		min-width: 0px !important;
		background: transparent !important;
	}

	.bl-table-wrapSimple th {
		padding-bottom: 0;
		border-right: 0px;
		border-bottom: 0px !important;
	}

	.bl-table-wrapSimple td {
		padding-top: .5rem;
	}

	.bl-tableContent-column	{
		width: 100%;
	}

	.bl-tableContent-column tbody {
		width: 100%;
		flex-direction: column;
	}

	.hp-noWrap tr th {
		border-bottom: solid 2px rgb(var(--season-main-color)) !important;
	}

	.hp-noWrap tr th, .hp-noWrap tr td {
		width: 50%;
	}

	.bl-tableContent-column th,	.bl-tableContent-column td, .bl-table-wrapSimple.hp-width100 th {
 		width: 100%;
		max-width: none;
	}

	.bl-table-wrapSimple th {
		padding-bottom: .7rem !important;
	}

	.bl-tableContent-column th {
		padding-top: 1.5rem;
		padding-bottom: 0;
		border-bottom: 0px !important;
		background: transparent;
	}

	.bl-tableContent-column td{
		padding-top: .5rem;
		padding-bottom: 1.5rem;
		background: transparent;
	}

	.bl-tableContent-column .bl-tableRow:not(:last-of-type) {
		border-right: 0px;
		border-bottom: solid 2px rgb(var(--season-main-color));
	}
}
@media (max-width : 480px) {
	.el-sectionSubTitle { font-size: 1.2rem; }
	.el-subPage-titleJp {
		font-size: clamp(24px, 2.3rem, 30px);
		line-height: 1.2;
	}
	.el-sectionTitle { font-size: 1.3rem; line-height: 1.4; }
	.bl-fullWidth-flex:last-child, .bl-fullWidth-flexReverse:last-child {
		margin-bottom: 0;
		border-bottom: solid 1px #888;
	}
	.el-textTab-opener { font-size: 1rem; line-height: 1.5; }
}
@media (max-width : 375px) {
	.bl-sideNav { padding: 2rem max(1.5rem, 5%); }
	.el-subPage-titleEl { font-size: 1.8rem; }
	.el-subPage-titleJp {
		font-size: 1.6rem;
		letter-spacing: -1px;
	}
}
/*****************************************************
	Added & Change
******************************************************/

/* --- Subpage.css改変 ----------- */
	.el-sideNav-opener { border:0; }

	/* Added */
	.bl-tab-stickyWrap + .ly-subpage-mainContent .bl-tabSelector-wrap { margin-top:8px; }
	.bl-slider-full.hp-inContent { margin-bottom:5rem; }
	.js-active.el-tabSelector a { color:rgb(var(--season-main-color)); }

	/* table */
	.bl-tableRow .hp-nobr  {
		border-bottom: 0!important;
	}

	li {
		line-height: 1.5;
		margin-bottom: .3rem;
	}

	@media screen and (max-width: 640px){
		.bl-slider-full.hp-inContent { margin-bottom:2.5rem; }

		/* Accodion */
		.el-textTab-opener { padding: 1.2rem 2.2rem 1.2rem 1.8rem; }
		.el-textTab-opener::after {
			bottom: 50%;
			right: .8rem;
		}
		.bl-textTab input:checked ~ .el-textTab-content { padding: 1.2rem 1.8rem 1.2rem 1.8rem; }
		.bl-textTab input:checked ~ .el-textTab-content::after {
			top: .8rem;
			right: .8rem;
		}
		.bl-slider-full .bl-slickImg .slick-prev::before{ left: 150% !important; }
		.bl-slider-full .bl-slickImg .slick-next::before{ right: 150% !important; }
	}

	/* --- TabMenu関連 ----------- */
	@media screen and (max-width : 960px) {
		.el-tabSelector {
			padding: 1rem 1.5rem;
			font-weight: bold;
		}
	}
	@media screen and (max-width : 768px) {
		.bl-tabSelector-wrap, .bl-tab-stickyWrap { position: static; }
	}

	@media screen and (max-width : 640px) {
		.bl-tabSelector-wrap {
			justify-content: center;
			flex-direction: column;
			margin-top: 0!important;
			padding: 0;
		}
		.el-tabSelector {
			position: relative;
			width: 100%;
			padding: 1.4rem 1rem 1rem;
			line-height: 1.4;
			text-align: center;
			border-bottom:solid 1px #555;
		}
		.el-tabSelector.js-active{ border-bottom:0; }
		/* .el-tabSelector:last-child{ border-bottom:0; } */
	}
	@media screen and (max-width: 480px){
		.el-tabSelector { justify-content: center; }
		.bl-tabSelector-wrap, .js-active.el-tabSelector,
		.el-tabSelector:first-child::before, .el-tabSelector:nth-child(2)::before { border-bottom: 0; justify-content: center; }
		.el-tabSelector { width: 100%; border-bottom: solid 1px #575757; }
	}

/*****************************************************
	Common
******************************************************/
/* --- Background ----------- */
.hp-bg-mainColor { background-color:rgb(var(--season-main-color)); }
.hp-bg-subColor { background:rgb(var(--season-sub-color)); }
.hp-bg-gray { background-color:#EBE9E6; }

/* --- Border ----------- */
.hp-bor-updown_th1 {
	border-top:solid 1px rgb(var(--season-main-color));
	border-bottom:solid 1px rgb(var(--season-main-color));
}
.hp-textbor-up_th1 {
	display: inline-block;
	border-top:solid 1px rgb(var(--season-main-color));
}
.hp-textbor-down_th1 {
	display: inline-block;
	border-bottom:solid 1px rgb(var(--season-main-color));
}
/* --- Box ----------- */
.bl-comDown {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	height: auto;
	padding: 1rem;
	color: #fff;
	background: rgb(var(--season-sub-color));
	overflow: hidden;
}
	.bl-comDown p {
		display: flex;
		position: relative;
		padding: 1rem;
		margin-bottom: 2rem;
		font-size: .9rem;
		z-index: 0;
	}
	.bl-comDown .bl-comDown-icon {
		position: absolute;
		bottom: 1rem;
		left: 1.5rem;
		z-index: 0;
		display: flex;
		align-items: baseline;
		font-size: .9rem;
		font-weight: bold;
	}
		.bl-comDown .bl-comDown-icon i {
			font-size: 1.4rem;
			padding: 0 .5rem 0.1rem 0rem;
		}
	.bl-comDown:before {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 100%;
		transition: all .3s ease-in-out;
	}
	.bl-comDown:after {
		position: absolute;
		content: '';
		top: 50%;
		left: 50%;
		content: "";
		width: 60px;
		height: 60px;
		background: transparent;
		transform: translate(-50%,-50%);
		transition: all .5s ease-in-out .2s;
	}
	.bl-comDown:hover::before {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(var(--season-main-color),.8);
		z-index: 5;
	}
	.bl-comDown:hover::after {
		position: absolute;
		top: 50%;
		left: 50%;
		content: "";
		width: 60px;
		height: 60px;
		background: url(../img/hover-icon-downoad.svg);
		transform: translate(-50%,-50%);
		z-index: 6;
	}
	.el-comDown-title {
		width: 90%;
		border-bottom: solid 1px rgb(var(--season-main-color));
		font-size: clamp(18px, 5vw, 1.45rem);
		text-align: center;
	}
		.el-comDown-title span {
			display: block;
			font-size: .7em;
			font-weight: 300;
			margin-bottom: 3rem;
		}
@media screen and (max-width: 540px){
	.el-comDown-title span {
		margin-bottom: 1rem;
	}
}
/* --- Button ----------- */
.hp-btnSolid, .hp-btnSolid-hoverWhite {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	width: fit-content;
	max-width: 100%;
	padding: 1.1rem 3rem;
	color: #fff;
	font-weight: 700;
	font-style: normal;
	line-height: 1.1;
	background-color: rgb(var(--season-main-color));
	border-radius: 2rem;
	transition: all 0.3s;
  }

	.hp-btnSolid:hover, .hp-btnSolid:active { color: #fff; background-color:rgb(var(--season-sub-color)); }
	.hp-btnSolid-hoverWhite:hover, .hp-btnSolid-hoverWhite:active { color: rgb(var(--season-main-color)); background-color:#fff; }

	.hp-btnSolid.hp-btnBg_sub { background-color:rgb(var(--season-sub-color)); }
		.hp-btnSolid.hp-btnBg_sub:hover, .hp-btnSolid.hp-btnBg_sub:active { background-color:rgb(var(--season-main-color)); }

.hp-btnOutline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	width: fit-content;
	max-width: 100%;
	padding: 1.1rem 3rem;
	color: rgb(var(--season-main-color));
	font-weight: 700;
	font-style: normal;
	line-height: 1em;
	border:solid 1px rgb(var(--season-main-color));
	border-radius: 2rem;
	transition: all 0.3s;
  }
	.hp-btnOutline:hover, .hp-btnOutline:active { color: #fff; background-color:rgb(var(--season-main-color)); }

.hp-btnOutline-white {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	width: fit-content;
	max-width: 100%;
	padding: 1.1rem 3rem;
	color: #fff;
	font-weight: 700;
	font-style: normal;
	line-height: 1em;
	border:solid 1px #fff;
	border-radius: 2rem;
	transition: all 0.3s;
}
	.hp-btnOutline-white:hover, .hp-btnOutline-white:active { color:rgb(var(--season-main-color)); background-color:#fff; }

.hp-btnOutline-thin {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: max-content;
		width: fit-content;
		max-width: 100%;
		padding: 1.1rem 3rem;
		color: rgb(var(--season-main-color));
		font-weight: 400;
		font-style: normal;
		line-height: 1em;
		border:solid 1px rgb(var(--season-main-color));
		border-radius: 2rem;
		transition: all 0.3s;
	}
	.hp-btnOutline-thin:hover, .hp-btnOutline-thin:active { color: #fff; background-color:rgb(var(--season-main-color)); }

.el-list-styleDisc {
	list-style: disc;
	/* list-style-position: inside; */
	margin-left: 1.6rem;
}
.el-list-styleDecimal{
	list-style: decimal;
	/* list-style-position: inside; */
	margin-left: 1.6rem;
}

/* --- FAQ ----------- */
.el-faq-title {
	margin-top:56px;
	margin-bottom:16px;
	font-size: 1.375rem;
}

/* --- Font ----------- */
.hp-fontWhite { color:#fff; }
.hp-fontNormal { color:#333; }
.hp-fontNote { color:red; }
.hp-regular { font-weight: 400; }
.hp-bold { font-weight: 600; }
.hp-fontSize09 { font-size: .9rem; }
.hp-fontSize09em { font-size: .9em; }
.hp-fontSize075em { font-size: .75em; }
.hp-wordbreak-all { word-break: break-all; }
.hp-underline { text-decoration: underline; }

.hp-noteMsg {
	display: inline-block;
	margin-top: 1em;
	color:red;
	font-size: 0.8rem;
}

/* --- HeadLine ----------- */
.el-secndTitle { margin-top:56px; }
.el-contentSingle-head { text-align: center; margin-bottom: 4.5rem; }

/* --- Icon ------------- */
.icon-location:before {
	content: "\e947";
}
/* --- Layout------------- */
.bl-flex { display: flex!important; }
.bl-block { display: block!important; }
.hp-alignItems-center { align-items: center; }
.hp-justifyContent-center { justify-content: center; }
.hp-justifyContent-start { justify-content: flex-start; }
.hp-spSize-dispNone { display: block; }

@media screen and (max-width: 900px){
	.hp-block_tablet { display: block!important; }
}
@media screen and (max-width: 540px){
	.hp-spSize-dispNone { display: none; }
}
/* --- List ------------- */
.el-list-upper-alpha { margin-left: 1.5em; }
	.el-list-upper-alpha li { list-style-type: upper-alpha;	}

.el-list-disc { margin-left:1.5em; }
	.el-list-disc li { list-style-type: disc; }

	li.hp-list-disc { list-style-type: disc; margin-left: 1.3em; }

.el-list-asterisk {
	position: relative;
	padding-left: .5rem;
}
	.el-list-asterisk:before {
		content: "※";
		position: absolute;
		top: 0px;
		left: -1em;
	}

.el-2rows_dl {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: 1fr;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.el-2rows_dl.last { margin-bottom: 1.5rem; }
	.el-2rows_dl-dt {
		grid-area: 1 / 1 / 2 / 2;
		min-width: 120px;
		text-align: right;
	}
	.el-2rows_dl-dd {
		grid-area: 1 / 2 / 2 / 3;
		margin-left: 0.5rem;
	}

/* --- Link------------- */
.hp-textLink { text-decoration: underline; }
.hp-textLink:hover, .hp-textLink:active { color: rgb(var(--season-main-color)); }

.hp-textLink-color {
	color: rgb(var(--season-main-color));
	text-decoration: underline;
}
.hp-textLink-color:hover, .hp-textLink-color:active { color: rgb(var(--season-sub-color)); }

/* --- Position ------------- */
.hp-position-static { position: static!important; }
.hp-position-center { margin-right: auto; margin-left: auto; text-align: center; }

/* --- Size ------------- */
.hp-full-size {
	width: 100%;
	height: 100%;
}
.hp-full-width { width: 100%; }

/* --- Space ------------- */
li.hp-ts,
.hp-ts { margin-bottom:1.1em; }
.hp-mt24 { margin-top:24px; }
.hp-mt32 { margin-top:32px; }
.hp-mt48 { margin-top:48px; }

.hp-mr24 { margin-right:24px; }

.hp-ml24 { margin-left:24px; }
.hp-ml32 { margin-left:32px; }
.hp-ml48 { margin-left:48px; }

.hp-ptb32 {
	padding-top: 32px;
	padding-bottom: 32px;
}

/* --- Table ------------- */
.bl-tableStyle-vertical {
	position: relative;
	display: flex;
	border-spacing: 0;
	border: solid 2px rgb(var(--season-main-color));
	border-radius: 1.5rem;
}
	.bl-tableStyle-vertical-box {
		flex: 1;
		border-right: solid 2px rgb(var(--season-main-color));
	}
		.bl-tableStyle-vertical-box:last-child { border-right:0; }
		.el-tableStyle-vertical-item.el-tableStyle-thead {
			border-bottom: solid 2px rgb(var(--season-main-color));
			font-weight: bold;
		}
		.el-tableStyle-vertical-item { padding: 1.5rem 2rem; }

@media screen and (max-width: 640px){
	.bl-tableStyle-vertical { flex-direction: column; }
	.bl-tableStyle-vertical-box {
		border-right: 0;
		border-bottom: solid 2px rgb(var(--season-main-color));
	}
	.bl-tableStyle-vertical-box:last-child { border-bottom:0; }
}
/* --- Text ------------- */
.hp-text-right { text-align: right; }
.hp-text-leftCenter { text-align: left; }
.hp-text-block,.hp-text-block-br { display: block; }
.hp-text-sup {
	font-size: 0.7em;
	vertical-align: top;
}
/* --- Width ------------- */



/* --- Mobile ------------- */
@media screen and (max-width: 960px){
	/* --- Tab Button ------------- */
	.bl-tab-fourCol { flex-wrap: wrap; }
	.bl-tab-stickyWrap.bl-tab-fourCol p, .bl-tab-stickyWrap.bl-tab-fourCol a {
		width: 50%;
		flex-direction: row;
	}
}
@media screen and (max-width: 768px){
	/* --- Tab Button ------------- */
	.bl-tab-stickyWrap.bl-tab-fourCol p, .bl-tab-stickyWrap.bl-tab-fourCol a {
		width: 100%;
		flex-direction: column;
	}
	/* --- Layout------------- */
	.bl-flex { flex-direction: column; }

	/* --- List ------------- */
	.el-2rows_dl {
		display: flex;
		flex-direction: column;
		margin-bottom: 1.5rem;
	}
		.el-2rows_dl-dt { text-align:left; }
}
@media screen and (max-width: 640px){
	/* --- Text ------------- */
	.hp-text-leftCenter { text-align: center; }
}
@media screen and (max-width: 500px){
	/* --- Tab Button ------------- */
	.el-contentSingle-head { margin-bottom: 3rem; }
	.bl-tab-stickyWrap.bl-tab-fourCol p, .bl-tab-stickyWrap.bl-tab-fourCol a { width: 100%; flex-direction: column; }

	/* --- FAQ ----------- */
	.el-faq-title { font-size: 1.2rem; }

	.hp-text-block,.hp-text-block-br { display: inline; }
	.hp-text-block-br::after {
		content:"";
		clear:both;
		display: block;
	}
}

/*****************************************************
	for Microsoft Edge
*****************************************************/
@supports (-ms-ime-align:auto) {
	.bl-subPage-top { min-height: 280px; padding:10% 10% 7%; }
	.el-subPage-titleEl { font-size: 2.6rem; }
	.el-subPage-titleJp { font-size: 3rem; }
	.bl-sideNav { padding:4.5rem 5%; }
	.el-sideNav-ul { top:10rem; }
	.bl-tabSelector-wrap { position: static; }
	.hp-overflow-scroll th,
	.hp-overflow-scroll td{ background: transparent; }
  }
  @media screen and (max-width: 1200px){
	@supports (-ms-ime-align:auto) {
		.el-sideNav-ul { position: relative; }
	}
  }