/* =======インスタアイコンを常に表示 */
.sns-icon {
	margin: 0 auto;
	text-align: center;
	line-height: normal;
	font-family: 'Cantarell', sans-serif;
	font-weight: 700;
	color: #332619;
	font-size: 1.0rem;
	writing-mode: vertical-rl;
	position: fixed;
	top: 43vh;
	left: 2vh;
	z-index: 99;
	display: flex;
	align-items: center;
}

.sns-icon img {
	padding-top: 10px;
}

@media (max-width: 767px) {
	.sns-icon {
		display: none;
	}
}

/*====== 9-1-1 縦線が動いてスクロールを促す =======*/

/*スクロールダウン全体の場所*/
.scrolldown1 {
	/*描画位置※位置は適宜調整してください*/
	position: absolute;
	left: 50%;
	top: 82vh;
	bottom: 10px;
	/*全体の高さ*/
	height: 50px;
	z-index: 10;
}

/*Scrollテキストの描写*/
.scrolldown1 span {
	/*描画位置*/
	position: absolute;
	left: -17px;
	top: -36px;
	/*テキストの形状*/
	color: #332619;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after {
	content: "";
	/*描画位置*/
	position: absolute;
	top: 0;
	/*線の形状*/
	width: 1px;
	height: 30px;
	background: #332619;
	/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}

@media (min-width: 768px) {
	.scrolldown1 {
		top: 84vh;
	}

	.scrolldown1 span {
		font-size: 1.6rem;
		top: -48px;
		left: -20px;
	}
}

@media (min-width: 1160px) {
	.scrolldown1 {
		top: 85vh;
	}
}

@media (min-width: 1200px) {
	.scrolldown1 {
		top: 89vh;
	}
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
	0% {
		height: 0;
		top: 0;
		opacity: 0;
	}

	30% {
		height: 30px;
		opacity: 1;
	}

	100% {
		height: 0;
		top: 50px;
		opacity: 0;
	}
}

.section-concept {
	background-color: #F5F1E8;
	padding-top: 115px;
}

.ttlbox.center {
	text-align: center;
	line-height: normal;
}

.ttlbox {
	margin-bottom: 40px;
}

.ttlbox .big.en {
	margin-bottom: 10px;
}

.ttlbox .big {
	font-size: 1.6em;
	font-family: 'Cantarell', sans-serif;
	font-weight: 700;
}

.ttlbox h2 {
	font-size: 1.3em;
}

@media (min-width: 1160px) {
	.ttlbox .big {
		font-size: 2.4em;
	}

	.ttlbox h2 {
		font-size: 1.6em;
	}

	.ttlbox .big.en {
		margin-bottom: 15px;
	}

}

.section-concept h3 {
	font-size: 1.6rem;
	font-weight: 400;
	text-align: center;
	position: relative;
	max-width: 375px;
	margin: 0 auto 65px;
}

.section-concept h3::before,
.section-concept h3::after {
	position: absolute;
	width: 10px;
	height: 20px;
	content: '';
}

.section-concept h3::before {
	border-left: solid 1.5px;
	border-top: solid 1.5px;
	top: 6px;
	left: 70px;
}

.section-concept h3::after {
	border-right: solid 1.5px;
	border-bottom: solid 1.5px;
	bottom: 6px;
	right: 70px;
}

.consept-img_conter {
	width: 218px;
	margin: 0 auto;
	margin-bottom: 40px;
}

/* ふわふわさせたいものに fuwafuwaクラスを付与 */
.fuwafuwa {
	-webkit-animation-name: fuwafuwa;
	/* fuwafuwaっていうアニメーションをしてね！ */
	-webkit-animation-duration: 2s;
	-webkit-animation-iteration-count: infinite;
	/*-webkit-animation-direction:alternate;*/
	-webkit-animation-timing-function: ease;

	-moz-animation-name: fuwafuwa;
	-moz-animation-duration: 2s;
	-moz-animation-iteration-count: infinite;
	/*-moz-animation-direction:alternate;*/
	-moz-animation-timing-function: ease;
}

/* fuwafuwaっていうアニメーションはこんなふうだよ！ */
@-webkit-keyframes fuwafuwa {
	0% {
		-webkit-transform: translate(0, 0);
	}

	50% {
		-webkit-transform: translate(0, -10px);
	}

	100% {
		-webkit-transform: translate(0, 0);
	}
}

@-moz-keyframes fuwafuwa {
	0% {
		-moz-transform: translate(0, 0);
	}

	50% {
		-moz-transform: translate(0, -10px);
	}

	100% {
		-moz-transform: translate(0, 0);
	}
}

