@charset "utf-8";

/* mv */
#mv_sli{
	width:100%;
	height:auto;
}
#mv_sli img{
	width:100%;
	height:auto;
}

.slick-dots{
  bottom: -35px;
}
.slick-dots li button:before{
  color:#E2DCCC;
}
#mv_sli .slick-dots li.slick-active button:before{
  color:#C12500;
}

@media (max-width: 750px){
  .slick-dots {
    bottom: -20px;
  }
  .slick-dots li{
    margin: 0 2px;
  }
  .slick-dots li button:before{
    font-size: 25px;
  }
}
/* mv end*/

/* logos */
#logos{
  padding-top:40px;
  padding-bottom:55px;
	text-align: center;
}
#logos .main_logo{
  margin-bottom:60px;
}
.mv_cta{
	display:none;
}
.btn_alert{
  background: #2E2911;
  color: #fff;
  max-width: 860px;
  display: block;
  margin: auto;
  padding: 13px 0;
  position: relative;
  transition: 0.1s;
}
a.btn_alert:hover{
  background-color: #C12500;
  /* background-image: linear-gradient(180deg, #c12500 -20%, #451500 85%); */
  /* background-image: radial-gradient(at 50% 23%, rgba(193, 37, 0, 1) 10%, rgba(61, 21, 0, 1) 90%); */
  /* background-image: linear-gradient(180deg, rgba(193, 37, 0, 1) -15%, rgba(61, 21, 0, 1) 90%); */
  background-image: linear-gradient(180deg, rgba(193, 37, 0, 1) -93%, rgba(61, 21, 0, 1) 116%);
  transition: 0.1s;
  opacity: 1;
}
.btn_alert::after{
  position: absolute;
  content: "";
  background: url(../images/ico_btn_mig_arrow.webp);
  background-size: contain;
  background-repeat: no-repeat;
  width: 9px;
  height: 15px;
  right: 20px;
  top: 2px;
  bottom: 0;
  margin: auto;
}
@media (max-width: 750px){
  #logos{
    padding-top:10px;
      padding-bottom:30px;
  }
  #logos .main_logo {
      width: 75%;
      margin: 0 auto 20px;
  }
  .main_logo img{
    width:90%;
  }
	.mv_cta{
		display:flex;
    width: 95%;
    margin: auto auto 10px;
	}
  .btn_alert{
    width: 90%;
    font-size: 11px;
    padding: 10px 0;
  }

}
/* logos end */

/* concept */
#concept{
  margin-bottom:90px;
}
#concept .sec_inner{
  position: relative;
  padding:100px 80px 50px;
}
#concept .sec_inner::before,#concept .sec_inner::after{
  position: absolute;
  content:"";
  height: 15px;
  left:0;
}
#concept .div_arrow::before{
  top:45px;
}
#concept .div_arrow::after{
  bottom:10px;
}
.conc_box{
  display: flex;
  justify-content: space-between;
}
.conc_txt{
  max-width:320px;
  line-height: 2;
}
.conc_box picture{
  max-width:500px;
}
@media (max-width: 750px){
  #concept{
    margin-top:0px;
    margin-bottom:30px;
  }
  .conc_box picture{
    display: none;
  }
  #concept .sec_inner{
    position: relative;
    padding:70px 8% 50px;
  }
  .conc_txt{
    padding:0 3%;
  }
	#concept .div_arrow::before {
    top: 25px;
	}
	.conc_box{
		margin-bottom:10px;
	}
}
/* concept end */

