@charset "utf-8";
#toppage main {
		padding-top: 0 !important;
}
.top_header {
		opacity: 0;
		transition: opacity 0.6s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
		transform: translateY(-100px);
		pointer-events: none;
}
.top_header.isActive {
		opacity: 1;
		transform: translateY(0px);
		pointer-events: all
}
.kv {
		position: relative;
}
.kv img {
		width: 100%;
		height: auto;
}
.kv .kv_catch {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%
}
.section_title {
		font-size: 44px;
		font-weight: 700;
		text-align: center;
		margin: 0 0 50px;
		letter-spacing: 0.05em
}
@media(max-width: 767px) {
		.section_title {
				font-size: 24px;
				margin: 0 0 40px;
		}
}
/* ================= */
.concept_section {
		background: #EDDFD4;
		min-height: 500px;
		height: 100vh;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		padding: 120px 10px;
}
.concept_catch {
		width: 395px;
		margin: 0 auto 60px;
}
.concept_catch img {
		width: 100%;
		height: auto;
}
.concept_caption {
		text-align: center;
}
.concept_caption p {
		font-size: 20px;
		line-height: 2.2;
		margin: 0 0 1.5em;
		color: #888;
}
@media(max-width: 960px) {
		.concept_section {
				padding: 120px 20px;
				height: auto;
				min-height: inherit;
		}
}
@media(max-width: 767px) {
		.concept_section {
				padding: 80px 0;
		}
		.concept_catch {
				width: 60%;
				margin: 0 auto 50px;
		}
		.concept_caption p {
				font-size: 14px;
				line-height: 2.2;
		}
}
/* ================= */
.lineup_section {
		padding: 120px 40px 140px;
		background: #F9F4E9;
}
.lineup_section .hrCenter {
		max-width: 890px;
		margin: 0 auto;
}
.lineup_section .hrCenter .linkbtn_wrap {
		width: 100%;
		max-width: inherit
}
.lineup_section .hrCenter .linkbtn {
		width: 100%;
}
.lineup_section .linkbtn a {
		height: 104px;
		width: 100%;
		border-radius: 60px;
}
@media(max-width: 767px) {
		.lineup_section {
				padding: 80px 25px;
		}
}
/* ================= */
.gallery_section {
		background: #E2BAB4;
		background-repeat: repeat-x;
		background-position: 0 0;
		background-size: 50px;
		background-image: url("../images/top_gallery_bg_pc.jpg");
}
.gallery_inner {
		max-width: 1440px;
		margin: 0 auto;
		display: flex;
		align-items: flex-end;
}
.gallery_photo {
		width: 600px;
}
.gallery_photo img {
		width: 100%;
		height: auto;
}
@media(max-width: 1440px) {
		.gallery_inner {
				max-width: 1200px;
		}
		.gallery_photo {
				width: 50%;
		}
}
.gallery_caption {
		flex: 1;
		margin-left: 40px;
		padding-right: 40px;
		padding-bottom: 120px;
}
.gallery_hd {
		width: 211px;
		margin: 0 0 110px;
}
.gallery_hd img {
		width: 100%;
		height: auto;
}
.gallery_btn {
		font-size: 40px;
		font-weight: 700;
}
.gallery_btn a {
		color: #fff;
		text-decoration: none;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		max-width: 420px;
		height: 104px;
		border: 2px solid #E2BAB4;
		background: #E2BAB4;
		transition: background 0.4s;
		border-radius: 60px;
}
.gallery_btn a span {
		display: inline-block;
		position: relative;
		padding-right: 36px;
		transform: translateY(-1px);
}
.gallery_btn a span .linkArw {
		position: absolute;
		right: 0;
		top: calc(50% - 11px);
}
@media (hover: hover) {
		.gallery_btn a:hover {
				background: #fff;
				color: #E2BAB4;
		}
		.gallery_btn a:hover .linkArw.wht::before {
				background: #E2BAB4;
		}
		.gallery_btn a:hover .linkArw.wht::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
}
@media(max-width: 1200px) {
		.gallery_caption {
				padding-bottom: 11vw;
				transform: translateX(-40px);
		}
		.gallery_hd {
				margin: 0 0 80px;
		}
		.gallery_btn a {
				height: 90px
		}
}
@media(max-width: 960px) {
		.gallery_section {
				height: inherit;
				background-image: url("../images/top_gallery_bg_sp.jpg")
		}
		.gallery_photo {
				width: 50%;
		}
		.gallery_btn {
				font-size: 30px;
		}
		.lineup_section .linkbtn a {
				height: 90px;
		}
}
@media(max-width: 767px) {
		.gallery_section {
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: cover;
				background-image: url("../images/top_gallery_photo_sp.jpg");
				height: 65.2vw
		}
		.gallery_inner {
				display: flex;
				align-items: center;
				height: 65.2vw
		}
		.gallery_photo {
				display: none
		}
		.gallery_caption {
				width: auto;
				margin: 0;
				padding: 0;
				transform: translateX(0);
				margin-left: 47vw;
		}
		.gallery_hd {
				width: 120px;
				margin-bottom: 25px;
		}
		.gallery_btn {
				font-size: 20px;
				width: 170px;
		}
		.gallery_btn a {
				height: 50px;
				width: 170px;
		}
		.lineup_section .linkbtn a {
				height: 50px;
		}
		.gallery_btn a span {
				padding-right: 26px;
				transform: translateY(-2px);
				left: 5px
		}
		.gallery_btn a span .linkArw {
				top: calc(50% - 10px);
				right: 0;
				width: 18px;
				height: 18px;
		}
		.gallery_btn .linkArw.wht::after {
				right: 7px;
		}
}
/* ================= */
.news_section {
		background: #E2BAB4;
		padding: 120px 0;
		min-height: 400px;
}
@media(max-width: 767px) {
		.news_section {
				background: #E2BAB4;
				padding: 80px 0;
		}
}
/* ================= */
.about_section {
		background: #EDDFD3;
		padding: 120px 0;
}
.about_col {
		background: #fff;
		color: #727171;
		border-radius: 30px;
		padding: 50px;
}
.about_logo {
		max-width: 305px;
		margin: 0 auto 35px;
}
.about_logo img {
		width: 100%;
		height: auto;
}
.about_col p {
		text-align: center;
		line-height: 2.2;
}
@media(max-width: 960px) {
		.about_logo {
				max-width: 244px;
		}
		.about_col p {
				text-align: justify;
		}
		.about_col p .pcbr {
				display: none
		}
}
@media(max-width: 767px) {
		.about_section {
				padding: 80px 0;
		}
		.about_col {
				padding: 35px;
		}
		.about_logo {
				max-width: 174px;
				margin-bottom: 20px;
		}
		.about_col p {
				line-height: 2.0;
		}
}
/* =============== */
.insta_btn {
		width: 110px;
		margin: 60px auto 0;
}
.insta_btn img {
		width: 100%;
		height: auto;
		transition: opacity 0.3s;
}
@media (hover: hover) {
		.insta_btn a:hover img {
				opacity: 0.7
		}
}
@media(max-width: 767px) {
		.insta_btn {
				width: 70px;
				margin: 40px auto 0;
		}
}