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



/* --------------------------------------------------------------------------------
	Reset
-------------------------------------------------------------------------------- */

html,body,div,span,applet,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,big,cite,code,
del,dfn,em,img,ins,kbd,q,s,samp,
small,strike,strong,sub,sup,tt,var,
b,u,i,center,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,embed,
figure,figcaption,footer,header,hgroup,
menu,nav,output,ruby,section,summary,
time,mark,audio,video{
	margin:0;
	padding:0;
	font-family: "Kaisei Opti", serif;
	
	
}

html{
  scroll-behavior: smooth;
}




*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}



input,
textarea{
	font-weight:normal;
	font-size:100%;
}
ul{
	list-style:none;
}
blockquote,q{
	quotes:none;
}
blockquote:before,blockquote:after,
q:before,q:after{
	content:'';
	content:none;
}
input,
textarea,
select{
	 
}
a{
	overflow:hidden;
	outline:none;
	text-decoration:none;
	
}
a:hover,
a:active{
	
	opacity:0.8;
}
input[type="text"]:focus{
	outline:0;
}
table{
	border-collapse:collapse;
	border-spacing:0;
}

img{
	border:none;
	-ms-interpolation-mode:bicubic;
	vertical-align:bottom;
}
a img{
	border:none;
}
a:hover img{
	opacity:0.7;
	filter:alpha(opacity=70);		/* ie7 */
	-ms-filter:"alpha(opacity=70)";	/* ie8 */
}




/* --------------------------------------------------------------------------------
	タグ
-------------------------------------------------------------------------------- */

html,body {
    height: 100%;
	margin:0!important;
	font-feature-settings: "palt";
	
	
	
}


body{
	line-height:1.5;
	-webkit-text-size-adjust:100%;
	min-width: 1024px;
	
}
body.home .breadcrumbs{
	display: none;
}



.device-pc {
	display: block;
}

.device-sp {
	display: none!important;
}


a{
	color: #000;
	text-decoration: none;
}


.more-btn{
	text-align: center;
}

.more-btn a{
	display: inline-block;
	min-width: 200px;
	text-align: center;
	background: #DEAC5B;
	color: #fff;
	font-size: 15px;
	padding: 10px 30px;
	border-radius: 20px;
	transition: background 0.3s ease, color 0.3s ease;
}


.more-btn a:hover{
	background: #000;
	
}


/*
	header
*/


#header {
    position:fixed;
    width: 100%;
	top:0;
	z-index: 9000;
}

/* ハンバーガーメニューアイコン */
#menu {
    cursor: pointer;
	position: absolute;
	top:40px;
	left: 40px;
    z-index: 9999;
}

/* ナビゲーションメニューの初期状態（非表示） */
#nav-menu {
	width: 100%;
    min-height: 100vh;
    display: none;
    position: fixed; /* ← absolute を fixed に変更 */
    top: 0;
    right: 0;
    background: #FF9401;
    color: #fff;
    padding: 130px 10vw;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    overflow-y: auto; /* ← 追加：縦スクロールを有効にする */
    -webkit-overflow-scrolling: touch; /* iOS 対応 */
}





#nav-menu .menu-inner{
    width: 840px;
	margin: 0 auto;
}



#nav-menu .menu-inner ul.up {
    display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	margin: 0 0 80px;
}


#nav-menu .menu-inner ul.up li{
	width: 220px;
	text-align: center;

}

#nav-menu .menu-inner ul.btm {
    display: flex;
	justify-content: space-around;
	align-items: flex-end;
	flex-wrap: wrap;
	margin: 0 0 80px;
}


#nav-menu .menu-inner ul.btm li{
	text-align: center;
	
}


#nav-menu .menu-inner ul li span{
	font-size: 20px;
	color: #fff;
	display: block;
	margin: 20px 0 0;

}


#nav-menu ul.footer_menu {
	display: flex;
	justify-content: center;
	margin: 0 0 10px;
}

#nav-menu ul.footer_menu li {
	padding: 0 10px;
}


#nav-menu ul.footer_menu a {
        font-size: 14px;
        color: #fff;
        text-decoration: none;
    }

#nav-menu ul.footer_menu2 {
	display: flex;
	justify-content: center;
	margin: 0 0 60px;
}

#nav-menu ul.footer_menu2 li {
	padding: 0 10px;
}


#nav-menu ul.footer_menu2 a {
        font-size: 14px;
        color: #fff;
        text-decoration: none;
    }


#nav-menu .menu-footer{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 840px;
	margin: 0 auto;
}

#nav-menu .menu-footer-l{
	width: 460px;
}


#nav-menu .menu-footer-l ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 30px;
}


#nav-menu .menu-footer-l ul.sns{
	display: flex;
	justify-content: flex-start;
	align-items: center
}

#nav-menu .menu-footer-l ul.sns li{
	margin: 0 40px 0 0;
}

#nav-menu .menu-footer-r{
	width: 250px;
}



#nav-menu .menu-footer-r .logo img{
	width: 160px;
}


#nav-menu .menu-footer-r .logo p{
	font-size: 19px;
}

#nav-menu .menu-footer-r .logo p a{
	font-size: 30px;
	color: #fff;
}



/* メニュー表示状態 */
#nav-menu.show {
    display: block; /* 表示する */
    opacity: 1; /* 不透明にする */
    transform: translateY(0); /* 元の位置に戻す */
}


