@charset "UTF-8";

body {
font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
font-size: 16px;
color: #000;
/*overflow-x: hidden;*/
}
main * { font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;}

@media screen and (max-width: 280px) { /*Galaxy Fold*/
  body {
  font-size: 14px;
  }
}

article{
width: 100%;
}
section{
  position: relative;
}
.active{
  opacity: 1;
}
a{
  transition: .3s;
}
a:link,
a:visited{
  color: #0952a4;
}
a:hover{
  opacity: 0.7;
}

/*
SP
==================================================== */
@media screen and (max-width: 759.9px) {
.spnone{
	display:none;
}

#container{
  position: relative;
  width: 100%;
}


/*footer*/
#footer {
	background-color: #F0F5FA;
}

#footer .inner {
	width: 96%;
	margin: 0 auto;
	padding: 2% 2%;
}

#footer .inner ul {
	font-size: 11px;
	line-height: 1.4;
    text-align: left;
}

#footer .inner ul li {
    display: inline-block;
    width: 46%;
	padding: 2% 0;
}

#footer .inner ul li:last-child {
    border-right: none;
}

#footer .copy {
	background-color: #0952a4;
    color: #FFFFFF;
    font-size: 9px;
    text-align: center;
    padding: 2% 0;
}

/*pagetop*/
#pagetop {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 100;
}
#pagetop a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 3em;
  height: 3em;
  background-color: rgba(255,255,255,.5);
  border:solid 1px #152a8c;
  border-radius: 50vh;
}
#pagetop a::after {
  content: '';
  width: 7px;
  height: 7px;
  border-style: solid;
  border-width: 0 6px 9px 6px;
  border-color: transparent transparent #152a8c transparent;
}


}




/*
PC
==================================================== */
@media screen and (min-width: 760px),print {
.pcnone{
	display:none;
}
#container{
  position: relative;
  z-index:1;
}


/*footer*/
#footer {
	background-color: #F0F5FA;
}

#footer .inner {
	width: 990px;
	margin: 0 auto;
	padding: 20px 0;
}

#footer .inner ul {
	font-size: 13px;
	line-height: 1.4;
    text-align: center;
}

#footer .inner ul li {
    display: inline-block;
	padding: 0 6px;
	border-right: 1px solid #CCC;
}

#footer .inner ul li:last-child {
    border-right: none;
}

#footer .copy {
	background-color: #0952a4;
    color: #FFFFFF;
    font-size: 12px;
    text-align: center;
    padding: 10px 0;
}

/*pagetop*/
#pagetop {
  display: none;
  position: fixed;
  right: 50px;
  bottom: 50px;
  cursor: pointer;
  z-index: 100;
}
#pagetop a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 80px;
  height: 80px;
  background-color: rgba(255,255,255,.5);
  border:solid 1px #152a8c;
  border-radius: 50vh;
}
#pagetop a::after {
  content: '';
  width: 7px;
  height: 7px;
  border-style: solid;
  border-width: 0 6px 9px 6px;
  border-color: transparent transparent #152a8c transparent;
}
#pagetop a:hover {
  background-color: #152a8c;
}
#pagetop a:hover::after {
border-width: 0 6px 9px 6px;
border-color: transparent transparent #fff transparent;
}


}






/* =========================================================
◆lazyload
========================================================= */
.lazyload, .lazyloading {opacity: 0;}
.lazyloaded {
opacity: 1;
transition: opacity 500ms;
}

.inner{
	width: 96%;
	margin: 0 2%;
	padding: 24px 0;
	box-sizing: border-box;
}
/*760px以上*/
@media screen and (min-width: 760px),print {
.inner{
	width: 96%;
	max-width:970px;
	min-width:760px;
	margin: 0 auto;
	padding:50px 0;
	display: block;
}
}


/*main{ font-family: "Noto+Sans+JP" }*/
main img{
	border-radius: 2px;
	width: 100%; 
	max-width: 100%;
	height: auto;
}



.main-visual h1{}





