@charset "utf-8";

#contentsBlock{
	background-color: #EBF6FA;
}

section .container_wide,
section .container_narrow{
	padding: 100px 20px;
}
section h2{
	font-size: 46px;
	text-align: center;
	line-height: 1;
}
section h2 span{
	font-size: 24px;
	display: block;
	line-height: 2;
}
section .lead{
	font-size: 18px;
	text-align: center;
	line-height: 2;
	margin-top: 30px;
}

@media screen and (max-width: 767px){
	section .container_wide,
	section .container_narrow{
		padding: 100px 20px;
	}
	section h2{
		font-size: 32px;
		line-height: 1.2;
	}
	section h2 span{
		font-size: 20px;
	}
	section .lead{
		font-size: 16px;
		margin-top: 25px;
	}
}

/* ---------------------------------
#mainVisual
---------------------------------*/
#mainVisual{
	text-align: center;
	height: 630px;
	background-color: #EBF6FA;
	z-index: -1;
}
#mainVisual .mainVisual_inner{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
	background-image: url('../img/img_mv_back_circle.png');
	height: 630px;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
}
#mainVisual .mainVisual_inner:after{
	content: '';
	width: 861px;
	height: 798px;
	background-image: url('../img/img_mv_back.png');
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
}
#mainVisual .mainVisual_inner h2{
	font-size: 64px;
	font-weight: 700;
	line-height: 1.34375;
	color: #00A5C1;
}
#mainVisual .mainVisual_inner p{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 35px;
}
#mainVisual .mainVisual_inner p span{
	font-size: 30px;
}
#mainVisual .mainVisual_inner .img_wrap{
	position: absolute;
}
#mainVisual .mainVisual_inner .mv_img01{
	top: 37px;
	left: 215px;
}
#mainVisual .mainVisual_inner .mv_img02{
	bottom: 63px;
	left: 0;
}
#mainVisual .mainVisual_inner .mv_img03{
	top: -20px;
	right: 30px;
}
#mainVisual .mainVisual_inner .mv_img04{
	bottom: -24px;
	right: 170px;
}
.fade-animation {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}

@media screen and (max-width: 1600px){
	#mainVisual{
		height: 39.38vw;
	}
	#mainVisual .mainVisual_inner{
		height: 39.38vw;
	}
	#mainVisual .mainVisual_inner:after{
		width: 53.81vw;
		height: 49.88vw;
		background-size: cover;
	}
	#mainVisual .mainVisual_inner h2{
		font-size: 4vw;
	}
	#mainVisual .mainVisual_inner p{
		font-size: 1.25vw;
		margin-top: 2.19vw;
	}
	#mainVisual .mainVisual_inner p span{
		font-size: 1.88vw;
	}
	#mainVisual .mainVisual_inner .mv_img01{
		top: 5.8%;
		left: 13.65%;
		width: 20.1875vw;
	}
	#mainVisual .mainVisual_inner .mv_img02{
		bottom: 10%;
		left: 0;
		width: 28.0625vw;
	}
	#mainVisual .mainVisual_inner .mv_img03{
		top: -3.2%;
		right: 1.9%;
		width: 29.812499999999996vw;
	}
	#mainVisual .mainVisual_inner .mv_img04{
		bottom: -3.8%;
		right: 10.6%;
		width: 23.4375vw;
	}
}
@media screen and (max-width: 1200px){
	#mainVisual{
		height: 50vw;
	}
	#mainVisual .mainVisual_inner{
		height: 50vw;
	}
}
@media screen and (max-width: 767px){
	#mainVisual{
		height: 140vw;
		max-height: 800px;
	}
	#mainVisual .mainVisual_inner{
		height: 140vw;
		max-height: 800px;
		background-size: 110%;
	}
	#mainVisual .mainVisual_inner:after{
		background-image: none;
	}
	#mainVisual .mainVisual_inner h2{
		font-size: clamp( 22px, 11.5vw, 50px);
	}
	#mainVisual .mainVisual_inner p{
		font-size: clamp( 16px, 4vw, 22px);
	}
	#mainVisual .mainVisual_inner p span{
		font-size: clamp( 18px, 6vw, 30px);
	}
	#mainVisual .mainVisual_inner .mv_img01{
		top: 8%;
		left: -4vw;
		width: 38%;
	}
	#mainVisual .mainVisual_inner .mv_img01:before{
		content: '';
		width: 27vw;
		height: 18vw;
		background-image: url('../img/img_mv_back_sp_001.png');
		background-size: cover;
		position: absolute;
		top: -46%;
		right: -36%;
		z-index: 999;
	}
	#mainVisual .mainVisual_inner .mv_img02{
		left: -12%;
		top: auto;
		bottom: 2%;
		width: 55%;
	}
	#mainVisual .mainVisual_inner .mv_img02:before{
		content: '';
		width: 22vw;
		height: 20vw;
		background-image: url('../img/img_mv_back_sp_002.png');
		background-size: cover;
		position: absolute;
		top: -31%;
		left: 10%;
		z-index: 999;
	}
	#mainVisual .mainVisual_inner .mv_img03{
		top: -6%;
		left: auto;
		right: -9%;
		width: 56%;
	}
	#mainVisual .mainVisual_inner .mv_img04{
		right: -11%;
		bottom: 8%;
		width: 45%;
	}
	#mainVisual .mainVisual_inner .mv_img04:before{
		content: '';
		width: 23vw;
		height: 20vw;
		background-image: url('../img/img_mv_back_sp_003.png');
		background-size: cover;
		position: absolute;
		bottom: -18%;
		left: -32%;
		z-index: 999;
	}
}