/*
	mv
*/



#mv{
	position: relative;
	
}

#mv .mv-img img{
	height: 815px;
}


#mv .mv-img img{
	width: 100%;
	height: 815px;
	object-fit: cover;
}


#mv .mv-img video{
	height: 815px;
}


#mv .mv-img video{
	width: 100%;
	height: 815px;
	object-fit: cover;
}

#mv h2{
	position: absolute;
	top:80px;
	right: 80px;
}

#mv .mv-txt{
	position: absolute;
	bottom:-60px;
	right: 20px;
	z-index: 99;
}


#heading{
	position: relative;
	margin: 0 0 calc(1380px - 12vw);
}


#heading .bg-img{
	position: absolute;
	top:-12vw;
	width: 100%;
	min-height: 1330px;
	background: url("../images/common/bg.png") no-repeat top;
	background-size: cover;
	
	
}

#heading .heading-inner{
	width: 980px;
	margin: 0 auto 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}



#heading .heading-inner .logo{
	width: 305px;
	font-family: "Kaisei Opti", serif;
}

#heading .heading-inner .logo p{
	font-size: 26px;
	font-family: "Kaisei Opti", serif;
	color: #fff;
	line-height: 1.2;
	margin: 25px 0 0;
}

#heading .heading-inner .logo a{
	font-size: 38px;
	font-family: "Kaisei Opti", serif;
	text-decoration: none;
	color: #fff;
}


#heading .heading-inner .msc{
	width: 240px;
	
}

#heading .heading-inner .sns{
	width: 253px;
	
}

#heading .heading-inner .sns ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 15px;
	
}

#heading .heading-inner .sns .lang select{
	width: 100%;
	font-size: 14px;
	padding: 5px 15px;
	
}

#heading #memory_travel .txt{
	width: 980px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	
}

#heading #memory_travel .txt{
	width: 980px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	
}

#heading #memory_travel .txt p{
	margin: 0 0 17px;
	
}

#heading #memory_travel .txt p:first-child{
	padding: 0 0 0 90px;
	
}

#heading #memory_travel .txt p:last-child{
	padding: 0 90px 0 0;
	
}


#heading #memory_travel .txt p {
    position: relative;
   
}

#heading #memory_travel .txt p img {
    width: 100%; /* 汽車画像の幅を調整 */
    animation: gatangoton 2.5s infinite ease-in-out; /* アニメーション適用 */
}

@keyframes gatangoton {
   0% { transform: translateY(0) rotate(0); } /* 中心位置 */
    25% { transform: translateY(-10px) rotate(-5deg); } /* 上に揺れる */
    50% { transform: translateY(10px) rotate(5deg); }  /* 下に揺れる */
    75% { transform: translateY(-10px) rotate(-5deg); } /* 上に戻る */
    100% { transform: translateY(0) rotate(0); }  
}





#heading #memory_travel ul li{
	width: 230px;
	margin: 0px;
}

#heading #memory_travel ul li img{
	width: 230px;
	height: 150px;
	object-fit: cover;
}



#heading #news{
	width: 980px;
	margin: 60px auto;
	background: #fff;
	padding: 70px 50px;
}



#heading #news h2{
	font-size: 40px;
	color: #FF6201;
	text-align: center;
	margin: 0 0 20px;

}


#news .content {
    display: none;
}
#news .content.show {
    display: block;
}


#heading #news .tab-container{
	display: flex;
	justify-content: center;
	margin: 0 0 35px;

}

#heading #news .tab-container .tab{
	font-size: 20px;
	margin: 0 25px;
	

}


#heading #news .tab-container .tab.active{
	border-bottom: 2px solid #000;
	font-weight: bold;
}

#heading #news .content-container{
	/*margin: 0 0 40px;*/
}


#heading #news .content-container ul{
	display: flex;
	overflow-x: scroll;
	padding: 0 0 15px;
	margin: 0 0 25px;

}

/*#heading #news .content-container ul::before{
	content: '';
	position: fixed;
	left: 0;
	top:40%;
	width: 22px;
	height: 41px;
	background-image: url("../images/common/i-pre.svg");
	
}


#heading #news .content-container ul::after{
	content: '';
	position: fixed;
	right: 0;
	top:40%;
	width: 22px;
	height: 41px;
	background-image: url("../images/common/i-next.svg");
	
}

*/





#heading #news .content-container ul li{
	flex-shrink: 0;
	width: 230px;
	margin: 0 30px;

}



#heading #news .content-container ul li .tag{
	font-size: 12px;
	border: 1px solid #000;
	border-radius: 13px;
	display: inline-flex;
	padding: 1px 15px;
	margin: 0 0 10px;
	font-weight: bold;

}

#heading #news .content-container ul li .thum{
	margin: 0 0 15px;
}

#heading #news .content-container ul li .thum img{
	width: 230px;
	height: 150px;
	border-radius: 13px;

}


#heading #news .content-container ul li .date{
	font-size: 12px;
	color: #DEAC5B
}


#heading #news .content-container ul li p{
	font-size: 17px;
	font-weight: bold;
}


#heading #news p.scroll{
	font-size: 14px;
	text-align: right;
	
}



/*レポート*/


#report{
	width: 980px;
	margin: 0 auto;
	padding: 120px 50px;

}



#report h2{
	font-size: 40px;
	color: #FF6201;
	text-align: center;
	margin: 0 0 60px;

}