/* ナビゲーション 
----------------------------------------*/
.cp_nav { background: #00499f; }
.cp_nav .inner{ padding: 1.7em 0 1.5em; }

.cp_nav ul{
	flex-wrap: wrap;
    display: flex;
	justify-content: space-between;
	margin-bottom: 1em;
}
.cp_nav li{
	width: 48%;
}
.cp_nav li .btnbox{
	background: #231815;
    font-size: 14px;
	color: #fff;
	text-align: center;
    font-weight: bold;
    padding: 1em;
	margin-bottom: 5px;
    border-radius: 25px;
	transition-duration: 1s;
}
.cp_nav li .btnbox a{ color: #fff; }
.cp_nav li .btnbox:hover {
	background: #00beeb;
	transform: scale(0.5.0.5);
}
@media screen and (min-width: 760px) {
	
.cp_nav ul{
    display:flex;
	justify-content: space-around;
	margin-bottom: 2em;
}
.cp_nav li{
    font-size: 15px;
	width: 18%;
}
}

/* section 
---------------------------------*/
#train,
#saga,
#nagasaki{
	font-size: 14px;
	line-height: 1.6;
	overflow: hidden;
}
@media screen and (min-width: 760px) {
#train,
#saga,
#nagasaki{
	font-size: 16px;
	padding: 3em 0 0;
}
}


/* キャンペーン 
----------------------------------------*/
#campaign{ 
	padding: 3em 0 1em;
	background: #00beeb;
    overflow: hidden;
	/*background: #3cd2f5;
	background: #61d8f3;*/
}
#campaign h2.ti_campaign {
	font-weight: bold;
    font-size: 18px;
    letter-spacing: 2px;
    padding: 0.7em 1em;
    background-color: #e94043;
    color: #fff;
    overflow: hidden;
    position: relative;
	/*border-radius: 5px;*/
	text-align: center;
	border-radius: 10px 10px 0 0;
}
#campaign h2.ti_campaign::after {
    content: '';
    background-color: #fff;
    opacity: 0.3;
    transform: rotate(43deg);
    position: absolute;
    bottom: -250px;
    right: -213px;
    width: 300px;
    height: 500px;
}

#campaign .catch{
	margin: 0.5em 0;
}
#campaign .catch p{
	font-size: 0.8rem;
    margin-top: 1em;
    text-align: center;
}
#campaign .flow {
	flex-wrap: wrap;
    display: flex;
    justify-content: center;
    margin: 4em 0 2em;
}
#campaign .flow h3 {
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
    font-size: 23px;
    font-weight: bold;
    letter-spacing: 3px;
}
#campaign .flow h3:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #E94043;
    border-radius: 5px;
}

#campaign .flowbox{
	/*width: 90%;*/
	margin: 0 auto 4em;
}
#campaign .flow__notes{
	border: 1px solid #E94043;
	background: #fff;
	padding: 1em;
	text-align: center;
	border-radius: 5px;
    margin: 0 auto 3em;
}
#campaign .flow__notes span{
	color: #E94043;
}

#campaign .note{
	margin: 20px 0 0px 0px;
	font-size: 15px;
    line-height: 1.8;
}
#campaign ul.notes{
	margin: 10px 0 0 20px;
}
#campaign ul.notes li{
	pposition: relative;
    list-style: disc;
    padding: 0 0 5px 5px;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 0.5em;
}
#campaign ul.notes li::marker {
    font-size: 15px;
    font-weight: 700;
    color: #004b9f;
}

#campaign ol{
    background: #fff;
    padding: 2em 2em 1em 3em;
    border-radius: 10px;
}
#campaign ol li{
	pposition: relative;
    list-style: outside decimal;
    padding: 0 0 5px 5px;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 0.5em;
}
#campaign ol li::marker {
    font-size: 15px;
    font-weight: 700;
    color: #004b9f;
}
@media screen and (min-width: 760px) {
	
#campaign h2.ti_campaign {
    font-size: 24px;
    padding: 0.7em 2em;
    letter-spacing: 3px;
}
#campaign .catch{
	position: relative;
	margin: 0.5em 0;
}
#campaign .catch::before{
	position: absolute;
    content: '';
    background: url("../images/img_campaign_l.png") ;
    width: 370px;
    height: 265px;
	top: 70px;
    left: -45%;
}
#campaign .catch::after{
	position: absolute;
    content: '';
    background: url("../images/img_campaign_r.png") ;
    width: 370px;
    height: 245px;
	top: 70px;
    right: -45%;
}

