/* -----------------------------------------------
= kv
----------------------------------------------- */
.kv {
	position: relative;
	/* height: 440px; */
}
.kv .box {
	position: absolute;
	top: 36px;
	left: 18px;
	z-index: 2;
}
.kv .box h2 span {
	display: inline-block;
	margin: 3px 0;
	padding: 3px 6px;
	color: #fff;
	background: linear-gradient(90deg,#19a08f,#03518b);
	font-family: var(--font-din);
	font-weight: 700;
	font-size: calc(2.3rem / 1.6);
	line-height: 1;
	opacity: 0;
	transform: translateX(-40px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}
.kv .box h2 span.is-show {
	opacity: 1;
	transform: translateX(0);
}
.kv .box h2 span.bg {
	background: var(--black);
}
.kv .box h2 span:last-child {
	margin-left: -10px;
	background: transparent;
}
.kv .box img {
	width: 193px;
}
.kv .kv-swiper {
	padding-bottom: 20px;
	opacity: 0;
	transition: opacity 1.5s ease;
}
.kv .kv-swiper.is-show {
	opacity: 1;
}
.kv .kv-swiper::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 18px;
	z-index: 1;
	width: 100%;
	height: 42px;
	background: url(../img/top/kv_bg_sp.png) no-repeat 50% 100% / 100% auto;
	border-bottom: 1px solid #fff;
}
.kv .kv-swiper picture {
	display: block;
	overflow: hidden;
}
.kv .kv-swiper .swiper-slide img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
	transform: scale(1);
}
.kv .kv-swiper .swiper-slide img.is-zoom {
	animation: kvZoom 6.8s linear forwards;
}
@keyframes kvZoom {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.1);
	}
}
.kv .kv-swiper .swiper-pagination {
	bottom: 0 !important;
	padding-left: 44px !important;
	text-align: left;
}
.kv .kv-swiper .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.kv .kv-swiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 11px;
	height: 11px;
	margin-inline: 6px;
	opacity: 1;
}
.kv .kv-swiper .swiper-pagination-bullet {
	background: #e7edf3;
}
.kv .kv-swiper .swiper-pagination-bullet-active {
	background: var(--blue);
}
.kv .notice {
	margin: 25px 18px 0;
	padding: 0 0 30px;
	overflow: hidden;
}
.kv .notice-inner {
	position: relative;
	border: 1px solid #ff8298;
	background: #fff;
	box-shadow: 0 2px 0 #fff2f4;
	border-radius: 5px;
}
.kv .notice-ttl {
	border-bottom: 1px dashed #ffc0cb;
	color: #f5637d;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	padding: 11px 40px;
	font-size: 14px;
}
.kv .notice-swiper {
	color: #0d0d0d;
	line-height: 1.429;
	font-size: 14px;
	overflow: unset;
}
.notice-swiper .swiper-wrapper {
	position: unset;
	align-items: stretch;
}
.kv .notice-swiper .swiper-button-prev,
.kv .notice-swiper .swiper-button-next {
    top: -19px;
	width: 16px;
	height: 13px;
	margin-top: 0;
}
.kv .notice-swiper .swiper-button-prev {
	left: 13px;
}
.kv .notice-swiper .swiper-button-next {
	right: 13px;
}
.notice-swiper .swiper-button-next:after,
.notice-swiper .swiper-button-prev:after {
	width: 16px;
	height: 13px;
	font-size: 0;
	font-family: unset;
	background-image: url(../img/shared/icon_notice-swiper.svg);
	background-size: 100%;
}
.notice-swiper .swiper-button-prev:after {
	transform: scale(-1.1);
}
.kv .notice .swiper-slide {
	position: relative;
	display: flex;
	flex-direction: column;
	height: auto;
	box-sizing: border-box;
	padding: 14px 15px 25px;
}
.kv .notice .swiper-slide a {
	position: absolute;
	left: 50%;
    bottom: -19px;
	display: block;
	background-color: #f5637d;
	color: #fff;
	font-weight: bold;
	text-align: center;
	transform: translateX(-50%);
	width: 200px;
	border-radius: 17.5px;
	box-shadow: 0 2px 0 #ffecf0;
	line-height: 1.5;
	font-size: 13px;
}
.kv .notice .swiper-slide a span {
	position: relative;
	display: block;
	padding: 8px;
}
.kv .notice .swiper-slide a span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 13px;
	width: 11px;
	height: 9px;
	background: url(../img/shared/icon_notice-swiper_wh.svg) no-repeat center/100%;
	transform: translateY(-50%);
}
.kv .notice .notice-swiper__text {
	flex: 1;
}
/* リッチエディターによる余分な余白を調整 */
.kv .notice .notice-swiper__text > :first-child {
	margin-top: 0;
}
.kv .notice .notice-swiper__text > :last-child {
	margin-bottom: 0;
}
@media print, screen and (width >= 768px) {/* PC */
.kv {
	max-width: 1300px;
	margin: 0 auto;
	height: 624px;
}
.kv .box {
	top: 35px;
	left: 63px;
}
.kv .box h2 span:last-child {
	margin-top: 20px;
	margin-left: -20px;
}
.kv .box h2 span {
	margin: 5px 0;
	padding: 5px 10px;
	font-size: calc(4.6rem / 1.6);
	letter-spacing: .06em;
}
.kv .box img {
	width: 327px;
}
.kv .kv-swiper::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: min(400px, calc(400 / 1300 * 100vw));
	height: 100%;
	background: #fff;
}
.kv .kv-swiper::after {
	height: 66px;
	background: url(../img/top/kv_bg_pc.png) no-repeat 50% 100% / 1300px auto;
}
.kv .kv-swiper .swiper-slide img {
	height: 624px;
}
.kv .kv-swiper .swiper-pagination {
	left: auto !important;
	right: 0;
	bottom: 30px !important;
	width: min(908px, calc(890 / 1300 * 100vw)) !important;
	padding-left: 0;
}
.kv .kv-swiper .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.kv .kv-swiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 13px;
	height: 13px;
	margin-inline: 8px;
}
.kv .notice {
	position: absolute;
	top: 370px;
    left: 63px;
	width: 300px;
	margin: 0;
	padding: 0 0 30px;
	z-index: 1000;
}
.kv .notice-inner {
	box-shadow: 0 4px 0 #fff2f4;
	border-radius: 10px;
}
.kv .notice-ttl {
	padding: 13px 40px;
	font-size: 18px;
}
.kv .notice-swiper {
	line-height: 1.556;
	font-size: 18px;
}
.kv .notice-swiper .swiper-button-prev,
.kv .notice-swiper .swiper-button-next {
    top: -23px;
}
.kv .notice .swiper-slide {
	padding: 14px 18px 35px;
}
.kv .notice .swiper-slide a {
    bottom: -20px;
	border-radius: 20px;
	box-shadow: 0 3px 0 #ffecf0;
	line-height: 1.5;
	font-size: 16px;
}
.kv .notice .swiper-slide a span::after {
	right: 15px;
	width: 16px;
	height: 13px;
}
.kv .notice .swiper-slide a:hover {
	background-color: #eb4c68;
}
}/* @media */
/* -----------------------------------------------
= intro
----------------------------------------------- */
.intro {
	padding-block: 10px 30px;
	overflow: hidden;
}
.intro .block {
	position: relative;
	padding: 0 18px 30px;
	transition: transform .8s, opacity .8s;
}
.intro .block.type01,
.intro .block.type03 {
	transform: translateX(-50px);
}
.intro .block.type02 {
	transform: translateX(50px);
}
.intro .block.type01.is-show,
.intro .block.type02.is-show,
.intro .block.type03.is-show {
	transform: translateX(0);
}
.intro .block::before,
.intro .block::after {
	content: "";
	position: absolute;
	z-index: -1;
	transform: rotate(45deg);
}
.intro .block::before {
	background: #f3eff5;
}
.intro .block::after {
	background: #e5edf5;
}
.intro .block.type01::before {
	top: 70px;
	left: -3px;
	width: 56px;
	height: 56px;
}
.intro .block.type01::after {
	top: 25px;
	right: -22px;
	width: 111px;
	height: 111px;
}
.intro .block.type02::before {
	bottom: -20px;
	right: 30px;
	width: 107px;
	height: 107px;
}
.intro .block.type02::after {
	bottom: 105px;
	right: 17px;
	width: 38px;
	height: 38px;
}
.intro .block.type03::before {
	bottom: 0;
	left: 0;
	width: 62px;
	height: 62px;
}
.intro .block.type03::after {
	bottom: 230px;
	right: 4px;
	width: 117px;
	height: 117px;
}
.intro h2 {
	margin-block: 15px;
	color: var(--blue);
	font-size: calc(2.8rem / 1.6);
	font-weight: 700;
	line-height: calc(40 / 28);
	text-align: center;
	letter-spacing: 0;
}
.intro h3 {
	margin-bottom: 30px;
	font-family: var(--font-din);
	font-size: calc(1.3rem / 1.6);
	font-weight: 700;
	line-height: calc(20 / 13);
	text-align: center;
	letter-spacing: 0;
}
.intro .text-jp {
	margin-bottom: 10px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(25 / 13);
}
.intro .text-en {
	margin-bottom: 30px;
	color: #666;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(25 / 13);
	letter-spacing: 0;
}
.intro img {
	display: block;
	border-radius: 5px;
}
.intro .img-set {
	position: relative;
	margin-inline: -18px;
}
.intro .img-set::before,
.intro .img-set::after {
	content: "";
	position: absolute;
	z-index: -1;
	transform: rotate(45deg);
}
.intro .img-set::before {
	bottom: -30px;
	left: -3px;
	width: 56px;
	height: 56px;
	background: #f3eff5;
}
.intro .img-set::after {
	bottom: 70px;
	left: 30px;
	width: 84px;
	height: 84px;
	background: #e5edf5;
}
.intro .img-set img:nth-child(1) {
	float: left;
	width: calc(146 / 375 * 100vw);
	border-radius: 0 5px 5px 0;
}
.intro .img-set img:nth-child(2) {
	float: right;
	width: calc(210 / 375 * 100vw);
	margin-bottom: 18px;
	border-radius: 5px 0 0 5px;
}
.intro .img-set img:nth-child(3) {
	clear: both;
	width: calc(115 / 375 * 100vw);
	margin-inline: auto;
	transform: translateX(calc(35 / 375 * 100vw));
}
@media print, screen and (width >= 768px) {/* PC */
.intro {
	padding-block: 80px 120px;
}
.intro .block {
	max-width: 1300px;
	margin-inline: auto;
	padding: 0;
}
.intro .block.type01,
.intro .block.type03 {
	transform: translateX(-100px);
}
.intro .block.type02 {
	transform: translateX(100px);
}
.intro .block.type01::before {
	display: none;
}
.intro .block.type01::after {
	top: 26px;
	right: -17px;
	width: 220px;
	height: 220px;
}
.intro .block.type02::before {
	bottom: -244px;
	left: -10px;
	width: 112px;
	height: 112px;
}
.intro .block.type02::after {
	bottom: -40px;
	right: auto;
	left: 52px;
	width: 168px;
	height: 168px;
}
.intro .block.type03::before {
	display: none;
}
.intro .block.type03::after {
	bottom: -210px;
	right: calc(50% - 100px);
	width: 156px;
	height: 156px;
}
.intro .block.type01 {
	display: flex;
	justify-content: center;
	align-items: start;
}
.intro .block.type01 img {
	order: 1;
	width: calc(600 / 1300 * 100%);
}
.intro .block.type01 .set {
	order: 2;
	margin-left: -30px;
	padding-right: 40px;
}
.intro .block.type02 .set {
	width: calc(412 / 1300 * 100%);
	margin-inline: auto;
	padding: 60px 20px 70px;
	transform: translateX(-60px);
}
.intro .block.type03 {
	display: flex;
	justify-content: center;
	align-items: end;
	gap: 0 calc(90 / 1072 * 100%);
	max-width: 1072px;
	margin-inline: auto;
	padding-left: calc(60 / 1072 * 100%);
}
.intro .block.type03 img {
	order: 1;
	width: calc(500 / 1072 * 100%);
}
.intro .block.type03 .set {
	order: 2;
	flex: 1;
	padding-right: calc(10 / 1072 * 100%);
}
.intro h2 {
	margin-block: 50px 18px;
	font-size: clamp(calc(4.4rem / 1.6), calc(60 / 1300 * 100vw), calc(6rem / 1.6));
	line-height: calc(84 / 60);
	text-align: right;
}
.intro h3 {
	margin-bottom: 0;
	font-size: calc(1.8rem / 1.6);
	line-height: calc(30 / 18);
	text-align: right;
}
.intro .text-jp {
	margin-bottom: 30px;
	font-size: calc(1.5rem / 1.6);
	line-height: calc(30 / 15);
}
.intro .text-en {
	margin-bottom: 0;
	line-height: calc(26 / 13);
}
.intro img {
	border-radius: 10px;
}
.intro .img-set {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 484px;
	margin-inline: 0;
}
.intro .img-set::before {
	bottom: -130px;
	left: auto;
	right: 55px;
	width: 214px;
	height: 214px;
}
.intro .img-set::after {
	bottom: 124px;
	left: auto;
	right: 32px;
	width: 76px;
	height: 76px;
}
.intro .img-set img {
	position: absolute;
}
.intro .img-set img:nth-child(1) {
	float: none;
	top: -57px;
	left: -4px;
	width: min(300px, calc(300 / 1300 * 100vw));
	border-radius: 10px;
}
.intro .img-set img:nth-child(2) {
	float: none;
	top: -63px;
	right: -10px;
	width: min(430px, calc(430 / 1300 * 100vw));
	margin-bottom: 0;
	border-radius: 10px;
}
.intro .img-set img:nth-child(3) {
	top: 253px;
	right: min(192px, calc(192 / 1300 * 100vw));
	width: min(230px, calc(230 / 1300 * 100vw));
	margin-inline: 0;
	transform: translateX(0);
}
}/* @media */
@media print, screen and (width < 1200px) and (width >= 768px) {
.intro .img-set img:nth-child(2) {
	top: -30px;
}
}/* @media */
@media print, screen and (width < 1000px) and (width >= 768px) {
.intro .img-set img:nth-child(2) {
	top: 0;
}
}/* @media */
/* -----------------------------------------------
= section
----------------------------------------------- */
.section .mark {
	position: relative;
	width: 11px;
	height: 41px;
	margin: 0 auto 25px;
}
.section .mark span {
	display: block;
	position: absolute;
	opacity: 0;
	transition: opacity .3s;
}
.section .mark.js-inview.is-show span {
	opacity: 1;
}
.section .mark .dot {
	left: calc(50% - 1.5px);
	width: 3px;
	height: 3px;
	background: var(--blue);
	border-radius: 50%;
}
.section .mark .dot:nth-child(1) {
	top: 0;
}
.section .mark .dot:nth-child(2) {
	top: 9px;
	transition-delay: .2s;
}
.section .mark .dot:nth-child(3) {
	top: 18px;
	transition-delay: .4s;
}
.section .mark .rhombus {
	top: 29px;
	left: calc(50% - 4px);
	width: 8px;
	height: 8px;
	background: var(--blue);
	transform: rotate(45deg);
	transition-delay: .6s;
}
.section .sub-title {
	margin-bottom: 20px;
	color: var(--blue);
	font-family: var(--font-din);
	font-size: calc(2.3rem / 1.6);
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
.section .lead-jp {
	margin-bottom: 20px;
	font-size: calc(1.8rem / 1.6);
	font-weight: 700;
	line-height: calc(28 / 18);
	text-align: center;
}
.section .lead-en {
	margin-bottom: 30px;
	font-family: var(--font-din);
	font-size: calc(1.4rem / 1.6);
	font-weight: 700;
	line-height: calc(20 / 14);
	text-align: center;
}
.section .inner {
	position: relative;
}
.section .inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 20px;
	height: 20px;
	border-top: 2px solid var(--blue);
	border-left: 2px solid var(--blue);
	border-radius: 10px 0 0 0;
}
.section .inner::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 20px;
	height: 20px;
	border-top: 2px solid var(--blue);
	border-right: 2px solid var(--blue);
	border-radius: 0 10px 0 0;
}
.section .inner-inner {
	position: relative;
	padding: 25px 18px 45px;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #a5c2dd;
}
.section .inner-inner::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: -1px;
	z-index: 1;
	width: 20px;
	height: 20px;
	border-left: 2px solid var(--blue);
	border-bottom: 2px solid var(--blue);
	border-radius: 0 0 0 10px;
}
.section .inner-inner::after {
	content: "";
	position: absolute;
	bottom: -1px;
	right: -1px;
	width: 20px;
	height: 20px;
	border-right: 2px solid var(--blue);
	border-bottom: 2px solid var(--blue);
	border-radius: 0 0 10px 0;
}
.section .btn {
	display: block;
	position: relative;
	padding: 11.5px;
	color: #fff;
	background: linear-gradient(90deg, #19a08f, #03518b);
	border-radius: 3em;
	box-shadow: 0 2px 0 #d9e5f0;
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
	line-height: calc(21 / 16);
	text-align: center;
}
.section .btn .jp {
	display: block;
}
.section .btn .en {
	display: block;
	font-family: var(--font-din);
}
.section .btn .jp + .en {
	font-size: calc(1.3rem / 1.6);
	line-height: 1.615;
}
.section .text-jp {
	margin-bottom: 10px;
	font-size: calc(1.5rem / 1.6);
	font-weight: 700;
	line-height: calc(22 / 15);
	text-align: center;
}
.section .text-en {
	margin-bottom: 30px;
	color: #737373;
	font-size: calc(1rem / 1.6);
	font-weight: 700;
	line-height: calc(27 / 10);
	text-align: center;
}
.section .more {
	display: block;
	position: relative;
	padding: 9px 40px 9px 20px;
	color: #fff;
	background: var(--blue);
	border-radius: 3em;
	box-shadow: 0 2px 0 #d9e5f0;
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
	text-align: center;
}
.section .more::after {
	content: "";
	position: absolute;
	top: calc(50% - 6.5px);
	right: 15px;
	width: 16px;
	height: 13px;
	background: url(../img/top/more_icon_arrow.svg) no-repeat 50% / cover;
}
@media print, screen and (width >= 768px) {/* PC */
.section .mark {
	width: 13px;
	height: 49px;
	margin: 0 auto 25px;
}
.section .mark .dot:nth-child(2) {
	top: 11px;
}
.section .mark .dot:nth-child(3) {
	top: 23px;
}
.section .mark .rhombus {
	top: 37px;
	left: calc(50% - 5px);
	width: 10px;
	height: 10px;
}
.section .sub-title {
	font-size: calc(3.6rem / 1.6);
}
.section .lead-jp {
	font-size: calc(2.6rem / 1.6);
}
.section .lead-en {
	margin-bottom: 40px;
	font-size: calc(1.8rem / 1.6);
}
.section .inner {
	max-width: 1100px;
	margin-inline: auto;
}
.section .inner::before {
	width: 40px;
	height: 40px;
	border-top-width: 3px;
	border-left-width: 3px;
	border-radius: 20px 0 0 0;
}
.section .inner::after {
	width: 40px;
	height: 40px;
	border-top-width: 3px;
	border-right-width: 3px;
	border-radius: 0 20px 0 0;
}
.section .inner-inner {
	padding: 40px 40px 75px;
	border-radius: 20px;
}
.section .inner-inner::before {
	width: 40px;
	height: 40px;
	border-left-width: 3px;
	border-bottom-width: 3px;
	border-radius: 0 0 0 20px;
}
.section .inner-inner::after {
	width: 40px;
	height: 40px;
	border-right-width: 3px;
	border-bottom-width: 3px;
	border-radius: 0 0 20px 0;
}
.section .btn {
	padding: 19px;
	box-shadow: 0 4px 0 #d9e5f0;
	font-size: calc(1.8rem / 1.6);
	line-height: calc(26 / 18);
}
.section .btn .jp + .en {
	font-size: calc(1.6rem / 1.6);
	line-height: 1.625;
}
.section .text-jp {
	margin-bottom: 5px;
	font-size: calc(2rem / 1.6);
}
.section .text-en {
	font-size: calc(1.3rem / 1.6);
}
.section .more {
	max-width: 360px;
	margin-inline: auto;
	padding: 9px 40px 10px 20px;
	box-shadow: 0 4px 0 #d9e5f0;
	font-size: calc(2rem / 1.6);
}
.section .more::after {
	top: calc(50% - 8px);
	right: 20px;
	width: 19px;
	height: 16px;
}
}/* @media */
@media (hover:hover) {
.section .btn:hover {
	background: linear-gradient(90deg, #03518b, #19a08f);
}
.section .more:hover {
	background: var(--hover-blue);
}
}/* @media */
/* -----------------------------------------------
= group
----------------------------------------------- */
.group {
	margin-bottom: 45px;
}
.group .bg {
	position: sticky;
	top: 0;
	z-index: -1;
}
.section.group .inner {
	margin: -110px 18px 0;
}
.group h2 {
	margin-bottom: 25px;
	font-size: calc(2.3rem / 1.6);
	font-weight: 700;
	line-height: calc(30 / 23);
	text-align: center;
}
.group .item-wrap {
	max-width: 310px;
	margin-inline: auto;
}
.group .item {
	display: flex;
	align-items: center;
	gap: 0 11px;
	margin-bottom: 25px;
}
.group .item .initial {
	font-family: var(--font-din);
	font-size: calc(8rem / 1.6);
	font-weight: 700;
	line-height: 1;
}
.group .item .detail {
	flex: 1;
}
.group .item .detail span {
	display: block;
	font-weight: 700;
}
.group .item .detail span:first-child {
	display: flex;
	align-items: center;
	gap: 0 8px;
	margin-bottom: 10px;
	font-family: var(--font-din);
	font-size: calc(1.5rem / 1.6);
	line-height: 1;
	letter-spacing: 0;
}
.group .item .detail span:first-child::after {
	content: "";
	width: 40px;
	height: 3px;
}
.group .item.sg .detail span:first-child::after {
	background: url(../img/top/group_bg01.png) no-repeat 50% / cover;
}
.group .item.ag .detail span:first-child::after {
	background: url(../img/top/group_bg02.png) no-repeat 50% / cover;
}
.group .item .detail span:last-child {
	font-size: calc(1.4rem / 1.6);
	line-height: calc(20 / 14);
}
.group .item.sg .initial,
.group .item.sg .detail span:first-child {
	color: #b66ba1;
}
.group .item.ag .initial,
.group .item.ag .detail span:first-child {
	color: #4e97bb;
}
.group .text {
	padding-block: 35px;
	border-top: 1px dashed #ccdceb;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(25 / 13);
	text-align: center;
}
@media print, screen and (width >= 768px) {/* PC */
.group {
	max-width: 1300px;
	margin: 0 auto 100px;
	padding-inline: 20px;
}
.group .bg {
	margin-inline: -20px;
}
.section.group .inner {
	margin: -140px auto 0;
}
.group h2 {
	margin-bottom: 60px;
	font-size: calc(3.6rem / 1.6);
}
.group .item-wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: 0 75px;
	max-width: none;
}
.group .item {
	justify-content: center;
	gap: 0 30px;
	margin-bottom: 50px;
}
.group .item .initial {
	font-size: calc(13rem / 1.6);
}
.group .item .detail span:first-child {
	gap: 0 15px;
	margin-bottom: 15px;
	font-size: calc(2rem / 1.6);
}
.group .item .detail span:first-child::after {
	width: 79px;
	height: 9px;
}
.group .item .detail span:last-child {
	font-size: calc(1.8rem / 1.6);
	line-height: calc(30 / 18);
}
.group .text {
	font-size: calc(1.6rem / 1.6);
	line-height: calc(30 / 16);
	text-align: center;
}
}/* @media */
@media print, screen and (width < 1064px) and (width >= 768px) {
.group .item-wrap {
	display: block;
	max-width: 440px;
}
}/* @media */
/* -----------------------------------------------
= enrolment
----------------------------------------------- */
.enrolment {
	position: relative;
	padding: 40px 18px 55px;
}
.enrolment::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 47px);
	background: url(../img/top/enrolment_bg_sp.jpg) no-repeat top / 100%;
}
.enrolment-inner {
	position: relative;
	z-index: 1;
}
.enrolment .sub-title {
	margin-bottom: 25px;
	line-height: 1;
	font-size: calc(4.5rem / 1.6);
	letter-spacing: .04em;
}
.enrolment .lead-en {
	margin-bottom: 35px;
}
.enrolment .btn-list li + li {
	margin-top: 25px;
}
@media print, screen and (width <= 400px) {
.enrolment::before {
	background-size: cover;
}
}
@media print, screen and (width >= 768px) {/* PC */
.enrolment {
	padding: 80px 20px 105px;
}
.enrolment::before {
	height: calc(100% + 115px);
	background: url(../img/top/enrolment_bg.jpg) no-repeat center / cover;
}
.enrolment-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1100px;
	margin: 0 auto;
}
.enrolment-ttl {
	flex: 1;
}
.enrolment .sub-title {
	margin-bottom: 30px;
	font-size: calc(9rem / 1.6);
	text-align: left;
}
.enrolment .lead-jp {
	text-align: left;
}
.enrolment .lead-en {
	margin-bottom: 0;
	text-align: left;
}
.enrolment .btn-list {
	width: 340px;
	margin-left: 40px;
}
}/* @media */
/* -----------------------------------------------
= enrolment-img
----------------------------------------------- */
.enrolment-img {
	margin-bottom: 50px;
}
.enrolment-img .swiper-wrapper {
	transition-timing-function: linear;
}
.enrolment-img .swiper-slide {
	width: 225px;
	margin-inline: 2.5px;
}
.enrolment-img img {
	border-radius: 3.75px;
}
@media print, screen and (width >= 768px) {/* PC */
.enrolment-img {
	margin-bottom: 80px;
}
.enrolment-img .swiper-slide {
	width: 450px;
	margin-inline: 5px;
}
.enrolment-img img {
	border-radius: 7.5px;
}
}/* @media */
/* -----------------------------------------------
= event
----------------------------------------------- */
.event {
	position: relative;
	padding: 70px 18px 0;
}
.event::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 30px);
	background: url(../img/top/event_bg_sp.jpg) no-repeat top center / 100%;
}
.event-inner {
	position: relative;
	z-index: 1;
}
.event .sub-title {
	color: #fff100;
	line-height: 1;
	font-size: calc(4.5rem / 1.6);
}
.event .lead-jp, .event .lead-en {
	color: #fff;
}
.event .card-wrap {
	margin-bottom: 40px;
}
.event .card + .card {
	margin-top: 30px;
}
.event .card a {
	display: block;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .2);
	text-align: center;
}
.event .card .jp {
	padding-top: 10px;
	font-size: calc(1.5rem / 1.6);
	font-weight: 700;
}
.event .card .en {
	color: #737373;
	font-size: calc(1rem / 1.6);
	font-weight: 700;
}
.event .card .date {
	margin-bottom: 3px;
	color: var(--blue);
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
}
.event .card .date span {
	font-size: calc(2.5rem / 1.6);
}
.event .card .note {
	margin-bottom: 15px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
.event .card .book {
	position: relative;
	padding: 10px;
	border-top: 1px dashed #7fa7cc;
}
.event .card .book::before,
.event .card .book::after {
	content: "";
	position: absolute;
	top: calc(50% - 7.5px);
	right: 15px;
	width: 15px;
	height: 15px;
}
.event .card .book::before {
	background: url(../img/top/event_icon_arrow.svg) no-repeat 50% / cover;
}
.event .card .book::after {
	background: url(../img/top/event_icon_arrow_hover.svg) no-repeat 50% / cover;
	opacity: 0;
}
.event .card .book span {
	display: block;
	font-weight: 700;
	line-height: 1.6;
}
.event .card .book span:first-child {
	color: var(--blue);
	font-size: calc(1.4rem / 1.6);
}
.event .card .book span:last-child {
	color: #737373;
	font-size: calc(1rem / 1.6);
}
.section.event .btn {
	max-width: 340px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media print, screen and (width <= 400px) {
.event::before {
	background-size: cover;
}
}
@media print, screen and (width >= 768px) {/* PC */
.event {
	padding: 72px 20px 0;
}
.event::before {
	height: calc(100% - 43px);
	background: url(../img/top/event_bg.jpg) no-repeat center / cover;
}
.event .sub-title {
	font-size: calc(9rem / 1.6);
}
.event .card-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(530px, 1fr));
	gap: 40px;
	max-width: 1100px;
	margin: 0 auto 60px;
}
.event .card + .card {
	margin-top: 0;
}
.event .card a {
	border-radius: 10px;
	box-shadow: 0 4px 0 rgba(0, 0, 0, .2);
	overflow: hidden;
}
.event .card .jp {
	padding-top: 15px;
	font-size: calc(2rem / 1.6);
}
.event .card .en {
	font-size: calc(1.3rem / 1.6);
}
.event .card .date {
	margin-bottom: 3px;
	font-size: calc(2.2rem / 1.6);
}
.event .card .date span {
	font-size: calc(4rem / 1.6);
}
.event .card .note {
	margin-bottom: 15px;
	font-size: calc(1.5rem / 1.6);
}
.event .card .book {
	padding: 15px;
}
.event .card .book::before,
.event .card .book::after {
	top: calc(50% - 10px);
	right: 25px;
	width: 20px;
	height: 20px;
}
.event .card .book span:first-child {
	font-size: calc(1.8rem / 1.6);
}
.event .card .book span:last-child {
	font-size: calc(1.2rem / 1.6);
}
.section.event .btn {
	max-width: 400px;
}
.section.event .btn .jp {
	font-size: calc(2.2rem / 1.6);
}
}/* @media */
@media (hover:hover) {
.event .card a:hover .book {
	background: #e5f2fd;
}
}/* @media */
/* -----------------------------------------------
= information
----------------------------------------------- */
.information {
	padding: 40px 18px;
	background: #edf5fc;
}
.section.information .inner-inner {
	padding-block: 0 30px;
}
.information h2 {
	position: relative;
	margin-top: calc(-3rem / 1.6);
	text-align: center;
}
.information h2 span {
	position: relative;
	z-index: 1;
	padding-inline: 10px;
	font-family: var(--font-din);
	font-size: calc(3rem / 1.6);
}
.information h2 span::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 50%;
	z-index: -1;
	width: 100%;
	height: 1px;
	background: #fff;
}
.information li {
	border-bottom: 1px dashed #ccdceb;
}
.information li:first-child {
	border-top: 1px dashed #ccdceb;
}
.information li a {
	display: block;
	padding-block: 15px;
}
.information li time {
	display: inline-block;
	margin-inline: 5px 10px;
	font-family: var(--font-din);
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
	line-height: 1.6;
}
.information li time span {
	margin-left: 5px;
	font-size: calc(2.5rem / 1.6);
}
.information li .category {
	display: inline-block;
	color: #595959;
	font-size: calc(1.3rem / 1.6);
}
.information li .title {
	color: var(--blue);
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
@media print, screen and (width >= 768px) {/* PC */
.information {
	padding: 65px 20px;
}
.section.information .inner-inner {
	padding-block: 0 40px;
}
.information h2 {
	margin-top: calc(-5rem / 1.6);
}
.information h2 span {
	padding-inline: 20px;
	font-size: calc(5rem / 1.6);
}
.information li a {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 0 18px;
	padding-block: 23px;
}
.information li time {
	grid-row: span 2;
	align-self: center;
	margin-inline: 0;
	font-size: calc(2.4rem / 1.6);
}
.information li time span {
	margin-left: 8px;
	font-size: calc(4rem / 1.6);
}
.information li .category {
	display: block;
	font-size: calc(1.5rem / 1.6);
}
.information li .title {
	font-size: calc(1.8rem / 1.6);
	line-height: calc(34 / 18);
}
}/* @media */
@media (hover:hover) {
.information li a:hover .title {
	text-decoration: underline;
}
}/* @media */
/* -----------------------------------------------
= competencies
----------------------------------------------- */
.competencies {
	position: relative;
	padding: 50px 18px 80px;
}
.competencies::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 490px;
	background: url(../img/top/competencies_bg_sp.jpg) no-repeat bottom / 100%;
}
.competencies-inner {
	position: relative;
	z-index: 1;
}
.section.competencies .sub-title {
	color: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: calc(2.5rem / 1.6);
}
.competencies .title-en {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 8px;
	margin-bottom: 20px;
	color: #fff;
	font-family: var(--font-din);
	font-size: calc(1.3rem / 1.6);
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
.competencies .title-en::before,
.competencies .title-en::after {
	content: "";
	width: 55px;
	height: 4px;
	background: url(../img/top/competencies_line.png) no-repeat 50% / cover;
}
.competencies .text {
	color: #fff;
	margin-bottom: 35px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(25 / 13);
}
.competencies li {
	position: relative;
}
.competencies li + li {
	margin-top: 25px;
}
.competencies li .btn-detail {
	position: relative;
}
.competencies li .btn-detail img {
	border-radius: 5px;
}
.competencies li .btn-detail .set {
	display: grid;
	place-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 240px;
	height: 85px;
	color: #fff;
	border-radius: 2.5px;
}
.competencies li:nth-child(odd) .btn-detail .set {
	background: rgba(0,79,153,.8);
}
.competencies li:nth-child(even) .btn-detail .set {
	background: rgba(90,80,172,.8);
}
.competencies li .btn-detail .set::before,
.competencies li .btn-detail .set::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 22.5px;
	height: 22.5px;
}
.competencies li .btn-detail .set::before {
	background: #fff;
	border-radius: 2.5px 0 2.5px 0;
}
.competencies li:nth-child(odd) .btn-detail .set::after {
	background: url(../img/top/competencies_icon_plus01.svg) no-repeat 50% / 13px;
}
.competencies li:nth-child(even) .btn-detail .set::after {
	background: url(../img/top/competencies_icon_plus02.svg) no-repeat 50% / 13px;
}
.competencies li .btn-detail .set span {
	display: block;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
.competencies li .jp {
	font-size: calc(2.4rem / 1.6);
}
.competencies li .en {
	font-family: var(--font-din);
	font-size: calc(1.4rem / 1.6);
}
.competencies li .detail {
	display: grid;
	place-content: center;
	position: absolute;
	inset: 0;
	z-index: 2;
	color: #fff;
	padding: 15px;
	border-radius: 5px;
	opacity: 0;
	transition: opacity .3s;
}
.competencies li:hover .detail {
	opacity: 1;
}
.competencies li:nth-child(odd) .detail {
	background: var(--blue);
}
.competencies li:nth-child(even) .detail {
	background: #5a50ac;
}
.competencies li .detail h3 {
	margin-bottom: 10px;
}
.competencies li .detail h3 span {
	display: block;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
.competencies li .detail p {
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
@media print, screen and (width >= 768px) {/* PC */
.competencies {
	padding: 75px 20px 140px;
}
.competencies::before {
	height: 600px;
	background: url(../img/top/competencies_bg.jpg) no-repeat bottom / cover;
}
.competencies-inner {
	max-width: 1100px;
	margin-inline: auto;
}
.section.competencies .sub-title {
	font-size: calc(4rem / 1.6);
}
.competencies .title-en {
	gap: 0 20px;
	margin-bottom: 40px;
	font-size: calc(2rem / 1.6);
}
.competencies .title-en::before,
.competencies .title-en::after {
	width: 79px;
	height: 5px;
}
.competencies .text {
	max-width: 800px;
	margin: 0 auto 50px;
	font-size: calc(1.5rem / 1.6);
	line-height: 2;
}
.competencies ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.competencies li + li {
	margin-top: 0;
}
.competencies li .btn-detail img {
	border-radius: 10px;
}
.competencies li .btn-detail .set {
	width: calc(380 / 540 * 100%);
	height: calc(150 / 300 * 100%);
	border-radius: 5px;
}
.competencies li:nth-child(3) .btn-detail .set {
	background: rgba(90,80,172,.8);
}
.competencies li:nth-child(4) .btn-detail .set {
	background: rgba(0,79,153,.8);
}
.competencies li .btn-detail .set::before,
.competencies li .btn-detail .set::after {
	width: 35px;
	height: 35px;
}
.competencies li .btn-detail .set::before {
	border-radius: 5px 0 5px 0;
}
.competencies li:nth-child(odd) .btn-detail .set::after,
.competencies li:nth-child(even) .btn-detail .set::after {
	background-size: 21px;
}
.competencies li:nth-child(3) .btn-detail .set::after {
	background: url(../img/top/competencies_icon_plus02.svg) no-repeat 50% / 21px;
}
.competencies li:nth-child(4) .btn-detail .set::after {
	background: url(../img/top/competencies_icon_plus01.svg) no-repeat 50% / 21px;
}
.competencies li .jp {
	font-size: clamp(calc(2.8rem / 1.6),calc(38 / 1300 * 100vw),calc(3.8rem / 1.6));
}
.competencies li .en {
	font-size: calc(2rem / 1.6);
}
.competencies li .detail {
	padding: 30px;
	border-radius: 10px;
}
.competencies li:nth-child(3) .detail {
	background: #5a50ac;
}
.competencies li:nth-child(4) .detail {
	background: var(--blue);
}
.competencies li .detail h3 {
	margin-bottom: 25px;
}
.competencies li .detail p {
	font-size: calc(1.5rem / 1.6);
	line-height: calc(30 / 15);
}
}/* @media */
@media print, screen and (width < 990px) and (width >= 768px) {/* TABLET */
.competencies ul {
	display: block;
}
.competencies li + li {
	margin-top: 25px;
}
}/* @media */

/* -----------------------------------------------
= sections
----------------------------------------------- */
.sections {
	margin-top: -30px;
}
.sections .section {
	position: relative;
}
.sections .section::before,
.sections .section::after {
	content: "";
	display: block;
	position: absolute;
	width: 200px;
	height: 200px;
}
.sections .section::before {
	top: 0;
	left: 0;
	clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
}
.sections .section::after {
	right: 0;
	bottom: 0;
	clip-path: polygon(0% 100%, 100% 100%, 100% 0%);
}
.sections .section h2 {
	position: relative;
	color: #0d0d0d;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 20px;
	padding-left: 35px;
	font-size: calc(2.1rem / 1.6);
}
.sections .section h2::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	transform: translateY(-50%);
}
@media print, screen and (width >= 768px) {/* PC */
	.sections {
		display: flex;
		margin-top: -43px;
	}
	.sections .section {
		width: calc(100% / 2);
	}
	.sections .section::before,
	.sections .section::after {
		width: 400px;
		height: 400px;
	}
	.sections .section h2 {
		margin-bottom: 30px;
		padding-left: 55px;
		font-size: calc(3.2rem / 1.6);
	}
	.sections .section h2::before {
		left: 3px;
		width: 41px;
		height: 41px;
	}
}/* @media */
/* -----------------------------------------------
= media
----------------------------------------------- */
.section.media {
	padding: 75px 18px 60px;
}
.media::before,
.media::after {
	background: #f1f7fd;
}
.media-inner {
	position: relative;
	z-index: 1;
}
.media h2::before {
	background-image: url(../img/top/media_h2.png);
}
.media .media-list {
	position: relative;
	background: #fff;
	padding-bottom: 65px;
	border-radius: 10px;
	border: 1px solid #a5c2dd;
}
.media .media-list::before,
.media .media-list::after,
.media .media-list ul::before,
.media .media-list ul::after {
	content: "";
    position: absolute;
	width: 20px;
    height: 20px;
	z-index: 1;
}
.media .media-list::before,
.media .media-list::after {
    top: -1px;
	border-top: 2px solid var(--blue);
}
.media .media-list::before {
    left: -1px;
    z-index: 1;
    border-left: 2px solid var(--blue);
    border-radius: 10px 0 0 0;
}
.media .media-list::after {
    right: -1px;
    border-right: 2px solid var(--blue);
    border-radius: 0 10px 0 0;
}
.media .media-list ul::before,
.media .media-list ul::after {
	bottom: -1px;
    border-bottom: 2px solid var(--blue);
}
.media .media-list ul::before {
    left: -1px;
    border-left: 2px solid var(--blue);
    border-radius: 0 0 0 10px;
}
.media .media-list ul::after {
    right: -1px;
    border-right: 2px solid var(--blue);
    border-radius: 0 0 10px 0;
}
.media .media-list ul li {
	border-bottom: 1px dashed #ccdceb;
}
.media .media-list ul li a {
	display: block;
	color: #0d0d0d;
	padding: 15px 20px;
	line-height: 1.538;
	font-size: calc(1.3rem / 1.6);
}
.media .more {
	max-width: 200px;
	margin-top: -30px;
	margin-inline: auto;
	box-sizing: border-box;
}
@media print, screen and (width >= 768px) {/* PC */
.section.media {
	padding: 130px 40px 120px;
}
.media-inner {
	max-width: 550px;
	margin: 0 0 0 auto;
}
.media .media-list {
	padding-bottom: 70px;
	border-radius: 20px;
}
.media .media-list::before,
.media .media-list::after,
.media .media-list ul::before,
.media .media-list ul::after {
	width: 40px;
	height: 40px;
}
.media .media-list::before,
.media .media-list::after {
    border-top-width: 3px;
}
.media .media-list::before {
	border-left-width: 3px;
	border-radius: 20px 0 0 0;
}
.media .media-list::after {
	border-right-width: 3px;
	border-radius: 0 20px 0 0;
}
.media .media-list ul::before,
.media .media-list ul::after {
	border-bottom-width: 3px;
}
.media .media-list ul::before {
	border-left-width: 3px;
	border-radius: 0 0 0 20px;
}
.media .media-list ul::after {
	border-right-width: 3px;
	border-radius: 0 0 20px 0;
}
.media .media-list ul li a {
	padding: 23px 30px;
	line-height: 1.875;
	font-size: calc(1.6rem / 1.6);
}
.media .more {
	margin-top: -30px;
	max-width: 250px;
}
}/* @media */
@media (hover:hover) {
.media .media-list ul li a:hover {
	color: #004f99;
	text-decoration: underline;
}
}/* @media */
/* -----------------------------------------------
= instagram
----------------------------------------------- */
.section.instagram {
	padding: 55px 18px 80px;
}
.instagram::before,
.instagram::after {
	background: #f3eff5;
}
.instagram-inner {
	position: relative;
	z-index: 1;
}
.section.instagram h2 {
	font-size: calc(3rem / 1.6);
	font-family: var(--font-din);
	font-weight: 700;
}
.instagram h2::before {
	background-image: url(../img/top/instagram_h2.png);
}
.instagram-embed {
	margin: -12px 0 40px;
}
.instagram .more {
	max-width: 340px;
	margin-inline: auto;
	padding: 8px 50px 8px 70px;
	border: 1px solid #5592cb;
	background: #fff;
	color: #004f99;
}
.instagram .more::after {
	background-image: url(../img/top/more_icon_arrow_bl.svg);
}
.instagram .more {
	box-sizing: border-box;
}
.instagram .more::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 60px;
	width: 22px;
	height: 22px;
	background: url(../img/shared/icon_instagram.png) no-repeat center/100%;
	transform: translateY(-50%);
}
@media print, screen and (width >= 768px) {/* PC */
.section.instagram {
	padding: 130px 40px 120px;
}
.instagram-inner {
	max-width: 550px;
	margin: 0 auto 0 0;
}
.instagram-embed {
	margin: -12px 0 50px;
}
.section.instagram h2 {
	font-size: calc(4rem / 1.6);
}
.instagram .more {
	max-width: 350px;
	padding: 9px 50px 10px 60px;
}
.instagram .more::before {
	left: 40px;
}
}/* @media */
@media (hover:hover) {
.instagram .more:hover {
	color: #fff;
}
.instagram .more:hover::after {
	background-image: url(../img/top/more_icon_arrow.svg);
}
}/* @media */