@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
:root {
  --main-font-color: #9f9f9f;
  --english-font: "futura-pt", sans-serif;
  --f-f-mincho:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  --main-color:#c4a286;
}
/* CSS Document */
.humb,.pc_none{
  display: none;
}
@media screen and (max-width: 750px){
  /*
-------------------------------
共通
-------------------------------
*/
/* ul.nav{
  display: none;
} */
.over_width,.inner_width,#wrap{
  width:100%!important;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
.pc_none{
  display: block;
}
.sp_none{
  display: none !important;;
}


/* メインビジュアル */
.kv{
  width:100%;
  height:100vh;
  background-size: cover;
}
img.noren{

  top:15vw;
  z-index: 3;
}
h1{
  width:70%;
  top:32vw;
  z-index: 2;
}
img.curry1{
  top:51%;
  transform: none;
  left:4.1667vw;
  width:45%;
  opacity: 0;
}
img.curry2{
  bottom:initial;
  top:50%;
  right:4.1667vw;
  width:40%;
}
.kv_detail{
  bottom:14vw;
  left:50%;
  transform: translateX(-50%);
  font-weight:bold;
  font-size:24px;
  line-height: 1.2;
  width: 60%;
}
/* concept */
.concept{
  padding-top:70px;
  position:relative;
  background-color: #aa0000;
  color:#fff;
}
.sub_title{
  font-size: 2.4rem;
  line-height: 1.2;
}
.sub_title span{
  font-size:1.8rem;
  display: block;
}
.concept_wrap{
  position:relative;
  width:100%;
  max-width: 100%;
  margin:48px auto 0;
  padding:0 5%;
}
.concept_wrap h3{
  position:static;
  font-size:2.4rem;
  font-weight:bold;
  letter-spacing: 3px;
  margin:80px auto 0
}
.concept_wrap article{
  width:100%;
}
.concept_wrap article img{
  width:100%;
}
img.concept_image{
  margin:-60px auto;
  width:80%;
  display: block;
}
.concept_detail{
  width:100%;
  margin:24px auto 0;
  padding:0;
  font-size:1.6rem;
  line-height: 1.7;
}
.concept_image_wrap{
  position:relative;
  margin-top:60px;
}
.concept_image_wrap img{
  width:100%;
}
.concept_image_wrap img:first-child{
  width:130%;
  margin-left:-15%;
}
.concept_image_wrap img.curry_image{
  width:100%;
  max-width: 980px;
  position:absolute;
  top:24px;
  left:50%;
  transform: translateX(-50%);
}
/* philosophy */
.philosophy{
  padding:240px 0 0;
}
.philosophy_wrap{
  display: block;
  margin:24px auto;
  padding:0 5%;
}
.philosophy_wrap img{
  width:100%;
}
.philosophy_wrap p{
  font-size:1.6rem;
  padding:0 1em;
  width:100%;
  line-height: 2;
}
.philosophy_wrap p span{
  font-family: var(--english-font);
  font-size:2.4rem;
  font-weight:bold;
  color:#40200e;
  display: block;
}
.philosophy_wrap p span.chef_sign{
  text-align: right;
  padding-right:3em;
}
.menu_text{
  display: none;
}
/* menu */
.hachiwan_menu{
  background-color: #aa0000;
  padding-top:144px;
  color:#fff;
  padding-bottom:96px;
}
.menu_title{
  font-size:2.4rem;
  margin:40px auto 0;
  position:relative;
}
.menu_title::after{
  position:absolute;
  content:"";
  width:95%;
  height:6px;
  bottom:-5px;
}
.menu_discription{
  margin:36px auto;
  width:100%;
  max-width: 100%;
  padding:0 5%;
}
.menu_tag{
  color:#6b0000;
  background-color: #fff;
  width:200px;
  height:40px;
  line-height: 40px;
  text-align: center;
  border-radius: 20px;
  font-size:1.6rem;
}
.menu_detail{
  width:100%;
  margin: 24px auto;
  padding:1em;
  font-size:1.4rem;
  line-height: 1.5;
  letter-spacing: 1px;
  background: url(../images/index/menu_bg1_sp.png) center center no-repeat;
  
}
.menu_detail.sec{
  background: url(../images/index/menu_bg2_sp.png) center center no-repeat;
  background-size: cover;
}

.menu_garally_wrap{
  width:100%;
  overflow-x: auto; /* ← 横スクロールON */
  -webkit-overflow-scrolling: touch; /* ← これを追加 */
}
ul.menu_garally{
  width:auto;
  display: flex;
  margin-top:60px;
  flex-wrap: nowrap;

}
ul.menu_garally li{
  flex: 0 0 90%; /* ← 1枚あたりの幅を指定（%で調整） */
  min-width: 0; /* ← これを追加 */
}
ul.menu_garally li img{
  width:100%;
}
ul.menu_garally li p{
  display: flex;
  justify-content: space-between;
  padding:3px 7px;
  color:#3e3e3e;
  background-color: #fff;
}
ul.menu_garally li p span{
  color:#aa0000;
}
.menu_text{
  font-size:2.4rem;
  position:relative;
  color:#fff;
  z-index: 2;
}
.menu_text::after{
  position:absolute;
  content:"";
  top:0;
  left:0;
  width: 100%;
  height: 230px;
  background-color: #aa0000;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: -1;
}
/* shop */
.shop{
  background: url(../images/index/shop_bg.jpg) top center no-repeat;
  background-size: cover;
  padding-bottom:120px;
  position: relative;
}
.shop_content{
  width:95%;
  max-width: 100%;
  margin:120px auto 0;
  background-color: #fff;
  padding:48px 24px;
}
.shop_content ul{
  margin:48px auto 0;
}
.shop_content ul li{
  display: block;
  padding:24px 0;
}
.shop_content ul li img{
  width: 100%;
}
.shop_content ul li:not(:last-child){
  border-bottom:1px solid #3e3e3e;
}
h3.shop_name{
  font-size:2.4rem;
  margin-bottom:0.3em;
}
.shop_content p{
  font-size:1.6rem;
}
.shop_info{
  padding-left:1.4rem;
  margin-top:1rem;
  position:relative;
  width:100%;
  height:fit-content;
  height:100%;
}
.more_btn{
  position:static;
  transform: initial;
  margin:1rem 0 0 auto;
}
.shop_content ul li img.buffet_icon{
  position:absolute;
  bottom:0;
  width:20%;
  right:16px;
  top:0;
}
/* recruit */

.recruit img{
  width:100%;
}
.recruit_box{
  width:80%;
  margin:-40px auto 0;
  padding:12px 18px 18px;
  position:relative;
  z-index: 1;
  color:#fff;
}
.recruit_box h3{
  font-size:2.4rem;
  border-bottom:1px solid #fff;
  padding-bottom:1rem;
}
.recruit_box p{
  font-size:1.4rem;
  padding-top:1rem;
}
.recruit_box .more_btn{
  position:static;
  margin:2rem 0 0 auto;
  background-color: #fff;
  color:#956235;
}
/* franchise */
.franchise{
  margin-bottom:144px;
}
.franchise_wrap{
  margin-top:144px;
  padding-top:7.2rem;
  padding-bottom:18rem;
  background: url(../images/index/franchise_image.jpg) center center no-repeat;
  background-size: cover;
  color:#fff;
}
.franchise_wrap h3{
  font-size:3.6rem;
  line-height: 1.2;
  font-weight:bold;
}
.franchise_wrap h3 span{
  font-size:3.6rem;
}
.franchise_wrap hr{
  width:240px;
  height:2px;
  background-color: #fff;
  margin:5.2rem auto;
}
.franchise_wrap p{
  font-size:3rem;
  font-weight:bold;
}
.franchise_banner{
  /* display: block;
  align-items: center;
  justify-content: space-between; */
  width:90%;
  margin:-80px auto 0;
}
a.franchise_banner_content{
  display: block;
  width:48%;
  text-align: center;
  padding-top:12px;
  height:100%;
 }
a.franchise_banner_content img{
  margin-bottom:12px;
  width:60%;
}
a.franchise_banner_content span{
  background-color: #956235;
  color:#fff;
  font-size:1.6rem;
  display: block;
  padding:0.6em 0;
  position:relative;
  width:100%;
}
a.franchise_banner_content span::after{
  display: none;
}

._btn{
  display: block;
  font-family:var(--english-font);
  height:60px;
  width:60%;
  max-width: 300px;
  margin:40px 0 0 auto;
  text-align: center;
  font-size:1.6rem;
  line-height: 60px;
  box-sizing: border-box;
  border-radius: 30px;
  border:1px solid #9f9f9f;
  color:#9f9f9f;
  position:relative
}
._btn::after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  border-bottom:1px solid #9f9f9f;
  border-right:1px solid #9f9f9f;
  transform: rotate(-45deg);
  top:24px;
  right:17px;
}

