@charset "utf-8";
/*
Template Name: ストーブ列車LP_CSS
*/


/* ==========================================================================
   Foundation
   ========================================================================== */
/* Reset
   ----------------------------------------------------------------- */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:400;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
figure{margin-bottom:0;}
/* Base
   ----------------------------------------------------------------- */
body{
	color:#434268;
	font-weight: 400;
	font-style: normal;
}
/*基本はゴシック*/
body.font-lp{font-family: 'Zen Kaku Gothic Antique', sans-serif;}
body.font-en{font-family: 'Noto Sans', sans-serif;}
body.font-zh-cn{font-family: 'Noto Sans SC', sans-serif;}
body.font-zh-tw{font-family: 'Noto Sans TC', sans-serif;}
body.font-ko{font-family: 'Noto Sans KR', sans-serif;}
/*明朝はタグごとに指定*/
/* 日本語 */
.lp-mincho {font-family: 'Zen Old Mincho', serif;}

/* 英語 */
.en-mincho {font-family: 'Noto Serif', serif;}

/* 簡体中文 */
.zh-cn-mincho {font-family: 'Noto Serif SC', serif;}

/* 繁體中文 */
.zh-tw-mincho {font-family: 'Noto Serif TC', serif;}

/* 韓国語 */
.ko-mincho {font-family: 'Noto Serif KR', serif;}


