@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');

/*
-------------------------------
共通
-------------------------------
*/
:root {
  --main-font-color: #000;
  --english-font: "futura-pt", sans-serif;
  --f-f-mincho:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  --f-f-main:"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/*
-------------------------------
index
-------------------------------
*/
/* メインビジュアル */
.kv{
  background: url(../images/index/mv_bg.jpg);
}
.kv_wrap{
  position:relative;
  padding:30px 2%;
}
.kv_wrap img.kv_content_bg{
  width:100%;
}
h1,
img.noren{
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  top:3.0208333vw;
  z-index: 3;
}
h1{
  width:39.0625vw;
  top:16.66667vw;
  z-index: 2;
}
h1 img{
  width:100%;
}
@keyframes roll-in {
  0% {
    right: -100%;
    transform: rotate(0deg);
  }
  80% {
    right: -50%;
    transform: rotate(-720deg);
  }
  100% {
    right: 50%;
    transform: rotate(-720deg) translateY(-10px);
  }
}

.kv_title.active {
  animation: roll-in 6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
img.noren{
  width:91.98vw;
}
img.curry1,
img.curry2,
.kv_detail{
  position:absolute;
}
img.curry1{
  top:50%;
  transform: translateY(-50%);
  left:4.1667vw;
  width:25.052vw;
  opacity: 0;
}
img.curry2{
  bottom:4.1667vw;
  right:4.1667vw;
  width:25.6771vw;
  opacity: 0;
  transition: 6s all;
}
img.curry1.active,img.curry2.active{
  opacity: 1;
}
.kv_detail{
  bottom:6.25vw;
  left:6.25vw;
  font-weight:bold;
  font-size:2.5vw;
  color:#956235;
  font-family: var(--english-font);
}
/* concept */
.concept{
  padding-top:140px;
  position:relative;
  background-color: #aa0000;
  color:#fff;
}
.sub_title{
  font-size: 3.6rem;
  line-height: 1.2;
}
.sub_title span{
  font-size:1.8rem;
  display: block;
}
.concept_wrap{
  position:relative;
  width:100%;
  max-width: 1280px;
  margin:48px auto 0;
}
.concept_wrap h3{
  font-family: var(--english-font);
  font-size:6rem;
  font-weight:bold;
  position:absolute;
  top:72px;
  left:0;
  letter-spacing: 8px;
}
.concept_wrap article{
  margin-right: calc(50% - 50vw);
  text-align: right;
}
img.concept_image{
  margin-top:-216px;
  margin-left:60px;
}
.concept_detail{
  width:50%;
  margin:-256px 0 0 auto;
  padding:2em 1em;
  font-size:1.6rem;
  line-height: 2;
}
.concept_image_wrap{
  position:relative;
  margin-top:60px;
}
.concept_image_wrap img{
  width:100%;
}
.concept_image_wrap img.curry_image{
  width:51.041667vw;
  max-width: 980px;
  position:absolute;
  top:48px;
  left:50%;
  transform: translateX(-50%);
}
/* philosophy */
.philosophy{
  padding:360px 0 0;
}
.philosophy_wrap{
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  margin:24px auto;
}
.philosophy_wrap.re{
  flex-direction: row-reverse;
}
.philosophy_wrap p{
  font-size:1.6rem;
  padding:1em;
  width:55%;
  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 */
.hachiwan_menu{
  background-color: #aa0000;
  padding-top:144px;
  color:#fff;
  padding-bottom:96px;
}
.menu_title{
  font-size:4.8rem;
  margin:80px auto 0;
  position:relative;
}
.menu_title::after{
  position:absolute;
  content:"";
  width:750px;
  height:8px;
  background: url(../images/index/choke_line.png) center center no-repeat;
  background-size: cover;
  left:50%;
  transform: translateX(-50%);
  bottom:0;
}
.menu_discription{
  margin:36px auto;
  width:100%;
  max-width: 1280px;
}
.menu_tag{
  color:#6b0000;
  background-color: #fff;
  width:300px;
  height:60px;
  line-height: 60px;
  text-align: center;
  border-radius: 30px;
  font-size:2.4rem;
}
.menu_detail{
  width:95%;
  margin: 24px auto;
  padding:3em 80px;
  font-size:1.6rem;
  line-height: 2.2;
  letter-spacing: 2px;
  background: url(../images/index/menu_bg1.png) center center no-repeat;
  background-size: cover;
}
.menu_detail.sec{
  background: url(../images/index/menu_bg2.png) center center no-repeat;
  background-size: cover;
}


ul.menu_garally{
  display: flex;
  margin-top:60px;
  justify-content: space-around;
  gap: 16px;
}
ul.menu_garally li{
  width:23%;
}
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: 1060px;
  margin:120px auto 0;
  background-color: #fff;
  padding:48px 24px;
}
.shop_content ul{
  margin:48px auto 0;
}
.shop_content ul li{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding:24px 0;
}
.shop_content ul li:not(:last-child){
  border-bottom:1px solid #3e3e3e;
}
h3.shop_name{
  font-size:3.6rem;
  margin-bottom:0.3em;
}
.shop_content p{
  font-size:1.6rem;
}
.shop_info{
  padding-left:2.4rem;
  position:relative;
  width:100%;
  height:fit-content;
  height:130px;
}
.more_btn{
  position:absolute;
  right:24px;
  top:50%;
  transform: translateY(-50%);
  display: block;
  text-align: center;
  font-family: var(--english-font);
  font-weight:bold;
  color:#fff;
  background-color: #956235;
  width:180px;
  height:40px;
  line-height: 40px;
  border-radius: 20px;
  font-size:1.6rem;
}
.buffet_icon{
  position:absolute;
  bottom:-44px;
  right:30%;
}
/* recruit */
.recruit_box{
  width:572px;
  background-color: #956235;
  margin:-100px auto 0;
  padding:24px 36px;
  position:relative;
  z-index: 1;
  color:#fff;
}
.recruit_box h3{
  font-size:3.6rem;
  border-bottom:1px solid #fff;
  padding-bottom:1rem;
}
.recruit_box p{
  font-size:1.6rem;
  padding-top:1rem;
}
.recruit_box .more_btn{
  position:static;
  margin:4rem 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:7.2rem;
  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:4.8rem;
  font-weight:bold;
}
.franchise_banner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width:90%;
  margin:-80px auto 0;
}
a.franchise_banner_content{
  background-color: #fff;
  width:45%;
  text-align: center;
  padding-top:48px;
}
a.franchise_banner_content img{
  margin-bottom:48px;
}
a.franchise_banner_content span{
  background-color: #956235;
  color:#fff;
  font-size:2.4rem;
  display: block;
  padding:0.6em 0;
  position:relative;
  width:100%;
}
a.franchise_banner_content span::after{
  content:"→";
  position:absolute;
  width:36px;
  height:36px;
  line-height: 36px;
  text-align: center;
  border-radius: 18px;
  background-color: #fff;
  color:#956235;
  top:50%;
  transform: translateY(-50%);
  right:24px;
}


/* NEWS */
section.news{
  margin:400px auto 200px;
  
}
.news_content{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width:100%;
  max-width: 1280px;
  margin:0 auto;
}
.news_content .sub_title{
  transform: rotate(90deg);
  opacity: 0.5;
  width:20%;
  font-weight:bold;
  font-family: var(--english-font);
  font-size:8rem;
}
.topic_list{
  border-bottom:1px solid rgba(0,0,0,0.3);
  margin:0 0 0 auto;
  width:80%;
}
.topic_content_list{
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-size: 16px;
  height:100px;
  border-top:1px solid rgba(0,0,0,0.3);
}
.topic_head{
  width:15%;
}

.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:5px 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:55%;
}
p.topic_arrow{
  width:15%;
  position:relative;
  text-align: center;
  border:1px solid #9f9f9f;
  border-radius: 18px;
  font-family: var(--english-font);

}
p.topic_arrow::after{
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  right:12px;
  top:14px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  color: inherit;
}
._btn{
  display: block;
  font-family:var(--english-font);
  height:60px;
  width:30%;
  max-width: 300px;
  margin:60px 0 0 auto;
  text-align: center;
  font-size:2.4rem;
  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;
}
/* ARCHIVE */
.archive_news{
  margin-top:200px;
  width:100%;
  max-width: 1280px;
  padding:0 3%;
  box-sizing: border-box;
}
.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:60px;
}
.cp_list li{
  border-bottom:1px solid #dfdfdf;
  font-size:1.4rem;
  padding:1em;
}
.cp_link p{
  display: flex;
  align-items: center;
  position: relative;
}
.cp_link p img{
  width:15%;
  aspect-ratio: 16 / 9;
}
.archive_thumb{
  width:150px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.cp_link p .archive_thumb img{
  width:100%;
  height:auto;
}
.taxonomy_date,.taxonomy_title{
  display: block;
}
.taxonomy_date{
  text-align: center;
  width:15%;
}
.taxonomy_title{
  text-align: left;
}
.cp_link p::after{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right:20px;
  top:43px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  color: inherit;
}
/* 
==========================
CONTACT
========================== 
*/
.contact{
  padding:180px 5%;
}
.contact h3{
  font-size:3.6rem;
  line-height: 1.1;
  margin-bottom:1em;
}
.contact h3 span{
  font-size:2.4rem;
}
.contact form h3{
  font-size:2.4rem;
  color:var(--title-font-color);
  font-family: var(--english-font);
  margin-bottom:1rem;
  letter-spacing: 0.3rem;
  box-sizing: border-box;
}
.contact form h3 span{
  font-size:1.4rem;
  padding:2px 4px;
  background-color: rgb(0, 94, 41);
  color:#fff;
}
.contact p.contact_text{
  margin-bottom:60px;
  text-align: center;
  font-size:1.4rem;
}
.mw_wp_form{
  width:80%;
  margin:0 auto;
  padding:60px 2rem;
  background-color: #f6f8ea;
  box-sizing: border-box;
}
.mw_wp_form p{
  margin-bottom:8px;
  font-size:1.6rem;
}
form,input,textarea{
  font-size:1.6rem;
  padding:0.5rem 1rem;
  width:80%;
}
input[type="submit"]{
  width:240px;
}
/* company */
.company_table{
  padding:0 5%;
}
table.company_info{
  width:100%;
  font-size:2.4rem;
  border-collapse: collapse;
  text-align: left;
}
table.company_info tr th,
table.company_info tr td{
  padding:1rem;
  box-sizing: border-box;
}
table.company_info tr th{
  width:20%;
  font-weight:bold;
}
table.company_info tr:nth-child(odd){
  background-color: rgba(206, 206, 206, 0.3);
}
/* recruit_message */
.recruit_message{
  margin:48px auto 0;
}
.recruit_message h3{
  font-size:2.4rem;
}
/* table.company_info.recruit_table thead tr th{
  background-color: #c29f9f;
  color:#fff;
  font-size:2.8rem;
  width:100%;
} */
.company_table h4{
  background-color: #c29f9f;
  color:#fff;
  padding:1rem;
  box-sizing: border-box;
  font-size:2.8rem;
  margin:2em auto;;
}
/* post_content */
.post_content{
  width:70%;
  min-width:880px;
  margin:150px auto;
  font-size:1.6rem;
}
.post_content h2{
  font-size:3.6rem;
  margin-bottom:1em;
  background-color: #6b0000;
  color:#fff;
  font-weight:bold;
  padding:1rem 2rem;
  border-left:7px solid #ffeded;
}
.post_content img{
  width:100%;

}