/* ---------------------------------
#sec_plan
---------------------------------*/
#sec_plan{
	position: relative;
	background-image: url('../img/img_plan_back.png');
	background-position: 0 0;
	border-top-right-radius: 2000px 150px;
	border-top-left-radius: 2000px 150px;
	margin-left: -200px;
	margin-right: -200px;
	padding-left: 200px;
	padding-right: 200px;
	border-top: 2px solid #fff;
}
#sec_plan .flex{
	justify-content: center;
	gap: 40px;
	margin-top: 32px;
}
#sec_plan .flex .item{
	position: relative;
	max-width: 480px;
	width: 100%;
	background-color: #fff;
	border: 4px solid #fff;
	border-radius: 20px;
	overflow: hidden;
}
#sec_plan .flex .item h3{
	position: absolute;
	font-size: 26px;
	font-weight: 600;
	text-align: center;
	color: #fff;
	width: 100%;
	padding: 6px 0;
}
#sec_plan .flex .item h3 span{
	font-size: 34px;
}
#sec_plan .flex .item.family h3{
	background-color: rgba(220, 99, 161, 0.85);
}
#sec_plan .flex .item.cremation h3{
	background-color: rgba(50, 160, 51, 0.85);
}
#sec_plan .flex .item .item_txt{
	display: flex;
	justify-content: space-between;
	padding: 0 25px;
}
#sec_plan .flex .item .item_txt .item_txt_circle{
	background-color: #309A83;
	width: 120px;
	height: 120px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.375;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	margin-top: -10px;
}
#sec_plan .flex .item .item_txt .item_txt_price{
	font-size: 18px;
	font-weight: 600;
	text-align: right;
	padding: 25px 0 15px;
	font-feature-settings: "palt";
}
#sec_plan .flex .item .item_txt .item_txt_price span{
	font-weight: 500;
	margin-right: 6px;
}
#sec_plan .flex .item .item_txt .item_txt_price .exclusive{
	line-height: 0.9583333333333333;
	background: linear-gradient(transparent 70%, #fffd77 70%);
}
#sec_plan .flex .item.family .item_txt .item_txt_price .exclusive{
	color: #dc63a0;
}
#sec_plan .flex .item.cremation .item_txt .item_txt_price .exclusive{
	color: #459e41;
}
#sec_plan .flex .item .item_txt .item_txt_price .exclusive span{
	font-size: 48px;
}
#sec_plan .flex .item .item_txt .item_txt_price .inclusive span{
	font-size: 32px;
}
#sec_plan .btnStyle01{
	margin-top: 70px;
}
#sec_plan .btnStyle01 .btn{
	max-width: 400px;
	width: 100%;
}
@media screen and (max-width: 1040px){
	#sec_plan .flex{
		gap: 3.85vw;
		margin-top: 3.08vw;
	}
	#sec_plan .flex .item{
		max-width: 480px;
	}
	#sec_plan .flex .item h3{
		font-size: 2.5vw;
		padding: 6px 0;
	}
	#sec_plan .flex .item h3 span{
		font-size: 3.27vw;
	}
	#sec_plan .flex .item .item_txt{
		padding: 0 2.4vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_circle{
		width: 11.54vw;
		height: 11.54vw;
		font-size: 1.54vw;
		margin-top: -10px;
	}
	#sec_plan .flex .item .item_txt .item_txt_price{
		font-size: 1.73vw;
		padding: 2.4vw 0 1.44vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_price span{
		margin-right: 6px;
	}
	#sec_plan .flex .item .item_txt .item_txt_price .exclusive span{
		font-size: 4.62vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_price .inclusive span{
		font-size: 3.08vw;
	}
	#sec_plan .btnStyle01{
		margin-top: 70px;
	}
	#sec_plan .btnStyle01 .btn{
		max-width: 400px;
	}
}
@media screen and (max-width: 767px){
	#sec_plan{
		border-top-right-radius: 2000px 800px;
		border-top-left-radius: 2000px 800px;
		border-top: 6px solid #fff;
	}
	#sec_plan .container_narrow{
		padding-top: 60px;
	}
	#sec_plan .flex{
		display: block;
		margin-top: 32px;
	}
	#sec_plan .flex .item{
		max-width: 480px;
		border: 2px solid #fff;
		margin: 0 auto;
	}
	#sec_plan .flex .item + .item{
		margin-top: 20px;
	}
	#sec_plan .flex .item h3{
		font-size: 22px;
		padding: 0;
	}
	#sec_plan .flex .item h3 span{
		font-size: 28px;
	}
	#sec_plan .flex .item .item_txt{
		padding: 0 25px;
	}
	#sec_plan .flex .item .item_txt .item_txt_circle{
		width: 120px;
		height: 120px;
		font-size: 16px;
		margin-top: -10px;
	}
	#sec_plan .flex .item .item_txt .item_txt_price{
		font-size: 18px;
		padding: 25px 0 15px;
	}
	#sec_plan .flex .item .item_txt .item_txt_price span{
		margin-right: 6px;
	}
	#sec_plan .flex .item .item_txt .item_txt_price .exclusive span{
		font-size: 48px;
	}
	#sec_plan .flex .item .item_txt .item_txt_price .inclusive span{
		font-size: 32px;
	}
	#sec_plan .btnStyle01{
		margin-top: 20px;
	}
	#sec_plan .btnStyle01 .btn{
		max-width: 400px;
		width: 100%;
	}
}
@media screen and (max-width: 520px){
	#sec_plan .flex .item .item_txt{
		padding: 0 4.81vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_circle{
		width: 23.08vw;
		height: 23.08vw;
		font-size: 3.08vw;
		margin-top: -1.92vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_price{
		font-size: 3.46vw;
		padding: 4.81vw 0 2.88vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_price span{
		margin-right: 1.15vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_price .exclusive span{
		font-size: 9.23vw;
	}
	#sec_plan .flex .item .item_txt .item_txt_price .inclusive span{
		font-size: 6.15vw;
	}
}

/* ---------------------------------
#sec_about
---------------------------------*/
#sec_about{
	background-image: url('../img/img_about_back.png');
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}
#sec_about .flex{
	margin-top: 40px;
	gap: 0 40px;
	flex-wrap: wrap;
}
#sec_about .flex .item{
	position: relative;
	width: calc((100% - 40px) / 2);
}
#sec_about .flex .item:nth-child(even){
	margin-top: 60px;
}
#sec_about .flex .item figure,
#sec_about .flex .item figure img{
	max-width: 500px;
	width: 100%;
	position: relative;
	z-index: 1;
}
#sec_about .flex .item:nth-child(1) figure:before{
	content: '';
	width: 398px;
	height: 362px;
	background-image: url('../img/img_about_back_001.png');
	position: absolute;
	top: -248px;
	left: -152px;
}
#sec_about .flex .item:nth-child(2) figure:before{
	content: '';
	width: 300px;
	height: 272px;
	background-image: url('../img/img_about_back_002.png');
	position: absolute;
	top: 55px;
	right: -199px;
}
#sec_about .flex .item:nth-child(3) figure:before{
	content: '';
	width: 208px;
	height: 201px;
	background-image: url('../img/img_about_back_003.png');
	position: absolute;
	top: -67px;
	left: -118px;
}
#sec_about .flex .item:nth-child(4) figure:before{
	content: '';
	width: 227px;
	height: 209px;
	background-image: url('../img/img_about_back_004.png');
	position: absolute;
	top: 289px;
	right: -155px;
}
#sec_about .flex .item .item_txt{
	position: relative;
	width: calc(100% - 100px);
	margin: -80px 0 0 auto;
	padding: 20px 30px;
	background-color: #fff;
	border-radius: 20px;
	z-index: 1;
}
#sec_about .flex .item .item_txt a{
	display: inline-block;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.533333333333333;
	color: #008ea8;
	margin-bottom: 25px;
	padding-right: 1.8em;
}
#sec_about .flex .item .item_txt a.arrow_white:before{
	right: 0;
}
#sec_about .flex .item .item_txt a.arrow_white:after{
	right: 10px;
}