a{
	text-decoration:none;
}
a:hover{
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

img{
	vertical-align:top;
	max-width:100%;
	height:auto;
}
ol{list-style:none}

/* ==========================================================================
   共通
========================================================================== */
html{font-size:clamp(14px, 1.5vw, 18px);/*scroll-padding-top: 20px;*/}

/*文字寄せ*/
.txt-right{text-align:right;}
.txt-center{text-align:center;}
/*一文字空白*/
.indent{text-indent: 1em;}
/*URL改行防止*/
main p{/*word-break: break-all;*/}

/*リンク*/
a{color:#7B9A47;}
a.ub{text-decoration: underline;}
/*共通ボタン*/

.btn a{
	font-size:clamp(14px, 1.25vw, 16px);
	box-sizing:border-box;
	padding:4px 20px 4px 4px;
	display: inline-block;
	position: relative;
	border-bottom:solid 1px;
	color:#189CD2;
}
.btn a:before{
	content: '';
  width: 6px;
  height: 6px;
  border: 0;
	color:#189CD2;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  position: absolute;
  top: 2px;
  right: 6px;
  bottom: 0;
  margin: auto;
}


/*mapレスポンシブ*/
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
@media screen and (max-width: 520px){
.gmap {padding-bottom: 126.25%;}
}

/*tel スマホサイズのみクリック可*/
@media (min-width: 769px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}


/*ドットが大きいリスト*/
ul.list01{
	margin-left: 0.5rem;
	margin-bottom:2rem;
}
ul.list01 > li{
	font-size:clamp(14.5px, 1.5vw, 16px);
	line-height: 2em;
	padding:0 0 0 26px;
	position:relative;
}
ul.list01 > li:before{
	content: "";
	position:absolute;
	left:4px;
	top:10px;
	width:15px;
	height:15px;
	background:#fff;
	display: block;
	border-radius:10px;
	border:solid 1px #000;
}

ul.list01 > li ul{margin-left:1rem;}

@media screen and (max-width: 768px){
	ul.list01 li{padding:0 0 0 20px;}
	ul.list01 li:before{width:7px; height:7px;top:12px;}
}
@media screen and (max-width: 480px){
	ul.list01 li{padding:0 0 0 16px;}
}

/*ドットがシンプルなリスト*/
ul.list02{
	margin-left: 0.5rem;
	margin-bottom:2rem;
}
ul.list02 > li{
	font-size:clamp(14.5px, 1.5vw, 16px);
	line-height: 2em;
	margin: 0 ;
	padding:0 0 0 26px;
	position:relative;
}
ul.list02 > li:before{
	content: "";
	position:absolute;
	left:7px;
	top:15px;
	width:4px;
	height:4px;
	background:#5A391D;
	display: block;
	border-radius:10px;
}

ul.list02 > li ul{margin-left:1rem;}


/*数字リスト*/
ol.list-num01 {
	margin-left: 0.5rem;
	margin-bottom:2rem;
	counter-reset: listnum;
}
ol.list-num01 > li{
	font-size:clamp(14.5px, 2vw, 16px);
	line-height: 2em;
	padding:0 0 0 26px;
	position:relative;
}
ol.list-num01 > li:before{
	position: absolute;
	left: 0px;
	counter-increment: listnum;
	content: counter(listnum) ".";
	width: 23px;
	text-align: right;
}


.inner{ 
	max-width:1400px;
	margin:0 auto;
	box-sizing:border-box;
}
.inner1100{
	max-width:1100px;
	margin:0 auto;
	box-sizing:border-box;
}
/*見出し*/ 
h1,
h2,
h3,
h4,
h5,
p{line-height:1.75em;}


h1:not(.not){font-size:clamp(26px, 3.5vw, 48px);}
h2:not(.not){font-size:clamp(22px, 3vw, 40px);}
h3:not(.not){font-size:clamp(20px, 2.5vw, 32px);}
h4:not(.not){font-size:clamp(18px, 2.25vw, 24px);}
h5:not(.not){font-size:clamp(16px, 2vw, 20px);}
p,a{font-size:clamp(14px, 1.5vw, 18px);}

h1:not(.not) span,
h2:not(.not) span,
h3:not(.not) span,
h4:not(.not) span,
h5:not(.not) span,
p span{display:inline-block;}

/* ==========================================================================
   Layout
========================================================================== */


/* Header
----------------------------------------------------------------- */
header{
	position:relative;
}
.header-in{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	box-sizing:border-box;
	padding:0;
	z-index:999;
	display:flex;
	flex-wrap:wrap;
	margin:auto;
	padding-right: 80px;
}

.h_logo{
	line-height: 60px;
	margin-left: 20px;
}
.h_logo img{height:100%; width:auto;}
.m_fixed .h_logo{display:none;}

header .tosite{
	margin-top:20px;
}


@media screen and (max-width: 768px){
	.header-in{padding-right: 60px;}
.h_logo{width:200px;}
}
@media screen and (max-width: 480px){
.h_logo{width:140px;line-height:45px;}
}
@media screen and (max-width: 380px){
	.h_logo{margin-left: 10px;width: 120px;}
}
/* ハンバーガー
----------------------------------------------------------------- */


.globalMenuSp-in::-webkit-scrollbar{width: 2px;}
.globalMenuSp-in::-webkit-scrollbar-track{background-color: #555;}
.globalMenuSp-in::-webkit-scrollbar-thumb{background-color: #333;}

nav.globalMenuSp {
	position: fixed;
	height: 100%;
	z-index: 99999;
	top: 0;
	right: 0;
	background:#FFF;
	color: #000;
	opacity: 0;
	transform: translateY(-30px);
	visibility: hidden;

	transition:
		opacity .6s ease,
		transform .6s ease,
		visibility .6s;

	width: 100%;
	max-width:420px;
	margin: 0;
	
	
	padding-bottom:45px;
	box-sizing:border-box;
}
.globalMenuSp-in{
	position:fixed;
	height: calc(100vh);
	padding:80px 15px 50px ;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	width:100%;
	max-width:420px;
	box-sizing:border-box;
	
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;

	background:#7B9A47;

	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
.navToggle {
	display: block;
	position: fixed;
	right: 0px;
	top: 0px;
	padding:0;
	cursor: pointer;
	z-index: 999999;
	text-align: center;
	background: #7b9a47;
	overflow: hidden;
}


.navToggle > *{
	position: relative;
	z-index: 1;
}
.navToggle:before{ 
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity .4s ease;
	z-index: 0;
}

.navToggle:hover::before{opacity: 1;background: linear-gradient(135deg, #d3eda6, #7b9a47);}


.navToggle span:nth-child(1),
.navToggle span:nth-child(2) {
	display: block;
	position: absolute;    /* .navToggleに対して */
	width: 30px;
	height:3px;
	background:#fff;
	border-radius:2px;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 15px;
}

.navToggle.active span:nth-child(1),
.navToggle.active span:nth-child(2){
	background:#fff;
	color:#fff;
	width: 30px;
	left:15px;
}
.navToggle.active span:nth-child(1){
	top: 15px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.navToggle.active span:nth-child(2){
	top: 15px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.navToggle span:nth-child(1) {top: 15px;}
.navToggle span:nth-child(2) {top: 28px}
.navToggle span:nth-child(3) {
	left: 0;
	font-size: 12px;
	color: #fff;
	top: 32px;
	font-weight:bold;
}
/*ヘッダーナビのサイズ*/
.navToggle{width: 60px;height: 60px;}
/*追従*/
.header-nav{position: relative;z-index: 9;}


@media screen and (max-width: 480px){
	.navToggle{width: 45px;height: 45px;}
	.navToggle span:nth-child(1) {top: 10px;}
.navToggle span:nth-child(2) {top: 20px}
.navToggle span:nth-child(3) {top: 25px;}
.navToggle span:nth-child(1),
.navToggle span:nth-child(2){left:10px;width: 25px;}
.navToggle.active span:nth-child(1),
.navToggle.active span:nth-child(2){left:8px;}
}



/*ヘッダーナビの中身*/
.h_nav{margin-bottom:4rem;}
.h_nav a{
	display:block;
	color:#fff;
	font-size:clamp(16px, 2vw, 20px);
	font-weight:bold;
	padding:1rem;
}
.h_nav .h_nav_min{
	margin-left:1rem;
}
.h_nav_min a{
	color:#fff;
	font-size:clamp(14px, 1.5vw, 18px);
	font-weight:bold;
	display:block;
	padding:1rem;
}


.h_nav a:hover,
.h_nav_min a:hover{opacity:0.8;}

/*言語切り替えナビ*/
.lang-nav {
  position: relative;
	    margin-left: auto;
}
.lang-nav__toggle {
	cursor: pointer;
	position:relative;
	background: none;
  border: 0;
}
@media screen and (min-width: 769px){
.lang-nav__toggle {
  
  
  padding: 20px 10px 20px 40px;
	line-height:20px;
	width:150px;
	position:relative;
	color:#7B9A47;
}
.lang-nav__toggle:before{
	content: "";
	background-image: url(img/icon-language.svg);
	background-repeat: no-repeat;
	position: absolute;
	background-size: 100% auto;
	width: 18px;
	height: 18px;
	top: 20px;
	left: 20px;
}
}
.lang-nav__menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
	min-width: 150px;
	box-sizing: border-box;
  margin: 0;
  padding: 10px 0;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,.15);
  list-style: none;
}

.lang-nav.is-open .lang-nav__menu {
  display: block;
}

.lang-nav__menu li a {
  display: block;
  padding: 8px 15px;
  text-decoration: none;
}
@media screen and (min-width: 769px){
	.lang-nav__toggle.sp,
	header .tosite_sp{display:none;}
}
@media screen and (max-width: 768px){
.lang-nav__toggle.pc,
header .tosite{display:none;}

}
@media screen and (max-width: 480px){
	.lang-nav__toggle.sp img,
	header .tosite_sp img{width:45px;}
}
/*footer*/

#pagetop{
	position: fixed;
	right: 5px;
	bottom: 5px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: opacity .3s, visibility .3s, transform .3s;

}
#pagetop.is-show{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
@media screen and (max-width: 1200px){
#pagetop a {width: 50px;height: 50px;}

}


footer{
	padding: 6rem 2em;
	text-align:center;
}



footer .tosite{
	margin-bottom:2rem;
}
.tosite a{
	display:inline-block;
	color:#7B9A47;
	font-size:clamp(16px, 2vw, 20px);
	font-weight:bold;
	position:relative;
	padding-right:20px;
}
.tosite a:after{
	position:absolute;
	right:0;
	top:2px;
	content:"";
	background-image:url("img/icon-link.svg");
	background-repeat:no-repeat;
	background-size:100% auto;
	width:16px;
	height:16px;
}


footer p,
footer .f_address{font-size:clamp(11px, 1vw, 14px);}


/*======== section別 ==============*/

/*fv*/

.fv_tit h2{font-size:clamp(28px, 4.5vw, 60px);margin-bottom:2rem;}
.fv_tit p{font-size:clamp(20px, 3.5vw, 40px);}


@media screen and (min-width: 721px){
#lp_fv{
	height: 100vh;
}
	.fv_tit{
		max-width:1480px;
		margin: 0 auto;
		padding:2rem;
		box-sizing:border-box;
		height:100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position:absolute;
		left:0;
		top:0;
		z-index: 2;
}
#lp_fv .fv_img{
	text-align:right;
	background:#F1F1F3;
	padding-left:25%;
}
#lp_fv .fv_img img{
	object-fit: cover;
	width:auto;
	height:100vh;
	text-align: right;
	clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
}
#lp_fv .fv_img .sp{display:none;}
}

@media screen and (min-width: 1481px){
.fv_tit{left: calc((100% - 1480px) / 2);}
}
@media screen and (min-width: 721px) and (max-width: 1080px){
	.fv_tit{top:-70px;}
}

@media screen and (max-width: 720px){

#lp_fv .fv_img .pc{display:none;}
#lp_fv{
	display:flex;
	    flex-direction: column-reverse;
	background:#F1F1F3;
}
#lp_fv .fv_img img{
	object-fit: cover;
	width:auto;
	height:auto;
	text-align: center;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 90%);
}
.fv_tit{
	padding:4rem 2rem 6rem;
}

}



