@charset "utf-8";
/* CSS Document */
html{scroll-behavior: smooth;}
body {
	font-family:"Zen Kaku Gothic New","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック";
	font-size:22px;
	line-height: 1.5;
	font-weight: 700;
	color: #000000;
	text-align: justify;
}

*{vertical-align: top; box-sizing: border-box; word-break: break-all;}

body.noscroll {overflow: hidden;}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#wrapper {
	display: flex;
	width: 100%;
	background: #fff no-repeat center top;
	overflow: hidden;
	height: auto;
}

.buttonBar{display: none;}

.br_sp{display: none;}
.br_ipad{display: none;}

.contents_90 {
	width: 90%;
	margin: 0 auto;
}

.white_90 {
	width: 100%;
	padding-left: 20px!important;
	padding-right: 20px!important;
	background: #ffffff;
}

a{display: block;}

.eng {
	font-family: "komet", "komet-sc", "sans-serif", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック";
	font-style: normal;
	font-weight: 700;
}

/* ↓ テーブルデザイン ↓ */
table{
	box-sizing: border-box;
	border: 2px solid #000000;
	width: 100%;
}
th,td{
	border: 2px solid #000000;
	font-weight: 700;
}
th{
	width: 26%;
	vertical-align: middle;
	padding: 2%;
	text-align: center;
}
td{padding: 3% 30px;}

.graph span{
	display: block;
	font-size: 16px;
}

.graph .kazari_table::before{
	content: "";
	background: url(../img/daiya.gif)top center no-repeat;
	background-size: contain;
	width: 14px;
  height: 14px;
	display: inline-block;
	margin-right: 8px;
}

/* ↑ テーブルデザイン ↑ */

p{margin-bottom: 50px;}


/* ↓ 飾りテキストデザイン ↓ */
.kazari_txt{
	text-align: center;
	margin-bottom: 37px;
}
.kazari_txt em{
	display: block;
	font-weight: bold;
	margin-bottom: 18px;
}
.kazari_txt em::before,
.kazari_txt em::after{
	content: "";
	background: url(../img/daiya.gif)top center no-repeat;
	background-size: contain;
	width: 14px;
	height: 14px;
	display: inline-block;
}

.kazari_txt em::before{margin-right: 20px;}
.kazari_txt em::after{margin-left: 20px;}

.kazari_txt span{
	display: block;
	font-size: 18px;
	margin-bottom: 18px;
}
/* ↑ 飾りテキストデザイン ↑ */


/* ↓ ポップアップデザイン ↓ */
/* ==== モーダル全体 ==== */
.modal {display: none;}
.modal.is-open {display: block;}
button {background: inherit;}

/* ==== 背景（フェード）==== */
.modal__overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);

	display: flex;
	align-items: center;
	justify-content: center;

	opacity: 0;
	transition: opacity 0.3s ease;
}

/* 開いたとき */
.modal.is-open .modal__overlay {opacity: 1;}

/* ==== 中身（ちょい拡大＋フェード）==== */
.modal__container {
	background: #fff;
	width: min(90vw, 700px);/* PC:600px / SP:画面の90% */
	height: min(80vh, 500px);/* 高さも画面基準 */

	transform: translateY(20px);
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	background: url(../img/bg.jpg)top center repeat;
	z-index: 1;
	position: relative;
}

/* 中身だけスクロール */
.modal__content {
	height: 100%;
	padding: 60px 40px;
	overflow-y: auto;
	box-sizing: border-box;
}

.modal.is-open .modal__container {
	transform: translateY(0);
	opacity: 1;
}

#modal-1 .modal__container h4 {
	background: #000000;
	color: #ffffff;
	padding: 20px 10px;
	margin-bottom: 40px;
	font-weight: bold;
	text-align: center;
}

#modal-1 .modal__container h4::before{
	content: "";
	background: url(../img/camera_img.png) top center no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: middle;
}

#modal-1 .modal__container span{
	margin-top: 20px;
	display: block;
}

/* ==== 閉じるボタン ==== */
.modal_close {
	position: absolute;
	background: none;
	cursor: pointer;
	color: #fff;
	right: 0;
	top: -40px;
	font-size: 30px;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	/* iOS対策 */
}

.modal_close:focus {outline: none;}

/* ==== スマホ用：スクロール固定 ===== */
body.is-modal-open {
	/*position: fixed;*/
	overflow: hidden;
	width: 100%;
}