@media screen and (max-width: 1240px){
	#sec_about .flex .item figure,
	#sec_about .flex .item figure img{
		max-width: 40.32vw;
	}
}
@media screen and (max-width: 800px){
	#sec_about{
		position: relative;
	}
	#sec_about:before{
		content: '';
		width: 41.03vw;
		height: 37.18vw;
		background-image: url('../img/img_about_back_001.png');
		background-size: cover;
		position: absolute;
		top: -17.95vw;
		left: -15.38vw;
	}
	#sec_about .flex{
		display: block;
		margin-top: 40px;
	}
	#sec_about .flex .item{
		position: relative;
		width: 100%;
	}
	#sec_about .flex .item:nth-child(even),
	#sec_about .flex .item + .item{
		margin-top: 35px;
	}
	#sec_about .flex .item figure,
	#sec_about .flex .item figure img{
		max-width: 500px;
		margin: 0 auto;
	}
	#sec_about .flex .item:nth-child(1) figure:before{
		content: none;
	}
	#sec_about .flex .item:nth-child(2) figure:before{
		width: 40vw;
		height: 37vw;
		background-size: cover;
		top: auto;
		right: -16vw;
		bottom: -25vw;
	}
	#sec_about .flex .item:nth-child(3) figure:before{
		width: 28vw;
		height: 30vw;
		background-size: cover;
		top: auto;
		left: -16vw;
		bottom: -15vw;
	}
	#sec_about .flex .item:nth-child(4) figure:before{
		width: 36vw;
		height: 33vw;
		background-size: cover;
		top: auto;
		right: -16vw;
		bottom: -43vw;
	}
	#sec_about .flex .item .item_txt{
		max-width: 450px;
		width: 90%;
		margin: -60px auto 0;
		padding: 20px;
	}
	#sec_about .flex .item .item_txt a{
		display: block;
		font-size: 26px;
		font-weight: 700;
		line-height: 1.533333333333333;
		color: #008ea8;
		margin-bottom: 10px;
		padding-right: 1.8em;
	}
	#sec_about .flex .item .item_txt a.arrow_white:before{
		right: 0;
	}
	#sec_about .flex .item .item_txt a.arrow_white:after{
		right: 9px;
	}
}
@media screen and (max-width: 767px){
	#sec_about h2{
		line-height: 1.5;
	}
}
@media screen and (max-width: 430px){
	#sec_about .flex .item .item_txt a{
		font-size: 5.8vw;
	}
}