/*ついにストーブ列車が帰ってきました。*/
#lp01{
	background-color:#5D4D7A;
	background-image:url(img/bg_yuki.png);
}

#lp01 .item-txt h2,
#lp01 .item-txt p{font-weight:bold;color:#fff;}
#lp01 .item-txt h2 span{font-weight:bold; }
#lp01 .item-txt p span{ }

#lp01 .item-txt h2{font-size:clamp(22px, 2.25vw, 36px);margin-bottom:2rem;}
#lp01 .item-txt p{font-size:clamp(16px, 1.5vw, 24px);}
@media screen and (min-width: 769px){
#lp01{
	display: flex;
	flex-wrap: wrap;
	box-sizing:border-box;
}
#lp01 .item-img,
#lp01 .item-txt{
	width:50%;
	box-sizing:border-box;
	
}



#lp01 .item-img img{
	object-fit: cover;
	width: auto;
	height: 100%;
}

#lp01 .item-txt{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
}
#lp01 .item-txt .in-txt{
	max-width: 660px;
}


}
@media screen and (max-width: 768px){
	#lp01 .item-txt{
		padding:4rem 2rem 6rem;
	}
	#lp01 .item-img img{
		object-fit: cover;
		width: auto;
		height: auto;
		text-align: center;
		clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 0% 100%);
	}
}




