@charset "utf-8";

.top-btn {
	display: flex;
	align-items: center;
	justify-content: center;
}

.top-btn-left {
    margin: 3rem 0 0;
}

.top-btn-center {
    margin: 3rem auto 0;
}

/* ==========================================
カバー
========================================== */

.cover {
	max-width: 192rem;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.cover:before {
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
	max-width: 192rem;
	width: 100%;
	height: 58.14%;
	background: #212121;
	background: radial-gradient(circle,rgba(33, 33, 33, 0) 0%, rgba(38, 38, 38, 0.5) 100%);
	z-index: -1;
}

.cover-text-block {
    max-width: 185rem;
    width: 100%;
    padding: 0 1.5rem;
    margin: 0 auto;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 5rem;
    left: 0;
    z-index: 2;
}

.swiper-button-prev, .swiper-button-next {
    display: none;
}

.main-title {
    font-size: 5rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.42em;
    padding: 0 0 0 5rem;
}

h1.main-title br {
	display: none;
}

.sub-en-title {
    font-family: var(--font-family01);
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    padding: 0 0 0 5rem;
}

.sub-jp-title {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-align: right;
}

.sub-jp-title br {
	display: none;
}

.cover-mask-block {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background: #212121;
    background: radial-gradient(circle, rgba(33, 33, 33, 0) 0%, rgba(33, 33, 33, 1) 100%);
    z-index: 1;
}

/* ==========================================
top01
========================================== */

.top01 {
    padding: 20rem 0 0;
}

.top01-img-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.top01-img-row figure {
    width: 49.48%;
}

.top01 > .en-title02 {
    position: absolute;
    top: 20rem;
    left: 13.7rem;
    z-index: 1;
}

.top01-img02 {
    margin: 34rem 0 0;
}

.top01-text-area {
    max-width: 173rem;
    width: 100%;
    margin: -21rem auto 0;
}

.top01-text-block {
    max-width: 78.4rem;
    width: 44.8%;
    margin: 0 0 0 auto;
}

.top01-text-block .flex-title01 br {
	display: none;
}

.top01-text-block .text01 {
    line-height: 2.8em;
}

/* ==========================================
top02
========================================== */

.top02 {
    margin: 10.7rem 0 0;
}

.top02-row-block {
    margin: -9rem 0 0;
}

.top02-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 13rem 0 0;
}

.top02-row:first-child {
    margin: 0;
}

.top02-row:nth-of-type(2n) {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
}

.top02-img-box {
    max-width: 73rem;
    width: 59.84%;
}

.top02-text-block {
    width: 38.5%;
}

.top02-row:nth-of-type(2n) .top02-text-block {
    width: 34.5%;
}

.top02-text-box .flex-title02 {
    margin: 5rem 0 0;
}

.top02-table-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 39rem;
    width: 100%;
    padding: 1.6rem 0 .8rem 0;
    border-bottom: 1px solid var(--gray02);
}

.top02-table-row:first-child {
    padding: 0 0 .8rem 0;
}

.top02-other-box {
    margin: 13rem auto 0;
    padding: 5rem 0 6rem;
}

.top02-other-text-box {
    text-align: center;
}

.top02 .top-btn-center {
    margin: 6rem auto 0;
}


/* ==========================================
top03
========================================== */

.top03 {
	margin: 11rem auto 0;
	padding: 0 0 16rem 0;
}

.top03-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top03-grid {
	margin: 6rem auto 0;
}

.top03-grid.grid-4{
	gap: 2.5rem;
}

/* ==========================================
top04
========================================== */

.top04 {
    padding: 14rem 0 0;
}