/* ---------------------------------
#sec_reason
---------------------------------*/
#sec_reason{
	background-image: url('../img/img_reason_back.png');
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}
#sec_reason .flex{
	gap: 50px;
	padding: 80px 0 40px;
}
#sec_reason .flex .item{
	position: relative;
	width: calc((100% - 100px) / 3);
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	border: 4px solid #fff;
	box-sizing: border-box;
	border-radius: 20px;
	background-color: rgba(255,255,255,0.5);
}
#sec_reason .flex .item h3{
	position: absolute;
	left: 0;
	right: 0;
	top: -70px;
	margin: 0 auto;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 155px;
	height: 141px;
}
#sec_reason .flex .item.relieved h3{
	background-image: url('../img/img_reason_001_ttl.png');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
#sec_reason .flex .item.trust h3{
	background-image: url('../img/img_reason_002_ttl.png');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
#sec_reason .flex .item.familiar h3{
	background-image: url('../img/img_reason_003_ttl.png');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
#sec_reason .txtArea{
	text-align: center;
}
#sec_reason .txtArea p{
	font-size: 18px;
}
#sec_reason .txtArea p + p{
	margin-top: 1em;
}
@media screen and (max-width: 1040px){
	#sec_reason .flex .item{
		height: 28.85vw;
	}
	#sec_reason .flex .item h3{
		top: -6.73vw;
		font-size: 2.5vw;
		width: 14.9vw;
		height: 13.56vw;
	}
}
@media screen and (max-width: 767px){
	#sec_reason{
		background-image: url('../img/img_reason_back_sp.png');
	}
	#sec_reason .flex{
		gap: 30px;
	}
	#sec_reason .flex .item{
		width: calc((100% - 60px) / 3);
	}
	#sec_reason .txtArea p{
		font-size: 15px;
	}
}
@media screen and (max-width: 640px){
	#sec_reason .flex{
		display: block;
		max-width: 370px;
		margin: 0 auto;
		padding: 40px 0;
	}
	#sec_reason .flex .item{
		width: calc(100% - 50px);
		height: 175px;
		margin: 0 0 0 auto;
		border: 2px solid #fff;
	}
	#sec_reason .flex .item img{
		height: 90%;
		display: block;
		margin: 0 15px 0 auto;
	}
	#sec_reason .flex .item h3{
		top: 0;
		bottom: 0;
		left: -60px;
		right: auto;
		margin: auto 0;
		font-size: 20px;
		word-break: keep-all;
		width: 115px;
		height: 106px;
	}
	#sec_reason .flex .item + .item{
		margin-top: 30px;
	}
	#sec_reason .txtArea p{
		text-align: left;
	}
	#sec_reason .txtArea p br.w640{
		display: none;
	}
}
@media screen and (max-width: 375px){
	#sec_reason .flex .item{
		width: calc(100% - 13.33vw);
		height: 46.67vw;
	}
	#sec_reason .flex .item h3{
		left: -16vw;
		font-size: 5.33vw;
		width: 30.67vw;
		height: 28.27vw;
	}
}