/*運行再開のお知らせ*/
#lp02{padding: 6rem 2rem;}
#lp02 .inner .item-img{
	max-width:300px;
	margin-bottom:1rem;
}
@media screen and (max-width: 1080px) {
	#lp02 .inner .item-img{max-width:200px;}
}
#lp02 .inner .item-txt{flex:1;}
.linkbox{
	padding:.5rem .5rem .5rem 1.5rem;
	border-left:solid 1px #434268;
	margin-top:2rem;
}
@media screen and (min-width: 681px) {
	#lp02 .inner{
	max-width:1000px;
	display:flex;
	flex-wrap:wrap;
	gap:50px;
}
}

/*ストーブ列車とは？*/
#lp03 {
  position: relative;
	background-color:#F1F1F3;
	padding:70px 2rem 140px;
}
#lp03::before {
		aspect-ratio:1920/749;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: url("img/bg.jpg") center center / cover no-repeat;
    z-index: 0;
  }
#lp03 .inner {
    position: relative;
    z-index: 1;
		display:flex;
		flex-wrap:wrap;
  }
#lp03 .inner .item01,
#lp03 .inner .item02{
	background:rgba(255,255,255,0.8);
}

@media screen and (min-width: 681px) {
#lp03 .inner{
	max-width:1250px;
	gap:50px;
}
#lp03 .inner .item01,
#lp03 .inner .item02{
	flex:1;
	border-radius:20px;
	padding:50px;
}
}

@media screen and (min-width: 681px) and (max-width:980px) {
	#lp03 {padding-bottom: 70px;}
	#lp03 .inner{gap:30px;}
	#lp03 .inner .item01,
	#lp03 .inner .item02{padding:30px;}
}



@media screen and (max-width: 680px) {
  #lp03 {
    overflow: hidden;
		padding-bottom: 70px;
  }
	
  #lp03::before {
    aspect-ratio: auto;
    height: 100vh;
    background-size: 800px;
    background-position: top center;
  }

  #lp03.is-bg-fixed::before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
  }
	#lp03 .inner{flex-direction:column; gap:30px;}
	#lp03 .inner .item01,
	#lp03 .inner .item02{
		padding:50px 30px;
		border-radius:25px;
	}
}

#lp03 h2{
	font-size:clamp(20px, 2.5vw, 32px);
	font-weight:bold;
	position:relative;
	padding-bottom:1rem;
	margin-bottom:2rem;
}

#lp03 h2 span{
	font-size:clamp(16px, 2vw, 20px);
	font-weight:bold;
}

#lp03 h2:before{
	content:"";
	position: absolute;
	left:0;
	bottom:0;
	width:60%;
	aspect-ratio:260/9;
	background: url("img/fukidashi.svg") center center / cover no-repeat;
}

#lp03 p{margin-bottom:1rem;}

#lp03 h3{
	font-size:clamp(16px, 2vw, 20px);
	font-weight:bold;
	margin-bottom:0.25rem;
}

#lp03 .item02 p{font-size:clamp(13px, 1.25vw, 16px);}

#lp03 .item02 .tbl{
	margin-bottom:1rem;
	display: flex;
    flex-wrap: wrap;
		    align-items: flex-start;
		gap:10px;
}
#lp03 .item02 .tbl .tit{
	width:70px;
	border:solid 1px #707070;
	padding:2px;
	text-align:center;
	font-size:clamp(13px, 1.25vw, 16px);
}
#lp03 .item02 .tbl .txt{
	flex:1;
	font-size:clamp(13px, 1.25vw, 16px);
	padding:2px;
}
#lp03 h4{
	font-size:clamp(13px, 1.25vw, 16px);
	font-weight:bold;
}

/*観光客に人気の理由*/
#lp04{
	padding:6rem 2rem;
	background-color:#F1F1F3;
	overflow: hidden;
}
#lp04 .inner{
	max-width:1000px;
}
#lp04 .tit{
	text-align:center;
	margin-bottom:4rem;
}
#lp04 .tit .sub_tit{
	margin-bottom:1rem;
}
#lp04 .tit .sub_tit span{
	display:inline-block;
	padding:6px 12px;
	background:#F59F66;
	color:#fff;
	font-size:clamp(16px, 2vw, 20px);
}
#lp04 .tit h2{
	font-weight:bold;
	margin-bottom:2rem;
}
#lp04 .tit h2 span{
	display:inline-block;
	font-weight:bold;
}
#lp04 .tit p{
	font-size:clamp(16px, 2vw, 20px);
	line-height:2rem;
}