#campaign .catch p{
	font-size: 0.9rem;
    margin-top: 0.7em;
}
#campaign .flow {
    margin: 7em 0 2em;
}
#campaign .flow h3 {
    font-size: 26px;
}
#campaign .note{
	margin: 20px 0 0px 30px;
}
#campaign ul.notes{
	margin: 10px 0 0 50px;
}
#campaign ul.notes li{
    padding: 0 0 5px 5px;
}
#campaign ol{
	margin: 20px 0 0 0;
}
#campaign ol li{
    padding: 0 0 5px 5px;
    line-height: 1.3;
}
#campaign ol li::marker {
    font-size: 16px;
}

}

/*STEP*/
#campaign .flow_step {
    display: block;
    justify-content: space-between;
	margin-bottom: 2em;
	font-size: 16px;
    line-height: 2;
    font-weight: bold;
	text-align: center;
}
#campaign .flow_step > li {
	flex-basis: 29%;
}
#campaign .flow_step > li .icon {
	font-size: 17px;
    font-weight: bold;
    line-height: 60px;
    width: 100px;
    color: #fff;
    background: #004b9f;
    margin: 0 auto 7px;
    display: block;
    border-radius: 50%;
    text-align: center;
    position: relative;
    letter-spacing: 2px;
}
#campaign .flow_step > li .icon::before {
    content: "";
    border: solid transparent;
    border-width: 8px;
    border-top-color: #004b9f;
    position: absolute;
    top: calc(100% - 2px);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#campaign .flow_step > li dl {
    padding: 30px 20px;
    margin: 0 auto 2em;
    border: 3px solid rgb(0 75 159);
    position: relative;
	background: #fff;
	border-radius: 10px;
}
#campaign .flow_step > li dl dt {
    font-size: 22px;
    font-weight: bold;
    color: rgb(0 75 159);
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    margin-bottom: 1vh;
    text-align: center;
}
#campaign .flow_step dd span {
	color: #E94043;
	font-size: 30px;
    line-height: 1.2;
}

#campaign .bt_camp {
	position: relative;
	background: #004b9f;
	border: 2px solid #004b9f;
	border-radius: 60px;
	color: #fff!important;
	display: block;
	font-weight: bold;
	font-size: 13px;
	max-width: 320px;
	padding: 5px 10px;
	text-align: center;
	margin: 0.7em auto 0;
}
#campaign .bt_camp a:link,
#campaign .bt_camp :visited{
  color: #fff;
}
/*ボタン矢印*/
#campaign .arrow_right a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 9px;
	height: 9px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	box-sizing: border-box;
}

@media screen and (min-width: 760px) {
#campaign .flow_step {
    display: flex;
}
#campaign .flow_step > li dl {
    margin: 0;
}
#campaign .flow_step > li:not(:last-child) dl::before {
	content: "";
	width: 20px;
	height: 20px;
    margin-right: 10px;
    display: inline-block;
	border-top: 4px solid rgb(0 116 193);
    border-right: 4px solid #004b9f;
    position: absolute;
    top: calc(50% - 14px);
    left: 108%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
}
@media only screen and (min-device-width: 759px) and (max-device-width: 1024px) {
#campaign .flow_step dd span {
	font-size: 28px;
}
}

/* train 
----------------------------------------*/
#train{
	background: #231815;
	color: #fff;
	padding: 4em 0 1em;
}
#train .train_wrap{
	width: 92%;
	margin: 0 auto;
	padding: 24px 0;
	box-sizing: border-box;
}

#train h2.ti_train {
	position: relative;
	font-size: 2.5rem;
	color: #fff;
	text-align: center;
    font-weight: bold;
    margin-bottom: 1.5em;
	z-index: 1;
}
#train h2.ti_train:before {
	position: absolute;
    content: '';
    background: url("../images/ic_ti_train_sp.png") ;
    width: 113px;
    height: 57px;
	top: -25px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: -1;
}