.consept-img_conter img {
	width: 100%;
}

.consept-description {
	padding: 0 24px 80px;
	margin: 0 auto;
	max-width: 705px;
}

.button-container {
	color: #FFF;
	margin: 0 auto;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.button_a {
	display: inline-block;
	text-decoration: none;
	width: 140px;
	height: 38px;
	background-color: #A21F46;
	/*背景色*/
	font-size: 1.2rem;
	font-family: 'Cantarell', sans-serif;
	text-align: center;
	/*文字を揃える位置*/
	border-radius: 3px;
	/*背景の角丸半径*/
	display: flex;
	justify-content: center;
	align-items: center;

}

.button_a:hover {
	opacity: 0.6;
}

.yazirusi {
	margin-left: 10px;
	width: 31px;
	height: 4px;
	border-bottom: 1px solid #FFF;
	border-right: 1px solid #FFF;
	transform: skew(45deg);
}

.taruto {
	margin-top: 80px;
}

.taruto img {
	width: 100%;
}

@media (min-width: 1160px) {
	.consept-img_conter {
		width: 330px;
		margin: 60px auto 40px;
	}

	.section-concept h3 {
		font-size: 2.5rem;
		font-weight: 400;
		text-align: center;
		position: relative;
		max-width: 500px;
		margin: 0 auto 65px;
	}

	.consept-description {
		padding: 0 0 100px;
		margin: 0 auto;
		text-align: center;
		font-size: 1.5rem;
	}

	.button_a {
		width: 190px;
		height: 60px;
		font-size: 1.4rem;
	}

	.yazirusi {
		margin-left: 12px;
		width: 38px;
	}
}

.movebox {
	padding: 40px 0;
	margin-top: 60px;
}

.movebox h3 {
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 33px;
	line-height: 2.5;
}

.movebox p {
	/* width: 85%; */
	margin: 0 auto;
}

#concept.movebox {
	position: relative;
	z-index: 0 !important;
	padding-bottom: 300px;
}

#concept.movebox.showTime::before {
	width: 88%;
}

.inr_01 {
	width: -webkit-calc(100% - 40px);
	width: calc(100% - 55px);
	max-width: 1200px;
	margin: 0 auto;
}

#concept .imgBig {
	width: 100%;
}

#concept .imgBig {
	/* position: relative;
    top: auto;
    right: auto;
    z-index: -10; */
	margin-top: 20%;
}

.imgBig {
	max-width: 440px;
}

#concept .imgBig img.img-blur {
	-webkit-animation-name: imageBlur;
	animation-name: imageBlur;
	opacity: 1;
	transition: .8s;
}

#concept .imgBig img {
	width: 100%;
}

#concept.movebox::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 0;
	height: 380px;
	background-color: #F5F1E8;
}

.txBox {
	position: relative;
	z-index: 99;
}

.syokupan-img-conter {
	width: 180px;
	margin: 90px 10px auto 40px;
	position: absolute;
}

.syokupan-img-conter img {
	width: 100%;
}

@media (min-width: 1160px) {
	.movebox {
		padding: 40px 0;
		margin-top: 130px;
		padding-bottom: 100px;
	}

	.inr_01 {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#concept .imgBig {
		margin-top: 84px;
	}

	.imgBig {
		z-index: 1;
	}

	#concept.movebox::before {
		height: 320px;
	}

	.br-sp {
		display: none;
	}

	.pan-description {
		width: 390px;
		font-size: 1.5rem;
		margin: 0;
		position: relative;
		left: 59px;
	}

	.movebox h3 {
		font-size: 2.5rem;
	}

	#concept.movebox.showTime::before {
		width: 81%;
	}

	.syokupan-img-conter {
		width: 280px;
		margin: 90px auto 40px 165px;
		position: absolute;
	}

	.movebox p {
		margin: 0;
	}

	.txBox {
		margin-right: 240px;
	}
}

/*------------------------ //consept----------------------------------- */
.section-line-up {
	max-width: 1440px;
	margin: 0 auto;
}

.line-up_warpper {
	padding-bottom: 80px;
}

.c-line-up {
	padding-bottom: 40px;
	padding-top: 30px;
}

.line-up_01,
.line-up_02,
.line-up_03 {
	margin-bottom: 40px;

}

.c-image-half-block__image {
	width: 75vw;
	min-height: 56vw;
	max-width: 664px;
	height: 0;
	top: 0px;
	z-index: 100;
	left: 0px;
	top: 0px;
	z-index: 10;
	overflow: hidden;

}

.line-up_02-img {
	margin-left: auto;
	margin-right: 0px;
}