/* topics */
#topics{
  background: rgba(226, 220, 204,0.7);
}
#topics .pad_on{
  padding-top:60px;
  padding-bottom:60px;
}
.topi_box{
  display: flex;
  justify-content: space-between;
}
.topi_feed{
  max-width:400px;
  width:100%;
}
.topi_feed div{
  margin-bottom:40px;
}
.topi_feed div a{
  position: relative;
  display: block;
  padding:20px 0;
  font-size:14px;
  line-height: 1.7;
  border-bottom:solid 1px #382C17;
  min-height: 113px;
}
.topi_feed div a::after{
  position: absolute;
  content: "";
  background: url(../images/ico_topi_arrow.webp);
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 70px;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.topi_feed div a:first-child{
  border-top:solid 1px #382C17;
}
.topi_feed div p{
  max-width:350px;
  font-weight: 600;
}
.topi_feed div p.cf_limited{
  font-size: 12px;
}
.topi_feed div span{
  font-size:12px;
  font-family: 'Oswald';
	font-weight: 400;
}
.box_twitter_top .btn_img.btn_hov {
  margin-top: 20px;
}

@media (max-width: 750px){
	#topics .pad_on{
		padding-top: 30px;
		padding-bottom: 30px;
	}
  .topi_box{
    flex-direction: column;
  }
  .topi_feed div{
    margin-bottom:15px;
  }
  .topi_feed .btn_img{
    margin-bottom:30px;
  }
  .topi_feed div p {
    width: 92%;
  }
  .topi_feed div a{
    min-height: auto;
  }
  .topi_feed div a::after{
    background: url(../images/ico_topi_arrow_sp.webp);
    width: 8%;
    height: 80%;
    background-size: contain;
    background-repeat: no-repeat;
	}
  .topi_feed div p.cf_limited{
    font-size: 12px;
    margin-bottom: 10px;
  }

}

@media (min-width: 320px) and (max-width: 370px){
  .topi_feed div p.cf_limited{
    font-size: 10px;
    white-space: nowrap;
  }
}
/* topics end */


/* admission */
#admission{
	color:#fff;
}
.adm_txt > p{
  text-align: left;
  margin-bottom:30px;
  line-height: 1.7;
}
.adm_txt_sma{
  margin-bottom:30px;
}
.adm_txt_sma p{
  font-size:12px;
  position: relative;
  padding-left:15px;
  line-height: 1.6;
}
.adm_txt_sma p::before{
  position: absolute;
  content: "※";
  top:0;
  left: 0;
}
/* admission */

/* menu */
#menu .pad_on{
  padding-top:80px;
  padding-bottom:80px;
}
#menu .menu_desc{
  max-width:860px;
  margin: auto auto 55px;
  line-height: 2;
}
.menu_shop_box{
  display: flex;
  justify-content: flex-start;
  text-align: center;
  margin-bottom: 40px;
  row-gap: 50px;
  column-gap: 40px;
}
.menu_shop_box > div{
  width: calc(100% / 2);
  max-width: 400px;
  font-family: var(--f-mincho);
}
.preparations {
  position: relative;
  pointer-events: none;
}
.preparations::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "準備中";
  width: 88%;
  height: 42%;
  padding-top: 4%;
  background: rgba(90,90,90,0.9);
  color: #fff;
  z-index: 100;
  font-size: 1.8em;
}
.preparations a {
  pointer-events: none;
}
a.btn_img.hov_book.menu_3col .menu_3col_txt {
  font-size: 14px;
}
@media (max-width: 750px) {
  .preparations::before {
    font-size: 1.4em;
  }
}
.menu_shop_cont h3{
  font-size:32px;
  position: relative;
}
.menu_shop_cont h3::after{
  position: absolute;
  content:"";
  bottom:-10px;
  left: 0;
  height: 15px;
  width: 100%;
  background: url(../images/ico_div_03.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.menu_shop_cont_ttl_sub{
  font-size:28px;
  font-family: "number-five-rough", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom:25px;
  font-weight: 300;
}
.menu_shop_btn{
  display: flex;
  justify-content: space-between;
}
.menu_shop_btn .btn_img img{
  width:95%;
}
.menu_shop_btn .btn_img p{
  top:-20px;
  font-size: 20px;
  line-height: 1.1;
  padding-top: 10px;
  font-weight: 300;
}

.menu_shop_btn .btn_img p span{
  font-size:12px;
  font-family: 'Oswald';
}

.menu_shop_btn .btn_img.book_white{
  color:#382C17;
}
.menu_shop_btn .btn_img span.span_02{
	display: block;
	padding-bottom: 5px;
	padding-top: 5px;
	line-height: 1.4;
}
.menu_shop_btn .btn_img.btn_junbi p{
  font-size: 18px;
  padding-top: 5px;
}
.menu_shop_btn .btn_img.btn_junbi p span{
  font-size: 11px;
  padding-top: 1px;
}

#menu h4{
  padding-bottom:5px;
  margin-bottom:10px;
  border-bottom:solid 2px #584B34;
  color:#584B34;
  font-size:16px;
}
#menu h5{
  color:#584B34;
  font-size:14px;
}
.menu_method{
  font-size:14px;line-height: 1.6;
}
.menu_method p{
  margin-bottom:15px;
}
.menu_method_cap{
  font-size:12px;
}
.btn_junbi {
	position: relative;
	pointer-events: none;
}
.btn_junbi::before {
	content: "";
	position: absolute;
	background: rgba(0,0,0,0.3);
	left: 0;
  right: 0;
  top: 0;
  bottom: 0;
	z-index: 99;
}
.link_allergy {
  display: block;
  margin: 0 auto;
  text-align: center;    
}
@media (max-width: 750px){
	#menu .pad_on{
	  padding-top:30px;
	  padding-bottom:30px;
	}
  #menu .menu_desc{
    margin: auto auto 30px;
    padding: 0 8%;
  }
  .menu_shop_box{
    flex-direction: column;
		margin-bottom: 30px;
    row-gap: 28px;
	}
  .menu_shop_box > div{
    width:100%;
  }
  .menu_shop_cont_ttl_sub {
    margin-bottom:0;
    font-size: 22px;
    margin-bottom: 15px;
  }
  .menu_shop_cont h3{
    font-size:23px;
    line-height: 1;
  }
  .menu_shop_btn .btn_img p{
    font-size: 3.5vw;
  }
  .menu_shop_btn .btn_img p span{
    font-family: 'Oswald';
    font-weight: 300;
    padding-top: 5px;
    display: block;
    font-size: 11px;
  }
  a.btn_img.hov_book.menu_3col .menu_3col_txt {
    font-size: 3vw;
  }
  #menu h4{
    font-size:14px;
  }
  #menu h5{
    font-size:12px;
  }
  .menu_method{
    font-size:12px;
  }
	.menu_shop_btn .btn_img img {
		width: 148px;
	}
  .menu_shop_btn .btn_img.btn_junbi p{
    font-size: 3vw;
  }
  .menu_shop_btn .btn_img.btn_junbi p span{
    font-size: 10px;
  }
}
/* menu end*/