#lp04 .item01 h3,
#lp04 .item02 h3,
#lp04 .item03 h3{
	font-size: clamp(20px, 2.5vw, 28px);
	font-weight:bold;
}
#lp04 .item01 .num,
#lp04 .item02 .num,
#lp04 .item03 .num{
	position:absolute;
	left:0;
	top:0;
	width: 5rem;
}


@media screen and (min-width: 681px) {


#lp04 .item01,
#lp04 .item02,
#lp04 .item03{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 2rem;
}
#lp04 .item01 {
	align-items: flex-start;
}
#lp04 .item02 {
	align-items: center;
	flex-direction: row-reverse;
}
#lp04 .item03 {
	align-items: flex-end;
}
#lp04 .item01 .num{left: 12px;top: -12px;}
#lp04 .item02 .num{left: 0;top: -12px;}
#lp04 .item03 .num{left: -8px;top: -9px;}

#lp04 .item01 .item-img{width:52%;}
#lp04 .item01 .item-txt{width: 52%;margin-left: -50px;}
#lp04 .item02 .item-img{width:52%;}
#lp04 .item02 .item-txt{width: 52%;margin-right: -50px;}
#lp04 .item03 .item-img{width:62%;margin-bottom: 50px;}
#lp04 .item03 .item-txt{width: 42%;margin-left: -100px;}
}


#lp04 .item01 .item-txt{
	position: relative;
	border-radius: 62% 38% 63% 37% / 40% 60% 40% 60%;
	background: #fff;
	padding: 4rem;
	box-sizing: border-box;
	z-index: 1;
}

#lp04 .item02 .item-txt{
	position: relative;
	border-radius: 64% 32% 47% 29% / 49% 65% 48% 56%;
	background: #fff;
	padding: 4rem;
	box-sizing: border-box;
	z-index: 1;
}

#lp04 .item03 .item-txt{
	position: relative;
	border-radius: 76% 54% 74% 37% / 54% 61% 53% 67%;
	background: #fff;
	padding: 4rem 3rem;
	box-sizing: border-box;
	z-index: 1;
	
}

@media screen and (max-width: 680px) {
#lp04 {padding:4rem 0;}
#lp04 .tit{padding:0 2rem;}
#lp04 .item01,
#lp04 .item02,
#lp04 .item03{
	display: flex;
	flex-wrap: wrap;
	margin-top: 0;
	flex-direction: column-reverse;
}
#lp04 .item01 .item-img,
#lp04 .item02 .item-img,
#lp04 .item03 .item-img{
	position: relative;
}
#lp04 .item01 .item-img{margin-left: auto;right:-30px;top: -30px;z-index: 2;}
#lp04 .item01 .item-txt{margin-right: auto;}
#lp04 .item02 .item-img{margin-right: auto;left: -30px;top: -30px;}
#lp04 .item02 .item-txt{margin-left: auto;}
#lp04 .item03 .item-img{margin-right: auto;left: -50px;top: -30px;}
#lp04 .item03 .item-txt{margin-left: auto;right: -30px;}
}

@media screen and (max-width: 480px) {
#lp04 .item01 .num,
#lp04 .item02 .num,
#lp04 .item03 .num{width: 4rem;}
#lp04 .item01 .num{left:15px;}
#lp04 .item01 .item-txt,
#lp04 .item02 .item-txt,
#lp04 .item03 .item-txt{padding:4rem 2rem;}
#lp04 .item01 .item-txt{
	/*left: -20px;
	width: calc(100% + 20px);*/
}

}

/*運行期間・運行本数・運行時刻*/
#lp05{
	background:#5D4D7A;
	padding:4rem 2rem;
}
#lp05 .inner{max-width:1000px;}
#lp05 .tit h2{
	font-size:30px;
	font-weight:bold;
	margin-bottom:1rem;
	position:relative;
	padding-left:30px;
	    color: #fff;
}
#lp05 .tit h2:before{
	content:"";
	width:20px;
	height:10px;
	background:#7B9A47;
	position:absolute;
	left:0;
	top:20px;
}
#lp05 .cont{
	background:#fff;
	padding:2rem;
	border-radius:20px;
}
#lp05 .cont h3{
	font-size:clamp(18px, 2.25vw, 24px);
	font-weight: bold;
}
#lp05 .cont p{
	padding-left:1rem;
	margin-bottom:1rem;
	font-weight:bold;
}
#lp05 .cont p span{
	display:inline-block;
	font-weight:bold;
}

.time_tbl{
	display: flex;
	flex-wrap: wrap;
	padding:8px;
	max-width: 600px;
}