/* ---------------------------------
#sec_blog
---------------------------------*/
#sec_blog{
	background-color: #fff;
}
#sec_blog h2{
	font-size: 30px;
	text-align: left;
}
#sec_blog .flex{
	gap: 80px;
}
#sec_blog .flex .flex_left{
	max-width: 320px;
	width: 100%;
	margin-left: 100px;
}
#sec_blog .btn{
	max-width: 320px;
	width: 100%;
	margin-top: 40px;
}
#sec_blog .flex .flex_right{
	width: calc(100% - 100px - 320px - 80px);
}
#sec_blog .flex .flex_right ul li.blog_single a{
	position: relative;
	display: flex;
	gap: 20px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #b4b4b4;
	transition: 0.3s;
}
#sec_blog .flex .flex_right ul li.blog_single a:hover{
	opacity: 0.7;
	text-decoration: none;
}
#sec_blog .flex .flex_right ul li.blog_single a.arrow_white:before{
	right: 0;
}
#sec_blog .flex .flex_right ul li.blog_single a.arrow_white:after{
	right: 9px;
	display: flex;
	align-items: center;
}
#sec_blog .flex .flex_right ul li.blog_single:last-child a{
	margin-bottom: 0;
}
#sec_blog .flex .flex_right ul li.blog_single a .blog_single_thumb{
	display: flex;
	align-content: center;
	justify-content: center;
	max-width: 180px;
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 180 / 118;
}
#sec_blog .flex .flex_right ul li.blog_single a .blog_single_thumb img{
	width: 100%;
	object-fit: cover;
}
#sec_blog .flex .flex_right ul li.blog_single a .blog_single_txt{
	padding-right: 60px;
}
#sec_blog .flex .flex_right ul li.blog_single a .date{
	font-size: 14px;
}
#sec_blog .flex .flex_right ul li.blog_single a .ttl{
	font-size: 20px;
	line-height: 1.4;
}
#sec_blog .flex .flex_right ul li.blog_single a .txt{
	font-size: 14px;
	margin-top: 10px;
}
#sec_blog .btn.sp{
	display: none;
}

