@charset "UTF-8";
/* CSS Document */


/*========= hero =========*/
#hero{
	width: 100%;
	height: 100vh;
	position:relative;
}
#hero_inner{
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height: 100vh;
}
#hero .hero_bg_l{
	position: absolute;
	top:0;
	left:0;
	z-index: -1;
}
#hero .hero_bg_r{
	position: absolute;
	bottom:30px;
	right:0;
	z-index: -1;
}
#hero .hero_title{
	position: absolute;
	top:25%;
	left: 50%;
	transform: translateX(-50%);
	width: 40%;
	max-width: 100%;
	height: auto;
	z-index: 100;
}
#hero .hero_wrapper{
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	height: 100vh;
	justify-content: center;
	align-items: flex-end;
}
#hero .hero_illust_l,#hero .hero_illust_r{
	text-align: center;
	width: 100%;
	max-width: 800px;
	height: auto;
}
@media screen and (max-width: 1024px){
	#hero{
		overflow-x: hidden;
	}
	#hero .hero_title{
		top:40%;
		width: 60%;
	}
	.hero_box1{
		margin-left: -20%;
		margin-right: -20%;
	}
	.hero_box2{
		margin-left: -20%;
		margin-right: -20%;
	}
}
@media screen and (max-width: 599px){
	#hero .hero_title{
		width: 80%;
	}
}

/*========= message =========*/
#message{
	background:rgba(255,255,255,0.3);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	height: 100vh;
	position: relative;
	z-index: 1;
}

@supports not (backdrop-filter: blur(30px)) {
  #message {
    background: rgba(255,255,255,.7);
  }
}

@media all and (-ms-high-contrast: none) {
  #message {
    background: rgba(255,255,255,.7);
  }
}
#message .message_wrapper{
	width: 100%;
	height: 100%;
	max-width: 1920px;
	padding:0 100px;
	align-items: center;
	justify-content: center;
}
#message .message_wrapper p{
	text-align: center;
	font-size: 24px;
	line-height: 2;
	font-weight: 500;
	letter-spacing: 1px;
}

@media screen and (max-width: 1024px){
	#message .message_wrapper{
		padding:0 50px;
	}
}
@media screen and (max-width: 599px){
	#message .message_wrapper{
		padding:0 30px;
	}
	#message .message_wrapper p{
		font-size:18px;
	}
}

/*========= voice =========*/
#voice{
	background: rgb(250,242,200);
	background: linear-gradient(90deg, rgba(250,242,200,1) 0%, rgba(227,241,234,1) 100%);
	padding: 130px 0;
}
#voice h2 img{
	margin: 0 auto;
	margin-bottom: 80px;
}
#voice.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}
#voice.slider .slick-slide {
    margin:0;/*スライド左右の余白調整*/
}
#voice a.voice_card:hover{
	opacity: 0.7;
	transition: 0.3s;
}

@media screen and (max-width: 599px){
	#voice h2 img{
		height:50px;
		width: auto;
	}
}

/*========= faq =========*/
#faq{
	background-image: url("../../img/faq_bg.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #fff;
}
#faq .faq_wrapper{
	max-width: 1920px;
	padding: 130px 100px;
	margin: 0 auto;
}
#faq .faq_wrapper h2 img{
	margin: 0 auto;
}
#faq .faq_flex_wrap{
	gap:14px;
	text-align: center;
	justify-content:space-between;
	flex-wrap: nowrap;
}
#faq .faq_box{
	width: 30%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#faq .faq_box2{
	margin-top: 90px;
}
#faq .faq_box img{
	width: 80%;
	text-align: center;
}
#faq .faq_box .faq_card{
	width: 100%;
	background: #fff;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	border-radius: 30px;
	padding: 25px;
	margin-top: -30px;
}
#faq .faq_box .faq_card p{
	color:#222222;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 30px;
}
#faq .faq_box .faq_card a{
	color:#932A13;
	font-weight: 700;
	font-family: 'Raleway', sans-serif;
	text-decoration: none;
	font-size: 15px;
}
#faq .faq_box .faq_card a:after{
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	background-image: url("../../img/arrow-right.svg");
	background-size: contain;
	vertical-align: middle;
	margin-left: 5px;
}
#faq .faq_box .faq_card a:hover{
	opacity: 0.7;
}

@media screen and (max-width: 1024px){
	#faq .faq_wrapper{
		padding: 130px 50px;
	}
	#faq .faq_box .faq_card p{
		font-size: 16px;
	}
}

@media screen and (max-width: 599px){
	#faq .faq_wrapper h2 img{
		height: 176px;
		width: auto;
		margin-bottom: 30px;
	}
	#faq .faq_wrapper{
		padding: 130px 30px;
	}
	#faq .faq_flex_wrap{
		flex-direction: column;
	}
	#faq .faq_box{
		width: 100%;
	}
	#faq .faq_box2{
		margin-top: 0;
	}
}

/*========= event =========*/
#event{
	background: rgb(250,242,200);
	background: linear-gradient(90deg, rgba(250,242,200,1) 0%, rgba(227,241,234,1) 100%);
	padding: 130px 0;
	margin: 0 auto;
	text-align: center;
}
#event .event_wrapper{
	max-width: 1920px;
	padding:0 100px;
	margin: 0 auto;
}
#event .event_wrapper h2 img{
	margin: 0 auto;
	max-width: 620px;
	height: auto;
}
#event .event_card_wrap{
	margin-top: 60px;
	flex-wrap: wrap;
	gap:18px;
	position: relative;
}
#event .event_card{
	width: calc(33.33% - 18px);
	background: #fff;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	border-radius: 30px;
	padding: 25px;
}
#event .event_card p{
	font-size: 20px;
	font-weight: 500;
	margin-top: 20px;
}
#event .raku:before{
	content: '';
	display: inline-block;
	position: absolute;
	top:-10px;
	left:-10px;
	width: 90px;
	height: 90px;
	background-image: url("../../img/icon_raku.svg");
	background-size: contain;
	vertical-align: middle;
	margin-left: 5px;
}
#event .tsura:before{
	content: '';
	display: inline-block;
	position: absolute;
	top:-10px;
	left:-10px;
	width: 90px;
	height: 90px;
	background-image: url("../../img/icon_tsura.svg");
	background-size: contain;
	vertical-align: middle;
	margin-left: 5px;
}

@media screen and (max-width: 1024px){
	#event .event_wrapper{
		padding: 0 50px;
	}
	#event .event_card p{
		font-size: 16px;
	}
}
@media screen and (max-width: 599px){
	#event .event_wrapper{
		padding: 0 30px;
	}
	#event .event_wrapper h2 img{
		width: 100%;
	}
	#event .event_card_wrap{
		flex-direction: column;
	}
	#event .event_card{
		width: 100%;
	}
}

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

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
	position: absolute;
	left:10px;
	bottom:10px;
    /*テキストの形状*/
	color:#222222;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#222222;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	left:0;
    /*線の形状*/
	width:2px;
	height: 50px;
	background:#222222;
}