/* ==== 受け取り方法用html ===== */
.uketori h4{
	background:#db0412;
	color:#ffffff;
	font-size: 28px;
	text-align: center;
	font-weight: 500;
	padding: 20px 10px;
	margin-bottom: 40px;
}

#modal-2 .uketori>.modal__content .arrow,
#modal-3 .uketori>.modal__content .arrow{
	margin-top: 40px;
	display: block;
	text-align: center;
	background: url(../img/popup_line.gif) center left repeat-x;
}

#modal-2 .uketori>.modal__content .arrow img,
#modal-3 .uketori>.modal__content .arrow img{
	width: 60px;
	vertical-align: middle;
}
#modal-3 .uketori>.modal__content .or{
	display: block;
	text-align: center;
}
#modal-3 .uketori>.modal__content .or img{
	width: 44px;
	vertical-align: middle;
}

.uketori .modal__content>div{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 30px;
	gap: 2%;
}
#modal-2 .uketori .modal__content>div>img,
#modal-3 .uketori .modal__content>div>img{
	width: 34%;
	height: auto;
	object-fit: contain;
}
.uketori .modal__content>div div {width: 58%;}
.uketori .modal__content>div h5{
	box-sizing: border-box;
	font-weight: bold;
	text-align: center;
	border: 2px solid #000;
	font-size: 24px;
	padding: 6px 10px;
	margin-bottom: 24px;
}
.uketori .modal__content>div em {
	font-size: 18px;
	display: block;
	font-weight: bold;
}
.uketori .modal__content>.koukan_basyo{
	box-sizing: border-box;
	border-radius: 20px;
	border: 2px solid #cd141c;
	padding: 60px 30px 40px;
	display: flex;
	position: relative;
}
.uketori .modal__content>.koukan_basyo::before{
	content: "";
	background: url(../img/basho_ttl.png)top center no-repeat;
	background-size: contain;
	width: 238px;
	height: 57px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	/*top: -30px;
	left: 50%;
	transform: translateX(-50%);*/
	transform: translate(-50%, -52%);
}
.uketori .modal__content>.koukan_basyo em {margin-top: 16px;}
.uketori .modal__content>.koukan_basyo div{width: 48%;}
.uketori .modal__content>.koukan_basyo img{width: 100%;}

/* ↑ ポップアップデザイン ↑ */
.betsu_tab{
	margin-top: 10px;
	border-bottom: 1px solid #000000;
	display: inline-block;
}
.betsu_tab::after{
	content: "";
	background: url(../img/betsu_tabu.png)top center no-repeat;
	background-size: contain;
	width: 22px;
	height: 16px;
	display: inline-block;
	margin-left: 8px;
}

@media screen and (max-width: 1400px) {
	.br_ipad {display: block;}
}


@media screen and (max-width: 1024px) {
	div#wrapper {width: 100%!important; display: block;}
}

@media screen and (max-width: 768px) {
	body{font-size: 16px;}
	div#wrapper {
		width: 100% !important;
		display: block;
	}
	p {margin-bottom: 30px;}

	.kazari_txt{margin-bottom: 30px;}
	.kazari_txt em {margin-bottom: 10px;}
	.kazari_txt span{margin-bottom: 10px;font-size: 15px;}

	td {padding: 3% 12px;vertical-align: middle;}
	.graph span {font-size: 13px;}

	.br_sp {display: block;}

	.modal__content{padding: 30px 20px;}
	.uketori h4{
		font-size: 18px;
		padding: 10px;
		margin-bottom: 20px;
	}
	.uketori .modal__content>div{
		width: 100%;
		margin-top: 20px;
		padding: 4px 10px;
	}
	.uketori .modal__content>div h5{
		font-size: 16px;
		margin-bottom: 8px;
	}

	#modal-2 .uketori .modal__content>div>img,
	#modal-3 .uketori .modal__content>div>img {
		width: 38%;
	}

	.uketori .modal__content>.koukan_basyo{padding: 40px 20px 24px;}
	.uketori .modal__content>.koukan_basyo em{
		margin-top: 10px;
		font-size: 14px;
	}

	#modal-2 .uketori>.modal__content .arrow,
	#modal-3 .uketori>.modal__content .arrow {
		margin-top: 20px;
	}

	/*.uketori .modal__content>.koukan_basyo::before{
		width: 56%;
		top: -21px;
	}*/
	.uketori .modal__content>.koukan_basyo::before {
		width: 178px;
		height: 45px;
	}

	#modal-1 .modal__content{padding: 50px 20px;}
	#modal-1 .modal__container {height: min(80vh, 300px);}

	.uketori .modal__content>div em {font-size: 15px;}

}