@media screen and (max-width: 1240px){
	#sec_blog .flex .flex_left{
		margin-left: 8.06%;
	}
	#sec_blog .flex .flex_right{
		width: calc(100% - 8.06% - 320px - 80px);
	}
}
@media screen and (max-width: 1023px){
	#sec_blog .btn.pc{
		display: none;
	}
	#sec_blog .btn.sp{
		display: block;
		margin: 0 auto;
	}
	#sec_blog .flex{
		display: block;
	}
	#sec_blog .flex .flex_left{
		max-width: 100%;
		margin: 0 auto;
	}
	#sec_blog h2{
		text-align: center;
	}
	#sec_blog .flex .flex_right{
		width: 100%;
		margin: 40px auto;
	}
}
@media screen and (max-width: 767px){
	#sec_blog .container_wide{
		padding-top: 70px;
	}
	#sec_blog .flex .flex_right{
		margin: 30px auto;
	}
	#sec_blog .flex .flex_right ul li.blog_single a{
		display: block;
		margin-bottom: 40px;
		padding-bottom: 15px;
	}
	#sec_blog .flex .flex_right ul li.blog_single a.arrow_white::before,
	#sec_blog .flex .flex_right ul li.blog_single a.arrow_white::after{
		content: none;
	}
	#sec_blog .flex .flex_right ul li.blog_single a .blog_single_thumb{
		margin: 0 auto;
		max-width: 500px;
		aspect-ratio: 500 / 300;
		border-radius: 20px;
	}
	#sec_blog .flex .flex_right ul li.blog_single a .blog_single_thumb img{
		width: 100%;
	}
	#sec_blog .flex .flex_right ul li.blog_single a .blog_single_txt{
		padding: 0;
		margin-top: 10px;
	}
	#sec_blog .flex .flex_right ul li.blog_single a .date{
		font-size: 12px;
	}
	#sec_blog .flex .flex_right ul li.blog_single a .ttl{
		color: #00a5c1;
		font-size: 16px;
		font-weight: 600;
		margin-top: 5px;
	}
	#sec_blog .flex .flex_right ul li.blog_single a .txt{
		font-size: 13px;
		margin-top: 5px;
	}
	#sec_blog .btn.sp{
		margin-top: 40px;
	}
}

/* ---------------------------------
#sec_gallery
---------------------------------*/
#sec_gallery{
	background-color: #EBF6FA;
	padding: 100px 0;
}
#sec_gallery h2{
	font-size: 30px;
	margin-bottom: 40px;
}
#sec_gallery .slick li.slick-slide {
	cursor: pointer;
}
#sec_gallery .slick li.slick-slide img {
	object-position: center center;
	aspect-ratio: 740 / 414;
}
.video-wrapper{
	position: absolute;
	aspect-ratio: 16 / 9;
	max-width: 80%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.video-wrapper iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px){
	.video-wrapper{
		max-width: 90%;
	}
}