.time_tbl:nth-child(2n){background:#F1F1F3;}

.time_tbl .Number{
	width: 5em;
}
.time_tbl .hatu,
.time_tbl .chaku{
	padding:0 1rem;
	display:flex;
	flex-wrap:wrap;
	flex:1;
	
}

.time_tbl .Number,
.time_tbl .eki,
.time_tbl .time{
	font-size: clamp(14px, 1.5vw, 18px);
	font-weight:bold;
}

.time_tbl .eki{flex:1;}


.time_tbl .time{
	width: 3rem;
	text-align: right;
}
@media screen and (min-width: 681px) {
	.time_tbl .hatu{
	position:relative;
	margin-right:1rem;
}
.time_tbl .hatu:after{
	content:"→";
	position:absolute;
	right:-1rem;
	top:0;
}
}
@media screen and (max-width: 680px) {
	#lp05{padding:2rem 1rem;}
	#lp05 .tit h2{font-size:20px;}
	#lp05 .tit h2:before{    top: 13px;}
	#lp05 .cont{border-radius:10px;}
	
	.time_tbl {
		max-width:300px;
		display: grid;
		grid-template-columns: 5em 1fr;
	}
	.time_tbl .Number{
	grid-column: 1;
	grid-row: 1;
}

.time_tbl .hatu{
	grid-column: 2;
	grid-row: 1;
}

.time_tbl .chaku{
	grid-column: 2;
	grid-row: 2;
}
	.time_tbl .hatu{
	position:relative;
	margin-bottom:2rem;
}
.time_tbl .hatu:after{
	content:"↓";
	position:absolute;
	left:1rem;
	bottom:-1.5rem;
}

}
@media screen and (max-width: 480px){
	#lp05 .cont{padding:2rem 1rem;}
}



.bnr-list{
	display:flex;
	flex-wrap:wrap;
	max-width:630px;
	gap:30px;
	margin-top:2rem;
}
.bnr-list li{
	width:calc((100% - 30px) / 2);
}
.bnr-list li a{
	display:block;
	text-align:center;
	background:#7B9A47;
	color:#fff;
	font-weight:bold;
	font-size: clamp(14px, 1.5vw, 18px);
	border-radius:8px;
	padding: 15px 8px;
}
.bnr-list li a:hover{
	opacity:0.8;
}

@media screen and (min-width: 681px){
	.bnr-list li a br{display:none;}
}
@media screen and (max-width: 680px){
	.bnr-list{    gap: 10px;}
	.bnr-list li{width:calc((100% - 10px) / 2);}
}

/*乗車方法（予約不要・先着順）*/
#lp06{
	background:#F1F1F3;
	padding:4rem 2rem;
}
#lp06 .inner{max-width:1000px;}
#lp06 .tit h2{
	font-size:30px;
	font-weight:bold;
	margin-bottom:1rem;
	position:relative;
	padding-left:30px;
}
#lp06 .tit h2:before{
	content:"";
	width:20px;
	height:10px;
	background:#7B9A47;
	position:absolute;
	left:0;
	top:20px;
}
#lp06 .cont .box{
	background:#fff;
	padding:2rem;
	border-radius:20px;
	margin-bottom: 1rem;
}
#lp06 .cont .box h3{
	font-size:clamp(18px, 2.25vw, 24px);
	font-weight: bold;
}
h4.maru{
	font-weight:bold;
	font-size:20px;
	padding-left:1.5rem;
	position: relative;
}
h4.maru:after{
	content:"";
	position:absolute;
	width:16px;
	height:16px;
	left:3px;
	top:10px;
	border-radius:8px;
	background:#7B9A47;
}
@media screen and (max-width: 680px) {
	h4.maru{font-size:16px;}
	h4.maru:after{top:8px;}
	#lp06 .tit h2{font-size:20px;}
	#lp06 .tit h2:before{    top: 13px;}
}

/*ドットがシンプルなリスト*/
.list-min{
	margin-left: 0.5rem;
}
.list-min > li{
	font-size:clamp(14.5px, 1.5vw, 16px);
	line-height: 2em;
	margin: 0 ;
	padding:0 0 0 26px;
	position:relative;
}
.list-min > li:before{
	content: "";
	position:absolute;
	left:12px;
	top:15px;
	width:4px;
	height:4px;
	background:#5A391D;
	display: block;
	border-radius:10px;
}


@media screen and (min-width: 680px) {
#lp06 .cont .box .in-col{display:flex; align-items:center;}
.list-min li{display: inline-block;}

}

#lp06 .cont .box h5{
	padding-left:1.5rem;
	font-weight:bold;
	font-size:clamp(13px, 1.25vw, 16px);
}
#lp06 .cont .box p{
	padding-left:1.5rem;
	margin-bottom:1rem;
	font-size:clamp(13px, 1.25vw, 16px);
}