@media screen and (max-height: 650px) {

	/* ↓ ポップアップデザイン ↓ */
	.modal__container{height: min(68vh, 500px);}
	.modal__content{padding: 30px 20px;}
	.uketori h4{
		font-size: 22px;
		padding: 12px 10px;
	}
	.uketori .modal__content>div h5{
		font-size: 18px;
		margin-bottom: 12px;
	}
	/* ↑ ポップアップデザイン ↑ */

}

/********************************

左メニュー

********************************/

#left{
	height: 100vh;
	max-width: 53%;
	width: 100vw;
	position: fixed;
	right: auto;
	top: 0;
	bottom: 0;
}

#left>img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	object-position: bottom;
}

/*** logo ***/
#left .logo{
	position: absolute;
	z-index: 111111;
	width: 86%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#left .logo h1{
	width: 86%;
	margin: 0 auto 20px;
}
#left .logo img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/*** btn ***/

#left .logo>ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#left li a{display: inline-block;}

#left li:not(:last-child){margin-bottom: 26px;}

#left .logo>ul>li{width: 48%;}

#left .logo>ul>li:first-child{
	display: block;
	width: 100%;
}

#left .logo>ul .left_link li{height: 100px;}

#left a{
	color: #ffffff;
	font-size: 32px;
}
#left em{
	color: #dc0a18;
	font-size: 15px;
	display: block;
}
#left span{
	display: block;
	font-size: 16px;
}

#left .pro3_ttl img{width: 193px;}
#left .pro4_ttl img {width: 161px;}

@media screen and (max-width: 1400px) {
	#left a {font-size: 24px;}
	#left span {font-size: 14px;}
	#left .pro3_ttl img {width: 133px;}
	#left .pro4_ttl img {width: 111px;}
}

@media screen and (max-width: 1200px) {
	#left{max-width: 100%;}
	#left .logo {display: none;}
}

@media screen and (max-width: 750px) {
	#left{display: none;}
	#left>img {display: none;}
}

@media screen and (max-height: 750px) {
	#left .logo h1 {
		width: 70%;
		margin: 0 auto 14px;
	}
	#left li:not(:last-child){margin-bottom: 18px;}
	#left a{font-size: 24px;}
	#left span{font-size: 14px;}

	#left .pro3_ttl img{width: 133px;}
	#left .pro4_ttl img{width: 111px;}

	#left .logo>ul .left_link li{height: 80px;}
}

/********************************
********************************

#center部分大枠

********************************
********************************/
#center {
	width: 42%;
	height: 100vh;
	overflow-y: scroll;
	position: fixed;
	left: auto;
	right: 5.5%;
	top: 0;
	background:#ffffff;
	background: url(../img/bg.jpg)top center repeat;
	background-size: 100%;
	z-index: 998;
	scroll-behavior: smooth;
}

#center .scroll_box {margin: 90px auto 0;}

#center img {width: 100%;}

#center .scroll_box .pc_mv {margin-bottom: 60px;}



@media screen and (min-width: 1200px) {
	#mv {
		width: 90%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 1200px) {
	#center {
		width: 500px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.inner_box {background: url(../img/bg.png)top center no-repeat;}

	.inner_box div {
		width: 90%;
		margin: 0 auto;
		padding-top: 40px;
	}
}

@media screen and (max-width: 750px) {
	#center {
		width: 100%;
		height: auto;
		position: static;
		transform: none;
		overflow: hidden;
	}

	#mv {width: 100%;}
}


/********************************
#news
********************************/

#news{
	padding: 100px 0 140px;
	overflow: hidden;
}

#news h2 {
	width: 211px;
	margin: 0 auto;
}

#news ul{
	/*height: 280px;*/
	height: auto;
	overflow: auto;
}

#news li {
	padding: 30px;
	border-bottom: 2px solid #000000;
}

#news time {
	margin-right: 4%;
	width: 100px;
	display: inline-block;
}

#news span{
	width: calc(100% - (100px + 4%));
	display: inline-block;
}