.top04-row {
	margin: 5rem auto 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.top04-left {
	max-width: 68rem;
	width: 47.89%;
}

.top04-right {
	max-width: 65rem;
	width: 45.5%;
}

.top04-right .text01 {
	line-height: 2.8;
}

/* ==========================================
news
========================================== */

.top05 {
	padding: 16rem 0;
}

.top-news-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.top-news-left {
	max-width: 25rem;
	width: 20%;
}

.top-news-right {
	max-width: 100rem;
	width: 75%;
}

.top-news-right section.news-section {
	width: 100%;
}

.top-news-right .news-section .news-link-border {
    border-bottom: 1px solid var(--gray05);
}

.top-news-btn {
    margin: 8rem 0 0;
}

.top-news-btn.btn01-short {
    text-align: left;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {

	.top01-img-row figure {
		width: 46.5%;
	}

	.top01-text-area {
		padding: 0 2rem 0 0;
	}

	.top01-text-block {
		width: 51%;
	}

	.top02-text-block {
		width: 38%;
	}


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1200px) {

    .top01-img-row figure {
        width: 45.5%;
    }

	.top01-text-block {
    	max-width: 79.4rem;
        width: 53%;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

	.top01 .en-title02 {
		left: 3.7rem;
	}

	.top01-img-row figure {
        width: 44%;
    }

	.top01-text-block {
        width: 55%;
		padding: 0 1.5rem;
	}

	.top01-text-block .text01 br {
		display: none;
	}

	.top02-row-block {
		margin: -4rem 0 0;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

	/* ==========================================
    カバー
	========================================== */

	.cover img {
		height: 92vh !important;
	}

	.main-title, .sub-en-title, .sub-jp-title {
		padding: 0 0 0 2rem;
	}

	.sub-jp-title {
		margin: 33rem 0 0;
	}

	h1.main-title br {
		display: block;
	}

	/* ==========================================
	top01
	========================================== */

	.top01 {
		padding: 12rem 0 0;
		display: flex;
        flex-direction: column;
	}

    .top01 .en-title02 {
        position: static;
	    padding: 0 0 0 2rem;
    }

    .top01-img-row {
		margin: 2rem auto 0;
        flex-direction: column-reverse;
		display: contents;
    }

    .top01-img-row figure {
        width: 95%;
    }

    .top01-img01 {
        margin: 0 0 0 auto;
	    order: 1;
    }

    .top01-img02 {
        margin: 4rem 0 0;
	    order: 3;
    }

	.top01-text-area {
		margin: 10rem auto 0;
	    order: 2;
	}

	.top01-text-block {
		width: 100%;
		margin: 0 auto;
		padding: 0 2rem;
	}

	/* ==========================================
	top02
	========================================== */

	.top02 {
		margin: 10rem 0 0;
	}

	.top02-row-block {
		margin: -2rem auto 0;
	}

	.top02-row {
		margin: 6rem auto 0;
	}

	.top02-row, .top02-row:nth-of-type(2n) {
		flex-direction: column-reverse;
	}

	.top02-img-box, .top02-text-block {
		width: 100%;
	}

	.top02-text-block {
		margin: 2.8rem auto 0;
	}

	.top02-row:nth-of-type(2n) .top02-text-block {
		width: 100%;
	}

	.top02 .en-title02 {
		text-align: center;
	}

	.top02-text-box .flex-title02 {
		margin: 4rem 0 0;
	}

	.top02-other-box {
		margin: 6rem auto 0;
		padding: 3rem 0;
	}

	.top02-other-text-box {
		text-align: left;
	}

	.top02-table-row {
		max-width: 80rem;
	}

	.top02 .top-btn-center {
		margin: 3rem auto 0;
	}

	/* ==========================================
	top03
	========================================== */

	.top03 {
		margin: 10rem auto 0;
		padding: 0 0 10rem 0;
	}

	.top03-grid {
		margin: 3rem auto 0;
	}

	/* ==========================================
	top04
	========================================== */

	.top04 {
		padding: 10rem 0 0;
	}

	.top04-row {
    	margin: 3rem auto 0;
	}

	.top04-right {
		margin: 6rem auto 0;
	}

	.top04-left, .top04-right {
		width: 100%;
	}


	/* ==========================================
	news
	========================================== */

	.top05 {
		padding: 10rem 0;
	}

	.top-news-title-box {
		text-align: center;
	}

	.top-news-row {
		flex-direction: column;
	}

	.top-news-left, .top-news-right {
	    max-width: 80rem;
		width: 100%;
	}

	.top-news-right {
		margin: 4rem auto 0;
	}

	.top-news-btn {
		margin: 4rem auto 0;
	}

	/* ==========================================
	Instagram
	========================================== */


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

	/* ==========================================
	カバー
	========================================== */

    .cover img {
        height: 89vh !important;
    }

	.cover-text-block {
		top: 13.5rem;
		bottom: auto;
	}

	.sub-en-title {
		font-size: 1.7rem;
	}

	.main-title {
		font-size: 3.4rem;
	}

	.sub-jp-title {
		font-size: 1.5rem;
		text-align: left;
	    margin: 20rem 0 0;
	}

	.sub-jp-title br {
		display: block;
	}

	/* ==========================================
	top01
	========================================== */

	.top01 {
		padding: 8rem 0 0;
	}

	.top01-text-area {
		margin: 6rem auto 0;
	}

	.top01-text-block .flex-title01 br {
		display: block;
	}

	.top01 .flex-title01 {
        font-size: 2.35rem;
    }

	.top01-text-block .text01 {
		line-height: 2.22em;
	}

	/* ==========================================
	top02
	========================================== */

	.top02 {
		margin: 8rem 0 0;
	}

	.top02 .en-title02 {
        font-size: 6.15rem;
    }

    .top02-row-block {
        margin: -1.5rem auto 0;
    }

	/* ==========================================
	top03
	========================================== */

	.top03 {
		margin: 8rem auto 0;
		padding: 0 0 8rem 0;
	}

	.top03-grid.grid-4 {
		gap: 1rem;
	}

	/* ==========================================
	top04
	========================================== */

	.top04 {
		padding: 8rem 0 0;
	}

	.top04 .flex-title01 {
        font-size: 2.35rem;
    }

	.top04-right .text01 {
		line-height: 2.22;
	}

	/* ==========================================
	top05
	========================================== */

	.top05 {
		padding: 8rem 0;
	}

	.top-news-right {
        margin: 3rem auto 0;
    }

	.top-news-btn {
		margin: 2rem auto 0;
	}

	/* ==========================================
	information
	========================================== */



	/* ==========================================
	Instagram
	========================================== */



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