#lp06 .cont .box .ryoukin01 {
	padding-left:1.5rem;
}
.ryoukin01 {margin-bottom: 1rem;}
.ryoukin01 li{
	display: flex;
	flex-wrap: wrap;
	padding:8px;
	max-width: 600px;
	font-size:clamp(13px, 1.25vw, 16px);
	line-height: 1.5em;
}
.ryoukin01 li:nth-child(2n-1){background:#F1F1F3;}
.ryoukin01 li span{margin-right:1rem;}

.ryoukin02 {
	margin-bottom: 1rem;
	padding-left:1.5rem;
}
.ryoukin02 li{
	display: flex;
	flex-wrap: wrap;
	padding:1rem;
	line-height: 1.5em;
	max-width: 600px;
	font-size:clamp(13px, 1.25vw, 16px);
	margin-bottom:5px;
	border:solid 1px #ccc;
}


@media screen and (max-width: 680px) {
	#lp06{padding:2rem 1rem;}
	#lp06 .cont .box{border-radius:10px;}
}




/*車内で楽しめる体験*/
#lp07{
	background-image: url("img/07_bg.jpg");
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	padding: 4rem 2rem;
}
#lp07 .inner{
	max-width:1000px;
}
#lp07 .tit h2{
	text-align:center;
	font-weight:bold;
	margin-bottom:2rem;
}
@media screen and (min-width: 681px) {
	#lp07 .cont{
	display:flex;
	flex-wrap:wrap;
	gap:30px;
}
#lp07 .cont .box{
	width:calc((100% - 30px) / 2);
}
}

#lp07 .cont .box{
	background:#fff;
	padding:2rem;
	box-sizing:border-box;
	border:solid 1px #434268;
	box-shadow:5px 5px 0 #434268;
	
	position:relative;
}


#lp07 .cont .box .num{
	position:absolute;
	left:1.5rem;
	top:2rem;
}
#lp07 .cont h3{
	padding-left:80px;
	min-height: 70px;
	font-weight:bold;
	font-size:30px;
	line-height:1.25em;
	margin-bottom:1rem;
}
#lp07 .cont h3 span{
	font-weight:bold;
	font-size:24px;
}

#lp07 .cont .box p{
	font-size:clamp(14px, 1.5vw, 16px);
}

@media screen and (max-width: 1080px) {
	#lp07 .cont h3{
		padding-left: 60px;
		font-size:24px;
	}
	#lp07 .cont h3 span{
		font-size:18px;
	}
	#lp07 .cont .box .num{width:50px;}
}


@media screen and (max-width: 680px) {
	#lp07 .cont .box{margin-bottom:1rem;}
}
@media screen and (max-width: 420px) {
	#lp07 .cont .box{    padding: 1.5rem;}
	#lp07 .cont .box .num{width:40px;}
	#lp07 .cont h3{padding-left: 50px;    min-height: 60px;}
}


/*日本らしい冬の体験 唯一無二のローカル体験*/
#lp08{
	overflow:hidden;
}

#lp08 .item-txt{
	position:relative;
}


#lp08 .item-txt .tit{
	max-width:420px;
	position:relative;
	margin-bottom:1rem;
	padding: 1rem 2rem 1rem 0;
	z-index:2;
}
#lp08 .item-txt .tit:after{
	content:"";
	position:absolute;
	right:16px;
	top:0;
	width: 1px;
	height: 90px;
	border-right: 1px solid #707070;
	transform: rotate(-18deg);
	transform-origin: right top;
}

#lp08 .item-txt .sub_tit,
	#lp08 .item-txt h2{font-weight:bold;}


#lp08 .item-txt .cont{
	max-width:420px;
	position:relative;
	z-index:2;
}
#lp08 .item-img{
	position:relative;
	z-index:2;
}
@media screen and (min-width: 681px) {
#lp08 .item-txt:after{
	content:"";
	position:absolute;
	z-index:0;
	width:40%;
	height:80%;
	background:#F1F1F3;
}
.inner8_1 .item-txt:after{
	left:-100px;
	top:-30px;
}
.inner8_2 .item-txt:after{
	right:-100px;
	top:-30px;
}
.inner8_1,
.inner8_2{
	display:flex;
	flex-wrap:wrap;
	gap:60px;
	
}

.inner8_1{padding:8rem 2rem 4rem;}
.inner8_2{
	padding:4rem 2rem;
	flex-direction: row-reverse;
}

#lp08 .item-img,
#lp08 .item-txt{flex:1;}
.inner8_2 .item-txt .tit,
.inner8_2 .item-txt .cont{
	margin-left:auto;
}
#lp08 .item-txt .sub_tit{
	font-size:24px;
	font-weight:bold;
}
#lp08 .item-txt h2{
	font-size:30px;
	font-weight:bold;
}


}

@media screen and (max-width: 1080px) {
	.inner8_1, .inner8_2{gap:30px;}
	#lp08 .item-txt .sub_tit{font-size:22px;}
	#lp08 .item-txt h2{font-size:26px;}
}