#report ul{
	display: flex;
	overflow-x: scroll;
	padding: 0 0 15px;
	margin: 0 0 25px;

}

#report ul li{
	flex-shrink: 0;
	width: 230px;
	margin: 0 30px;

}



#report ul li .thum{
	margin: 0 0 15px;
}

#report ul li .thum img{
	width: 230px;
	height: 150px;
	border-radius: 13px;

}


#report ul li .date{
	font-size: 12px;
	color: #DEAC5B
}


#report ul li p{
	font-size: 17px;
	font-weight: bold;
	margin: 0 0 15px;
}

#report p.scroll{
	font-size: 14px;
	text-align: right;
	
}

/*あら竹のこと*/

#koto {
	background:#FFD5ED;
}




#koto .koto-img{
	position: relative;
}

#koto .koto-img .img img{
	width: 100%;
	height: 910px;
	object-fit: cover;
}

#koto .koto-img h2{
	position: absolute;
	width: 406px;
	margin: 0 auto;
	bottom: -50px;
	left: 0;
	right: 0;
}



#koto .inner {
	padding: 150px 0 100px;
}

#koto .inner h3{
	font-size: 33px;
	font-weight: bold;
	color: #FF4500;
	text-align: center;
	margin: 0 0 40px;
}


#koto .inner p{
	font-size: 18px;
	color: #FF4500;
	line-height: 2;
	text-align: center;
}


/*駅弁*/


#ekiben{
	background: #FDECCD;
}


#ekiben .ekiben-img{
	position: relative;
	width: 100%;
}


#ekiben .ekiben-img .img img{
	width: 100%;
	height: 370px;
	object-fit: cover;
}



#ekiben .yuge01 {
    position: absolute;
    top: -300px;
    left: 10%; 
    width: 490px;
    height: 460px;
    background: radial-gradient(closest-side, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
    border-radius: 50%;
    transform: translateX(-50%);
    animation: rise01 4s infinite ease-in-out, fade01 4s infinite ease-in-out, wobble 5s infinite ease-in-out;
    opacity: 0;
}

/* 湯気のエフェクト02 */
#ekiben .yuge02 {
    position: absolute;
    top: -320px;
    left: 90%; 
    width: 571px;
    height: 646px;
    background: radial-gradient(closest-side, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
    border-radius: 50%;
    transform: translateX(-50%);
    animation: rise02 5s infinite ease-in-out, fade02 6s infinite ease-in-out, wobble 4.5s infinite ease-in-out;
    opacity: 0;
}

/* 湯気のエフェクト03 */
#ekiben .yuge03 {
    position: absolute;
    bottom: -50px;
    right: -30%; 
    width: 490px;
    height: 465px;
    background: radial-gradient(closest-side, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
    border-radius: 50%;
    transform: translateX(-50%);
    animation: rise03 6s infinite ease-in-out, fade03 7s infinite ease-in-out, wobble 5s infinite ease-in-out;
    opacity: 0;
}

/* 湯気がゆっくり上昇する動き */
@keyframes rise01 {
    0% {
        transform: translateX(-50%) translateY(20px);
    }
    100% {
        transform: translateX(-50%) translateY(-200px);
    }
}

@keyframes rise02 {
    0% {
        transform: translateX(-50%) translateY(30px);
    }
    100% {
        transform: translateX(-50%) translateY(-250px);
    }
}

@keyframes rise03 {
    0% {
        transform: translateX(-50%) translateY(10px);
    }
    100% {
        transform: translateX(-50%) translateY(-180px);
    }
}

/* 湯気の透明度が変化する */
@keyframes fade01 {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 0;
    }
}

@keyframes fade02 {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        opacity: 0;
    }
}

@keyframes fade03 {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0.4;
    }
    100% {
        opacity: 0;
    }
}

/* 湯気の横揺れを再現 */
@keyframes wobble {
    0% {
        transform: translateX(-50%);
    }
    25% {
        transform: translateX(-48%);
    }
    50% {
        transform: translateX(-50%);
    }
    75% {
        transform: translateX(-52%);
    }
    100% {
        transform: translateX(-50%);
    }
}



#ekiben .inner{
	padding: 110px 0;
	width: 980px;
	margin: 0 auto;
}


#ekiben .inner h2{
	font-size: 40px;
	color: #FF6201;
	text-align: center;
	margin: 0 0 60px;
	font-weight: bold;
}


#ekiben .inner ul{
	display: flex;
	flex-flow: wrap;
	justify-content: space-around;
	
}

#ekiben .inner ul li{
	width: 210px;
	margin: 0 0 40px;
	
}


#ekiben .inner ul li .thum img{
	width: 215px;
	height: 150px;
	object-fit: contain;
	
}



#ekiben .inner ul li:nth-child(1){
	width: 49%;
	margin: 0 0 110px;
}

#ekiben .inner ul li:nth-child(1) img{
	width: 480px;
	height: 480px;
	object-fit: contain
	
}


#ekiben .inner ul li:nth-child(2){
	width: 48%;
	margin: 0 0 110px;
	
}

#ekiben .inner ul li:nth-child(2) img{
	width: 480px;
	height: 480px;
	object-fit: contain
	
}




#ekiben .inner ul li h3{
	font-size: 18px;
	color: #FF6201;
	font-weight: bold;
	margin: 15px 0;
	text-align: center;
	
}


#ekiben .inner ul li .price{	
	text-align: center;
	
	
}