#train h3.ti_train01,#train h3.ti_train02 {
	position: relative;
	font-size: 28px;
    font-weight: bold;
    margin-bottom: 1em;
	padding-left: 1em;
	z-index: 1;
}
#train h3.ti_train01{ color: #cb241c; }
#train h3.ti_train02{ color: #c4a433; }
#train h3.ti_train01:after,#train h3.ti_train02:after {
	position: absolute;
    content: '';
    background: url("../images/ic_senro_sp.png") ;
    width: 141px;
    height: 64px;
	left: 0;
	bottom: -8px;
	z-index: -1;
	opacity: 0.5;
}
#train a.trainlink{ 
	color: #fff;
	text-decoration: underline;
}
@media screen and (min-width: 760px) {
#train{
	padding: 5em 0 2em;
}
#train .train_wrap{
	width: 96%;
	max-width:970px;
	min-width:760px;
	margin: 0 auto;
	padding:50px 0;
	display: block;
}
	
#train h2.ti_train {
	font-size: 3rem;
    margin-bottom: 2em;
}
#train h2.ti_train:before {
    background: url("../images/ic_ti_train.png") ;
    width: 167px;
    height: 84px;
	top: -30px;
}

#train h3.ti_train01,#train h3.ti_train02 {
	font-size: 36px;
    letter-spacing: 5px;
}
#train h3.ti_train01:after,#train h3.ti_train02:after {
    background: url("../images/ic_senro.png") ;
    width: 180px;
    height: 82px;
	left: 0;
	bottom: -13px;
}
}

/*train___写真＆動画*/
#train p{ margin: 1em 0 2em; }
#train ul.column2{
    display: block;
	/*padding-bottom: 4em;*/
}
#train ul.column2 li:nth-child(odd){ width: 100%; margin-bottom: 15px; }
#train ul.column2 li:nth-child(even) {width: 100%; padding-bottom: 20px; }

#train .movie {
	width: 100%;
	aspect-ratio: 16 / 9;
	/*padding: 0 0 6em;*/
}
#train .movie iframe {
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 760px) {
#train p{ }
#train ul.column2{
    display: flex;
	justify-content: space-between;
	padding-bottom: 3em;
}
#train ul.column2 li:nth-child(odd){ width: 48%; margin-bottom: 0; }
#train ul.column2 li:nth-child(even) {width: 48%; padding-bottom: 0; }

#train .movie {
	/*padding: 0.5em 0 0;*/
}
#train .movie iframe {
	width: 100%;
	height: 100%;
}
}

/*train___線路背景_PCのみ*/
#train .train01{ margin-bottom: 6em; }
#train .train02{ margin-bottom: 6em; }
#train .train02{ margin-bottom: 6em; }
@media screen and (min-width: 760px) {

#train .train01{
	position: relative;
	z-index: 999;
}
#train .train01:before{
	position: absolute;
    content: '';
    background: url("../images/bg_senro01.png") ;
    width: 338px;
    height: 707px;
	left: 100%;
    top: -45%;
    z-index: -1;
}
#train .train02{
	position: relative;
	z-index: 999;
}
#train .train02:before{
	position: absolute;
    content: '';
    background: url("../images/bg_senro02.png") ;
    width: 316px;
    height: 596px;
	left: -34%;
    top: -35%;
    z-index: -1;
}
#train .train03{
	position: relative;
	z-index: 999;
}
#train .train03:before{
	position: absolute;
    content: '';
    background: url("../images/bg_senro03.png") ;
    width: 316px;
    height: 596px;
	left: 100%;
    top: -40%;
    z-index: -1;
}
}

	
@media only screen and (min-device-width: 759px) and (max-device-width: 1024px) {
#train .train_wrap{
	width: 92%;
	max-width:970px;
	min-width:740px;
	margin: 0 auto;
	padding:50px 0;
	display: block;
}
}