@media screen and (max-width: 768px) {
	#news{padding: 70px 0 80px;}
	#news h2{width: 171px;}
	#news li{padding: 20px 16px;}
	#news time{display: block;}
	#news span {width: 100%;}
}


/********************************

#movie

********************************/

#movie{background: #ffffff;}

#movie h2 {
	width: 211px;
	margin: 0 auto;
}

#movie>div{
	background: #000000;
	padding: 40px 0;
}

.youtube {
	width: 100%;
	padding-top: 56.25%;
	/* 16:9 */
	aspect-ratio: 16 / 9;
	cursor: pointer;
	position:relative;
}

.youtube img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 2;
}

.youtube iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.youtube.is-play img {
	display: none;
}


@media screen and (max-width: 768px) {
	#movie h2 {width: 171px;}
	#movie>div {padding: 30px 0;}
}

/********************************

#message

********************************/

#message{
	padding: 130px 0 170px;
	background: url(../img/message_bg.jpg)top center no-repeat;
	background-size: cover;
}

#message img{
	width: 84%;
	margin: 0 auto;
	display: block;
}

@media screen and (max-width: 768px) {
	#message {padding: 80px 0 110px;}
}

/********************************

#airport

********************************/

#airport {
	padding: 210px 0 120px;
	background: url(../img/project1_kazari.png)top center / 100% no-repeat;
}
#airport h2{margin-bottom: 60px;}

.airport_map{margin-top: 100px;}
.airport_map h3,
.airport_collabo h3{margin-bottom: 40px;}

.airport_collabo>p{margin: 15px auto 40px;}

.airport_map>div{margin-bottom: 80px;}

.airport_map>div ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

.airport_map ul li{width: 48%;}

.airport_map .map_01 li:first-child{margin-bottom: 10px;}
.airport_map .map_01 li:first-child button{
	display: inline-block;
	width: 38%;
	margin-left: 15px;
}

.airport_map .map_01 li:first-child,
.airport_map .map_02 li:last-child{
	display: block;
	width: 100%;
}

.airport_kazari{
	display: block;
	width: 105px;
	margin: 0 auto 80px;
}

@media screen and (max-width: 768px) {
	#airport{padding: 150px 0 80px;}
	#airport h2{margin-bottom: 30px;}
	.airport_map {margin-top: 60px;}
	.airport_map>div {margin-bottom: 30px;}
	.airport_map>div ul{margin-top: 20px;}
	.airport_kazari {
		width: 75px;
		margin: 0 auto 40px;
	}
	.airport_map .map_01 li:first-child button {width: 42%;}
}

@media screen and (max-width: 500px) {
	#airport{padding: 120px 0 70px;}
}

/********************************
.tenji
********************************/

.tenji{margin-bottom: 60px;}

.tenji h3,
.tenji p,
.tenji .graph{
	width: 90%;
	margin: 0 auto;
}

.tenji .graph{margin: 55px auto 0;}
.tenji h3{margin-bottom: 40px;}
.tenji p{margin: 60px auto 30px;}

/*.tenji div{
	background: url(../img/kumo01.png) top right / 50% no-repeat, url(../img/kumo02.png) top left / 50% no-repeat;
	margin-bottom: 60px;
	padding-top: 50px;
}
.tenji div img{
	width: 90%!important;
	margin: 0 auto;
	display: block;
}*/

@media screen and (max-width: 768px) {
	.tenji p{margin: 30px auto 20px;}
	.tenji .graph {margin: 35px auto 0;}
}

/********************************
.airport_collabo
********************************/

.airport_collabo .graph{margin-bottom: 60px;}
@media screen and (max-width: 768px) {
	.airport_collabo .graph {margin-bottom: 30px;}
}

/********************************

#dokuhatei

********************************/

.dokuhatei_main{
    padding: 210px 0 90px;
    background: url(../img/project2_kazari.png) top center / 100% no-repeat;
}

.dokuhatei_main h2 {margin-bottom: 60px;}

@media screen and (max-width: 768px) {
	.dokuhatei_main {padding: 150px 0 80px;}
	.dokuhatei_main h2 {margin-bottom: 30px;}
}

@media screen and (max-width: 500px) {
	.dokuhatei_main {padding: 120px 0 70px;}
}

/********************************
.kanran_chui
********************************/