/* gallery */
#gallery{
	color:#fff;
}
.gall_box img{
	object-fit: cover;
	    height: 100%;
	    border-radius: 10px;
}
.gall_box ul{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 208px 208px 208px 208px;
  gap:10px;
  margin-bottom:40px;
}
@media (max-width: 750px){
  .gall_box{
    margin-bottom:40px;
  }
  .gall_box ul{
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: 2px 5px;
    margin-bottom: 20px;
  }
	.gall_box ul li img{
		aspect-ratio: 1/1;
	}
}
/* gallery end */

/* access */
#access{
  background: rgba(226,220,204,0.7);
}
.ac_select{
  display: flex;
  justify-content: center;
  margin-bottom:50px;
}
.ac_select > a{
  position: relative;
  text-align: center;
  display: block;
  border-radius: 50px;
  border: solid 1px;
  padding:25px 0px 20px;
  max-width:180px;
  width:100%;
  margin: 0 10px;
  font-size:10px;
  line-height: 1.2;
  font-weight: 300;
  font-family: 'Oswald';
}

.ac_select > a::after{
  position: absolute;
  content: "";
  background: url(../images/ico_ac_select.webp);
  bottom: 5px;
  right: 0;
  left: 0;
  margin: auto;
  width: 15px;
  height: 10px;
  background-repeat: no-repeat;
}
.ac_select > a span{
  font-size:24px;
  font-family: var(--f-mincho);
}
.ac_select > a:hover{
  background: #382C17;
  color: #fff;
}
.ac_select > a:hover::after{
  background: url(../images/ico_ac_select_wh.webp);
  background-repeat: no-repeat;
}
.ac_shop_box{
  padding-top:65px;
  padding-bottom:75px;
  margin-bottom:20px;
}
.ac_shop_box:last-child{
  margin-bottom:0px;
}
.ac_shop_ttl{
  text-align: center;
  margin-bottom:55px;
}
.ac_shop_ttl h3{
  font-size:32px;
  font-family: var(--f-mincho);
  margin-bottom:10px;
  position: relative;
}