/* NEWS */
section.news{
  margin-top:80px;
  height:auto;
  padding:0 5%;
  margin-bottom:80px;
}
.news_content{
  display: block;
}
.news_content .sub_title{
  transform: rotate(0deg);
  opacity: 0.5;
  width:100%;
}
.topic_list{
  border-bottom:1px solid rgba(0,0,0,0.3);
  margin:0 0 0 auto;
  width:100%;
}
.topic_content_list{
  display: block;
  justify-content: space-around;
  align-items: center;
  font-size: 16px;
  height:fit-content;
  border-top:none;
  border-bottom:1px solid rgba(0,0,0,0.3);
  padding:1rem;
}
.topic_head{
  width:30%;
}

.topic_content_list p{
  padding:5px 0;
  box-sizing: border-box;
}

p.topic_date{
  width:10%;
  margin-right:10px;
  font-family: var(--english-font);
}
.topic_content_list p.topic_cat{
  width:100%;
  margin-right:15px;
  color:#fff;
  background-color: #3d3d3d;
  padding:3px 0;
  font-size:var(--fs-small);
}
.topic_content_list p.topic_cat.news{
  background-color: #14006b;
}
.topic_content_list p.topic_cat.live{
  background-color: #6b0000;
}
.news_category::before{
  height:0;
}
p.topic_title{
  width:100%;
  padding:1em 0;
}
p.topic_arrow{
  width:40%;
  margin:0 0 0 auto;
  position:relative;
  text-align: center;
  border:1px solid #9f9f9f;
  border-radius: 18px;
  font-size:1.2rem;
}
p.topic_arrow::after{
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  position: absolute;
  right:13px;
  top:12px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  color: inherit;
}