.kanran_chui{
	margin-top: 60px;
	background: #ffffff;
	padding-bottom: 20px;
}
.kanran_chui h3{
	background: #e60e1c;
	color: #ffffff;
	text-align: center;
	font-size: 36px;
	padding: 14px 20px;
	margin-bottom: 30px;
	font-weight: bold;
}
.kanran_chui span{
	background: #000000;
	color: #ffffff;
	text-align: center;
	font-size: 24px;
	padding: 10px 40px;
	display: inline-block;
	margin: 0 0 20px 30px;
}
.kanran_chui div{margin-bottom: 34px;}
.kanran_chui div p{
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	.kanran_chui {margin-top: 30px;}
	.kanran_chui h3{
		font-size: 22px;
		margin-bottom: 20px;
	}
	.kanran_chui span{
		font-size: 15px;
		padding: 7px 14px;
		margin: 0 0 10px 30px;
	}
	.kanran_chui div{margin-bottom: 20px;}
}

/********************************

#hot_springs

********************************/

.hot_springs_box{
    padding: 210px 0 90px;
    background: url(../img/project3_kazari.png) top center / 100% no-repeat;
}

.hot_springs_box h2 {margin-bottom: 60px;}
.hot_springs_p{margin: 35px auto 54px;}
.hot_springs_p2{margin: 55px auto 40px;}

.hot_springs_box .graph{margin-bottom: 60px;}

@media screen and (max-width: 768px) {
	.hot_springs_box{padding: 150px 0 80px;}
	.hot_springs_box h2 {margin-bottom: 30px;}
	.hot_springs_p{margin: 30px auto 34px;}
	.hot_springs_p2{margin: 30px auto;}
	.hot_springs_box .graph{margin-bottom: 30px;}
}

@media screen and (max-width: 500px) {
	.hot_springs_box{padding: 120px 0 70px;}
}

/********************************

#aritayaki

********************************/

.aritayaki_box{
	padding: 210px 0 90px;
	background: url(../img/project4_kazari.png) top center / 100% no-repeat;
}

.aritayaki_box h2{margin-bottom: 40px;}

.aritayaki_box .contents_90>p{text-align: center;}
/*.aritayaki_box .aritayaki_inner{margin-bottom: 80px;}*/

.sakusya_profile{
	background: url(../img/hidarihaji.jpg)left top/44px no-repeat,/*左上端*/
	url(../img/migiihaji.jpg)right top/44px no-repeat,/*右上端*/
	url(../img/hidarihaji2.jpg)left bottom/44px no-repeat,/*左下端*/
	url(../img/migiihaji2.jpg)right bottom/44px no-repeat,/*右下端*/
	url(../img/profile_pattern1.jpg)top center repeat-x,/*二重線上*/
	url(../img/profile_pattern2.jpg) bottom center repeat-x,/*二重線下*/
	url(../img/profile_pattern3.jpg) left top repeat-y,/*二重線左横*/
	url(../img/profile_pattern4.jpg) right top repeat-y,/*二重線右横*/
	#ffffff;
	padding: 40px;

}
.sakusya_profile p{margin: 40px auto 0;}

@media screen and (max-width: 768px) {
	.aritayaki_box{padding: 150px 0 80px;}
	/*.aritayaki_box .aritayaki_inner{margin-bottom: 60px;}*/
	.sakusya_profile p{margin: 20px auto 0;}
}

@media screen and (max-width: 500px) {
	.aritayaki_box {padding: 120px 0 70px;}
}

/********************************
.tokuho
********************************/

.tokuho h2 {
	font-weight: bold;
	margin-bottom: 10px;
	margin: 40px auto 10px;
	width: 80%;
}
.tokuho h3 {
	font-size: 40px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 40px;
}
.tokuho h3 span {
	font-size: 22px;
	display: block;
}
.tokuho .graph {margin-bottom: 60px;}

@media screen and (max-width: 768px) {
	.tokuho h3{
		font-size: 28px;
		margin-bottom: 20px;
	}
	.tokuho h3 span{
		font-size: 18px;
		margin-top: 4px;
	}
	.tokuho .graph{margin-bottom: 30px;}
}

/********************************

#googlemap

********************************/
#googlemap {
	background: url(../img/googlemap_bg.jpg) top center/cover no-repeat;
	padding: 10px 0;
}