#ekiben .inner ul li p{
	font-size: 25px;
	margin: 0 0 15px;
	font-weight: bold;
	
}



#ekiben .inner ul li .txt{
	display: flex;
	justify-content: space-around;
	align-items: baseline;
	
	
}


#ekiben .inner ul li .txt h3{	
	font-size: 40px;
	color: #FF6201;
	font-weight: bold;
	margin: 0;
	
}

#ekiben .inner ul li .txt .price{	
	font-size: 18px;
	margin: 0 0 15px;
	font-weight: bold;
	
	
}


#ekiben .inner .pdf-btn{	
	text-align: center;
	margin: 100px 0 0;
	
}


/* ベースのスタイル */
#ekiben .inner ul li .thum img {
 
  transition: transform 0.3s ease; /* アニメーションのスムーズさ */
}

/* マウスオーバー時 */
#ekiben .inner ul li .thum:hover img {
  transform: rotate(3deg); /* 少し傾ける (例: 5度) */
}





#pickup{
	background: #FDECCD;
	padding: 0 0 90px;
}

#pickup h2{
	font-size: 40px;
	color: #FF6201;
	text-align: center;
	margin: 0 0 60px;
	font-weight: bold;
}

#pickup .lead{
	text-align: center;
	
}


#pickup ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#pickup ul li{
	width: 450px;
	text-align: center;
	margin: 0 15px 30px;
	display: flex;
	justify-content: center;
}




/*
	鉄道掛け紙シリーズ
*/

#kakegami{
	position: relative;
	
}

#kakegami .img img{
	height: 710px;
	width: 100%;
	object-fit: cover;
}

#kakegami .txt{
	width: 605px;
	position: absolute;
	top:65px;
	text-align: center;
	left: 0;
	right: 0;
	margin: 0 auto;
	
}

#kakegami .txt h2{
	font-size: 50px;
	font-weight: bold;
	color: #EF4218;
	margin: 0 0 20px;
}

#kakegami .txt p{
	font-size: 22px;
	
}



#kakegami .kakegami-btn{
	position: absolute;
	bottom:65px;
	text-align: center;
	left: 10vw;
}

#kakegami .kakegami-btn a{
	width: 160px;
	height: 160px;
	border-radius: 50%;
	color: #fff;
	background: #EF4218;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 23px;
}

#kakegami .kakegami-btn a:hover{
	background: #000;
	transition: background 0.3s ease, color 0.3s ease;
}



/*
	ご利用案内
*/


#guide{
	background: #EDEDED;
	padding: 140px 0 0;
}

#guide .inner{
	width: 980px;
	margin: 0 auto;
}

#guide h2{
	text-align: center;
	margin: 0 0 80px;
}

#guide ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#guide ul li{
	width: 280px;
	margin: 0 20px;
}


#guide ul li .img{
	position: relative;
	margin: 0 0 15px;
	text-align: center;
	height: 208px;
}


#guide ul li .img .txt{
	position: absolute;
	z-index: 99;
	width: 100%;
	
}

#guide ul li .img .bg{
	position: absolute;
	z-index: 90;
	width: 100%;
}


/* 基本スタイル */
#guide ul li .img .bg img {
  transition: box-shadow 0.3s ease, transform 0.3s ease; /* アニメーションのスムーズな動き */
}

/* マウスオーバー時 */
#guide ul li .img:hover .bg img {
  transform: scale(1.2); /* 少し拡大 (オプション) */
}


#guide ul li h3{
	font-size: 19px;
	color: #FE5FDA;
	border-bottom: 1px solid #FE5FDA;
	padding: 0 0 10px;
	margin: 0 0 15px;
	text-align: center;
}

#guide ul li p{
	font-size: 16px;

}



/*
	もっと知りたいあら竹
*/


#more-aratake{
	background: #EDEDED;
	padding: 140px 0;
}

#more-aratake .inner{
	width: 980px;
	margin: 0 auto;
}

#more-aratake h2{
	text-align: center;
	margin: 0 0 80px;
}

#more-aratake ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#more-aratake ul li{
	width: 305px;
	margin: 0 10px 40px;
}


#more-aratake ul li .img{
	margin: 0 0 15px;
	text-align: center;
}


/* 基本スタイル */
#more-aratake ul li .img img {
  transition: box-shadow 0.3s ease, transform 0.3s ease; /* アニメーションのスムーズな動き */
}

/* マウスオーバー時 */
#more-aratake ul li .img:hover img {
  transform: scale(1.05); /* 少し拡大 (オプション) */
}




#more-aratake ul li h3{
	font-size: 19px;
	color: #27B29C;
	border-bottom: 1px solid #27B29C;
	padding: 0 0 10px;
	margin: 0 0 15px;
	text-align: center;
}


#more-aratake ul li p{
	font-size: 16px;

}

#more-aratake ol {
	list-style: none;

}

#more-aratake ol li{
	text-indent: -1em;
	padding: 0 0 0 1em;
	margin: 0 0 10px;
	width: 100%;
	

}

#more-aratake ol li p{
	font-size: 14px;

}




/*
	sns
*/


#sns{
	background: #969EF2;
	padding: 120px 0 100px;
}


#sns .inner{
	width: 980px;
	margin: 0 auto;
	
}

#sns h2{
	text-align: center;
	margin: 0 0 20px;
}