@media screen and (max-width: 680px) {
	#lp08 .item-txt .sub_tit{font-size:20px;}
	#lp08 .item-txt h2{font-size:24px;}
	#lp08 .item-txt{
		
		padding:4rem 2rem;
		margin-bottom:2rem;
	}
	.inner8_1 .item-txt{background: linear-gradient(90deg, #F1F1F3 0%, #F1F1F3 40%, #fff 40%, #fff 100%);}
	.inner8_2 .item-txt{background: linear-gradient(90deg, #fff 0%, #fff 60%, #F1F1F3 60%, #F1F1F3 100%);}
	
	
	.inner8_1 .item-img{
		padding-right:1rem;
	}
	.inner8_2 .item-img{
		text-align:right;
		padding-left:2rem;
	}
}

@media screen and (max-width: 420px) {
	#lp08 .item-txt .sub_tit{font-size:16px;}
	#lp08 .item-txt h2{font-size:20px;}
}

/*アクセス案内*/
#access{
	background:#F1F1F3;
	padding:4rem 2rem;
}
#access .inner{
	max-width:1000px;
}
#access .tit{
	text-align:center;
	margin-bottom:2rem;
}
#access .tit h2{font-weight:bold;}
#access .box{
	background: #fff;
	padding: 2rem;
	border-radius: 20px;
	margin-bottom: 1rem;
	box-sizing:border-box;
}

#access h3{
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 1rem;
	position: relative;
	padding-left: 30px;
}
#access h3:before{
	content:"";
	width:20px;
	height:10px;
	background:#7B9A47;
	position:absolute;
	left:0;
	top:20px;
}
#access h4{
	font-size: clamp(18px, 2.25vw, 24px);
	font-weight: bold;
}



@media screen and (min-width: 681px) {
#access .col{
	display:flex;
	flex-wrap:wrap;
	gap:30px;
}
#access .col .box{
	width:calc((100% - 30px) / 2);
}
}
@media screen and (max-width: 680px) {
	#access .box{border-radius: 10px;}
	#access h3{font-size:20px;}
	#access h3:before{    top: 13px;}
}

/*FAQ*/

#faq{
	background:#5D4D7A;
	padding:4rem 2rem;
}
#faq .inner{
	max-width:1000px;
}

#faq .tit{
	text-align:center;
	margin-bottom:2rem;
}
#faq .tit h2{
	color:#fff;
	font-weight:bold;
	font-size: clamp(18px, 2.25vw, 28px);
}

.faq-item {
	background: #fff;
	padding: 2rem 1rem;
	border-radius: 20px;
	margin-bottom: 1rem;
	box-sizing: border-box;
}


.faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 0em 1em 0em 38px;
	font-weight: 600;
	cursor: pointer;
	font-size:clamp(16px, 2vw, 20px);
}

.faq-item summary::before,
.faq-item .faq-answer::before {
  position: absolute;
  left: 0;
  font-weight: 600;
  font-size: 1em;
	color: #fff;
	border-radius:20px;
	width: 30px;
	line-height: 30px;
	text-align: center;
}

.faq-item summary::before {
	content: "Q";
	background:#F59F66;
	
}

.faq-item summary::after {
  content: "";
	width: 16px;
	height: 16px;
	margin-left: 10px;
	position: relative;
	flex-shrink: 0;
	background:
		linear-gradient(#7B9A47, #7B9A47) center / 16px 2px no-repeat,
		linear-gradient(#7B9A47, #7B9A47) center / 2px 16px no-repeat;
	transition: transform .3s;
}

.faq-item[open] summary::after {
  background:
		linear-gradient(#7B9A47, #7B9A47) center / 16px 2px no-repeat;
}

.faq-item .faq-answer {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 2em 0 0 38px;
  transition: transform .5s, opacity .5s;
}

.faq-item[open] .faq-answer {
  transform: none;
  opacity: 1;
}

.faq-item .faq-answer::before {
  content: "A";
	background:#7B9A47;
}

.faq-item .faq-answer .list02{margin-bottom:0;}



@media screen and (max-width: 680px) {
	.faq-list {border-radius: 10px;}
}



/*英語版サイズ調整用*/


@media screen and (min-width: 1081px) {
#en-main .fv_tit{width:50%;}

}
#en-main .fv_tit h2{font-size:clamp(24px, 3.5vw, 48px);}
#en-main .fv_tit p{font-size: clamp(16px, 2.5vw, 28px);}

@media screen and (min-width: 721px) and (max-width: 1080px) {
#en-main .fv_tit p{text-shadow:1px 1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,-1px -1px 0 #fff;}
}

#en-main .time_tbl,
#en-main .bnr-list,
#en-main .ryoukin01 li{
	max-width:unset;
}
/*簡体字版サイズ調整用*/


/*繁体字版サイズ調整用*/


/*韓国語版サイズ調整用*/