#googlemap .map_line{
	border: 2px solid #7f6126;
	box-sizing: border-box;
	width: calc(100% - 20px);
	padding: 70px 0 50px;
	margin: 0 auto;
	position: relative;
}

#googlemap .map_line a{margin-top: 45px;}

/* ↓ 線の模様 ↓ */
#googlemap .map_line .map_line_sub{
	position: absolute;
	background: url(../img/map_line1.jpg)left top no-repeat;
	width: 16px;
	height: 16px;
	top: -2px;
	left: -2px;
}
#googlemap .map_line .map_line_sub2{
	position: absolute;
	background: url(../img/map_line2.jpg)left top no-repeat;
	width: 16px;
	height: 16px;
	top: -2px;
	right: -3px;
}
#googlemap .map_line .map_line_sub3 {
	position: absolute;
	background: url(../img/map_line3.jpg)left top no-repeat;
	width: 16px;
	height: 16px;
	bottom: -3px;
	left: -2px;
}
#googlemap .map_line .map_line_sub4 {
	position: absolute;
	background: url(../img/map_line4.jpg)left top no-repeat;
	width: 16px;
	height: 16px;
	bottom: -3px;
	right: -3px;
}
/* ↑ 線の模様 ↑ */

#googlemap .map_line div{
	width: 60%;
	max-width: 80%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	#googlemap .map_line{padding: 30px 0 40px;}
	#googlemap .map_line a{margin-top: 10px;}
}

/********************************

#saga_campaign

********************************/
#saga_campaign {
	background: url(../img/saga_campaign_bg.jpg) top center no-repeat;
	background-size: cover;
	padding: 80px 0;
	color: #ffffff;
}

#saga_campaign>div{
	background: rgba(0, 0, 0, 0.6);
	border: 2px solid #b49e66;
	box-sizing: border-box;
	width: 85%;
	margin: 0 auto;
	padding: 80px 50px 50px;
	position: relative;
}
#saga_campaign>div>img{margin-bottom: 32px;}


/* ↓ 線の模様 ↓ */
#saga_campaign .campaign_kazari_sub {
	position: absolute;
	background: url(../img/campaign_kazari.png)left top / contain no-repeat;
	width: 44px;
	height: 41px;
	top: 18px;
	left: 18px;
}

#saga_campaign .campaign_kazari_sub2 {
	position: absolute;
	background: url(../img/campaign_kazari2.png)left top / contain no-repeat;
	width: 44px;
	height: 41px;
	top: 18px;
	right: 18px;
}

#saga_campaign .campaign_kazari_sub3 {
	position: absolute;
	background: url(../img/campaign_kazari3.png)left top / contain no-repeat;
	width: 44px;
	height: 41px;
	bottom: 18px;
	left: 18px;
}

#saga_campaign .campaign_kazari_sub4 {
	position: absolute;
	background: url(../img/campaign_kazari4.png)left top / contain no-repeat;
	width: 44px;
	height: 41px;
	bottom: 18px;
	right: 18px;
}
/* ↑ 線の模様 ↑ */

#saga_campaign .kazari_txt{
	text-align: left;
	margin-bottom: 22px;
}
#saga_campaign .kazari_txt em{text-align: center;}

#saga_campaign a{
	width: 80%;
	margin: 0 auto 50px;
}

@media screen and (max-width: 1400px) {
	#saga_campaign .kazari_txt em {position: relative;}
	#saga_campaign .kazari_txt em::before{
		position: absolute;
		left: 30px;
		top: 50%;
		transform: translateY(-50%);
	}
	#saga_campaign .kazari_txt em::after {
		position: absolute;
		right: 30px;
		top: 50%;
		transform: translateY(-50%);
	}
}

@media screen and (max-width: 768px) {
	#saga_campaign{padding: 50px 0;}
	#saga_campaign>div{padding: 60px 30px 20px;}
	#saga_campaign>div>img{margin-bottom: 22px;}
}

/********************************

SPメインビジュアル

********************************/

.sp_mv{display: none;}
@media screen and (max-width: 1200px) {
	.sp_mv {
		display: block;
		position: relative;
	}
	.sp_mv a{
		position: absolute;
		width: 86%;
		bottom: 4%;
		display: block;
		height: 36%;
		right: 7%;
		left: 7%;
	}
	#center .scroll_box{
		width: 100%;
		margin: 0 auto;
	}
	#center .scroll_box .pc_mv{display: none;}

}