.c-image-half-block__image img {
	width: 100%;
}

.line-up_block__content {
	padding-top: 0;
	margin-left: auto;
	margin-bottom: 24px;
	margin-right: 24px;
	margin-top: -24px;
	width: 80.133333333%;
	max-width: 1080px;
}

.line-up_02-content {
	margin-left: 24px;

}

.line-up_block__inner {
	background: rgba(255, 255, 255, 0.5);
	margin-top: 0px;
	width: 100%;
	height: 100%;
	padding: 56px 24px 40px 24px !important;
	min-height: 100%;
	border: solid 1px #332619;
}

.line-up_warpper h3 {
	font-size: 1.6rem;
	line-height: normal;
	padding-bottom: 30px;
}

.line-up_02::before {
	width: 100%;
	content: "";
	position: absolute;
	right: 0;
	top: -132px;
	/* height: 107vh; */
	height: 715px;
	z-index: -2;
	background-color: #F5F1E8;
}

.line-up_02 {
	position: relative;
}

.line-up_03 {
	position: relative;
}

.line-up_03::before {
	width: 100%;
	content: "";
	position: absolute;
	right: 0;
	top: 94px;
	/* height: 89vh; */
	height: 620px;
	z-index: -2;
	background-color: #F5F1E8;
}

@media (min-width: 768px) {
	.c-image-half-block__image {
		width: 60vw;
		position: relative;
		z-index: 2;
	}

	.line-up_block__inner {
		padding: 56px 40px 40px 40px !important;
	}
}

@media (min-width: 1160px) {

	.line-up_01,
	.line-up_02,
	.line-up_03 {
		margin-bottom: 120px;
	}

	.c-line-up {
		padding-bottom: 40px;
		padding-top: 100px;
	}

	.line-up_01 {
		position: relative;
		margin-right: auto;
		max-width: 1170px;
	}

	.line-up_01-content {
		position: absolute;
		top: 120px;
		right: 20px;
		width: 603px;
		height: 580px;
	}

	.line-up_02 {
		position: relative;
		margin-left: auto;
		max-width: 1170px;
	}

	.line-up_02-content {
		position: absolute;
		top: 120px;
		left: 20px;
		width: 603px;
		height: 580px;
	}

	.line-up_03 {
		position: relative;
		margin-right: auto;
		max-width: 1170px;
	}

	.line-up_03-content {
		position: absolute;
		top: 120px;
		right: 20px;
		width: 603px;
		height: 580px;
	}

	.line-up_warpper h3 {
		font-size: 2.5rem;
		padding-bottom: 40px;
	}

	.line-up_text {
		font-size: 1.5rem;
	}

	.line-up_02::before {
		width: 60%;
		top: -280px;
		height: 500px;
	}

	.line-up_03::before {
		width: 60%;
		top: 350px;
		height: 500px;
		left: 0;
	}

	.line-up_block__inner {
		padding: 70px 60px 40px 188px !important;
	}

	.block__inner-2 {
		padding: 50px 188px 40px 60px !important;
	}

	.block__inner-3 {
		padding: 100px 60px 40px 188px !important;
	}
}

@media (min-width: 1300px) {

	.line-up_01,
	.line-up_02,
	.line-up_03 {
		margin-bottom: 0px;
	}
}

@media (min-width: 1400px) {

	.line-up_02::before {
		width: 60%;
		top: -300px;
		height: 600px;
	}

	.line-up_03::before {
		width: 60%;
		top: 350px;
		height: 500px;
		left: 0;
	}
	.line-up_warpper {
		padding-bottom: 167px;
	}
}

@media (min-width: 1440px) {

	.line-up_01,
	.line-up_02,
	.line-up_03 {
		margin-bottom: -100px;
	}
}
@media (min-width: 1700px) {

	.line-up_01,
	.line-up_02{
		margin-bottom: -230px;
	}
	.line-up_03 {
		margin-bottom: -300px;
	}
}

/*------------------------ //line-up----------------------------------- */
.line-up_more-btn {
	text-align: right;
}

.line-up_more-btn a {
	text-decoration: none;
	display: inline-block;
	padding-right: 75px;
	position: relative;
}

.line-up_more-btn a::before {
	content: "";
	background: #A21F46;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 30px;
	left: 56px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: .3s;
	transition: .3s;
}

.line-up_more-btn a span {
	font-size: 1.4rem;
	color: #332619;
	font-family: 'Cantarell', sans-serif;
	display: inline-block;
	padding-top: 7px;
	letter-spacing: .2rem;
}