#sns .movie{
	text-align: center;
	margin: 0 0 80px;
}


#sns iframe{
	width: 780px;
	height: 440px;
	margin: 0 0 20px;
}

#sns .movie p{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

#sns .movie p::before{
	content: '';
	display: inline-block;
	width: 22px;
	height: 17px;
	background-image: url("../images/common/i-youtube-b.svg");
	background-size: contain;
	margin: 0 10px 0 0;
	
}



#sns ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 40px;
}
#sns ul li{
	width: 312px;
	margin: 0 0 15px;
}


#sns .note{
	display: flex;
	justify-content: center;
}



/*
	shop_info
*/


#shop_info {
	
	background-color: #EDEDED;
	padding: 90px 0;
}

#shop_info h2 {
	text-align: center;
	margin: 0 0 20px;
}

#shop_info p {
	font-family: "Hiragino Sans", "Hirafgino Kaku Gothic ProN", Meiryo, "sans-serif";
	
}

#shop_info ul {
	display: flex;
	justify-content: center;
	align-items: baseline;
	width: 980px;
	margin: 0 auto;
}

#shop_info ul li {
	width: 33%;
	padding-right: 60px;
}

#shop_info ul li:last-child {
	padding-right: 0;
}

#shop_info ul li:last-child img {
	padding-top: 60px;
}

#shop_info ul li h4 {
	font-size: 20px;
	font-weight: bold;
	margin-top: 35px;
	margin-bottom: 22px;
}

#shop_info ul li .address {
	margin-bottom: 20px;
}

#shop_info ul li .opening_ours {
	margin-bottom: 20px;
}


/*
	shinsui
*/

#shinsui {
	
	background-color: #E6DFD2;
	padding: 100px 0;
}

#shinsui p,
#shinsui dl {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}


#shinsui h3 {
	font-size: 35px;
	font-weight: bold;
	color: #705143;
	width: 980px;
	text-align: center;
	margin: 0 auto;
}

#shinsui .brother {
	margin: -64px auto 58px;
	padding: 0 0 0 76px;
	width: 800px;
}

#shinsui .about {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	align-items: flex-end;
	width: 980px;
	margin: 0 auto;
}

#shinsui .about_desc {
	width: 400px;
}

#shinsui .sub-ttl {
	font-size: 15px;
	padding: 15px 0 0;
	display: block;
}
#shinsui .ttl {
	font-size: 22px;
	font-weight: normal;
	padding: 5px 0 20px;
}
#shinsui .about dl {
	display: flex;
	font-size: 14px;
	flex-wrap: wrap;
	row-gap: 5px;
}
#shinsui .about dt {
	width: 23%;
}
#shinsui .about dd {
	width: 77%;
}

#shinsui .about_img {
	width: 500px;
}

#shinsui .img-box {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	padding-right: 70px;
	width: 523px;
}

#shinsui .img-box img {
	width: 49%;
	padding-right: 17px;
	padding-bottom: 17px;
}

#shinsui .img-box p.deco {
	position: absolute;
	top: -20px;
	right: 0;
	writing-mode: vertical-rl;
	font-size: 25px;
}

#shinsui .img-box img.deco {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 70px;
	height: 70px;
}

#shinsui .img-box img:nth-child(3),
#shinsui .img-box img:nth-child(4){
	padding-bottom: 0;
}

#shinsui .guide {
	width: 183px;
	border-radius: 50px;
	background-color: #705143;
	text-align: center;
	padding: 10px 0;
	position: relative;
	margin-top: 24px;
}

#shinsui .guide a {
	color: #fff;	
	padding-right: 20px;
	text-decoration: none;
}



#shinsui .guide::before,
#shinsui .guide::after {
	position: absolute;
	top:　0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

#shinsui .guide::before {
	top: 22px;
	right: -100px;
	width: 10px;
	height: 2px;
	background-color: #fff;
}

#shinsui .guide::after {
	top: 18px;
	right: -100px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#shinsui .guide:hover::before,
#shinsui .guide:hover::after {
		-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#shinsui .guide:hover::before {
	width: 30px;
	right: -130px;
}
	
#shinsui .guide:hover::after {
	right: -150px;
}


#furusato {
	width: 900px;
	text-align: center;
	margin: 0 auto;
	padding: 100px 0;
}
#furusato h2 {
	font-size: 35px;
	margin-bottom: 1rem;
}
#furusato p {
	font-size: 16px;
}
#furusato ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-top: 2rem;
}
#furusato img {
	width: 180px;
	height: auto;
}






/*
	footer
*/

#footer {
	height: 860px;
	position: relative;
	background-image: url("https://www.ekiben-aratake.com/item/motarou/images/footer_img.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size:cover;
	overflow: hidden;
}

#footer .footer_menu {
	display: flex;
	width: 406px;
	justify-content: space-between;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 230px;
	z-index: 2;
}

#footer .footer_menu a {
	font-size: 14px;
	color: #fff;
	text-decoration: none;
}

#footer .footer_menu2 {
	display: flex;
	justify-content: space-between;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 200px;
	z-index: 2;
	width: 784px;
}

#footer .footer_menu2 a {
	font-size: 14px;
	color: #fff;
	text-decoration: none;
}

#footer .train {
	position: absolute;
	width: 100%;
	bottom: 55px;
	left: 0;
	right: 0;
	z-index: 2;
}