/*========= header （ハンバーガーメニュー） ===========*/
header {
	width: 5.5%;
	position: fixed;
	right: 0;
	z-index: 1000;
	display: inline-block;
	animation: he_bg 0.5s;
	transition: 0.4s;
	box-sizing: border-box;

	height: 100vh;
	background: #000000;
}

.hamburger {
	width: 100%;
	height: 78px;
	float: right;
	position: relative;
}

.hamburger div {
	display: block;
	width: 38px;
	height: 38px;
	position: absolute !important;
	z-index: 10001;
	cursor: pointer;
	top: 33%;
	right: 27%;
}

.hamburger div span:nth-child(1) {margin-top: 0px;}
.hamburger div span:nth-child(2) {
	margin-top: 12px;
	margin-right: 0px;
}
.hamburger div span:nth-child(3) {margin-top: 24px;}

.hamburger div span {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	background: #ffffff none repeat scroll 0% 0%;
	opacity: 1;
	right: 0px;
	transition: all 0.25s ease-in-out 0s;
	transform: rotate(0deg);
}
.hamburger div span.color {
	background: #ffffff none repeat scroll 0% 0%;
}

.hamburger div.opened span:nth-child(1) {
	transform: rotate(135deg);
	margin-top: 10px;
	background: #db0412!important;
}
.hamburger div.opened span:nth-child(2) {
	opacity: 0;
	right: -75px;
}
.hamburger div.opened span:nth-child(3) {
	transform: rotate(-135deg);
	margin-top: 10px;
	background: #db0412!important;
}

/*------ hamburger menu clickの時の LIST ------*/

div.inner {
	width: 26%;
	height: 100%;
	background-color: #000000;
	position: fixed;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	z-index: 10000;
	top: 0;
	opacity: 0;
	right: -100%;
	display: block;
	overflow-y: scroll;
	padding: 120px 0;
}

div.inner>div {
	width: 80%;
	margin: 0 auto;
	display: flex;
}

div.inner div ul {
	width: 100%;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: bold;
}
div.inner div ul li {
	width: 100%;
	display: block;
	vertical-align: top;
}
div.inner div ul li a {
	color: #ffffff;
	font-size: 20px;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 40px;
}

.on {
	right: 0 !important;
	display: block;
}

@media screen and (max-width: 1400px) {
	div.inner {width: 30%;}
	div.inner>div {width: 86%;}
	div.inner>div>span {width: 47%;}
	div.inner>div>span>img {width: 100%;}
}

@media screen and (max-width: 768px) {

	header {
		width: 58px;
		height: 58px;
	}

	.hamburger {
		width: 58px;
		height: 58px;
		top: 0px;
		right: 0px;
	}
	.hamburger div {
		width: 30px;
		height: 26px;
		right: 23%;
		top: 28%;
	}

	.hamburger div span:nth-child(2){margin-top: 10px;}
	.hamburger div span:nth-child(3){margin-top: 20px;}

	div.inner {
		width: 100%;
		height: 100%;
	}

	.hamburger a:hover {opacity: 1;}

}

/*sns*/
.sns{
	width: 70px;
	position: absolute;
	bottom: 50px;
	display: flex;
	flex-wrap: wrap;
	left: 50%;
	transform: translateX(-50%);
}
.sns a{
	width: 70px;
	margin-bottom: 14px;
}
.sns a:last-child{margin-bottom: 0;}
.sns img{
	width: 70px;
	height: 70px;
}


/*******************

動画

*********************/

.sec02 {height: 100vh;}


/*******************

スライド

*********************/

/*スライド*/

.swiper {
	width: 100%;
	height: 100%;
}

.swiper-wrapper {
	width: 100%;/* wrapperのサイズを調整 */
	height: 100vh;/*height: 300px;*/
}

.swiper-slide {
	/* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
	color: #111111;
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 230px;
}

.swiper-slide img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}


/*↓以下新規*/

.swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
	background-position: center;
}

.swiper-slide img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.mySwiper,
.mySwiper3,
.mySwiper5,
.mySwiper7{
	height: 16%;
	box-sizing: border-box;
	padding: 10px 0;
	margin: 30px auto 60px;
	width: 90%;
}
.mySwiper .swiper-slide,
.mySwiper3 .swiper-slide,
.mySwiper5 .swiper-slide,
.mySwiper7 .swiper-slide{
	width: 24%;
	height: 100%;
	opacity: 0.4;
}