.line-up_more-btn a span::after {
	content: "";
	width: 53px;
	height: 53px;
	border: 1px solid #332619;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: -15px;
	/*付け足したところもともと０*/
}

.line-up_more-btn a:after {
	content: "";
	background: #A21F46;
	position: absolute;
	width: 12px;
	height: 1px;
	top: 26px;
	left: 88px;
	-webkit-transform: translateY(-50%) rotate(-135deg);
	-ms-transform: translateY(-50%) rotate(-135deg);
	transform: translateY(-50%) rotate(-135deg);
	-webkit-transition: .3s;
	transition: .3s;
}


.line-up_more-btn a:-webkit-any-link {
	color: -webkit-link;
	cursor: pointer;
	text-decoration: underline;
}

.line-up_more-btn a {
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.line-up_more-btn a:hover::after {
	left: 98px;
}

.line-up_more-btn a:hover::before {
	left: 66px;
}

@media (max-width: 767px) {
	.line-up_more-btn a {
		padding-right: 33px;
	}

	.line-up_more-btn a span {
		font-size: 1.0rem;
		padding-top: 7px;
		padding-right: 4px;
	}

	.line-up_more-btn a::before {
		width: 20px;
		top: 23px;
		left: 38px;
	}

	.line-up_more-btn a span::after {
		width: 27px;
		height: 27px;
		top: 8px;
		right: -5px;
		/*付け足したところもともと０*/
	}

	.line-up_more-btn a:after {
		width: 5px;
		top: 21px;
		left: 53px;
	}

	.line-up_more-btn a:hover::after {
		left: 58px;
	}

	.line-up_more-btn a:hover::before {
		left: 43px;
	}
}

/*------------------------ //more-button----------------------------------- */
/*------------------------ ここからinstagram----------------------------------- */
.section-instagram {
	padding: 0 24px 100px;
	margin: 0 auto;
}

.txt {
	padding-bottom: 50px;
	padding-top: 30px;
}

.insta_list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 20px 0;
}

.insta_list li {
	position: relative;
	width: calc((100% - 60px)/4);
}
@media screen and (max-width: 900px) {
	.insta_list li {
		width: calc((100% - 40px)/3);
	}
}
@media screen and (max-width: 500px) {
	.insta_list li {
		width: calc((100% - 20px)/2);
	}
}
.insta_list li::before {
	content: "";
	display: block;
	padding-top: 100%;
}

.insta_list a {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

.insta_list img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


@media (min-width: 409px) {
	.txt {
		text-align: center;
	}
}

@media (min-width: 768px) {
	.section-instagram {
		padding: 0 60px 100px;
		margin: 0 auto;
	}
}

@media (min-width: 1160px) {
	.txt {
		font-size: 1.5rem;
		padding-bottom: 130px;
		padding-top: 90px;

	}

	.section-instagram {
		padding: 0 50px 130px;
		margin: 0 auto;
		max-width: 1300px;
	}
}

/*------------------------ //instagramおわり----------------------------------- */

/*------------------------ページトップボタン----------------------------------- */
#page-top a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 60px;
	color: #332619;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 1.4rem;
	transition: all 0.3s;
}

#page-top a::before {
	content: "";
	width: 22px;
	height: 22px;
	border: 1px solid #A21F46;
	border-width: 1px 1px 0 0;
	-webkit-transform: rotate(-45deg) translateX(-50%);
	-ms-transform: rotate(-45deg) translateX(-50%);
	transform: rotate(-45deg) translateX(-50%);
	position: absolute;
	top: -2px;
	left: 44%;

}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	z-index: 2;
	/*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove {
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*　下に下がる動き　*/

#page-top.DownMove {
	animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 1;
		transform: translateY(100px);
	}
}

@media (max-width: 767px) {
	#page-top a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 30px;
		height: 40px;
		color: #332619;
		text-align: center;
		text-transform: uppercase;
		text-decoration: none;
		font-size: 1.1rem;
		transition: all 0.3s;
	}

	#page-top a::before {
		content: "";
		width: 15px;
		height: 15px;
		border: 1px solid #A21F46;
		border-width: 1px 1px 0 0;
		-webkit-transform: rotate(-45deg) translateX(-50%);
		-ms-transform: rotate(-45deg) translateX(-50%);
		transform: rotate(-45deg) translateX(-50%);
		position: absolute;
		top: -5px;
		left: 44%;

	}
}

/* 下からふわっと現れる */

/*==================================================
ふわっ
===================================*/


/* fadeUp */

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeUpAnime{
	  from {
		opacity: 0;
	  transform: translateY(100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateY(0);
	  }
	}
	
	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
	.fadeUpTrigger{
		opacity: 0;
	}