#footer .liquid {
	position: absolute;
	background-image: url("https://www.ekiben-aratake.com/item/motarou/images/footer-liquid.png");
	background-repeat: no-repeat;
	background-size: cover;
	height: 360px;
    width: 100%;
    bottom: 0;
}

/*
#footer .liquid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
*/


#footer .copy-right {
	font-size: 14px;
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
}

#footer img {
	width: 100%;
}




#gallery {
	margin: 0 0 120px;
}

#gallery #memory_travel ul li{
	width: 366px;
	margin: 0px;
}


#gallery #memory_travel ul li img{
	width: 366px;
	height: 244px;
	margin: 0px;
}


#voice {
	min-width: 1366px;
	background-color: #FE9D00;
	padding: 70px 0 60px 0;
	margin: 0 0 180px;
    }


#voice .voice-ttl{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 0;
	
    }


#voice .voice-ttl .img{
	padding: 0 0 0 40px;
	
    }


#media .video iframe{
	width: 100%;
	height: 550px;
	object-fit: contain;
}


#media .media_inner .video p {
        width:100%;
	text-align: center;
	padding: 25px 0 0;
        
    }



/* アニメーションの定義 */
@keyframes slideLeft {
  0% {
    transform: translateX(100%); /* 右側から開始 */
  }
  100% {
    transform: translateX(-100vw); /* 左端まで移動 */
  }
}

/* .ico のアニメーション設定 */
.ico {
  position: absolute; /* アニメーションに影響されるため position を指定 */
  bottom: 60px; /* フッターの高さに合わせて調整 */
  right: 0;
  animation: slideLeft 30s linear infinite; /* 10秒間でループ */
  will-change: transform; /* アニメーションをスムーズにする */
}



/* --------------------------------------------------------------------------------
	買える場所
-------------------------------------------------------------------------------- */


#store .inner{
	width: 980px;
	margin: 0 auto;
}


#store .mv-img img{
	width: 100%;
	height: 600px;
	object-fit: cover;
}



#store #aratake-no-koto{
	position: relative;
}


#store #aratake-no-koto h2{
	position: absolute;
	width: 392px;
	top:-40px;
	left: 0;
	right: 0;
	margin: 0 auto;
}



#store #aratake-no-koto .inner{
	padding: 120px 0 70px;
	position: relative;
	text-align: center;
}




#store #aratake-no-koto h3{
	font-size: 42px;
	margin: 0 0 40px;
	
}


#store #aratake-no-koto h3 span{
	font-size: 30px;
	display: block;
	
}


#store #aratake-no-koto p{
	font-size: 18px;
	line-height: 2;
	
}


#store #aratake-no-koto .img01{
	position: absolute;
	right: -240px;
    top: 265px;
	
}


#store #aratake-no-koto .img02{
	position: absolute;
	left: -129px;
	top: 349px;
	
}


#store #aratake-no-koto .img03{
	position: absolute;
	right: -200px;
    bottom: -160px;
	z-index: 99;
}




/*
	駅弁一覧
*/

#store #ekiben-list{
	position: relative;
	
}

#store #ekiben-list .img img{
	height: 710px;
	width: 100%;
	object-fit: cover;
}

#store #ekiben-list .txt{
	
	position: absolute;
	top:65px;
	text-align: center;
	width: 575px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#store #ekiben-list .txt h2{
	font-size: 50px;
	font-weight: bold;
	color: #EF4218;
	margin: 0 0 20px;
}

#store #ekiben-list .txt p{
	font-size: 22px;
	
}



#store #ekiben-list .ekiben-btn{
	position: absolute;
	bottom:65px;
	text-align: center;
	left: 10vw;
}

#store #ekiben-list .ekiben-btn a{
	width: 160px;
	height: 160px;
	border-radius: 50%;
	color: #EF4218;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 23px;
}

#store #ekiben-list .ekiben-btn a:hover{
	color: #fff;
	background: #000;
	transition: background 0.3s ease, color 0.3s ease;
}


/*
	買える場所
*/


#store #place{
	padding: 140px 0;
}




#store #place h2{
	text-align: center;
	margin: 0 0 35px;
}


#store #place p.lead{
	text-align: center;
	font-size: 22px;
	margin: 0 0 100px;
}


#store #place ul li{
	display: flex;
	justify-content: space-between;
	margin: 0 0 100px;
}

#store #place ul li .img{
	width: 300px;
	text-align: center;
}

#store #place ul li .img .tag{
	display: flex;
	justify-content: center;
	margin: 0 0 20px;
}

#store #place ul li .img .tag span{
	color: #fff;
	font-size: 17px;
	text-align: center;
	background: #4160CB;
	border-radius: 17px;
	padding: 0 10px;
	margin: 0 5px;
}

#store #place ul li .img .tag span.vendor{
	background: #7E4623;
	
}



#store #place ul li .img h3{
	font-size: 35px;
	margin: 0 0 30px;
}




#store #place ul li .txt{
	width: 580px;

}


#store #place ul li .shop-txt h4{
	display: inline-block;
	font-size: 50px;
	border-bottom: 8px solid #FF4500;
	color: #FF4500;
	margin: 0 0 40px;
}

#store #place ul li .shop-txt h4 span{

	font-size: 14px;
	color: #000;
	margin: 0 0 0 30px;
}



#store #place ul li .shop-txt p{
	font-size: 14px;
	margin: 0 0 40px;
	line-height: 2;
}