/* ---------------------------------
#sec_hall
---------------------------------*/
#sec_hall{
	background-image: url('../img/img_hall_back.png');
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	border-top: 2px solid #fff;
}
#sec_hall #sec_hall_inner{
	background-image: url('../img/img_hall_map.png');
	background-position: 30% 0;
	background-repeat: no-repeat;
}
#sec_hall .hall_btn{
	max-width: 500px;
	width: 100%;
	margin: 40px 0 0 auto;
}
#sec_hall .hall_btn a{
	display: block;
	font-size: 28px;
	font-weight: 700;
	background-color: rgba(255, 255, 255, 0.8);
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 10px;
	line-height: 1.363636363636364;
	padding: 14px 30px;
	transition: 0.3s;
}
#sec_hall .hall_btn a:hover{
	border: 1px solid #00a5c1;
	text-decoration: none;
}
#sec_hall .hall_btn a + a{
	margin-top: 10px;
}
#sec_hall .hall_btn a span{
	display: block;
	font-size: 22px;
}
@media screen and (max-width: 1100px){
	#sec_hall #sec_hall_inner{
		background-image: url('../img/img_hall_map_sp.png');
		background-size: contain;
		background-repeat: no-repeat;
	}
	#sec_hall .hall_btn{
		max-width: 500px;
		width: 100%;
		margin: 600px auto 0;
	}
	#sec_hall .hall_btn a{
		font-size: 22px;
		padding: 10px 20px;
	}
	#sec_hall .hall_btn a span{
		font-size: 16px;
	}
}
@media screen and (max-width: 450px){
	#sec_hall .hall_btn{
		margin: 85vw auto 0;
	}
}

/* ---------------------------------
#sec_us
---------------------------------*/
#sec_us{
	background-image: url('../img/img_us_back.png');
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}
#sec_us .lead{
	padding: 0 20px;
}
#sec_us .item{
	position: relative;
	margin-top: 40px;
}
#sec_us .item:nth-child(odd):before{
	content: '';
	width: 301px;
	height: 274px;
	background-image: url('../img/img_us_back_001.png');
	position: absolute;
	top: 250px;
	right: -110px;
}
#sec_us .item:nth-child(odd):after{
	content: '';
	width: 231px;
	height: 211px;
	background-image: url('../img/img_us_back_002.png');
	position: absolute;
	bottom: -77px;
	left: 20px;
}
#sec_us .item:nth-child(even){
	text-align: right;
}
#sec_us .item:nth-child(even):before{
	content: '';
	width: 294px;
	height: 285px;
	background-image: url('../img/img_us_back_003.png');
	position: absolute;
	top: 116px;
	left: -160px;
}
#sec_us .item:nth-child(even):after{
	content: '';
	width: 147px;
	height: 135px;
	background-image: url('../img/img_us_back_004.png');
	position: absolute;
	top: 280px;
	left: 100px;
}
#sec_us .item img{
	border-radius: 20px;
}
#sec_us .item .item_txt{
	position: relative;
	width: calc(100% - 100px);
	background-color: #fff;
	text-align: left;
	padding: 50px 60px;
	z-index: 1;
	border-radius: 20px;
}
#sec_us .item:nth-child(odd) .item_txt{
	margin: -100px 0 0 100px;
}
#sec_us .item:nth-child(even) .item_txt{
	margin: -100px 100px 0 0;
}
#sec_us .item .item_txt h3{
	font-size: 30px;
	line-height: 1.533333333333333;
	margin-bottom: 15px;
}
#sec_us .item .item_txt p + p{
	margin-top: 1em;
}
@media screen and (max-width: 767px){
	#sec_us .container_wide{
		padding-left: 0;
		padding-right: 0;
	}
	#sec_us .item img,
	#sec_us .item .item_txt{
		width: calc(100% - 20px);
	}
	#sec_us .item:nth-child(odd) img{
		border-radius: 0 20px 20px 0;
	}
	#sec_us .item:nth-child(even) img{
		border-radius: 20px 0 0 20px;
	}
	#sec_us .item .item_txt{
		padding: 20px;
	}
	#sec_us .item:nth-child(odd) .item_txt{
		margin: -100px 0 0 auto;
		border-radius: 20px 0 0 20px;
	}
	#sec_us .item:nth-child(even) .item_txt{
		margin: -100px auto 0 0;
		border-radius: 0 20px 20px 0;
	}
	#sec_us .item .item_txt h3{
		font-size: 5vw;
	}
}
@media screen and (max-width: 500px){
	#sec_us .lead{
		text-align: left;	
	}
}
@media screen and (max-width: 430px){
	#sec_us{
		position: relative;
		z-index: 999;
	}
}