/* 佐賀・長崎共通 
----------------------------------------*/
#saga h2.ti_main,#nagasaki h2.ti_main {
	position: relative;
	font-size: 2.8rem;
	color: #231815;
	letter-spacing: 5px;
	text-align: center;
    font-weight: bold;
	padding-top: 1em;
	z-index: 1;
}
#saga h2.ti_main:before,#nagasaki h2.ti_main:before {
	position: absolute;
    content: '';
    background: url("../images/bg_parper_sp.png") ;
    width: 289px;
    height: 122px;
	top: 88px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: -1;
}
#saga h2.ti_main span,#nagasaki h2.ti_main span {
	display: block;
	font-size: 0.8rem;
	letter-spacing: 10px;
	margin-top: -15px;
}

#saga h3.ti_saga_area,#nagasaki h3.ti_nagasaki_area{
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	border-radius: 30px;
	width: 220px;
	padding: 0.1em 0.5em;
    margin: auto;
    text-align: center;
}
#saga h3.ti_saga_area{ background: #ba4f00; }
#nagasaki h3.ti_nagasaki_area{ background: #b97304; }

#saga h4,#nagasaki h4{
	color: #d71e09;
	font-size: 1.25rem;
	font-weight: bold;
	padding: 1em 0 0.5em;
}
@media screen and (min-width: 760px) {
#saga h2.ti_main,#nagasaki h2.ti_main {
	font-size: 4rem;
	letter-spacing: 5px;
}
#saga h2.ti_main:before,#nagasaki h2.ti_main:before {
    background: url("../images/bg_parper.png") ;
    width: 389px;
    height: 164px;
	top: 125px;
	left: 50%;
}
#saga h2.ti_main span,#nagasaki h2.ti_main span {
	font-size: 1rem;
}
#saga h3.ti_saga_area,#nagasaki h3.ti_nagasaki_area{
	font-size: 2rem;
	width: 300px;
}

#saga h4,#nagasaki h4{
	font-size: 1.4rem;
}
}

/*カラム*/
#saga ul.col2,#nagasaki ul.col2{
    display: block;
	/*margin: 3em 0 5em;*/
	font-feature-settings: "palt";
}
#saga ul.col2 li,#nagasaki ul.col2 li{
	width: 100%; 
    background: #fff;
    padding: 1em;
    border-radius: 7px;
	margin: 4em auto;
}
@media screen and (min-width: 760px) {
#saga ul.col2,#nagasaki ul.col2{
    display: flex;
	justify-content: space-between;
	margin: 3em 0;
}
#saga ul.col2 li,#nagasaki ul.col2 li{
	width: 43%; 
	padding: 1em 1em 2em 1em;
}	
}
@media only screen and (min-device-width: 759px) and (max-device-width: 1024px) {
#saga ul.col2,#nagasaki ul.col2{
	margin: 3em auto;
	width: 90%;
}
}

/*カラム_バルーン左*/
#saga ul.col2 li.balloon01_l,#nagasaki ul.col2 li.balloon01_l{
	position: relative;
}
#saga ul.col2 li.balloon01_l:before,#nagasaki ul.col2 li.balloon01_l:before{
	position: absolute;
    content: '';
    width: 40px;
    height: 53px;
	top: -40px;
    left: 0%;
}	
#saga ul.col2 li.balloon01_l:before{
    background: url("../images/ic_balloon01_sp.png") ;
}	
#nagasaki ul.col2 li.balloon01_l:before{
    background: url("../images/ic_balloon02_sp.png") ;
}
#saga p.map,#nagasaki p.map{
	text-align: center;
	font-size: 0.9rem;
    margin-bottom: 1em;
	color: #573f28;
    font-weight: bold;
}
@media screen and (min-width: 760px) {
#saga ul.col2 li.balloon01_l,#nagasaki ul.col2 li.balloon01_l{
	width: 47%; 
}
#saga ul.col2 li.balloon01_l:before,#nagasaki ul.col2 li.balloon01_l:before{
    width: 76px;
    height: 100px;
	top: -85px;
    left: -3%;
}	
#saga ul.col2 li.balloon01_l:before{
    background: url("../images/ic_balloon01.png") ;
}	
#nagasaki ul.col2 li.balloon01_l:before{
    background: url("../images/ic_balloon02.png") ;
}
#saga p.map,#nagasaki p.map{
	font-size: 1.1rem;
}
}