#store #place ul li .shop-txt p.shop-info{
	font-size: 14px;
	margin: 0 0 40px;
	line-height: 2;
	color: #FF4500;
}

#store #place ul li .shop-txt p.shop-info a{
	font-size: 20px;
	color: #FF4500;
	font-weight: bold;
}


#store #place ul li .flow p{
	font-size: 14px;
	margin: 0 0 15px;
	
}

#store #place ul li .flow ol li{
	font-size: 14px;
	display: flex;
	justify-content:flex-start;
	align-items: flex-start;
	margin: 0 0 30px;
	
	
}

#store #place ul li .flow ol li::before{
	content: '1';
	font-size: 30px;
	display: block;
	width: 66px;
	text-align: center;
	margin: -10px 0 0 ;
}


#store #place ul li .flow ol li:nth-child(1)::before{
	content: '1';
	
}

#store #place ul li .flow ol li:nth-child(2)::before{
	content: '2';
	
}


#store #place ul li .flow ol li:nth-child(3)::before{
	content: '3';
	
}


#store #place ul li .flow ol li:nth-child(4)::before{
	content: '4';
	
}

#store #place .flow-img{
	margin: 0 0 100px;
	display: flex;
	justify-content: space-between;
	
}





#store .corpo {
	display: flex;
	justify-content: center;
	background-color: #FFE283;
	margin-bottom: 157px;
}

#store .corpo .corpo_img {
	margin-right: 50px;
	width: 150px;
	position: relative;
}

#store .corpo .corpo_img img {
	position: absolute;
	top: -50px;
	left: 0;
}

#store .corpo .corpo_desc {
	width: 470px;
	margin: 26px 0 36px 0;
}

#store .corpo .corpo_desc h3 {
	font-size: 37px;
	font-weight: bold;
	color: #FF6201;
	margin-bottom: 10px;
}

#store .corpo .corpo_desc p {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}

#store .corpo .corpo_desc .guide {
	width: 183px;
	border-radius: 50px;
	background-color: #FF6201;
	text-align: center;
	padding: 10px 0;
	position: relative;
}

#store .corpo .corpo_desc .guide a {
	color: #fff;	
	padding-right: 20px;
	text-decoration: none;
}



#store .corpo .corpo_desc .guide::before,
#store .corpo .corpo_desc .guide::after {
	position: absolute;
	top:　0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

#store .corpo .corpo_desc .guide::before {
	top: 22px;
	right: -100px;
	width: 10px;
	height: 2px;
	background-color: #fff;
}

#store .corpo .corpo_desc .guide::after {
	top: 18px;
	right: -100px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#store .corpo .corpo_desc .guide:hover::before,
#store .corpo .corpo_desc .guide:hover::after {
		-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#store .corpo .corpo_desc .guide:hover::before {
	width: 30px;
	right: -130px;
}
	
#store .corpo .corpo_desc .guide:hover::after {
	right: -150px;
}


/*
よくある質問
*/

#store-faq{
	background: #FDECCD;
	padding: 120px 0;
}

#store-faq h2{
	font-size: 50px;
	color: #FF4500;
	text-align: center;
	margin: 0 0 60px;
}


#store-faq h2 span{
	display: block;
	font-size: 30px;
	color: #FF4500;
	text-align: center;
}


#store .faq-inner {
	width: 980px;
	padding: 0 60px;
}

#store .acc_wrap {
	border-bottom: 1px solid #C7C7C7;
	margin-bottom: 10px;
}



#store .acc_cont{
	display: none;
	padding: 0 10px 25px;
	font-size: 18px;
	
}

#store .acc_inner{
	display: flex;
	line-height: 1.7;
	
	
}


#store .acc_btn{
	position: relative;
	font-size: 20px;
	font-weight: bold;
	padding: 20px 10px;
}


#store .acc_btn span{
	display: inline-flex;
    width: 1.5em;
    height: 1.5em;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 10px;
    margin: 0 1em 0 0;
    border-radius: 10px;
}


#store .txt_q{
	padding: 0 10px 0 0;
	
}



#store .acc_btn::before,
#store .acc_btn::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}



#store .acc_btn::before{
	right: 3px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #FF4500;
	border-right: 1px solid #FF4500;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

#store .acc_wrap.show .acc_btn::before{
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


#store .acc_cont span{
	display: inline-flex;
    width: 1.5em;
    height: 1.5em;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 10px;
    margin: 0 1em 0 0;
    border-radius: 10px;
}



.fade-in-section {
  opacity: 0; /* 初期状態は非表示 */
  transform: translateY(40px); /* 初期状態で少し下にずらす */
  transition: opacity 0.8s ease, transform 0.8s ease; /* スムーズなアニメーション */
}



/* 表示状態のスタイル */
.fade-in {
  opacity: 1;
  transform: translateY(0);
}


/* --------------------------------------------------------------------------------
	社長経歴 
-------------------------------------------------------------------------------- */

#p-chan *{
	 font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Noto Sans JP","Yu Gothic","Yu Gothic Medium",
    "Meiryo",sans-serif!important;
}



#p-chan .inner{
	width: 890px;
	margin: 0 auto;
}


#p-chan #p-heading{
	background: url("../images/p-chan/heading-bg.jpg") no-repeat center ;
	background-size: cover;
	padding: 170px 0 120px;
}


#p-chan #p-heading .inner{
	display: flex;
	justify-content: space-between;
}


