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

/*-----------------------------------------------------------*/
/*共通パーツ*/

/*------------------------------------------------------------------------------
  anim
------------------------------------------------------------------------------*/

.anim-box{
	opacity: 0;
}

/* フェードアップ */
.anim-box.fadeup.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeup {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


.down-to-top02 {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1s;
}
.down-to-top02.scrollin {
  opacity: 1;
  transform: translateY(0);
}


/*-----------------------------------------------------------*/
/*メインビジュアル*/

.video-bg video{
	display: none;
}
.video-bg{
    position: relative;
	/*background: url("image/top/sp_main.jpg")no-repeat;*/
	background-size: 100% 457px;
	background-position: center;
    height: 457px;
}

.video-bg.background1{
	background: url("image/top/drone01.jpg")no-repeat;
	background-size: 100% 457px;
	background-position: center;
}

.video-bg.background2{
	background: url("image/top/drone02.jpg")no-repeat;
	background-size: 100% 457px;
	background-position: center;
}


.video-bg .main_title{
	position: absolute;
	top: 137px;
	left: 50%;
	transform: translateX(-50%);
	width: 90.7%;
}

.video-bg .main_title img{
	width: 100%;
	height: auto;
}

.video-bg .main_logo{
	position: absolute;
	bottom: 35px;
	left: 50%;
	transform: translateX(-50%);
	width: 24.72%;
}

.video-bg .main_logo img{
	width: 100%;
	height: auto;
}

.video-bg .main_sns{
	display: none;
}

.video-bg .scroll{
	display: none;
}


/**/

.video-bg .main_list{
	width: 100%;
	list-style: none;
	position: absolute;
	bottom: 100px;
	text-align: center;
}

.video-bg .main_list li{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.92;
	letter-spacing: 0.1em;
	color: #fff;
}




/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*重要なお知らせ*/

.imp_block{
	overflow: hidden;
}

.imp_block .block_inner{
	width: calc(100% - 35px);
	margin: 20px auto 0;
	overflow: hidden;
}

.imp_block .block_inner h2{
	text-align: center;
	font-size: 1.75rem;
	color: #e81c24;
}

.imp_block .block_inner .news_area01{
	margin-top: 12px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	border-bottom: 1px solid #ec5a24;
	padding: 0 5px 18px;
	box-sizing: border-box;
}

.imp_block .block_inner .news_area01 .date{
	width: 100%;
	/*font-size: 1.5rem;*/
	font-size: 1.55rem;
	font-weight: 400;	
}

.imp_block .block_inner .news_area01 .title{
	width: 100%;
	/*font-size: 1.4rem;*/
	font-size: 1.5rem;
	font-weight: 400;
	margin-top: 10px;
}

/*-----------------------------------------------------------*/
/*お知らせ*/

.news_block{
	position: relative;
	overflow: hidden;
}

.news_block .block_inner{
	width: calc(100% - 49px);
	margin: 30px auto 0;
}

.news_block::before{
	content: '';
	display: inline-block;
	background: url("image/top/news_bg.png")no-repeat;
	background-size: contain;
	width: 241px;
	height: 69px;
	position: absolute;
	top: 47px;
	right: -12px;
	z-index: -1;
}

.news_block .block_inner h2{
	font-size: 2.15rem;
	color: #333333;
	letter-spacing: 0.2em;
	line-height: 1.75;
	padding-left: 29px;
	position: relative;
}

.news_block .block_inner h2 span{
	display: block;
	font-size: 1.14rem;
}

.news_block .block_inner h2::before{
	content: '';
	display: inline-block;
	background: url("image/top/tit_img.png")no-repeat;
	background-size: contain;
	width: 16px;
	height: 47px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.news_block .block_inner .news_list{
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin: 12px auto 28px;
}

.news_block .block_inner .news_list li{
	width: 44.14%;
	position: relative;
}

.news_block .block_inner .news_list li:nth-child(n + 3){
	display: none;
}

.news_block .block_inner .news_list li a{
	display: block;
	width: 100%;
}


.news_block .block_inner .news_list li .new_mark{
	display: block;
	width: 36px;
	line-height: 36px;
	border-radius: 50%;
	background: #29a6dd;
	font-size: 1.1rem;
	letter-spacing: 0.2em;
	color: #fff;
	text-align: center;
	position: absolute;
	top: -7px;
	left: -5px;
}

.news_block .block_inner .news_list li .thumb{
	width: 100%;
}

.news_block .block_inner .news_list li .thumb img{
	width: 100%;
	height: auto;
}

.news_block .block_inner .news_list li .date{
	margin: 10px 0 6px;
	/*font-size: 1.3rem;*/
	font-size: 1.4rem;
	font-weight: 400;
}

.news_block .block_inner .news_list li .title{
	/*font-size: 1.4rem;*/
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.36;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;	
}

.news_block .block_inner .link_btn{
	width: 128px;
	margin: 0 auto 28px;
}

.news_block .block_inner .link_btn a{
	display: block;
	width: 100%;
	line-height: 45px;
	box-sizing: border-box;
	border: 1px solid #000;
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	text-align: center;
	background-color: #fff;
	background-image: url("image/top/link_ico01.png");
	background-size: 7px 12px;
	background-repeat: no-repeat;
	background-position: right 15px center;
}


/*-----------------------------------------------------------*/
/*block01*/

.block01{
	width: 100%;
	background: url("image/top/sp_b01_bg.jpg")no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}


.block01 .block_inner{
	width: calc(100% - 30px);
	margin: 12px auto 13px;
	border: 1px solid rgba(255,255,255,0.44);
	box-sizing: border-box;
}


.block01 .block_inner .f_txt{
	font-size: 1.9rem;
	line-height: 1;
	color: #fff;
	letter-spacing: 0.2em;
	margin-top: 25px;
	text-align: center;
}

.block01 .block_inner h2{
	font-size: 2.0rem;
	color: #fff;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.2em;
	padding-top: 57px;
	position: relative;
}

.block01 .block_inner h2::before{
	content: '';
	display: inline-block;
	background: url("image/top/d_img.png")no-repeat;
	background-size: contain;
	width: 49px;
	height: 22px;
	position: absolute;
	top: 21px;
	left: 50%;
	transform: translateX(-50%);
}

.block01 .block_inner .b01_btn{
	width: 137px;
	margin: 50px auto;
}

.block01 .block_inner .b01_btn a{
	display: block;
	width: 100%;
	line-height: 36px;
	box-sizing: border-box;
	border: 1px solid #fff;
	/*font-size: 1.35rem;*/
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	color: #fff;
	text-align: center;
	background-image: url("image/top/link_ico01_hov.png");
	background-repeat: no-repeat;
	background-size: 6px 7px;
	background-position: right 15px center;
}


/*-----------------------------------------------------------*/
/*b02_head*/

.b02_head{
	overflow: hidden;
	position: relative;
}

.b02_head::before{
	content: '';
	display: inline-block;
	background: url("image/top/sp_b02_head.png")no-repeat;
	background-size: contain;
	width: 283px;
	height: 123px;
	position: absolute;
	bottom: 0;
	right: 0;
}

.b02_head .block_inner{
	width: calc(100% - 38px);
	margin: 42px auto 19px;
	overflow: hidden;
}

.b02_head .block_inner h2{
	font-size: 2.0rem;
	letter-spacing: 0.2em;
	line-height: 1.75;
	position: relative;
	padding-left: 26px;
}


.b02_head .block_inner h2 span{
	display: block;
	font-size: 2.02rem;
}


.b02_head .block_inner h2::before{
	content: '';
	display: inline-block;
	background: url("image/top/tit_img02.png")no-repeat;
	background-size: contain;
	width: 11px;
	height: 73px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

/**/


.b02_head .block_inner .area_01{
	margin: 20px auto 0;
	border: 2px solid #e81c24;
	padding: 18px 0;
	box-sizing: border-box;
	background: #fff;
	position: relative;
	z-index: 1;
}

.b02_head .block_inner .area_01 .lv2{
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.2em;
	text-align: center;
}

.b02_head .block_inner .b01_btn{
	width: 175px;
	margin: 10px auto 0;
}

.b02_head .block_inner .b01_btn a{
	display: block;
	width: 100%;
	line-height: 36px;
	box-sizing: border-box;
	border: 1px solid #000;
	/*font-size: 1.35rem;*/
	font-size: 1.3rem;
	letter-spacing: 0.2em;
	color: #000;
	text-align: center;
	background-image: url("image/top/link_ico01.png");
	background-repeat: no-repeat;
	background-size: 6px 7px;
	background-position: right 15px center;
}


/*-----------------------------------------------------------*/
/*block02-01*/

.block02-01{
	padding: 56px 0 62px;
}

.block02-01 .block_inner{
	width: 79.03%;
	margin: 0 auto;
}

.block02-01 .block_inner p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1.65rem;
	line-height: 1.84;
	letter-spacing: 0.1em;
	color: #000;
	text-align: center;
}

.block02-01 .block_inner p span{
	border-bottom: 4px solid #f7e921;
}


.block02-01 .block_inner .b01_btn{
	width: calc(100% - 10px);
	margin: 36px auto 0;
}

.block02-01 .block_inner .b01_btn a{
	display: block;
	width: 100%;
	line-height: 46px;
	background: url("image/top/link_ico-white.png")no-repeat #333333 right 19px center;
	background-size: 8px auto;
	font-size: 14px;
	color: #fff;
	text-align: center;
}


/*-----------------------------------------------------------*/
/*block02*/

.block02{
	background: url("image/top/sp_video_bg.jpg")no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding: 20.83vw 0;/*150*/
	overflow: hidden;
}

.block02 video{
	display: none;
}


.block02 .txt_area{
	width: calc(100% - 50px);
	margin: 29px auto;
	text-align: center;
}

/*
.block02 .txt_area .lv1{
	font-size: 1.65rem;
	line-height: 1.85;
	letter-spacing: 0.2em;
	color: #fff;
	position: relative;
}

.block02 .txt_area .lv1::before{
	content: '';
	display: inline-block;
	background: #f7e921;
	width: 292px;
	height: 4px;
	position: absolute;
	bottom: -6px;
	left: 50%;
	transform: translateX(-50%);
}
*/

.block02 .txt_area .lv2{
	margin-top: 31px;
	font-size: 1.5rem;
	line-height: 1.77;
	letter-spacing: 0.2em;
	color: #fff;
	text-align: left;
	padding: 0 12px;
}

.block02 .txt_area .lv3{
	/*font-size: 1.25rem;*/
	font-size: 1.5rem;
	line-height: 1.68;
	letter-spacing: 0.2em;
	color: #fff;
	margin: 38px 30px 0;
	text-align: left;
}

.block02 .txt_area .bnr{
	width: 292px;
	margin: 21px auto 0;
}

.block02 .txt_area .bnr img{
	width: 100%;
	height: auto;
}

.block02 .txt_area p.lv1{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1.65rem;
	line-height: 1.84;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}

.block02 .txt_area p.lv1 span{
	border-bottom: 4px solid #f7e921;
}


.block02 .txt_area .b01_btn{
	width: calc(100% - 10px);
	margin: 36px auto 0;
}

.block02 .txt_area .b01_btn a{
	display: block;
	width: 100%;
	line-height: 46px;
	background: url("image/top/link_ico01.png")no-repeat #fff right 19px center;
	background-size: 8px auto;
	font-size: 14px;
	color: #333;
	text-align: center;
}

/*-----------------------------------------------------------*/
/*b02_bottom*/

.b02_bottom{
	position: relative;
	overflow: hidden;
}

.b02_bottom::before{
	content:'';
	display: inline-block;
	background: url("image/top/sp_b02_bottom.png")no-repeat;
	background-size: cover;
	width: 100%;
	height: 123px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.b02_bottom .block_inner{
	width: calc(100% - 49px);
	margin: 20px auto 0;
	overflow: hidden;
}

.b02_bottom .block_inner .b02_list{
	list-style: none;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #f7e921;
	background: #fff;
	padding: 15px 30px 19px;
}

.b02_bottom .block_inner .b02_list li{
	/*font-size: 1.25rem;*/
	font-size: 1.45rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	position: relative;
}

.b02_bottom .block_inner .b02_list li:last-child{
	margin-top: 10px;
}

.b02_bottom .block_inner .b02_list li::before{
	content: '';
	display: inline-block;
	background: #f7e921;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: relative;
	top: 2px;
	margin-right: 6px;
}

/*-----------------------------------------------------------*/
/*block03*/

.block03{
	overflow: hidden;
}

.block03 .block_inner{
	width: calc(100% - 68px);
	margin: 34px auto 0;
	overflow: hidden;
}

.block03 .block_inner h2{
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.2em;
	text-align: center;
	padding-bottom: 13px;
	position: relative;
}

.block03 .block_inner h2::before{
	content: '';
	display: inline-block;
	background: #f7e921;
	width: 46px;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.block03 .block_inner .b03_list{
	list-style: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 24px;
}

.block03 .block_inner .b03_list li{
	width: 100%;
	position: relative;
}

.block03 .block_inner .b03_list li:nth-child(2){
	margin: 44px 0;
}

.block03 .block_inner .b03_list li span{
	width: 49px;
	position: absolute;
	top: -6px;
	left: 38px;
}

.block03 .block_inner .b03_list li .thumb{
	width: 84.5%;
	margin: 0 auto;
}

.block03 .block_inner .b03_list li .thumb img{
	width: 100%;
	height: auto;
}

.block03 .block_inner .b03_list li dl{
	margin-top: 21px;
}


.block03 .block_inner .b03_list li dl dt{
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.2em;
}

.block03 .block_inner .b03_list li dl dd{
	margin: 20px 15px 0;
	/*font-size: 1.3rem;*/
	font-size: 1.45rem;
	line-height: 1.75;
}

/*-----------------------------------------------------------*/
/*block04*/

.block04{
	overflow: hidden;
}

.block04 .block_inner{
	width: calc(100% - 35px);
	margin: 50px auto 0;
}

.block04 .block_inner h2{
	/*font-size: 1.5rem;*/
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.2em;
	padding: 20px 0 20px 2px;
	box-sizing: border-box;
	border-bottom: 1px solid #949494;
	position: relative;
}

.block04 .block_inner h2 span.minus{
	display: none;
}

.block04 .block_inner h2 span{
	width: 40px;
	position: absolute;
	top: 50%;
	right: 2px;
	transform: translateY(-50%);
}

.block04 .block_inner h2 span img{
	width: 100%;
	height: auto;
}

.block04 .block_inner .detail{
	display: none;
}


.block04 .block_inner .lv1{
	margin-top: 13px;
	/*font-size: 1.3rem;*/
	font-size: 1.5rem;
	line-height: 1.75;
	color: #333333;
	padding: 0 12px;
}

.block04 .block_inner .list_area{
	width: 100%;
	margin: 15px auto 0;
	border: 1px solid #f7e921;
	box-sizing: border-box;
	padding: 11px 12px 14px;
}

.block04 .block_inner .list_area p{
	text-align: center;
	/*font-size: 1.3rem;*/
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.1em;
}

.block04 .block_inner .list_area .b04_list{
	list-style: none;
	margin-top: 16px;
}

.block04 .block_inner .list_area .b04_list li{
	position: relative;
	padding-left: 15px;
	/*font-size: 1.2rem;*/
	font-size: 1.4rem;
	line-height: 2.21;
	letter-spacing: 0.1em;
}

.block04 .block_inner .list_area .b04_list li::before{
	content: '';
	display: inline-block;
	background: #f7e921;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	top: 7px;
	left: 0;
}

/*-----------------------------------------------------------*/
/*block05*/

.block05{
	overflow: hidden;
}

.block05 .block_inner{
	width: calc(100% - 35px);
	margin: 14px auto 0;
}

.block05 .block_inner h2{
	/*font-size: 1.5rem;*/
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.2em;
	padding: 20px 0 20px 2px;
	box-sizing: border-box;
	border-bottom: 1px solid #949494;
	position: relative;
}

.block05 .block_inner h2 span.minus{
	display: none;
}

.block05 .block_inner h2 span{
	width: 40px;
	position: absolute;
	top: 50%;
	right: 2px;
	transform: translateY(-50%);
}

.block05 .block_inner h2 span img{
	width: 100%;
	height: auto;
}

.block05 .block_inner .detail{
	display: none;
}



.block05 .block_inner .gaiyo_table{
	width: 100%;
	margin: 13px auto 0;
}

.block05 .block_inner .gaiyo_table table{
	width: 100%;
}

.block05 .block_inner .gaiyo_table tr th{
	width: 86px;
	box-sizing: border-box;
}


.block05 .block_inner .gaiyo_table tr th div{
	padding: 10px 8px;
	font-size: 1.3rem;
	color: #333333;
	text-align: right;
}

.block05 .block_inner .gaiyo_table tr td{
	width: calc(100% - 86px);
	box-sizing: border-box;
	border-bottom: 1px solid rgba(102,102,102,0.5);
}

.block05 .block_inner .gaiyo_table tr td div{
	padding: 10px 6px;
	font-size: 1.3rem;
	color: #333333;
}


.block05 .block_inner .map_cover{
	width: 100%;
	margin: 26px auto 0;
	overflow: hidden;
}

.block05 .block_inner .map_cover h3{
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.2em;
	text-align: center;
}

.block05 .block_inner .map_cover .map{
	width: 100%;
	margin-top: 13px;
	line-height: 1;
}


.block05 .block_inner .map_cover .map iframe{
	width: 100%;
	height: 195px;
}
/*-----------------------------------------------------------*/
/*block07*/


.block07{
	overflow: hidden;
}

.block07 .block_inner{
	margin: 45px auto 0;
	overflow: hidden;
}

.block07 .block_inner ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.block07 .block_inner ul li{
	width: 100%;
	position: relative;
}

.block07 .block_inner ul li:nth-child(2){
	margin-top: 5px;
}

.block07 .block_inner ul li::before{
	content: '';
	display: inline-block;
	background: url("image/top/list_cov01.png")no-repeat;
	background-size: contain;
	width: 69px;
	height: 28px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.block07 .block_inner ul li::after{
	content: '';
	display: inline-block;
	background: url("image/top/list_cov02.png")no-repeat;
	background-size: contain;
	width: 69px;
	height: 28px;
	position: absolute;
	bottom: -1px;
	right: 0;
	z-index: 1;
}


.block07 .block_inner ul li a{
	display: block;
	width: 100%;
}

.block07 .block_inner ul li a .img_area{
	width: 100%;
	height: 147px;
	background: url("image/top/top_menu01.jpg")no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}

.block07 .block_inner ul li:nth-child(2) a .img_area{
	width: 100%;
	height: 147px;
	background: url("image/top/top_menu02.jpg")no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}



.block07 .block_inner ul li a .img_area .lv1{
	padding: 31px 0 0 15px;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	line-height: 1;
	color: #fff;
}


.block07 .block_inner ul li a .img_area .lv2{
	padding: 30px 0 0 15px;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #fff;
}


.block07 .block_inner ul li:nth-child(2) a .img_area .lv1{
	padding: 31px 0 0 23px;
}


.block07 .block_inner ul li:nth-child(2) a .img_area .lv2{
	padding: 30px 0 0 23px;
}


.block07 .block_inner ul li a .img_area .b07_btn{
	width: 108px;
	position: absolute;
	bottom: 48px;
	right: 21px;
}

.block07 .block_inner ul li:nth-child(2) a .img_area .b07_btn{
	bottom: 42px;

}


.block07 .block_inner ul li a .img_area .b07_btn p{
	display: block;
	width: 100%;
	line-height: 45px;
	border: 1px solid #fff;
	box-sizing: border-box;
	/*font-size: 1.25rem;*/
	font-size: 1.45rem;
	text-align: center;
	letter-spacing: 0.2em;
	color: #fff;
	background-image: url("image/top/link_ico01_hov.png");
	background-repeat: no-repeat;
	background-size: 6px 8px;
	background-position: right 14px center;
}



/*-----------------------------------------------------------*/
/*block08*/

.block08{
	overflow: hidden;
}

.block08 .block_inner{
	width: calc(100% - 62px);
	margin: 41px auto 0;
	overflow: hidden;
}

.block08 .block_inner h2{
	text-align: center;
}

.block08 .block_inner h2 img{
	width: 36px;
	height: auto;
}

.block08 .block_inner .insta_area{
	width: 100%;
	margin-top: 13px;
	overflow: hidden;
}

.block08 .block_inner .insta_area img{
	width: 100%;
	height: auto;
}


#sb_instagram.sbi_col_5.sbi_disable_mobile #sbi_images .sbi_item:nth-child(n + 7) {
    display: none;
}

.sbi_disable_mobile #sbi_images .sbi_item {
    width: 33.33% !important;
}

.sbi_photo {
    height: 82px !important;
}

/*-----------------------------------------------------------*/
/*block09*/

.block09{
	overflow: hidden;
}

.block09 .block_inner{
	/*width: calc(100% - 62px);*/
	margin: 50px auto 37px;
	overflow: hidden;
}

.block09 .block_inner h2{
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.2em;
	text-align: center;
}

.block09 .block_inner .cal_area{
	box-sizing: border-box;
	margin-top: 23px;
}

.block09 .block_inner .cal_area img{
	width: 100%;
	height: auto;
}

.block09 .block_inner .cal_area iframe{
	width: 100%;
}


