@charset "UTF-8";



html, body {
      margin: 0;
      padding: 0;
      height: 100%;
	  background: #FCFAE2;
	/*font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
    }


button {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 20px;
  bottom: 20px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  border: 0;
  background: none;
  transition: .2s;
  letter-spacing: 3px;
}

button span:before {
    position: absolute;
    top: -29px;
    left: 16px;
    transform: rotate(-45deg);
    display: block;
    width: 12px;
    height: 12px;
    content: "";
    border: 1px solid #000;
    border-width: 1px 1px 0px 0px;
}

button span:after {
    position: absolute;
    width: 32px;
    height: 32px;
    border: 1px solid #000;
    content: "";
    border-radius: 100%;
    top: -43px;
    left: 5px;
}

.is-active {
  opacity: 1;
  visibility: visible;
}

/*ロゴ*/
.side-logo {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(66% - 520px);
	height: 100vh; 
	display: flex;
	align-items: center;
	justify-content: center;
	
    }
.side-logo-img {
	display: flex;
	align-items: center;
	justify-content: center;
	width:50%;
    }
.side-logo img{
      width:100%;
    }




    /* 左右固定メニュー */
    .side-menu {
      position: fixed;
      top: 10%;
      z-index: 50;
	  width: 20%;
    }

    .menu-right {
		right: 7%;
    }
	.menu-right ul{
		background-color:#fff;
		padding:20px;
		border-radius:10px;
		border:solid 2px #916239;
    }
	.menu-right ul li{
		border-bottom:dashed 2px #916239;
		padding:10px;
		display:block;
    }
	.menu-right ul li:last-child{
		border-bottom:none;
    }
	.menu-right ul li a{
      color:#000;
		font-size:17px;
		font-weight:bold;
    }
	.menu-right ul li a:hover{
      color:#916239;
    }
.sns-link{
	margin:10px auto;
}
.sns-link a{
	width:40px;
	display:block;
}
.sns-link a img{
	width:100%;
}
    @media (max-width: 1200px) {
      .side-logo {
        display: none;
      }
    }
  @media (max-width: 1200px) {
      .side-menu {
        display: none;
      }
    }


    .swiper, .swiper-wrapper, .swiper-slide {
      height: 100%;
    }




/* コンテンツ */
.article {
    max-width: 520px;
	height:100vh;
    margin: 0 auto;
    position: absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.2);
}