/* ARCHIVE */
.archive_news{
  margin-top:100px;
  width:100%;
  max-width: 1280px;
  padding:0 5%;
}
.news_head ul{
  display: flex;
  justify-content: flex-end;
}
.news_head ul li{
  padding-left:2em;
  font-size:1.2rem;
  font-family: var(--english-font);
}
.cp_list{
  margin-top:40px;
}

.cp_link p{
  display: block;

}
.cp_link p img{
  width:50%;
}
.taxonomy_date,.taxonomy_title{
  display: block;
}
.taxonomy_date{
  text-align: left;
  width:50%;
}

.cp_link p::after{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right:20px;
  top:63px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  color: inherit;
}
.post_content{
  width: 100%;
  padding:0 5%;
  box-sizing: border-box;
}
.post_content figure,
.post_content figure img{
  width:100%;
}
/* 
==========================
CONTACT
========================== 
*/
.contact{
  padding:180px 5%;
}
.contact h3{
  font-size:2.4rem;
  margin-top:-2em;
  margin-bottom:2.4rem;
  letter-spacing: 0.3rem;
}
.contact h3 span{
  font-size:1.4rem;
}
.contact form h3{
  font-size:2rem;
  margin-top:0;
  margin-bottom:1rem;
  letter-spacing: 0.3rem;
}
.contact h3 span{
  font-size:1.4rem;
}
.contact p.contact_text{
  margin-bottom:60px;
  text-align: left;
  font-size:1.4rem;
}
.mw_wp_form{
  width:100%;
  margin:0 auto;
  padding:2rem 1rem;
  background-color: #f6f8ea;
}
.mw_wp_form p{
  margin-bottom:8px;
  font-size:1.6rem;
}
input,textarea{
  font-size:1.6rem;
  padding:0.5rem 1rem;
  width:100%;
}
input[type="submit"]{
  width:240px;
}
span.mwform-tel-field{
  display: block;
  width:120%;
}
span.mwform-tel-field input{
  width:20%!important;
}

/* 
==========================
SHOP
========================== 
*/