.ac_shop_ttl p{
  font-size: 28px;
  font-family: "number-five-rough", sans-serif;
  font-style: normal;
  font-weight: 400;
}
.ac_shop_ttl.div_arrow_brow::after{
  bottom:38px;
  background-repeat: no-repeat;
}
.ac_shop_box h4{
  font-size: 20px;
  margin-bottom:30px;
}
.ac_shop_flex{
  display: flex;
  justify-content: space-between;
}
.ac_shop_left{
  width:430px;
}
.ac_shop_left dl{
  margin-bottom:35px;
    font-size:14px;
    line-height: 1.8;
}
.ac_shop_left dl:last-child{
  margin-bottom:0;
}
.ac_shop_left dt{
  font-weight: bold;
  width: 80px;
}
.ac_shop_dl_table dt{
  margin-bottom:0px;
}
.ac_shop_dl_table{
  display: flex;
}
.ac_shop_dl_table dd{
  max-width: 335px;
}
.ac_shop_dd_indiv{
  padding:10px 20px;
}
.ac_hour_cap{
  font-size:12px;
  margin-bottom:25px;
}
.ac_hour_cap p{
  position: relative;
  padding-left:15px;
}
.ac_hour_cap p:after{
  position: absolute;
  content:"※";
  top:0;
  left: 0;
}
.ac_ind{
  border-radius: 50px;
  background: #E2DCCC;
  padding:10px 20px;
}
.ac_hour_li{
  display: flex;
  margin-bottom:10px;
}
.ac_hour_li ul:first-child{
  margin-right:100px;
}

.ac_shop_right{
  width:400px;
}
.ac_shop_right .btn_img{
  margin-bottom:20px;
}
.ac_shop_dl_table#osaka_time{
  flex-direction: column;
}
.ac_shop_dl_table#osaka_time .ac_hour_li{
  margin-top: 15px;
}
.googlemaps{
	margin-bottom:20px;
  max-width: 100%;
}
.googlemaps iframe{
  max-width: 100%;
  max-height: 300px;
}
.ac_res_cap{
	font-size: 14px;
	margin-top: -0.5em;
	margin-bottom: 1rem;
}
.ac_res_cap p{
	position: relative;
	padding-left: 15px;
}
.ac_res_cap p:after {
    position: absolute;
    content: "※";
    top: 0;
    left: 0;
}
.txt_eigyou_color{
  color: #C12500;
  margin-top: 15px;
  margin-bottom: 15px;
}
.txt_eigyou_bold{
  font-weight: 600;
  margin-top: 15px;
}
@media (max-width: 750px){
	.ac_select{
    margin-bottom: 30px;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 10px;
    justify-content: space-between;
    padding: 0px 14px;
	}
  .ac_select > a {
    max-width: 150px;
    width: calc(100% / 2);
    margin: 0;
    padding: 20px 0px 20px;
    font-size: 10px;
    letter-spacing: 0.1em;
  }
  .ac_select > a span {
    font-size: 18px;
    letter-spacing: 0;
  }
  .ac_shop_flex {
    flex-direction: column;
  }
  .ac_shop_left {
    width: 100%;
  }
  .ac_shop_right {
    width: 100%;
  }
	.ac_shop_ttl {
		margin-bottom:25px;
	}
	.ac_shop_box{
	  padding-top:30px;
	  padding-bottom:10px;
	  margin-bottom:20px;
	}
	.ac_ind{
		border-radius: 10px;
	}
  .ac_shop_dl_table#osaka_time{
    display: block;
  }
  .ac_shop_dl_table#osaka_time dd {
    max-width: 100%;
  }
  .ac_shop_dl_table dd{
    max-width: 73%;
  }
  .ac_shop_dd_indiv{
    padding: 10px 0px;
  }
	.ac_hour_li{
    justify-content: left;
	}
  .ac_hour_li ul:first-child{
    margin-right:30px;
  }
	.ac_hour_li ul:last-child {
    margin-right: 0px;
	}
}
/* access end */