/*スライド全体*/
.swiper-slide .area{
	/*height: 100vh;
	aspect-ratio: 9 / 16; 
	width:auto;*/
    height:100vh;
	width:100vw;
	box-sizing: border-box;
}
/*スライド1*/
.lp-1 {
	display:flex;
	flex-direction:column;
	align-items:center;
	/*justify-content:center;*/
	box-sizing:border-box;
	padding-bottom:100px;
	height: 100vh!important;
	aspect-ratio: 9 / 16!important; 
	width:auto!important;
}
.lp-1 .top-logo{
	width:90%;
	margin:10px auto!important;
}
.lp-1 .top-logo img{
	width:80%;
	margin:auto auto 0 auto;
	padding:13px;
	box-sizing: border-box;
}
.lp-1 .top-logo p{
	font-weight:bold;
	text-align:center;
	font-size:18px;
	color:#603916;
}
.lp-1 h1{
    /*font-size:40px;*/
	color:#603916;
	margin:20px 1.5vh 1.5vh 1.5vh;
	text-align:center;
	font-weight:bold;
	font-size: clamp(20px, 5vh, 40px)!important;
}
.lp-1 h1 span{
	/*background:linear-gradient(transparent 80%, #DF6A25 70%);*/
	background-color:#F29300;
	color:#fff;
	padding:0.5vh 1vh;
	margin-top:10px;
}
.lp-1 h1 .text2{
	text-align:center;
	display:block;
	font-size: clamp(20px, 4vh, 30px)!important;
	background-color:#F29300;
	color:#fff;
}
@media(max-width:480px){
.lp-1 h1 span{
	font-size: clamp(20px, 4vh, 35px)!important;
}
.lp-1 h1 .text2{
	font-size: clamp(20px, 2.5vh, 25px)!important;
}	
}
.lp-2 {
    /*background-image: url("../images/top-bg.webp");	*/
	/*background-size:cover;
	background-position:center;
	display:flex;
	flex-direction:column;
	align-items:center;*/
	/*padding-top:2vh;*/
	height:100vh;
}
.lp-2 h2{
	text-align:center;
	color:#F29300;;
	font-weight:bold;
	padding:40px 10px;
	box-sizing: border-box;
	width:100%;
	font-size: clamp(25px, 5vh, 40px)!important;
	margin-bottom:3.5vh;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.lp-2 h2 span{
	display:inline-block;
}
.lp-2 p{
	text-align:center;
	font-weight:bold;
	padding:0 20px;
	font-size: clamp(22px, 3vh, 25px)!important;
	line-height:40px;
	color:#43211A;
	width:90%;
	margin:auto;
}
.lp-2 p span{
	display:inline-block!important;
}
.lp-2 ul{
	padding:0 20px;
}
.lp-2 ul li{
	/*display:flex;*/
	margin-bottom:20px;
	font-weight:bold;
	font-size: clamp(16px, 3.5vh, 20px)!important;
}
.lp-2 ul li img{
	display:inline;
	width:3vh;
	margin-right:5px;
}
@media(max-width:480px){
.lp-2 h2{
	font-size: clamp(22px, 3vh, 25px)!important;
}
.lp-2 p{
	margin-bottom:30px;
	padding:0 20px;
	font-size: clamp(18px, 2.5vh, 22px)!important;
	line-height:32px;
}	
}
.lp-3 {	
	display:flex;
	align-items:center;
	padding-bottom:100px;
	background-color:#FFFACD;
}
.lp-3-content {	
	width:90%!important;
	margin:auto;
}
.lp-3 h2{	
	text-align:center;
	font-size: clamp(25px, 4vh, 30px)!important;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight:bold;
}
.lp-3 ul{	
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:1.5vh;
	margin-top:20px;
}
.lp-3 ul li{	
	width:40%;
	background-color:#F29300;
	color:#fff;
	font-weight:bold;
	text-align:center;
	font-size: clamp(16px, 2vh, 18px)!important;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	height:30vh;
	border-radius:10px;
	max-height:170px;
}
.lp-3 ul li .lp-3-img{	
	width:50%;
	margin:5px auto 0 auto;
}
.lp-3 ul li .lp-3-img img{	
	display:block;
	width:100%;
}
@media(max-width:400px){
.lp-3 ul li{	
	width:40%;
	font-size: clamp(16px, 2vh, 18px)!important;
	height:30vh;
	max-height:140px;
}
.lp-3 ul li .lp-3-img{	
	width:35%;
	margin:5px auto 0 auto;
}
}
.lp-4 {
}
.lp-4 h2, .lp-5 h2{
	text-align:center;
	font-size: clamp(16px, 3.5vh, 25px)!important;
	color:#F29300;
	font-weight:bold;
	margin:1vh 0;
}
.lp-4 h3, .lp-5 h3{
	text-align:center;
	font-size: clamp(13px, 2.5vh, 20px)!important;
	color:#fff;
	font-weight:bold;
	background-color:#F29300;
	padding:0.5vh 0;
	width:90%;
	margin:auto;
}
.lp-4 table, .lp-5 table{
	margin:2vh auto auto auto;
	width:90%;
}
.lp-4 tr, .lp-5 tr{
	border:solid 1px #43211A;
}
.lp-4 th, .lp-5 th{
	background-color:#43211A;
	color:#fff;
	border-bottom:solid 1px #fff;
	border-left:solid 1px #43211A;
	padding:1.5vh 1vh;
	font-size: clamp(13px, 2vh, 16px)!important;
}
.lp-4 tr:first-child th, .lp-5 tr:first-child th{
	border-top:solid 1px #43211A;
}
.lp-4 tr:last-child th, .lp-5 tr:last-child th{
	border-bottom:solid 1px #43211A;
}
.lp-4 td, .lp-5 td{
	background-color:#fff;
	color:#43211A;
	border:solid 1px #43211A;
	padding:1.5vh 2vh;
	font-size: clamp(13px, 2vh, 16px)!important;
}
.lp-4 td a, .lp-5 td a{
	text-decoration:underline;
	font-weight:bold;
}
.lp-4 td a:hover, .lp-5 td a:hover{
	opacity:0.8;
}
@media(max-width:480px){
.lp-4 table, .lp-5 table{
	margin:2vh auto auto auto;
	width:95%;
}
.lp-4 h2, .lp-5 h2{
	font-size: clamp(16px, 3vh, 22px)!important;
	margin:1vh 0;
}
.lp-4 h3, .lp-5 h3{
	font-size: clamp(13px, 2vh, 16px)!important;
	padding:0.5vh 0;
	width:95%;
}
.lp-4 th, .lp-5 th{
	padding:0.5vh 0.5vh;
	font-size: clamp(13px, 2vh, 15px)!important;
}
.lp-4 td, .lp-5 td{
	padding:1vh 1vh;
	font-size: clamp(13px, 2vh, 14px)!important;
}	
}
/*よくある質問*/
.lp-6{
	margin:auto;
	
}
.lp-6 h2{	
	background-color:#43211A;
	color:#fff;
	font-weight:bold;
	text-align:center;
	width:100%;
	margin-bottom:2vh;
	padding:1.5vh 1vw;
	font-size: clamp(20px, 3.5vh, 25px)!important;
}
.faq{
	width:100%;
	margin:auto;
	color:#43211A;
	padding-bottom:100px;
	height:100vh!important;
}
.faq-item {
  margin-top: 10px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  /*border: 1px solid #878787;*/
}

.faq-question__wrap {
  position: relative;
  /*background: #0C89B7;*/
	background:#fff;
  /*padding: 5px 40px 5px 55px;*/
	padding:1vh 40px 1vh 55px;
  cursor: pointer;
  width:100%;
  margin:0;
  box-sizing: border-box;
	border-top: 1px solid #43211A;
	border-bottom: 1px solid #43211A;
}

.minus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #43211A;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.plus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #43211A;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
}