#p-chan #p-heading h2{
	font-size: 38px;
	margin: 0 0 70px;
	
}


#p-chan #p-heading h2 span{
	display: inline-block;
	border-bottom: 3px solid #000;
	margin: 0 0 10px;
}


#p-chan #p-heading .owner-name .position{
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 10px;
}



#p-chan #p-heading .owner-name h3{
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 30px;
}


#p-chan #p-heading .owner-name h3 span{
	font-size: 18px;
	font-weight: 700;
	
}


#p-chan #p-heading p{
	font-size: 15px;
	line-height: 2;
}

#p-chan #p-heading .img{
	position: relative;
}

#p-chan #p-heading .img .img02{
	position: absolute;
	bottom: -20px;
	right: -120px;
}


#p-chan #p-msg{
	padding: 80px 0 120px;
}

#p-chan #p-msg .inner{
	position: relative;
}



#p-chan #p-msg .txt{
	display: flex;
}

#p-chan #p-msg .txt h2{
	writing-mode: vertical-rl;
	text-orientation: mixed;
	letter-spacing: 0.1em; 
	line-height: 1.4;
	font-size: 38px;
}

#p-chan #p-msg .txt p{
	padding: 0 70px;
	font-size: 15px;
	line-height: 2;
}

#p-chan #p-msg .img{
	position: absolute;
	bottom: -40px;
	right: -120px;
}



#p-chan #career{
	background: url("../images/p-chan/career-bg.jpg") no-repeat top ;
	background-size: cover;
	padding: 0 0 120px;
	
}

#p-chan #career h2{
	position: relative;
	margin: 0 0 50px;
}

#p-chan #career h2 img{
	position: absolute;
	width: 207px;
	right: 0;
	left: 0;
	margin: 0 auto;
	top: -40px;
}

#p-chan #career .mv{
	padding: 120px 0 0;
	text-align: center;
	width: 755px;
	margin: 0 auto 35px;
}

#p-chan #career .prof{
	background: #fff;
	width: 755px;
	margin: 0 auto;
	padding: 75px;
	position: relative;
}


#p-chan #career .prof h3{
	font-size: 30px;
	font-weight: 700;
	margin: 0 0 25px;
}

#p-chan #career .prof p{
	font-size: 15px;
	margin: 0 0 60px;
	line-height: 2;
}

#p-chan #career .prof p.line {
  position: relative;
  padding-left: 28px;
	line-height: 4;
}

/* 縦ライン */
#p-chan #career .prof p.line::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 0.8em;     /* ← 上の●に合わせる */
  bottom: 0.8em;  /* ← 下の●に合わせる */
  width: 2px;
  background: #f39800;
}

/* 上の● */
#p-chan #career .prof p.line::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 14px;
  height: 14px;
  background: #f39800;
  border-radius: 50%;
}

/* 下の●（別疑似要素） */
#p-chan #career .prof p.line span.dot-bottom {
  position: absolute;
  left: 0;
  bottom: 0.8em;
  width: 14px;
  height: 14px;
  background: #f39800;
  border-radius: 50%;
}


#p-chan #career .prof .img02{
	position: absolute;
	right: -120px;
    top: 485px;
}


#p-chan #career .prof .img03{
	position: absolute;
	right: -205px;
    top: 45px;
}

#p-chan #career .prof .img04{
	position: absolute;
	left: -280px;
    top: 405px;
}


#p-chan #career .prof .img05{
	position: absolute;
	right: -80px;
    top: 975px;
}



#p-chan #value{
	background: #FF4500;
	
}

#p-chan #value .img img{
	width: 100%;
	
}

#p-chan #value .inner{
	padding: 150px 0 120px;
	position: relative;
	
}



#p-chan #value h2{
	font-size: 52px;
	color: #fff;
	margin: 0 0 70px;
	
}

#p-chan #value h2 span{
	font-size: 32px;
	color: #fff;
	display: block;
	
}

#p-chan #value ul{
	font-size: 32px;
	color: #fff;
	display: block;
	
}

#p-chan #value ul li{
	font-size: 25px;
	color: #fff;
	display: flex;
	align-items: center;
	margin: 0 0 20px;
	font-weight: 700;
}



#p-chan #value ul li .no{
	font-size: 85px;
	color: #fff;
	font-weight: 700;
	border-bottom: 4px solid #fff;
	margin: 0 30px 0 0;
}


#p-chan #value ul li:nth-child(2){
	
	margin: 0 0 0 150px;
}


#p-chan #value ul li:nth-child(3){
	margin: 0 0 0 370px;
}


#p-chan #value .icon{
	position: absolute;
	top: 150px;
	right: 0;
}




#p-chan #heart{
	padding: 150px 0 120px;
}
#p-chan #heart .inner{
	width: 890px;
}


#p-chan #heart h2{
	font-size: 50px;
	color: #F5D4C8;
	margin: 0 0 60px;
	
}

#p-chan #heart ul li{
	display: flex;
	justify-content: space-between;
	
}
#p-chan #heart ul li p{
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
	padding: 20px 0 0;
	
}


#p-chan #heart .sns{
	background: #979EF2;
	border-radius: 8px;
	padding: 45px;
	margin: 120px 0 0;
	
}

#p-chan #heart .sns ul{
	display: flex;
	justify-content: center;
	
}

#p-chan #heart .sns ul li {
	padding: 0 15px;
	margin: 0;
	
}