/*カラム_バルーン右*/
#saga ul.col2 li.balloon01_r,#nagasaki ul.col2 li.balloon01_r{
	position: relative;
}
#saga ul.col2 li.balloon01_r:before,#nagasaki ul.col2 li.balloon01_r:before{
	position: absolute;
    content: '';
    width: 40px;
    height: 53px;
	top: -40px;
    right: 0%;
}
#saga ul.col2 li.balloon01_r:before{
    background: url("../images/ic_balloon01_sp.png") ;
}	
#nagasaki ul.col2 li.balloon01_r:before{
    background: url("../images/ic_balloon02_sp.png") ;
}	
@media screen and (min-width: 760px) {
#saga ul.col2 li.balloon01_r,#nagasaki ul.col2 li.balloon01_r{
	width: 47%; 
}
#saga ul.col2 li.balloon01_r:before,#nagasaki ul.col2 li.balloon01_r:before{
    width: 76px;
    height: 100px;
	top: -85px;
    right: -3%;
}
#saga ul.col2 li.balloon01_r:before{
    background: url("../images/ic_balloon01.png") ;
}	
#nagasaki ul.col2 li.balloon01_r:before{
    background: url("../images/ic_balloon02.png") ;
}	
}

/*カラム_佐賀コイン右*/
#saga ul.col2 li.coin_r{
	position: relative;
	width: 95%; 
}
#saga ul.col2 li.coin_r:before{
	position: absolute;
    content: '';
    background: url("../images/ic_coin_sp.png") ;
    width: 128px;
    height: 103px;
    top: -85px;
    right: -10px;
}
@media screen and (min-width: 760px) {
#saga ul.col2 li.coin_r{
	width: 47%; 
}
#saga ul.col2 li.coin_r:before{
    background: url("../images/ic_coin.png") ;
    width: 193px;
    height: 155px;
    top: -140px;
    right: 0;
}
}

/*カラム_長崎カギ右*/
#nagasaki ul.col2 li.key_r{
	position: relative;
	width: 95%; 
}
#nagasaki ul.col2 li.key_r:before{
	position: absolute;
    content: '';
    background: url("../images/ic_key_sp.png") ;
    width: 62px;
    height: 63px;
    top: -50px;
    right: 0;
}
@media screen and (min-width: 760px) {
#nagasaki ul.col2 li.key_r{
	width: 47%; 
}
#nagasaki ul.col2 li.key_r:before{
    background: url("../images/ic_key.png") ;
    width: 142px;
    height: 144px;
    top: -126px;
    right: 0;
}
}

/*佐賀_宝箱01*/
#saga .takarabako01{
	position: relative;
	width: 100%;
}
#saga .takarabako01:before {
	position: absolute;
    content: '';
    background: url("../images/img_takarabako01_sp.png") ;
    width: 212px;
    height: 103px;
	top: 30px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
@media screen and (min-width: 760px) {
#saga .takarabako01{
}
#saga .takarabako01:before {
    background: url("../images/img_takarabako01.png") ;
    width: 307px;
    height: 149px;
	top: 40px;
}
}

/*長崎_宝箱02*/
#nagasaki .takarabako02{
	position: relative;
	width: 100%;
}
#nagasaki .takarabako02:before {
	position: absolute;
    content: '';
    background: url("../images/img_takarabako02_sp.png") ;
    width: 200px;
    height: 139px;
	top: 40px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
@media screen and (min-width: 760px) {
#nagasaki .takarabako02{
}
#nagasaki .takarabako02:before {
    background: url("../images/img_takarabako02.png") ;
    width: 342px;
    height: 238px;
	top: 80px;
}
}