.shop_mv img{
  width:100%;
}
.shop_about{
  padding:0 5%;
}
.shop_about h2{
  font-size:3.6rem;
}
.shop_about_content{
  display: block;
}
.shop_about_content img{
  width:100%;
}
.shop_about_detail{
  padding:2rem 0;
}
.shop_about_detail h3{
  font-size:2.4rem;
}
.shop_about_detail p{
  font-size:1.4rem;
  margin-top:1rem;
}
.shop_menu{
  margin-top:80px;
  padding-bottom:80px;
}
.shop-title{
  width:90%;
  font-size:3.6rem;
}
.shop-title span{
  font-size:1.6rem;
}
.tab-menu{
  width:95%;
}
.tab-content.active{
  width:95%;
  padding:5%;
}
.tab-content ul li{
  display: block;
}
.tab-content ul li p{
  font-size:1.6rem;
}
.tab-content ul li p.menu_name{
  padding-left:0;
}
.tab-button{
  font-size:1.6rem;
}
.shop_gallery{
  display: flex;
  margin:60px auto;
  gap: 8px;
  justify-content: space-around;
  flex-wrap: wrap;
  padding:0 5%;
}
.shop_gallery img{
  width:calc((100% - 16px)/ 2);
}
/* shop_info */
.shop_infomation{
  margin-top:80px;
}
.shop_map{
  height:300px;
  margin-top:36px;
}
.shop_map iframe{
  width:100%;
  height:100%;
  display: block;
}
.shop_infomation_detail{
  display: block;
  margin:24px auto;
  
  font-size:1.6rem;
  padding:1.5em;
  background-color: rgba(209, 207, 207, 0.2);
}
.shop_infomation_detail ul{
  display: flex;
  justify-content: flex-end;
  gap:1rem;
  margin-top:2rem;
}
.shop_infomation_detail ul li{
  width:12%;
}
.shop_infomation_detail ul li a,.shop_infomation_detail ul li a img{
  width:100%;
}
.shop_infomation_detail p{
  position:relative;
  padding-left:2em;
}
.shop_infomation_detail p::before{
  content:"";
  position:absolute;
  width:20px;
  height:28px;
  background: url(../images/toyosu/address_icon.png) top center no-repeat;
  top:50%;
  transform: translateY(-50%);
  left:0;
}
.shop_infomation_detail p.tel::before{
  width:30px;
  height:23px;
  background: url(../images/toyosu/tel_icon.png) top center no-repeat;
}
.flow-step{
  position:static;
  display: flex;
  height:100%;
  padding-bottom: 20px;
}
/* flow */
.flow{
  padding:48px 5%;
  box-sizing: border-box;
}
.flow-number-container{
  width:70px;
}
.flow-number{
  height:60px;
  width:60px;
  border-radius: 30px;
  padding-top:12px;
  font-size:2.4rem;
}
.flow-number span{
  font-size:1.2rem;
}
.flow-number.line::after{
  height:280px;
  bottom:-270px;
}
.flow-content-container{
  display: block;
  width:80%;
  position: static;
  box-sizing: border-box;
}
.flow-text{
  padding-top:0;
  width:100%;
  padding-right:0;
  padding-left:0;
}
.flow-text h3{
  font-size:2rem;
}
.flow-text p{
  margin-top:10px;
  font-size:1.4rem;
  margin-bottom:1em;
}
.flow-image{
  width:100%;
}
/* company */
table.company_info{
  font-size:2rem;
  border-collapse: collapse;
  text-align: left;
}
table.company_info tr th,
table.company_info tr td{
  padding:1rem;
  display: block;
}
table.company_info tr th{
  width:100%;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
table.company_info tr td{
  padding:1rem 1rem 0;
}
/* post_content */
.post_content{
  width:100%;
  min-width:100%;
  margin:70px auto;
  font-size:1.6rem;
}
.post_content h2{
  font-size:2.4rem;
  margin-bottom:1em;
  background-color: #6b0000;
  color:#fff;
  font-weight:bold;
  padding:0.5rem 1rem;
  border-left:5px solid #ffeded;
}
.post_content img{
  width:100%;
}
.post_content pre{
  white-space: pre-wrap;      /* 改行を保持しつつ自動折り返し */
  word-wrap: break-word;     
}
}