.plus-icon.active {
  transform: translateY(-50%);
}

.faq-question__title {
  font-weight: bold;
  color: #43211A;
  font-size: 18px;
  position: relative;
	margin:10px;
}
.faq-question__title::before {
    position: absolute;
    color: #43211A;
    content: "Q";
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
  }

.faq-answer__wrap {
  background: #fff;
  padding: 10px 5px 10px 55px;
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}

.faq-answer__wrap.active {
  height: auto;
  padding: 10px 5px 10px 55px;
}
.faq-answer__wrap {
  background: #FCFAE2;
  opacity: 0;
  padding: 10px 5px 10px 55px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  transition: ease all 0.7s; /* 擬似要素のトランジションを追加 */
}

.faq-answer__wrap.active {
  opacity: 1;
  padding: 10px 5px 10px 55px;
}

.faq-answer__title {
  position: relative;
  font-weight: bold;
  color: #000;
  font-size: 16px;
}

.faq-answer__title::before {
    position: absolute;
    color: #000;
    content: "A";
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
  }

.faq-answer__text {
  margin-top: 5px;
}
/*@media(max-width:768px){
.faq-question__wrap {
  padding: 5px 40px 5px 40px;
}	
}*/
@media(max-width:480px){
.faq-item {
  margin-top: 10px;
}
.faq-question__title {
  font-size: 16px;
  margin:7px;
}
.faq-answer__title {
  font-size: 15px;
}

}
.lp-7, .lp-8, .lp-9, .lp-10{
	padding-top:40px;
}







/*店舗情報*/
.lp-11{	
	/*background-size:100%;
	background-position:center;*/
	background-color:#FCFAE2;
	/*padding-top:1.5vh;*/
	
}
.lp-11 h2{	
	background-color:#43211A;
	color:#fff;
	font-weight:bold;
	text-align:center;
	margin-bottom:2vh;
	padding:1.5vh 1vw;
	font-size: clamp(20px, 3.5vh, 25px)!important;
}


/*店舗情報アコーディオン*/
/*駅から探す*/
/*4階層アコーディオンメニュー*/
.accordion-parent{
  cursor: pointer;
}
.accordion-child,
.accordion-grandchild,
.accordion-great-grandchild,
.accordion-great-great-grandchild {
  display: none;
  cursor: pointer;
}

.accordion {
  width: 90%;
  max-width: 768px;
  margin: 0 auto 50px auto;
}
.accordion-parent{
	border:solid 2px #F29300;
	color:#fff;
	margin-top:1vh;
	padding:1vh 0;
	text-align:center;
	font-weight:bold;
	background-color:#F29300;
}
/*.great-grandがついているCSS以外に適用*/
.accordion-child-item:not(.great-grand){
	background-color:#FFAD2E;
	color:#fff;
	padding:1vh 0 1vh 1.5vw;
	font-weight:bold;
	border-bottom:dotted 1px #fff;
}
/*.great-grandがついているCSS以外に適用ここまで*/

/*.great-grandがついているCSS以外に適用*/
.accordion-grandchild-item:not(.great-grand){
	background-color:#fff;
	color:#fff;
	padding:1vh 0 1vh 1.5vw;
	font-weight:bold;
	border-bottom:dotted 1px #fff;
}
/*.great-grandがついているCSS以外に適用ここまで*/