/*---------------------------------------*/
/* モーダル */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  /*padding: 4em 0;*/
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 100;
  background-color: rgba(35, 24, 21,0.8);
}
/* モーダルがactiveの時 */
.modal.is-active {
  opacity: 1;
  pointer-events: auto;
}
/* モーダル背景のオーバーレイ部分 */
.modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
/* モーダルのコンテンツ */
.modal__content {
	position: relative;
    background-color: #eed9b2;
    width: 90%;
    /*height: 700px;*/
    height: 640px;
    padding: 20px;
    /*margin: 5em auto;*/
    border-radius: 7px;
	overflow-y: scroll;
}
/* モーダルを閉じるボタン */
.modal__close-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid #ccc;
  cursor: pointer;
  z-index: 10;
  text-align: center;
  font-size: 1.5rem;
}
/*wiper-bundle.min.css内*/
.swiper-button-next, .swiper-button-prev {
	color: var(--swiper-navigation-color, #231815)!important;
}
@media screen and (min-width: 760px) {
	
.modal { 
	height: 100vh;
	padding: 0;
}
.modal__content {
	width: 100%;
 	max-width: 960px;
	height: 760px;
	padding: 20px;
    margin: 0;
	overflow-y: clip;
}
}
@media only screen and (min-device-width: 759px) and (max-device-width: 1024px) {
.modal__content {
	width: 90%;
}
}
/*---------------------------------------*/

#saga .note dl,#nagasaki .note dl {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1em;
}
#saga .note dt,#nagasaki .note dt {
	width: 24%;
	padding: 7px;
	background-color: #dbcba2;
	margin: 0 0 7px 0;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#saga .note dd,#nagasaki .note dd {
	width: 76%;
    padding: 7px 7px 7px 10px;
	background-color: #efe8d7;
	margin: 0 0 7px 0;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}
@media screen and (min-width: 760px) {
	
#saga .note dl,#nagasaki .note dl { font-size: 0.9rem; }
#saga .note dt,#nagasaki .note dt { width: 22%; }
#saga .note dd,#nagasaki .note dd { }
}

@media only screen and (min-device-width: 759px) and (max-device-width: 1024px) {
#saga .note dl,#nagasaki .note dl {  }
#saga .note dt,#nagasaki .note dt { width: 22%; }
#saga .note dd,#nagasaki .note dd { width: 75%; }
}

/*----------*/


/* 佐賀 
----------------------------------------*/
#saga{ background: #eed9b2; }
#saga .saga_wrap{
	background: url("../images/bg_main.webp") repeat;
	margin: 0;
	padding: 0 0 6em;
	background-size: cover;
	background-position: center;
}
#saga .saga_bg_direction_mark{
	background: url("../images/bg_direction_mark.png") no-repeat;
	margin: 0;
	background-size: 75%;
	background-position: right -20% top 0;
}
#saga .map_saga{
	margin: 3em auto;
}
@media screen and (min-width: 760px) {
#saga .saga_bg_direction_mark{
	background: url("../images/bg_direction_mark.png") no-repeat;
	background-size: auto;
	background-position: right 0% top 0%;
}
#saga .map_saga{
	margin: 3em auto 10em;
}
}

/* 長崎 
----------------------------------------*/
#nagasaki{ background: #f7e3bc; }
#nagasaki .nagasaki_wrap{
	background: url("../images/bg_main_nagasaki.webp") repeat;
	margin: 0;
	padding: 0 0 8em;
	background-size: cover;
	background-position: center;
}
#nagasaki .nagasaki_bg_direction_mark{
	background: url("../images/bg_direction_mark.png") no-repeat;
	margin: 0;
	background-size: 75%;
	background-position: right -20% top 0;
}
#nagasaki .map_nagasaki{
	margin: 3em auto;
}
@media screen and (min-width: 760px) {
#nagasaki .nagasaki_wrap{
	padding: 0 0 12em;
}
#nagasaki .nagasaki_bg_direction_mark{
	background: url("../images/bg_direction_mark.png") no-repeat;
	margin: 0;
	background-size: auto;
	background-position: right 0% top 0%;
}
#nagasaki .map_nagasaki{
	margin: 3em auto 10em;
}
}