.mySwiper,
.mySwiper3{width: 44%;}

.mySwiper .swiper-slide-thumb-active,
.mySwiper3 .swiper-slide-thumb-active,
.mySwiper5 .swiper-slide-thumb-active,
.mySwiper7 .swiper-slide-thumb-active{
	opacity: 1;
}
.mySwiper2,
.mySwiper4,
.mySwiper6,
.mySwiper8{
	height: 60%;
	width: 100%;
}

.mySwiper8 .swiper-button-prev{
	background: url(../img/button-prev_bg.jpg)top center repeat;
	left: 30px!important;
	width: 50px;
	height: 100px;
}
.mySwiper8 .swiper-button-prev svg,
.mySwiper8 .swiper-button-next svg{
	width: 15px;
	height: 28px;
}

.mySwiper8 .swiper-button-next {
	background: url(../img/button-next_bg.jpg)top center repeat;
	right: 30px!important;
	width: 50px;
	height: 100px;
}


@media screen and (max-width: 768px) {

	.mySwiper,
	.mySwiper3,
	.mySwiper5,
	.mySwiper7 {
		margin: 20px auto 30px;
	}

	.swiper2,
	.swiper4,
	.swiper6,
	.swiper8{
		margin: 40px auto 30px;
	}

	.mySwiper2,
	.mySwiper4,
	.mySwiper6,
	.mySwiper8 {
		height: 40%;
	}

	.mySwiper8 .swiper-button-prev {
		background: url(../img/button-prev_bg.jpg)top center repeat;
		left: 20px !important;
		width: 30px;
		height: 60px;
	}
	.mySwiper8 .swiper-button-next {
		background: url(../img/button-next_bg.jpg)top center repeat;
		right: 20px !important;
		width: 30px;
		height: 60px;
	}
	.mySwiper8 .swiper-button-prev svg,
	.mySwiper8 .swiper-button-next svg{width: 9px;}

}

@media screen and (max-width: 500px) {
	.swiper-slide {line-height: 180px;}
}

/*******************

footer

*********************/
footer{
	background: #000000;
	padding: 100px 0 60px;
}
footer #footer_box{text-align: center;}
footer #footer_box>img{width: 210px;}

footer #footer_box>.footer_sns{
	display: flex;
	gap: 16px;
	justify-content: center;
	margin: 22px auto 50px;
}

footer #footer_box>.footer_sns img{
	width: 70px;
	height: 70px;
}

#center footer div>span{
	display: block;
	text-align: center;
	margin-bottom: 34px;
	position: relative;
}
#center footer div>span img{
	width: 70%;
	position: relative;
	z-index: 1;
}
#center footer div>span::before{
	content: "";
	width: 100%;
	height: 2px;
	background: #cd141c;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

#center footer div>p{
	color: #ffffff;
	text-align: center;
	margin-bottom: 40px;
}

footer ul,footer a{
	color: #ffffff;
	font-size: 20px;
}
footer ul{margin-bottom: 100px;}
footer ul li{
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

footer ul span {
	background: #cd141c;
	padding: 8px 22px 10px;
	position: relative;
	color: #ffffff;
	font-size: 18px;
	margin-right: 16px;
	width: 110px;

	&>* {
		z-index: 1;
		position: relative;
	}

	&:after {
		content: "";
		border: 2px solid #fff;
		position: absolute;
		top: 4px;
		bottom: 4px;
		right: 4px;
		left: 4px;
	}
}

footer ul div {
	display: flex;
	align-items: center;
	font-size: 13px;
}

footer small {
	color: #ffffff;
	text-align: center;
	margin: 0 auto;
	display: block;
}

@media screen and (max-width: 1200px) {
	footer ul div {
		display: block;
		text-align: left;
	}
}

@media screen and (max-width: 768px) {
	footer{padding: 70px 0 30px;}
	footer #footer_box>.footer_sns{margin: 18px auto 20px;}
	#center footer div>span{margin-bottom: 24px;}
	#center footer div>p{margin-bottom: 30px;}
	footer ul{margin-bottom: 40px;}
	footer ul span{font-size: 14px;}

	footer #footer_box>.footer_sns img {
		width: 54px;
		height: 55px;
	}
	footer ul,footer a{font-size: 16px;}
}