.accordion-great-grandchild-item{
	background-color:#fff;
	color:#3D3D3D;
	font-weight:bold;
	border-bottom:dotted 1px #737373;
}
.accordion-great-grandchild-item a{
	display:block;
	padding:10px 0 10px 15px;
}
.accordion-great-grandchild-item a:hover{
	text-decoration:none;
	color:#3D3D3D;
}
.accordion-great-grandchild-item:hover{
	background-color:#CDCDCD;
}
/*親の部分の矢印について*/
.accordion-parent{
	position:relative;
}
.accordion-parent.open:after {
	top: 50%;
	transform: rotate(315deg);
}
.accordion-parent:after {
	content: "";
	display: block;
	position: absolute;
	top: 40%;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: translateY(-50%);
	transform: rotate(135deg);
	transition: all .3s;
}
/* 下層メニューアイコン */
.accordion-child-item, .accordion-grandchild-item{
	position:relative;
}
.accordion-child-item:after{
	content: "";
	display: block;
	position: absolute;
	top: 40%;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: translateY(-50%);
	transform: rotate(135deg);
	transition: all .3s;
}
/*.accordion-grandchild-item:after{
	content: "";
	display: block;
	position: absolute;
	top: 40%;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: solid 2px #F29300;
	border-right: solid 2px #F29300;
	transform: translateY(-50%);
	transform: rotate(135deg);
	transition: all .3s;
}*/
/* 下層アイコン変化（openクラスを付与） */
.accordion-child-item.open:after, .accordion-grandchild-item.open:after{
	top: 50%;
	transform: rotate(315deg);
}
/*点線を消したい場合のcss、これより下にborderをしてするcssがあると機能しないので注意*/
.nodotted{
	border-bottom:none;
}
/*路線から探す*/
/*線路にリンクを付けてあるため、リンク範囲調整*/
.accordion-grandchild-item a{
	display:block;
	background-color:#fff;
	color:#F29300;
	padding:1vh 0 1vh 1.7vw;
	font-weight:bold;
	border-bottom:dotted 1px #F29300;
}
.accordion-grandchild-item:last-child a{
	border-bottom:solid 1px #F29300;
}
.accordion-grandchild-item a:hover{
	background-color:#E7E7E7;
	color:#3D3D3D;
	text-decoration:none;
}
.accordion-child-item a{
	display:block;
	background-color:#3D3D3D;
	color:#fff;
	padding:10px 0 10px 15px;
	font-weight:bold;
	border-bottom:dotted 1px #fff;
}
.accordion-child-item a:hover{
	background-color:#E7E7E7;
	color:#3D3D3D;
	text-decoration:none;
}

/*アコーディオンここまで*/

.lp-12 {	
	padding-top:40px;
	
}
/*コンテンツを中央に*/
.lp-flex {
	display:flex;
	jusitfy-content:center;
	align-items:center;
	height:80vh;
	padding-bottom: calc(100px + 2vh);
    box-sizing: border-box;
}

/*LINEボタン*/
.line-fixed {
	position:fixed;
	z-index:9999;
	left:50%;
	transform: translateX(-50%);
	width: 100%;
	max-width:520px;
	height: 70px;
	display: flex;
	gap:0 5px;
    bottom: 0;
	background-color: rgba(255,250,255,0.7);
	align-items: center;
	justify-content:center;
	margin:auto;
}
.line-fixed .btn1{
	width:47%;
	text-align:center;
	background-color: #06C755;
	border-radius:50px;
	padding:8px 0;
	color:#fff;
	font-weight:bold;
	font-size:18px;
	display:block;
}
.line-fixed .btn1:hover{
	opacity:0.7;
}
.line-fixed .btn2{
	width:47%;
	text-align:center;
	background-color: #F29300;
	border-radius:50px;
	padding:8px 0;
	color:#fff;
	font-weight:bold;
	font-size:18px;
	display:block;
}
.line-fixed .btn2:hover{
	opacity:0.7;
}
/*リンクまとめ*/
.bottom-link {
	width:80%;
	margin:3vh auto 0 auto;
	border-top:dashed 1px #603916;
	padding-top:10px;
}
.bottom-link .link1{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	gap:10px;
}
.bottom-link .link1 li{
	color:#603916;
	display:flex;
	align-items:center;
}
.bottom-link .link1 li a{
	font-size: clamp(15px, 2vh, 16px)!important;
	font-weight:bold;
}
.bottom-link .link1 li::after{
	content:"";
	width:1px;
	height:12px;
	background-color:#603916;
	display:inline-block;
	margin-left:10px;
	transform: rotate(30deg);
}
.bottom-link .link1 li:last-child::after {
  content:none;
}
.gaibu a{
	display:flex;
}
.gaibu a span{
	width:15px;
	display:block;
	margin-left:5px;
	margin-top:3px;
}
.gaibu a span img{
	width:100%;
	display:block;
}
.bottom-link .link2{
	margin-top:8px;
}
.bottom-link .link2 li{
	
}
.bottom-link .link2 li a{
	width:30px;
	display:block;
}
.bottom-link .link2 li a img{
	width:100%;
	display:block;
}
@media(max-width:480px){
.bottom-link {
	width:90%;
}	
}

/*line応募方法はこちら*/
.line-apply{
	margin:20px 0 0 30px;
}
.line-apply a{
	font-size:17px;
	color:#06C755;
	font-weight:bold;
}
.line-apply a:hover{
	text-decoration: underline;
}