/* プラン 
----------------------------------------*/
#plan{
	background: #e70012;
	padding: 1em 2em;
 }
#plan h2.ti_plan {
    font-size: 25px;
    letter-spacing: 3px;
    font-weight: bold;
    color: #231816;
    text-align: center;
    margin-bottom: 0.5em;
}
#plan h2.ti_plan span{
    color: #fff;
}
#plan .plan_btn_area{
	width: 90%;
	margin: auto;
}
@media screen and (min-width: 760px) {
#plan h2.ti_plan {
    font-size: 45px;
    letter-spacing: 5px;
}
#plan h2.ti_plan span{ }
#plan .plan_btn_area{
	width: 400px;
}
}


/* ボタン 
----------------------------------------*/
.btn_area{
	display: block;
	/*margin-bottom: 5em;*/
}
/*ボタン*/	
.button,.button_plan {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 45px;
	box-shadow: 0px 6px 24px 0px rgba(0, 0, 0, 0.2);
	overflow: hidden;
	border: none;
}
.button { background: #de415e; }
.button_plan{ background: #231815; }

.button:after,.button_plan:after {
	content: " ";
	width: 0%;
	height: 100%;
	background: #ffa700;
	position: absolute;
	transition: all 0.4s ease-in-out;
	right: 0;
}
.button:hover::after,.button_plan:hover::after {
	right: auto;
	left: 0;
	width: 100%;
}
.button span,.button_plan span {
	text-align: center;
	text-decoration: none;
	width: 100%;
	padding: 18px 45px 18px 25px;
	font-size: 1.1em;
	font-weight: 700;
	padding-right: 3em; z-index: 20;
	transition: all 0.3s ease-in-out;
}
.button:hover span,.button_plan:hover span {
	color: #fff!important;
	animation: scaleUp 0.3s ease-in-out;
}
.button a:link,.button_plan a:link {
	color: #fff!important;
}
/*矢印*/
.button a::after,.button_plan a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 9px;
	height: 9px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	box-sizing: border-box;
}
@keyframes scaleUp {
 0% {
  transform: scale(1);
 }

 50% {
  transform: scale(0.95);
 }

 100% {
  transform: scale(1);
 }
}
@media screen and (min-width: 760px) {
.btn_area{
	display: flex;
	justify-content: space-around;
	align-items: center;
	position: relative;
}	
}	





/*----- スクロールをしたら出現する ------　*/
   
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}

/* その場で */
.fadeIn{
    animation-name:fadeInAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeInAnime{
    from {
      opacity: 0;
    }
  
    to {
      opacity: 1;
    }
}
  
/* 下から */
.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 2s;
    animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes fadeUpAnime{
    from {
      opacity: 0;
      transform: translateY(100px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
}

/* 上から */
.fadeDown {
    animation-name:fadeDownAnime;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeDownAnime{
    from {
      opacity: 0;
    transform: translateY(-100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
}
  
/* 左から */
.fadeLeft{
    animation-name:fadeLeftAnime;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeLeftAnime{
    from {
      opacity: 0;
    transform: translateX(-100px);
    }
  
    to {
      opacity: 1;
    transform: translateX(0);
    }
}
  
/* 右から */
.fadeRight{
    animation-name:fadeRightAnime;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeRightAnime{
    from {
      opacity: 0;
    transform: translateX(100px);
    }
  
    to {
      opacity: 1;
    transform: translateX(0);
    }
}

/* 順番に表示 */
.delay-time02{ animation-delay: 0.2s; }
.delay-time03{ animation-delay: 0.3s; }
.delay-time04{ animation-delay: 0.4s; }
.delay-time05{ animation-delay: 0.5s; }
.delay-time06{ animation-delay: 0.6s; }
.delay-time07{ animation-delay: 0.7s; }
.delay-time08{ animation-delay: 0.8s; }
.delay-time09{ animation-delay: 0.9s; }
.delay-time10{ animation-delay: 1.0s; }






@media only screen and (max-width: 759px) {
	.for_pc{ display: none; }	
}
@media only screen and (min-width: 760px) {
	.for_sp{ display: none; }
}









