*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html{
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body{
  background-image: url("../img/common/bg_beige.webp");
  background-repeat: repeat-y;
  color: #222;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 18px;
  font-weight: 400;
}

:root{
  --main: #007642;
  --sub01: #D58700;
  --sub02: #583C32;
  --gothic: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  --mincho: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  --english: "Source Serif 4", serif;
  --green-hover: #E8F5E8;
}

.grecaptcha-badge{
  z-index: 10;
}

.mincho{
  font-family: var(--mincho);
}

.arizonia{
   font-family: "Arizonia", cursive;
}

.english{
  font-family: var(--english);
}

table{
  border-collapse: collapse;
  border-spacing: 0;
}

ul,ol{
  list-style: none;
}

li{
  list-style-type: none;
  position: relative;
}

a{
  display: inline-block;
  position: relative;
  transition: 0.3s;
  text-decoration: none;
}

img{
  display: block;
  height: auto;
  max-width: 100%;
  transition: 0.4s;
}

button,
input,
textarea{
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  transition: 0.3s;
}

input[type="button"],
input[type="submit"]{
  cursor: pointer;
}

::before,
::after{
  background-repeat: no-repeat;
  background-size: contain;
  transition: 0.3s;
}


.center{
  text-align: center;
}

.right{
  text-align: right;
}

.bold{
  font-weight: bold;
}

.flex_box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex_box.center{
  justify-content: center;
}

.flex_box.reverse{
  flex-flow: row-reverse;
}

.inner{
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 30px);
}

.inner_1080{
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 30px);
}

.inner_800{
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.bg_beige{
  background-image: url("../img/common/bg_beige.webp");
  background-repeat: repeat-y;
  background-size: 100%;
}

.bg_blue{
  background-image: url('../img/common/bg_blue-wall.webp'), url('../img/common/bg_blue-wall.webp');
  background-repeat: no-repeat , no-repeat;
  background-color: #EBF2F5;
  background-position: top center, bottom center;
}


.bg_white{
  background-color: #fff;
}

.bg_black{
  background-color: rgba(0,0,0,0.2);
}

.white_wood{
  background-image: url("../img/common/bg_white-wood.webp");
  background-repeat: repeat-y;
  background-size: 100%;
}

.color-main{
  color: var(--main);
}
.color-sub01{
  color: var(--sub01);
}
.color-sub02{
  color: var(--sub02);
}

.sp{
  display: none;
}

.mb-10{margin-bottom: 10px;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 4rem;}
.mb-50{margin-bottom: 5rem;}

.fs-20{font-size: 2rem;}



/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  html{
    font-size: 50%;
    scroll-padding-top: 80px;
  }
  
  body{
    font-size: 16px;
  }
  
  .flex_box.reverse{
    flex-flow: wrap;
  }
  
  .sp{
    display: block;
  }
  
  .pc{
    display: none !important;
  }
}



/*=======================================

header

========================================*/
header.fixed{
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10000;
}

header .header_inner{
  background-color: #F8F6F2;
  display: flex;
  justify-content: space-between;
  padding-left: clamp(15px,2.5vw,4rem);
  width: 100%;
}

header .logo{
  align-content: center;
  padding: 18px 0;
}

header .logo{
  max-width: clamp(180px,13.76vw,245px);
  line-height: 1em;
}

header .header_nav .info{
  align-content: center;
  background-color: var(--main);
  color: #fff;
  padding: 5px clamp(10px,1.25vw,20px) 10px;
}

header .header_nav .info .tel{
  font-size: clamp(20px,1.63vw,2.6rem);
  font-weight: 700;
  margin-bottom: 2px;
}

header .header_nav .info .tel span{
  font-size: 16px;
  margin-right: 8px;
}

header .header_nav .info .flex{
  display: flex;
  font-size: 14px;
}

header .header_nav .info .flex .closed{
  border: 1px solid #fff;
  margin-left: 15px;
  padding: 0 3px;
  text-align: center;
}

header .header_nav,
header .header_nav ul{
  display: flex;
}

header .header_nav > ul > li{
  align-content: center;
}

header .header_nav > ul > li > a{
  background-image: linear-gradient(var(--main), var(--main));
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 0 5px;
  color: #222;
  font-size: clamp(15px,1vw,16px);
  font-weight: 500;
  margin: 0  clamp(10px,1vw,16px);
  padding-bottom: 7px;
  transition: background-size 0.3s;
}


header .header_nav > ul > li > a:hover{
  background-position: bottom center;
  background-size: 80% 5px;
  color: var(--main);
}

header .header_nav ul.level_02{
  display: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
}

header .header_nav ul li.level_01:hover ul.level_02{
  display: block;
}

header .header_nav ul.level_02 li a{
  background-color: #91C1AB;
  border: 1px solid #fff;
  color: #fff;
  display: block;
  font-size: clamp(15px,1.13vw,18px);
  font-weight: 500;
  padding: 16px 5px;
  text-align: center;
  width: 188px;
}

header .header_nav ul.level_02 li a:hover{
  background-color: var(--main);
}

header .sp_nav{
  display: none;
}

/*--- under1400px -----------------------------------*/
@media screen and (max-width:1400px){
  header .header_inner{
    background-color: #fff;
    height: 70px;
  }
  
  header .logo{
    padding: 14px 0;
  }
  
  header .header_nav .info{
    display: none;
  }
  
  header .sp_nav{
    align-items: center;
    display: flex;
  }
  
  header .sp_nav a.tel_btn{
    align-content: center;
    background-color: #fff;
    border: 3px solid var(--main);
    border-radius: 5px;
    color: var(--main);
    font-size: 12px;
    font-weight: 700;
    height: 55px;
    margin-right: 15px;
    text-align: center;
    width: 55px;
  }
  
  header .sp_nav a.tel_btn::before{
    background-image: url("../img/common/icon_tel.png");
    content: "";
    display: block;
    height: 24px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2px;
    width: 16px;
  }
  
  header .sp_nav .hamburger_btn{
    background-color: var(--main);
    border-radius: 5px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    height: 55px;
    margin-right: 15px;
    position: relative;
    width: 55px;
  }
  
  header .sp_nav .hamburger_btn p{
    position: absolute;
    left: 4px;
    bottom: 5px;
  }
  
  header .sp_nav .hamburger_btn span{
    background-color: #fff;
    height: 4px;
    position: absolute;
    transition: 0.2s;
    left: 10px;
  }
  
  header .sp_nav .hamburger_btn span:nth-of-type(1){
    top: 8px;
    width: 34px;
  }
  header .sp_nav .hamburger_btn span:nth-of-type(2){
    top: 17px;
    width: 28px;
  }
  header .sp_nav .hamburger_btn span:nth-of-type(3){
    top: 27px;
    width: 34px;
  }
  
  header .sp_nav .hamburger_btn.active span:nth-of-type(1){
    transform: rotate(45deg);
    top: 17px;
  }
  header .sp_nav .hamburger_btn.active span:nth-of-type(2){
    opacity: 0;
  }
  header .sp_nav .hamburger_btn.active span:nth-of-type(3){
    transform: rotate(-45deg);
    top: 17px;
  }
  
  header .header_nav > ul{
    display: block;
    height: calc(100vh - 70px);
    opacity: 0;
    overflow: auto;
    pointer-events: none;
    position: fixed;
    top: 70px;
    left: 0;
    width: 100%;
    z-index: 500;
  }
  
  header .header_nav > ul.active{
    opacity: 1;
    pointer-events: auto;
  }
  
  header .header_nav > ul::before{
    background-color: rgba(0,0,0,0.2);
    content: "";
    height: calc(100vh - 70px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  
  header .header_nav ul li{
    background-color: #F8F6F2;
    position: relative;
    transition: 0.2s;
    z-index: 2;
  }
  
  header .header_nav ul > li:not(.contact){
    border-bottom: 1px solid #ccc;
    padding: 18px 0 0;
    text-align: center;
    width: 100%;
  }
  
  header .header_nav ul li:not(.contact) a{
    background-image: none;
    display: inline-block;
    margin: 0 0 18px;
    padding: 0;
  }
  
  header .header_nav ul li.level_01::before{
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px var(--sub02);
    border-right: solid 2px var(--sub02);
    margin-top: -15px;
    position: absolute;
    right: 26px;
    top: 28px;
    transform: rotate(135deg) ;
  }
  header .header_nav li.level_01.open::before{
    transform: rotate(-45deg) ;
    margin-top: -8px;
  }
  
  header .header_nav ul li.level_01::after{
    color: var(--sub02);
    content: "\958B\304F";
    font-size: 12px;
    font-weight: 700;
    position: absolute;
    right: 20px;
    top: 30px;
    transition: 0s;
  }
  header .header_nav li.level_01.open::after{
    content: "\9589\3058\308B";
    right: 14px;
  }
  
  header .header_nav ul.level_02{
    display: none;
    position: static;
    transform: none;
    width: 100%;
  }
  
  header .header_nav ul.level_02 li{
    border-top: 1px solid  #fff;
    padding: 0;
  }
  header .header_nav li.level_01.open{
    padding-bottom: 0;
  }
  
  header .header_nav ul.level_02 li a{
    border: none;
    display: block;
    margin: 0;
    padding: 18px;
    width: 100%;
  }
  
  header .header_nav li.level_01.open > a{
    margin-bottom: 18px;
  }
  
  header .header_nav ul li.level_01:hover ul.level_02{
    display: none;
  }
  
  header .header_nav ul li.contact{
    margin: 0;
    padding: 30px 15px;
  }
  
  header .header_nav ul li.contact a{
    color: var(--main);
    margin: 0 auto;
    padding: 12px;
  }
  
  header .header_nav ul li.contact a:hover{
    color: #fff;
  }
  
}


/*=======================================

footer

========================================*/
.home #footer_access{
  margin-bottom: 51rem;
}

#footer_access{
  background-color: #EBF2F5;
  padding-top: 7rem;
  position: relative;
  z-index: 2;
}

#footer_access h2.bf_title::before{
  content: "Access";
}

#footer_access .map_wrap iframe{
  height: 560px;
  width: 100%;
}

#footer_access .company_info{
  background-image: url("../img/common/bg_blue-wall.webp");
  color: #707070;
  padding-top: 9rem;
  padding-bottom: 5rem;
}

#footer_access .company_info .left_box{
  align-items: flex-start;
  display: flex;
  width: 68%;
}

#footer_access .company_info .left_box div{
  padding: 0 3%;
  width: 100%;
}

#footer_access .company_info .left_box div a{
  display: block;
  margin-bottom: 20px;
  text-align: center;
}

#footer_access .company_info .left_box img{
  max-width: 305px;
  object-fit: cover;
  width: 100%;
}

#footer_access .company_info .left_box div .bold{
  color: var(--main);
}


#footer_access .company_info .right_box{
 width: 30%; 
}

#footer_access .company_info .right_box .tel{
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 9px;
}

#footer_access .company_info .right_box .tel span{
  color: var(--main);
  font-size: 3.6rem;
}

#footer_access .company_info .right_box .access{
  font-size: 2rem;
  margin: 10px 0;
}

#footer_access .company_info .right_box .link_btn{
  margin-top: 0;
}

#footer_access .company_info .right_box .link_btn a{
  padding: 15px;
  padding-right: 2.2em;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .home #footer_access{
    margin-bottom: 300px;
  }
  
  #footer_access .map_wrap iframe{
    height: 420px;
  }
  
  #footer_access .company_info{
    background-image: none;
    padding-top: 30px;
  }
  
  #footer_access .company_info .left_box{
    position: relative;
    width: 100%;
  }
  
  #footer_access .company_info .left_box > img{
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
  }
  
  #footer_access .company_info .left_box div{
    padding-left: 0;
    width: 100%;
  }
  
  #footer_access .company_info .left_box div a{
    margin-top: 11%;
    margin-bottom: 17%;
    padding-left: 45%;
  }
  
  #footer_access .company_info .right_box{
    margin-top: 20px;
    width: 100%;
  }
  
  #footer_access .company_info .right_box .tel_box{
    background-color: #fff;
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 15px;
    text-align: center;
  }
  
  #footer_access .company_info .right_box .tel_box .link_btn a{
    border-radius: 999px;
    font-weight: 500;
    margin-left: auto;
    margin-right: auto;
    max-width: 265px;
    padding-right: 12px;
  }
  
  #footer_access .company_info .right_box .tel_box .link_btn a::after{
    display: none;
  }
}


footer #bnr_box{
  padding: 10rem 0;
}

footer #bnr_box a{
  margin-bottom: 5rem;
  width: 48%;
}

footer #bnr_box a:hover{
  opacity: 0.5;
}

footer #bnr_box a:last-child{
  margin-bottom: 0;
  width: 100%;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  footer #bnr_box{
    padding: 40px 0;
  }
  
  footer #bnr_box a{
    margin-bottom: 30px;
    width: 100%;
  }
}


footer #footer_nav{
  background-color: var(--main);
  color: #fff;
  padding: 5rem 0;
}

footer #footer_nav .company_info a{
  width: 28%;
}

footer #footer_nav .company_info .text_box{
  width: 55%;
}
footer #footer_nav .company_info .text_box p{
  margin-bottom: 10px;
}

footer #footer_nav .company_info .sns_box{
  width: 13%;
}

footer #footer_nav .company_info .sns_box a{
  margin: 0 5px;
  max-width: 40px;
}
footer #footer_nav .company_info .sns_box a:hover{
  opacity: 0.7;
}

footer #footer_nav nav{
  display: flex;
  justify-content: space-between;
}

footer #footer_nav nav > ul{
  margin-top: 4.2rem;
}

footer #footer_nav nav > ul > li > a{
  background-image: linear-gradient(#fff, #fff);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 2px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  padding-left: 24px;
  padding-bottom: 2px;
  margin-bottom: 6px;
  transition: background-size 0.3s;
}


footer #footer_nav nav > ul > li > a:hover{
  background-position: bottom left;
  background-size: 100% 2px;
  opacity: 0.8;
}


footer #footer_nav nav > ul > li > a::before{
  background-color: #fff;
  border-radius: 999px;
  content: "";
  height: 14px;
  position: absolute;
  top: 9px;
  left: 0;
  width: 14px;
}

footer #footer_nav nav > ul > li > a::after{
  content: '';
  width: 4px;
  height: 4px;
  border-top: solid 2px var(--main);
  border-right: solid 2px var(--main);
  position: absolute;
  left: 3.5px;
  top: 13px;
  transform: rotate(45deg);
}

footer #footer_nav nav ul.level_02{
  margin-left: 25px;
  margin-bottom: 20px;
}

footer #footer_nav nav ul.level_02 li a{
  color: #fff;
  font-weight: 400;
  margin-bottom: 7px;
  padding-left: 20px;
}

footer #footer_nav nav ul.level_02 li a::before{
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 10px;
  left: 0;
  transform: rotate(45deg);
}

footer #footer_nav nav ul.level_02 li a:hover{
  opacity: 0.8;
  text-decoration: underline;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  footer #footer_nav .company_info a{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    width: 87%;
  }
  
  footer #footer_nav .company_info .text_box{
    font-size: 16px;
    width: 100%;
  }
  
  footer #footer_nav .company_info .sns_box{
    margin-top: 15px;
    width: 100%;
  }
  
  footer #footer_nav nav{
    display: block;
    margin-top: 30px;
  }
  
  footer #footer_nav nav > ul {
    margin-top: 0;
  }
  
  footer #footer_nav nav ul.level_02{
    margin-bottom: 0;
  }
  
  footer #footer_nav nav > ul > li > a::before{
    top: 7px;
  }
  footer #footer_nav nav > ul > li > a::after{
    top: 11px;
  }
}



footer #footer_group{
  padding-bottom: 7rem;
}

footer #footer_group .box{
  padding-top: 5rem;
}

footer #footer_group .banner_box{
  gap:3rem 5rem;
}

footer #footer_group .banner_box a:hover{
  opacity: 0.5;
}

footer #footer_group nav ul{
  display: grid;
  gap: 0 1%;
  grid-template-columns: repeat(5,19%);
  margin-top: 5rem;
}

footer #footer_group nav ul li{
  border-bottom:1.5px solid var(--sub02);
  margin-bottom: 30px;
}

footer #footer_group nav ul li a{
  color: var(--sub02);
  display: block;
  font-size: 17px;
  font-weight: 400;
  padding-left: 17px;
  padding-bottom: 5px;
}

footer #footer_group nav ul li a:hover{
  opacity: 0.7;
  padding-left: 22px; 
}

footer #footer_group nav ul li a::before{
  background-color: var(--sub02);
  border-radius: 999px;
  content: "";
  height: 10px;
  position: absolute;
  top: 10px;
  left: 0;
  width: 10px;
}

footer #footer_group nav ul li a::after{
  content: '';
  width: 3px;
  height: 3px;
  border-top: solid 1.5px #fff;
  border-right: solid 1.5px #fff;
  position: absolute;
  left: 2px;
  top: 13px;
  transform: rotate(45deg);
}

footer #copy_right{
  background-color: var(--sub02);
  color: #fff;
  font-size: 16px;
  padding: 1em;
  text-align: center;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  footer #footer_group nav ul{
    grid-template-columns: repeat(3, 32%);
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  footer #footer_group nav ul{
    grid-template-columns: repeat(2, 48%);
    justify-content: space-between;
  }
  
  footer #footer_group nav ul li{
    align-content: center;
    margin-bottom: 20px;
  }
  
  footer #footer_group nav ul li a{
    font-size: 16px;
  }
}



/*=======================================

CTA系

========================================*/
/*--------------------------
サイド
-------------------------*/
#fixed_cta{
  display: flex;
  flex-flow: column;
  position: fixed;
  top: 50vh;
  transform: translateY(-40%);
  right: 0;
  z-index: 1000;
}

#fixed_cta a{
  border: 1px solid;
  border-radius: 10px 0 0 10px;
  color: #fff;
  font-size: clamp(16px,1.18vw,2rem);
  letter-spacing: 0.08em;
  margin-bottom: 12px;
  overflow: hidden;
  padding: 18px 12px;
  writing-mode: vertical-rl;
}

#fixed_cta a::before{
  content: "";
  display: inline-block;
  height: 21px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3px;
  position: relative;
  width: 23px;
  z-index: 2;
}

#fixed_cta a::after{
  background-color: #fff;
  content: '';
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 1;
 	width: 100%;
	height: 100%;
 	transition: transform .5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

#fixed_cta a:hover::after{
  transform-origin:left top;
	transform:scale(1, 1);
}

#fixed_cta a span{
  position: relative;
  z-index: 2;
}


#fixed_cta a#restaurant{
  background-color: var(--main);
  border-color: var(--main);
}
#fixed_cta a#restaurant::before{
  background-image: url("../img/common/icon_cutlery.png");
}
#fixed_cta a#restaurant:hover{
  color: var(--main);
}
#fixed_cta a#restaurant:hover::before{
  background-image: url("../img/common/icon_cutlery-color.png");
}

#fixed_cta a#lunch-box{
  background-color: var(--sub01);
  border-color: var(--sub01);
}
#fixed_cta a#lunch-box::before{
  background-image: url("../img/common/icon_onigiri.png");
}
#fixed_cta a#lunch-box:hover{
  color: var(--sub01);
}
#fixed_cta a#lunch-box:hover::before{
  background-image: url("../img/common/icon_onigiri-color.png");
}


#fixed_cta a#access{
  background-color: var(--sub02);
  border-color: var(--sub02);
}
#fixed_cta a#access::before{
  background-image: url("../img/common/icon_car.png");
}
#fixed_cta a#access:hover{
  color: var(--sub02);
}
#fixed_cta a#access:hover::before{
  background-image: url("../img/common/icon_car-color.png");
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #fixed_cta{
    flex-flow: row;
    top: auto;
    bottom: 0;
    transform: none;
    width: 100%;
  }
  
  #fixed_cta a{
    border-radius: 0;
    font-size: 13.5px;
    font-weight: 700;
    margin-bottom: 0;
    letter-spacing: 0;
    padding: 8px 2px;
    text-align: center;
    writing-mode: horizontal-tb;
    width: 50%;
  }
  
  #fixed_cta a::before{
    display: block;
  }
}


/*--------------------------
ページトップに戻る
-------------------------*/
#page_top{
  height: 100px;
  position: fixed;
  right: 70px;
  bottom: 30px;
  width: 100px;
  z-index: 1000;
}

#page_top a{
  align-content: center;
  background-color: #fff;
  border: 2px solid var(--main);
  color: var(--main);
  display: block;
  font-weight: 700;
  height: 100%;
  padding-top: 10px;
  text-align: center;
  width: 100%;
}

#page_top a:hover{
  background-color: var(--main);
  color: #fff;
}

#page_top a::before{
  content: '';
  height: 10px;
  border-top: solid 2px var(--main);
  border-right: solid 2px var(--main);
  position: absolute;
  left: 50%;
  top: 10px;
  transform: rotate(-45deg) translateX(-50%);
  width: 10px;
}

#page_top a:hover::before{
  border-color: #fff;
}
  
/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .grecaptcha-badge{
    bottom: 70px !important;
  }
  
  #page_top{
    height: 60px;
    right: 10px;
    bottom: 135px;
    width: 60px;
  }
  
  #page_top a{
    line-height: 1.2em;
  }
  
  #page_top a::before{
    height: 8px;
    margin-left: -1px;
    width: 8px;
  }
}


/*=======================================

共通パーツ

========================================*/

/*------------------------------
ボタン
-------------------------------*/
.link_btn{
  margin-top: 5rem;
}

.link_btn.center a,
.link_btn.center input[type="button"]{
  margin-left: auto;
  margin-right: auto;
}

.submit_btn .link_btn{
  margin: 10px auto;
  max-width: 300px;
  position: relative;
}

.submit_btn .link_btn.back::after,
.submit_btn .link_btn.submit::after{
  display: none !important;
}


/*-- ●白背景×メインカラー（default） ----*/
.link_btn a,
.link_btn button,
.link_btn input[type="button"],
.link_btn input[type="submit"]{
  background-color: #fff;
  border: 1px solid var(--main);
  color: var(--main);
  display: block;
  font-weight: 700;
  font-size: 2rem;
  max-width: 480px;
  overflow: hidden;
  padding: 2.4rem;
  padding-right: 2.2em;
  position: relative;
  text-align: center;
  width: 100%;
}

.link_btn input[type="button"],
.link_btn input[type="submit"]{
  max-width: 100%;
}

.link_btn input[type="button"],
.link_btn.back input,
.link_btn input[type="submit"]{
  padding-right: 2.4rem !important;
}

.link_btn.back{
  margin-top: 5rem;
}

.link_btn.back input{
  background-color: #ccc !important;
  color: #585858 !important;
  border: none !important;
}

.link_btn a span,
.link_btn button span{
  position: relative;
  z-index: 2;
}

.link_btn a:hover,
.link_btn.sub_color a:hover,
.link_btn button:hover,
.link_btn input[type="button"]:hover{
  color: #fff;
}

.link_btn input[type="button"]:hover{
  background-color: var(--main);
}

.link_btn a::before,
.link_btn button::before{
  background-color: var(--main);
  content: '';
  height: 0;
  position: absolute;
 	bottom:0;
 	left: 0;
  transition:.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  width: 100%;
  z-index: 2;
}

.link_btn a:hover:before,
.link_btn button:hover::before{
   height: 100%;
}

.link_btn a::after,
.link_btn button::after{
  background-image: url("../img/common/icon_arrow_green.svg");
  content: "";
  position: absolute;
  height: 0.8em;
  margin-top: 2px;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  width: 1em;
  z-index: 3;
}

.link_btn a:hover::after,
.link_btn.sub_color a:hover::after,
.link_btn button:hover::after{
  background-image: url("../img/common/icon_arrow_white.svg");
}

.submit_btn .link_btn input[disabled]{
  background-color: #919191 !important;
  border-color: #919191 !important;
  cursor: not-allowed;
}
.submit_btn .link_btn input[disabled]:hover{
  color: #fff !important;
}


/*-- ●白背景×サブカラー1 ----*/
.link_btn.sub_color a{
  border: 1px solid var(--sub01);
  border-color: var(--sub01);
  color: var(--sub01);
}
.link_btn.sub_color a::before{
  background-color: var(--sub01);
}
.link_btn.sub_color a::after{
  background-image: url("../img/common/icon_arrow_orange.svg");
}

/*-- ●メインカラー背景×白文字 ----*/
.link_btn.main_color a,
.link_btn.main_color input[type="button"],
.link_btn.main_color input[type="submit"]{
  background-color: var(--main);
  color: #fff;
}
.link_btn.main_color a:hover,
.submit_btn .link_btn.main_color input[type="button"]:hover,
.link_btn.main_color input[type="submit"]:hover{
  color: var(--main);
}
.link_btn.main_color a::before,
.submit_btn .link_btn.main_color input[type="button"]:hover,
.link_btn.main_color input[type="submit"]:hover{
  background-color: #fff;
}
.link_btn.main_color a::after,
.submit_btn .link_btn.main_color::after{
  background-image: url("../img/common/icon_arrow_white.svg");
}
.link_btn.main_color a:hover::after,
.submit_btn .link_btn.main_color:hover::after{
  background-image: url("../img/common/icon_arrow_green.svg");
}

/*-- ●サブカラー1背景×白文字 ----*/
.link_btn.sub_color_02 a{
  background-color: var(--sub01);
  border-color: var(--sub01);
  color: #fff;
}
.link_btn.sub_color_02 a:hover{
  color: var(--sub01);
}
.link_btn.sub_color_02 a::before{
  background-color: #fff;
}
.link_btn.sub_color_02 a::after{
  background-image: url("../img/common/icon_arrow_white.svg");
}
.link_btn.sub_color_02 a:hover::after{
  background-image: url("../img/common/icon_arrow_orange.svg");
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .link_btn a, 
  .link_btn button{
    font-size: 16px;
    padding: 12px;
    padding-right: 24px;
  }
  
  .link_btn a::after, 
  .link_btn button::after{
    right: 5px;
  }
}


/*------------------------------
見出し
-------------------------------*/
.style_h2{
  position: relative;
  z-index: 2;
}

h2.bf_title,
.style_h2 h2,
h2.border{
  color: var(--sub02);
  font-size: clamp(26px,3.91vw,4rem);
  font-family: var(--mincho);
  margin-bottom: clamp(40px,4.88vw,5rem);
  padding-top:clamp(30px,4.88vw,5.1rem);
  position: relative;
  text-align: center;
  z-index: 2;
}

.bf_title::before,
.style_h2 .en{
  color: #D9E8D9;
  font-family: var(--english);
  font-size: clamp(50px,6.18vw,11rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1em !important;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  word-break: break-all;
  width: 100%;
  z-index: -1;
}

h2.border{
  padding-bottom: 20px;
}

h2.border::before{
  background-color: var(--main);
  border-radius: 5px;
  content: "";
  height: 5px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
}

.style_h3{
  font-weight: 700;
  margin-top: 30px;
  margin-bottom: 30px;
  position: relative;
  text-align: center;
}

.style_h3::after{
  background-image: url("../img/common/hd-deco_dot.svg");
  content: "";
  height: 6px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
}

.style_h3 .en{
  color: var(--sub02);
  font-size: 16px;
  margin-bottom: 6px;
}

.style_h3 .mincho,
.style_h3 h3{
  color: var(--main);
  font-family: var(--mincho);
  font-size: clamp(22px,2.93vw,3rem);
  padding-bottom: 18px;
  position: relative;
}


/*------------------------------
スライドバナー
-------------------------------*/
.banner_slide a{
  margin: 0 2.5rem;
}

.banner_slide a:hover{
  opacity: 0.5;
}

.banner_slide a:not([href]):hover{
  opacity: 1;
}


.banner_slide a img{
  margin: 0 auto;
}


.banner_slide .slick-arrow{
  background-color: #007642;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0;
  height: 35px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.1s;
  width: 35px;
  z-index: 1;
}

.banner_slide .slick-arrow:active{
  margin-top: 5px;
}

.banner_slide .slick-arrow::before{
  content: '';
  height: 10px;
  position: absolute;
  left: 9px;
  top: 11px;
  transform: rotate(45deg);
  width: 10px;
}

.banner_slide .slick-prev{
  left: 25%;
}

.banner_slide .slick-prev::before{
  border-bottom: solid 3px #fff;
  border-left: solid 3px #fff;
  left: 13px;
}

.banner_slide .slick-next{
  right: 25%;
}
.banner_slide .slick-next::before{
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
}

.slick-dots{
  display: flex;
  justify-content: center;
  margin-top: 25px;
}

.slick-dots li{
  height: 18px;
  margin: 0 7.5px;
  width: 18px;
}

.slick-dots li button{
  background-color: #C8C8C8;
  border: none;
  border-radius: 999px;
  display: block;
  font-size: 0;
  height: 100%;
  width: 100%;
}

.slick-dots li.slick-active button{
  background-color: var(--main);
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .banner_slide a{
    margin: 0 5px;
  }
  
  .banner_slide .slick-arrow{
    display: none !important;
  }
  
  .slick-dots li{
    height: 13px;
    width: 13px;
  }
}


/*------------------------------
バナーパーツ
-------------------------------*/
.bnr_wrap a:not(:last-of-type){
  margin-bottom: clamp(30px,4.88vw,5rem);
}

.bnr_wrap a:hover{
  opacity: 0.5;
}

/*------------------------------
ぬるぬる画像スライドパーツ
-------------------------------*/
.space_slide_img{
  margin: 10rem 0;
}

.space_slide_img .img_box img{
  width: 100%;
}


/*------------------------------
ご予約はこちらバナー（※パターン共通）
-------------------------------*/
main#page .banner_parts_wrap{
  background-color: #fff;
  background-image: url("../img/common/bg_bento-banner.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  overflow: hidden;
  padding: 5rem 0 !important;
  position: relative;
}

main#page .banner_parts_wrap.bento-page{
  padding-top: 10rem !important;
}

.banner_parts_wrap::before{
  background-image: url(../img/common/deco_leaf_01.png);
  content: "";
  height: 263px;
  position: absolute;
  top: 24%;
  right: 5%;
  transform: rotate(-30deg);
  width: 200px;
}

.banner_parts_wrap.bento-page::before{
  top: 35%;
}

.banner_parts{
  background-color: #fff;
  border: 1px solid;
  margin-top: 5rem;
  margin-bottom: 5rem;
  position: relative;
  z-index: 2;
}
.banner_parts.lunch-box{
  border-color: var(--sub01);
}
.banner_parts.restaurant,
.banner_parts.party{
  border-color: var(--main);
}

.banner_parts .title{
  font-family: var(--mincho);
  font-size: clamp(20px,2.93vw,3rem);
  font-weight: 700;
  line-height: normal !important;
  margin-bottom: 0 !important;
  padding: 10px;
  text-align: center;
}
.banner_parts.lunch-box .title{
  background-color: #FFF0DC;
  color: var(--sub01);
}
.banner_parts.restaurant .title,
.banner_parts.party .title{
  background-color: #E8F5EF;
  color: var(--main);
}

.banner_parts .wp-block-columns,
.banner_parts .flex_box{
  gap: 10px;
  justify-content: space-around;
  margin: 0 !important;
  padding: 3rem clamp(15px,3.91vw,4rem);
}

.banner_parts .flex_box{
  align-items: center;
}

.banner_parts .flex_box .tel_item{
  width: 60%;
}

.rice-page .banner_parts .flex_box .tel_item{
  width: 80%;
}
.rice-page .banner_parts .tel{
  font-size: clamp(20px, 3.75vw, 4rem);
}
.rice-page.banner_parts_wrap::before{
  display: none;
}

.banner_parts .wp-block-columns p{
  margin-bottom: 0 !important;
}

.banner_parts .tel{
  font-size: clamp(22px,3.75vw,4.5rem);
  font-weight: 700;
  display: block;
  pointer-events: none;
}
.banner_parts.lunch-box .tel{
  color: var(--sub01);
}
.banner_parts.restaurant .tel,
.banner_parts.party .tel{
  color: var(--main);
}

.banner_parts .tel strong{
  color: #222;
  display: inline-block;
  font-size: 165%;
  font-weight: 700;
  margin-left: 2rem;
}

.banner_parts .wp-block-buttons{
  margin: 0 !important;
}

.banner_parts .flex_box .link_btn{
  margin-top: 0;
  width: 35%;
}

.banner_parts .wp-block-button{
  width: 100%;
}

.banner_parts .wp-block-button a{
  border-radius: 10px !important;
}

.banner_parts.lunch-box .wp-block-button a{
  background-color: var(--sub01) !important;
  border: 1px solid var(--sub01) !important;
}

.banner_parts.lunch-box .wp-block-button a:hover{
  background-color:  #fff !important;
  color: var(--sub01) !important;
}

.banner_parts.lunch-box .wp-block-button a:hover::before{
  background-image: url("../img/common/icon_arrow_orange.svg") !important;
}

.banner_parts.lunch-box .wp-block-columns .wp-block-column:last-child{
  display: none;
}

.banner_parts.lunch-box .flex_box .tel_item{
  width: 55%;
}

.banner_parts.lunch-box .link_btn.main_color,
.banner_parts.lunch-box .link_btn.sub_color_02{
  width: 20%;
}

.banner_parts.lunch-box .link_btn a{
  border-radius: 10px;
}

.banner_parts.party .flex_box{
  justify-content: center;
}

.banner_parts.party .border{
  border: 1px solid var(--main);
  font-size: 2.3rem;
  padding: 5px 3rem;
}

.banner_parts.party .border p{
  line-height: 1.8em !important;
}


/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  .banner_parts_wrap::before{
    display: none;
  }
  
  .banner_parts.lunch-box .tel_item,
  .banner_parts.lunch-box .flex_box .tel_item,
  .rice-page .banner_parts .flex_box .tel_item{
    text-align: center;
    width: 100%;
  }
  
  .banner_parts.lunch-box .link_btn.main_color,
  .banner_parts.lunch-box .link_btn.sub_color_02{
    width: 48%;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .banner_parts .flex_box .tel_item,
  .banner_parts .flex_box .link_btn,
  .banner_parts.lunch-box .flex_box .tel_item,
  .banner_parts.lunch-box .link_btn.main_color,
  .banner_parts.lunch-box .link_btn.sub_color_02,
  .banner_parts.party .border{
    width: 100%;
  }
  
  .banner_parts .flex_box .link_btn a{
    max-width: 100%;
  }
  
  .banner_parts.lunch-box .tel_item{
    text-align: left;
  }
  
  .banner_parts .tel{
    margin-bottom: 10px;
    pointer-events: auto;
  }
  
  .banner_parts.party .border p{
    display: inline-block;
  }
  
  
}

/*------------------------------
メモ風パーツ
-------------------------------*/
.memo_voice{
  background-color: #fff;
  margin-bottom: 30px;
  padding: 3rem;
  margin-top: 30px;
  position: relative;
  width: 31%;
}

.memo_voice::before{
  background-image: url("../img/common/memo_white.svg");
  background-position: center;
  background-size: cover;
  content: "";
  height: 30px;
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
}

.memo_voice.yellow{
  background-color: #FFFEE6;
}
.memo_voice.yellow::before{
  background-image: url("../img/common/memo_yellow.svg");
}

.memo_voice .name{
  color: var(--sub02);
  font-size: 2rem;
  font-weight: 700;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  .memo_voice{
    width: 30%;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .memo_voice{
    width: 45%;
  }
}

/*--- under500px -----------------------------------*/
@media screen and (max-width:500px){
  .memo_voice{
    width: 100%;
  }
}


/*------------------------------
片寄りパーツ
-------------------------------*/
.side_parts{
  align-items: center;
  display: flex;
  justify-content: space-between;
  max-width: 1560px;
  margin-bottom: 10rem;
  width: 90%;
}

#front-page .side_parts{
  align-items: flex-start;
}

.side_parts .img_box{
  outline: 1px solid #fff;
  outline-offset: -10px;
  position: relative;
  width: 60%;
}

.side_parts .text_box{
  width: 37%;
}

.side_parts .text_box .title{
  color: var(--sub02);
  font-family: var(--mincho);
  font-size: clamp(22px,3.13vw,3.2rem);
  font-weight: 700;
  margin-bottom: 5rem;
}

.side_parts .text_box .title small{
  font-size: 72%
}

.side_parts .text_box .title.color-main{
  color: var(--main);
}

.side_parts .text_box p{
  font-size: 2rem;
  line-height: 2em;
  margin-bottom: 1em;
}

.side_parts .text_box .link_btn a{
  margin-left: auto;
  margin-right: auto;
}

.side_parts.left_wrap{
  margin-left: 0;
  margin-right: auto;
}

.side_parts.right_wrap{
  flex-flow: row-reverse;
  margin-left: auto;
  margin-right: 0;
} 

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  .side_parts{
    display: block;
    width: 100%;
  }
  
  .side_parts .img_box{
    margin-bottom: 25px;
    width: 100%;
  }
  
  .side_parts .img_box img{
    width: 100%;
  }
  
  .side_parts .text_box{
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
  }
  
  .side_parts .text_box .title{
    margin-bottom: 20px;
    text-align: center;
  }
}



.side_parts_02{
  max-width: 1675px;
  position: relative;
  padding-bottom: 20rem;
  width: 90%;
  z-index: 2;
}

.side_parts_02.left_wrap{
  margin-left: 0;
  margin-right: auto;
}
.side_parts_02.right_wrap{
  margin-left: auto;
  margin-right: 0;
}

.side_parts_02 .img_box{
  outline: 1px solid #fff;
  outline-offset: -10px;
}
.side_parts_02.left_wrap .img_box{
  margin-right: 11rem;
}
.side_parts_02.right_wrap .img_box{
  margin-left: 11rem;
}

.side_parts_02 .text_box{
  background-color: #fff;
  font-weight: 500;
  max-width: 740px;
  padding: 5rem 6rem;
  position: absolute;
  bottom: 0;
}
.side_parts_02.left_wrap .text_box{
  right: 0;
}
.side_parts_02.right_wrap .text_box{
  left: 0;
}

.side_parts_02 .text_box .head{
  color: var(--sub02);
  font-family: var(--mincho);
  font-size: clamp(22px,2.93vw,3rem);
  margin-bottom: 3rem;
  text-align: center;
}

.side_parts_02 .text_box .text{
  line-height: 1.7em !important;
}

.side_parts_02 .text_box .link_btn{
  margin-top: 4rem;
}

.side_parts_02 .text_box .link_btn a{
  border-radius: 10px;
  max-width: 100%;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .side_parts_02{
    padding-bottom: 0;
    width: 100%;
  }
  
  .side_parts_02.left_wrap .img_box,
  .side_parts_02.right_wrap .img_box{
    margin: 0;
  }
  
  .side_parts_02 .text_box{
    padding: 30px 15px;
    position: static;
    text-align: left;
  }
}


/*------------------------------
カラム
-------------------------------*/
.column_02,
.column_03{
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
  justify-content: space-between;
}

.column_02 .item{
  width: 48%;
}

.column_03::after{
  content: "";
  display: block;
  width: 32%;
}

.column_03 .item{
  width: 32%;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  .column_03 .item{
    width: 48%;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .column_03::after{
    display: none;
  }
  
  .column_02 .item,
  .column_03 .item{
    width: 100%;
  }
}

/*------------------------------
ボックスパーツ
-------------------------------*/
.box_parts{
  display: flex;
  flex-wrap: wrap;
  gap: clamp(35px,6.84vw,7rem) 0;
  justify-content: space-between;
}

.box_parts .item{
  display: flex;
  flex-flow: column;
  width: 48%;
}

.box_parts .item .head{
  color: var(--main);
  font-family: var(--mincho);
  font-size: 3rem;
  font-weight: 700;
  margin: 20px 0;
  text-align: center;
}

.box_parts .item .text{
  font-size: 2rem;
  line-height: 2em;
  margin-bottom: 3rem;
}

.box_parts .item .link_btn{
  margin-top: auto;
}

.box_parts .item .link_btn a{
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
  padding: 15px;
  padding-right: 45px;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .box_parts .item{
    flex-flow: wrap;
    justify-content: space-between;
    width: 100%;
  }
  
  .box_parts .item .link_btn{
    margin-top: 22px;
    width: 100%;
  }
  
  .box_parts .item .link_btn a{
    margin-left: auto;
    margin-right: auto;
    padding: 12px;
    padding-right: 24px;
  }
  
  .box_parts .item .img_box{
    aspect-ratio: 1/1;
    height: 136px;
    width: 136px;
  }
  
  .box_parts .item .img_box img{
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  
  .box_parts .item .text_box{
    width: calc(100% - 145px);
  }
  
  .box_parts .item .head{
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 14px;
    text-align: left;
  }
  
  .box_parts .item .text{
    margin-bottom: 0;
  }
  
}

/*------------------------------
プランパーツ
-------------------------------*/
.plan_box{
  background-color: #fff;
  border: 1px solid var(--main);
  padding-top: 7rem;
  padding-bottom: 5rem;
}

.plan_box .plan .name{
  border-bottom: 1px solid var(--main);
  color: var(--main);
  font-size: clamp(26px,3.91vw,4rem);
  font-weight: 700;
  margin-bottom: 16px;
  padding-bottom: 10px;
}
.plan_box .plan .name span{
  font-size: 125%;
}

.plan_box .plan .price{
  font-size: 2.3rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
.plan_box .plan .price span{
  color: var(--main);
}
.plan_box .plan .price strong{
  font-size: 180%;
  font-weight: 500;
}

.plan_box .plan .price_child{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.plan_box .menu{
  align-content: center;
  background-color: var(--main);
  border: 1px solid #fff;
  color: #fff;
  font-family: var(--mincho);
  font-size: 2.3rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 3rem;
  min-height: 45px;
  overflow: hidden;
  padding: 6px;
  position: relative;
  text-align: center;
}

.plan_box .menu::before,
.plan_box .menu::after{
  content: "";
  height: 40px;
  position: absolute;
  transform: translateY(-50%)rotate(45deg);
  top: 50%;
  width: 40px;
}

.plan_box .menu::before{
  border-left: 40px solid #fff;
  margin-top: 15px;
  left: -30px;
}

.plan_box .menu::after{
  border-right: 40px solid #fff;
  margin-top: -15px;
  right: -30px;
}

.plan_box .menu_list .item .name{
  color: var(--main);
  font-size: 2.3rem;
  font-weight: 700;
  margin-top: 2.5rem;
}

.plan_box .menu_list,
.plan_box .menu_list ul.flex_box{
  display: flex;
  justify-content: flex-start;
  width: 100%;
}

.plan_box .menu_list .item,
.plan_box .menu_list ul.flex_box li{
  font-weight: 700;
  padding-right: 1%;
  width: 25%;
}

.plan_box .menu_list .item ul{
  margin: 10px 0 !important;
}

.plan_box .menu_list ul.flex_box{
  gap: 16px 0;
  margin-bottom: 0 !important;
}

.plan_box  .column_02.menu_list{
  justify-content: space-between;
}

.plan_box  .column_02.menu_list ul{
  margin: 0;
  width: 48%;
}

.plan_box  .column_02.menu_list ul li span{
  float: right;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width: 1024px){  
  .plan_box .column_02.menu_list ul li{
    display: flex;
    justify-content: space-between;
  }
  
  .plan_box .column_02.menu_list ul li span{
    float: none;
  }
  
}

/*--- under767px -----------------------------------*/
@media screen and (max-width: 767px){
  .plan_box .menu_list,
  .plan_box .menu_list ul.flex_box{
    flex-wrap: wrap;
    gap: 0;
  }
  
  .plan_box .menu_list .item,
  .plan_box .menu_list ul.flex_box li,
  .plan_box .column_02.menu_list ul{
    width: 100%;
  }
}


/*------------------------------
店舗パーツ
-------------------------------*/
.store_box{
  display: flex;
  flex-wrap: wrap;
  gap: 5rem  1%;
  justify-content: center;
}

.store_box .item{
  background-color: #fff;
  display: flex;
  flex-flow: column;
  text-align: center;
  width: 24%;
}

.store_box.column_03 .item{
  width: 32%;
}

.store_box .item .en{
  color: var(--main);
  font-size: clamp(13px,2.09vw,16px);
  padding: 20px 15px 0;
}

.store_box .item .name{
  font-family: var(--mincho);
  font-size: clamp(16px,2.25vw,2.3rem);
  font-weight: 700;
  padding-left: clamp(10px,1.96vw,15px);
  padding-right: clamp(10px,1.96vw,15px);
}

.store_box .item .text{
  font-size: clamp(15px, 1.83vw, 18px);
  font-weight: 500;
  line-height: 1.8em;
  margin-top: 20px;
  padding-left: clamp(10px, 1.96vw, 15px);
  padding-right: clamp(10px, 1.96vw, 15px);
}

.store_box .item .text .sun-palese{
  border: 1px solid var(--main);
  color: var(--main);
  display: inline-block;
  font-weight: 700;
  margin-top: 10px;
  padding: 0 2rem;
}

.store_box .item .link_btn{
  margin-top: auto;
  padding: clamp(15px,2.93vw,3rem) clamp(10px,2.93vw,3rem);
}

.store_box .item .link_btn a{
  font-size: clamp(16px,2.34vw,18px);
  padding: 1.5rem;
  
}

.store_box .item .link_btn a[target="_blank"]::after{
  background-image: url(../img/common/icon_target-white.svg);
  display: inline-block;
  height: 1em;
  margin-left: 10px;
  position: relative;
  top: 1px;
  right: 0;
  transform: none;
  width: 1em;
}

.store_box .item .link_btn a[target="_blank"]:hover::after{
  background-image: url("../img/common/icon_target-green.svg");
}


/*--- under1024px -----------------------------------*/
@media screen and (max-width: 1024px){
  .store_box .item{
    width: 32%;
  }
}


/*--- under767px -----------------------------------*/
@media screen and (max-width: 767px){
  .store_box{
    gap: 30px 2%;
  }
  
  .store_box .item,
  .store_box.column_03 .item{
    width: 48%;
  }
  
  .store_box .item .link_btn a{
    font-size: clamp(12px,1.83vw,14px);
  }
}


/*------------------------------
メニューパーツ
-------------------------------*/
.menu_parts{
  display: grid;
  gap: 5rem 0;
  grid-template-columns: repeat(3, 32%);
  grid-template-rows:auto;
  flex-wrap: wrap;
  margin-top: 8rem;
}

.menu_parts.column_02{
  grid-template-columns: repeat(2, 48%);
}

.menu_parts .item{
  background-color: #fff;
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 3;
  flex-flow: column;
  width: 100%;
}

.menu_parts .img_box{
  position: relative;
}

.menu_parts .img_box img{
  width: 100%;
}

.menu_parts .img_box .qty,
.menu_parts .img_box .sup{
  background-color: #EC0000;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  min-width: 120px;
  padding: 9px;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
}

.menu_parts .img_box .qty{
  font-family: var(--mincho);
}

.menu_parts .img_box .sup{
  background-color: var(--main);
  font-size: clamp(16px,2.35vw,18px);
}

.menu_parts .menu{
  align-content: center;
  background-color: var(--sub01);
  color: #fff;
  font-family: var(--mincho);
  font-size: 2.2rem;
  padding: 10px 0;
  text-align: center;
}

.menu_parts.column_02 .menu{
  font-size: 2.5rem;
}
.menu_parts.green .menu{
  background-color: var(--main);
}
.menu_parts.limegreen .menu{
  background-color: #89A970;
}

.menu_parts .text_box{
  display: flex;
  flex-flow: column;
  font-weight: 500;
  padding: 20px 15px;
}

.bento-page .menu_parts .text_box{
  display: block;
}

.menu_parts.column_02 .text_box{
  padding: 2.5rem calc(15px,3.57vw,5rem);
}

.menu_parts .text_box p:last-child{
  margin-bottom: 0;
}

.menu_parts .text_box .sals span{
  border: 1px solid #222;
  display: inline-block;
  font-family: var(--mincho);
  font-weight: 700;
  line-height: normal !important;
  margin-bottom: 5px;
  padding: 4px 12px;
}

.menu_parts .text_box .delivery,
.menu_parts .text_box .no_delivery{
  background-color: #EC0000;
  color: #fff;
  display: inline-block;
  font-family: var(--mincho);
  font-size: 16px;
  font-weight: 700;
  padding: 7px;
  float: right;
}

.menu_parts .text_box .no_delivery{
  background-color: #545454;
}

.menu_parts .text_box .price{
  font-family: var(--mincho);
  font-weight: 700;
  margin-bottom: 10px;
}

.menu_parts .text_box .price span{
  font-size: 115%;
}

.menu_parts .text_box .price strong{
  font-size: 145%;
  padding-left: 5px;
}

.menu_parts .text_box .price span.number{
  background-color: var(--sub02);
  color: #fff;
  display: inline-block;
  font-family: var(--gothic);
  font-weight: 500;
  font-size: 2rem;
  line-height: normal;
  margin-right: 10px;
  padding: 0 5px;
}

.menu_parts .text_box .price.number_br{
  padding-left: 6.5rem;
  position: relative;
}

.menu_parts .text_box .price.number_br .number{
  position: absolute;
  top: 5px;
  left: 0;
}

.menu_parts .text_box .option{
  margin-bottom: 15px;
}
.menu_parts .text_box .option span{
  background-color: #FFF0DC;
  border-radius: 10px;
  font-weight: 500;
  padding: 10px 4rem;
}

.menu_parts .text_box ul.wp-block-list{
  margin: 20px 0 !important; 
}

.menu_parts .text_box .text{
   clear: both;
}

.menu_parts .text_box p.small{
  font-size: 90%;
  line-height: 1.8em !important;
  margin-top: 20px;
}

.menu_parts .link_btn{
  margin-top: auto;
}

.menu_parts .link_btn a{
  border-radius: 10px;
  margin-top: 15px;
  padding: 10px;
  padding-left: 2.5em;
  padding-right: 2.4rem;
}

.menu_parts .link_btn a::after{
  background-image: url("../img/common/icon_cart-white.png");
  display: inline-block;
  height: 30px;
  margin-top: 0;
  right: auto;
  left: 20px;
  width: 29px;
}

.menu_parts .link_btn a:hover::after{
  background-image: url("../img/common/icon_cart-green.png");
}


.menu_parts .link_btn a.rakuten{
  background-color: #BF0000;
  border-color: #BF0000;
}

.menu_parts .link_btn a.rakuten:hover{
  color: #BF0000;
}

.menu_parts .link_btn a.rakuten:hover::after{
  background-image: url("../img/common/icon_cart-red.png");
}


/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  .menu_parts{
    grid-template-columns: repeat(2, 48%);
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .menu_parts,
  .menu_parts.column_02,
  .menu_parts.column_03{
    grid-template-columns: repeat(1, 100%);
    margin-top: 6rem;
  }
  
  .menu_parts .text_box .price strong{
    font-size: 130%;
  }
}

/*------------------------------
画像+キャプション（タイトル）パーツ
-------------------------------*/
.figure_parts{
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 0;
  justify-content: space-between;
}

.figure_parts figcaption{
  font-size: 2rem;
  font-weight: 500;
  padding: 20px 10px;
  text-align: center;
}

.figure_parts .item{
  background-color: #fff;
}

.figure_parts .text_box{
  font-weight: 500;
  padding: 3rem;
}

.figure_parts .text_box .title{
  color: var(--sub02);
  font-family: var(--mincho);
  font-size: 3rem;
  margin-bottom: 30px;
  text-align: center;
}

.figure_parts.column_03 .text_box .title{
  font-size: 2.5rem;
}

/*=======================================

front-page

========================================*/
.marker{
  background: linear-gradient(transparent 70%, #FCF996 70%);
  font-weight: 700;
}

.white_box{
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}

.white_box_simple{
  background-color: #fff;
}

.white_box_parts{
  align-items: center;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  padding: 5rem 4.5rem;
}

.white_box_parts .item{
  width: 60%;
}

.white_box_parts .item.link_btn{
  width: 36%;
}

.white_box_parts .link_btn{
  margin-top: 0;
}

.white_box_parts .link_btn a[target="_blank"]::after,
.white_box_parts .link_btn a.main_color[target="_blank"]:hover::after{
  background-image: url("../img/common/icon_target-white.svg");
  /*display: inline-block;
  height: 1em;
  margin-left: 10px;
  position: relative;
  top: 1px;
  right: 0;
  transform: none;
  width: 1em;*/
}
.white_box_parts .link_btn a[target="_blank"]:hover::after,
.white_box_parts .link_btn a.main_color[target="_blank"]::after{
  background-image: url("../img/common/icon_target-green.svg");
}

#front-page section .fs-20{
  font-size: 2rem;
  line-height: 2em;
  margin-bottom: 4rem;
  position: relative;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .white_box_parts{
    padding-left: 15px;
    padding-right: 15px;
  }
  
  .white_box_parts .item,
  .white_box_parts .item.link_btn{
    width: 100%;
  }
  
  .white_box_parts .item:not(:last-child){
    margin-bottom: 30px;
  }
}

/*------------------------------
ご予約はこちら
-------------------------------*/
.order_parts{
  margin: 6rem auto;
  padding: 4rem 15px;
}

.order_parts .head{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}

.order_parts .flex_box{
  gap: 30px;
}

.order_parts .flex_box .link_btn{
  flex-shrink: 0;
  margin-top: 0;
  max-width: 390px;
  width: 100%;
}

.order_parts .flex_box .link_btn a{
  align-content: center;
  border-radius: 10px;
  height: 100%;
  padding: 15px;
  padding-left: 50px;
}

.order_parts .flex_box .link_btn a::after{
  height: 30px;
  right: auto;
  left: 20px;
  width: 32px;
}

.order_parts .flex_box .link_btn.main_color a::after{
  background-image: url("../img/common/icon_cutlery.png");
}
.order_parts .flex_box .link_btn.main_color a:hover::after{
  background-image: url("../img/common/icon_cutlery-color.png");
}

.order_parts .flex_box .link_btn.sub_color_02 a::after{
  background-image: url("../img/common/icon_onigiri.png");
}
.order_parts .flex_box .link_btn.sub_color_02 a:hover::after{
  background-image: url("../img/common/icon_onigiri-color.png");
}


.order_parts .link_btn.tel_btn{
  border: 3px solid var(--sub01);
  border-radius: 10px;
}

.order_parts .link_btn.tel_btn p,
.order_parts .link_btn.tel_btn .tel{
  align-content: center;
  font-weight: 700;
  height: 50%;
  padding: 5px;
}

.order_parts .link_btn.tel_btn .tel{
  border: none;
  border-radius: 10px;
  color: inherit;
  font-size: 2.5rem;
}

.order_parts .link_btn.tel_btn .tel span{
  display: inline-block;
  font-size: 1.8rem;
  margin-right: 5px;
}

.order_parts .link_btn.tel_btn .tel::after,
.order_parts .link_btn.tel_btn .tel::before{
  display: none;
}

.order_parts .link_btn.tel_btn .text{
  background-color: var(--sub01);
  color: #fff;
  position: relative;
}
.order_parts .link_btn.tel_btn .text::before{
  background-image: url("../img/common/icon_onigiri.png");
  content: "";
  display: inline-block;
  height: 1.5em;
  margin-right: 10px;
  position: relative;
  top: -2px;
  vertical-align: middle;
  width: 1.5em;
}

/*------------------------------
レストラン　ご利用料金
-------------------------------*/
.price_parts{
  background-color: #fff;
  border: 1px solid var(--main);
  margin-top: 5rem;
  margin-bottom: 30px;
  padding: 40px 15px;
  padding-bottom: 20px;
}

.price_parts p{
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 2rem;
}

.price_parts .scroll_wrap{
  overflow: hidden;
}

.price_parts table{
  border-collapse: separate;
  border-spacing: 15px;
  min-width: 1000px;
  width: 100%;
}

.price_parts table tbody{
  display: block;
}

.price_parts table tbody:not(:first-of-type){
  background-image : linear-gradient(to right, var(--sub02) 3px, transparent 3px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 6px 1px;
  margin-top: 2.5rem;
  padding-top: 2rem;
}

.price_parts table tbody tr th.day{
  align-content: center;
  color: #fff;
  height: 130px;
  font-family: var(--mincho);
  font-size: 2.3rem;
  font-weight: 700;
  outline: 1px solid #fff;
  outline-offset: -5px;
  text-align: center;
  vertical-align: middle;
  width: 130px;
}

.price_parts table tbody tr th.day span{
  font-size: 140%;
}

.price_parts table tbody.weekdays tr th.day,
.price_parts table tbody.weekdays tr th.normal{
  background-color: var(--main);
}

.price_parts table tbody.weekdays tr th.today{
  border: 1px solid var(--main);
  color: var(--main);
}

.price_parts table tbody.holidays tr th.day,
.price_parts table tbody.holidays tr th.normal{
  background-color: #647831;
}

.price_parts table tbody.holidays tr th.today{
  border: 1px solid #647831;
  color: #647831;
}


.price_parts table tbody tr th.normal,
.price_parts table tbody tr th.gold,
.price_parts table tbody tr th.today{
  color: #fff;
  line-height: 1.4em;
  width: 200px;
}

.price_parts table tbody tr th.gold{
  background: linear-gradient(315deg,rgba(184, 122, 76, 1) 0%, rgba(198, 161, 91, 1) 100%);
}

.price_parts table tbody td{
  color: var(--sub02);
  font-weight: 700;
  white-space: nowrap;
}

.price_parts table tbody td .price{
  font-size: 160%;
  font-family: var(--mincho);
}

.price_parts table tbody td .price small{
  font-size: 16px;
}

.price_parts table tbody td:first-of-type{
  font-size: 2rem;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .price_parts_sp{
    padding-top: 30px;
    padding-bottom: 30px;
  }
  
  .price_parts_sp .slick-arrow{
    background-color: rgba(0,0,0,0.3);
    border: none;
    cursor: pointer;
    font-size: 0;
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    z-index: 1;
  }
  
  .price_parts_sp .slick-arrow::before{
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 4px var(--main);
    border-right: solid 4px var(--main);
    position: absolute;
    top: 12px;
  }
  
  .price_parts_sp .slick-arrow.slick-prev{
    left: 0;
  }
  .price_parts_sp .slick-arrow.slick-prev::before{
    left: 10px;
    transform: rotate(-135deg);
  }
  
  .price_parts_sp .slick-arrow.slick-next{
    right: 0;
  }
  .price_parts_sp .slick-arrow.slick-next:before{
    right: 10px;
    transform: rotate(45deg);
  }
  
  .price_parts_sp .tab .slick-track{
    transform: unset !important;
  }
  
  .price_parts_sp .tab .day,
  .price_parts_sp .tab .holidays{
    align-content: center;
    background-color: var(--main);
    color: #fff;
    flex-shrink: 0;
    font-family: var(--mincho);
    font-size: 22px;
    font-weight: 700;
    height: 130px;
    line-height: normal;
    margin-bottom: 20px;
    position: relative;
    outline: 1px solid #fff;
    outline-offset: -6px;
    width: 130px !important;
  }
  
  .price_parts_sp .tab .day{
    margin-right: 45px;
  }
  
  .price_parts_sp .tab div span{
    font-size: 160%;
  }
  
  .price_parts_sp .tab .day.slick-current::before,
  .price_parts_sp .tab .holidays.slick-current::before{
     content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid var(--main);
  }
  
  .price_parts_sp .tab .holidays.slick-current::before{
    border-top: 15px solid #647831;
  }
  
  .price_parts_sp .reserve{
    border: 1px solid var(--main);
    margin-top: 20px;
    width: 99%;
  }
  
  .price_parts_sp .the_day{
    border: 1px solid var(--main);
    margin-top: 20px;
    width: 99%;
  }
  
  .price_parts_sp .reserve .head{
    background-color: var(--main);
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    padding: 15px;
    text-align: center;
  }
  
  .price_parts_sp .the_day .head{
    background-color: #fff;
    border-bottom: 1px solid var(--main);
    color: var(--main);
    font-weight: 700;
    font-size: 18px;
    padding: 15px;
    text-align: center;
  }
  
  .price_parts_sp .tab div.holidays,
  .price_parts_sp .holidays .reserve .head{
    background-color: #647831;
  }
  
  .price_parts_sp .reserve,
  .price_parts_sp .holidays .the_day .head,
  .price_parts_sp .holidays .reserve .head{
    border-color: #647831;
  }
  
  .price_parts_sp .holidays .the_day .head{
    border-bottom: 1px solid #647831;
  }
  
  .price_parts_sp .holidays .the_day .head{
    color: #647831;
  }
  
  .price_parts_sp dl{
    color: var(--sub02);
    display: flex;
    font-weight: 700;
    flex-wrap: wrap;
    padding: 15px;
  }
  
  .price_parts_sp dl dt{
    align-content: center;
    font-size: 20px;
    width: 30%;
  }
  
  .price_parts_sp dl dd{
    font-family: var(--mincho);
    font-size: 35px;
    text-align: right;
    width: 70%;
  }
  
  .price_parts_sp dl dd small{
    font-size: 16px;
  }
  
  
}

/*------------------------------
メインビジュアル
-------------------------------*/
#front-page section{
  padding-top: 5rem;
  padding-bottom: 10rem;
  position: relative;
}

#front-page #mainvisial{
  aspect-ratio: 16/9;
}

#mainvisial video{
  height: 100vh;
  object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: -2;
}

#top_anchor .info_box{
  align-items: center;
  background-color: var(--main);
  color: #fff;
  padding: 12px 10px;
}

#top_anchor .info_box .left_box{
  border: 1px solid #fff;
  padding: 2px 5px 10px;
  text-align: center;
  width: 52%;
}

#top_anchor .info_box .left_box p{
  font-size: 21px;
}

#top_anchor .info_box .left_box p span{
  font-size: 16px;
}

#top_anchor .info_box .left_box a{
  background-color: #fff;
  border-radius: 999px;
  color: #007642;
  font-size: 13.5px;
  padding: 5px 10px;
}

#top_anchor .info_box .right_box{
  font-size: 14px;
  width: 44%;
}

#top_anchor .info_box .right_box .closed{
  border: 1px solid #fff;
  margin-top: 7px;
  text-align: center;
}


#top_anchor .link_box a{
  background-color: #F8F6F2;
  border-left: 1px solid var(--sub02);
  border-bottom: 1px solid var(--sub02);
  color: #000;
  padding: 18px;
  text-align: center;
  width: 50%;
}

#top_anchor .link_box a:nth-child(odd){
  border-left: none;
}

#top_anchor .link_box a:hover{
  opacity: 0.7;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #mainvisial{
    aspect-ratio: auto;
    height: 100vh;
    position: relative;
  }
  
  #top_anchor{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }
}


/*------------------------------
キャンペーン
-------------------------------*/
#front-page #campaign h2.bf_title::before{
  content: "Campaign";
}

/*------------------------------
誕生のきっかけ
-------------------------------*/
#front-page #reason-for-birth{
  background-image: url("../img/top/bg_reason-for-birth.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 40px;
  padding-bottom: 12rem;
  position: relative;
}

#front-page #reason-for-birth h2 img{
  margin-left: auto;
  margin-right: auto;
}

#front-page #reason-for-birth .memo{
  background-color: #fff;
  color: var(--sub02);
  margin-top: 49px;
  padding: 0 clamp(20px,5.86vw,6rem) 20px;
  position: relative;
  width: 100%;
}

#front-page #reason-for-birth .memo::before{
  background-image: url("../img/top/memo_top.svg");
  background-position: center;
  background-size: cover;
  content: "";
  height: 49px;
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
}

#front-page #reason-for-birth .memo h3{
  font-size: clamp(26px,3.91vw,4rem);
  padding: 4rem 0 clamp(20px,5.86vw,6rem);
}


#front-page #reason-for-birth .memo .img_box{
  padding-bottom: 4rem;
  width: 28%;
}

#front-page #reason-for-birth .memo .img_box img{
  margin-top: -20px;
}

#front-page #reason-for-birth .memo .text_box{
  line-height: 2em;
  padding-bottom: 4rem;
  width: 69%;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #reason-for-birth{
    padding-top: 12px;
    padding-bottom: 55px;
  }
  
  #front-page #reason-for-birth .memo::before{
    margin-top: 30px;
  }
  
  #front-page #reason-for-birth .memo::before{
    height: 30px;
  }
  
  #front-page #reason-for-birth .memo .img_box{
    margin-left: auto;
    margin-right: auto;
    width: 70%;
  }
  
  #front-page #reason-for-birth .memo .img_box img{
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
  
  #front-page #reason-for-birth .memo .text_box{
    width: 100%;
  }
  
  
  #reason-memo{
    max-height: 870px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.5s ease-in-out;
    width: 100%;
  }
   #reason-memo.is-open {
    max-height: 9999px;
  }
  
  #reason-memo::after{
    background-image: linear-gradient(transparent, #ffffffcc 40%, #fdfdfd);
    content: "";
    height: 24%;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  #reason-memo.is-open::after{
    display: none;
  }
  
  #reason-for-birth .link_btn{
    position: absolute;
    left: 50%;
    bottom: 15px;
    transform: translateX(-50%);
    width: calc(100% - 30px);
    z-index: 2;
  }
  
  #reason-memo .link_btn .more-button{
    margin-left: auto;
    margin-right: auto;
  }
  
  #reason-memo .link_btn .more-button::after{
    background-image: none;
    border-top: solid 2px var(--main);
    border-right: solid 2px var(--main);
    content: '';
    margin-top: -6px;
    width: 10px;
    height: 10px;
    right: 15px;
    transform: rotate(135deg);
  }
  
  #reason-memo.is-open .link_btn{
     display: none !important;
  }
}

/*------------------------------
ニュース
-------------------------------*/
#front-page #news{
  padding-top: 1px;
}

#front-page #news::before,
#front-page #news::after{ 
  content: "";
  height: 300px;
  position: absolute;
  width: 240px;
}

#front-page #news::before{
  background-image: url("../img/common/deco_white-leaf.png");
  top: 25%;
  left: 0;
}

#front-page #news::after{
  background-image: url("../img/common/deco_white-flower.png");
  top: 35%;
  right: 0;
}

#front-page #news .white_box{
  position: relative;
  z-index: 2;
}

#front-page #news .news_box{
  display: flex;
  padding: 6rem;
  position: relative;
}

#front-page #news .news_box .headding{
  flex-shrink: 0;
  width: 250px;
}

#front-page #news .news_box .headding h2{
  color: var(--sub02);
  font-size: 3.5rem;
}

#front-page #news .news_box .headding .english{
  color: var(--main);
  font-size: 16px;
  font-weight: 700;
}

#front-page #news .news_box ul{
  width: calc(100% - 250px);
}

#front-page #news .news_box ul li a{
  border-top: 1px solid #C6C6C6;
  color: #101010;
  display: flex;
  padding: 20px 0;
}
#front-page #news .news_box ul li:last-child a{
  border-bottom: 1px solid #C6C6C6;
}

#front-page #news .news_box ul li a .date{
  align-content: center;
  color: #9F9F9F;
  flex-shrink: 0;
  margin-right: 20px;
}

#front-page #news .news_box ul li a .cat{
  background-color: #C4E2D0;
  border-radius: 15px;
  flex-shrink: 0;
  text-align: center;
  margin-right: 15px;
  padding: 3px 15px;
}

#front-page #news .news_box ul li a .title{
  overflow: hidden;
  text-overflow: ellipsis;
	white-space: nowrap;
}

#front-page #news .news_box ul li a:hover .title{
  text-decoration: underline;
}


#front-page #news .news_box .link_btn{
  position: absolute;
  bottom: 6rem;
  left: 6rem;
  max-width: 200px;
  width: 100%;
}

#front-page #news .news_box .link_btn a{
  border-radius: 10px;
  font-size: 16px;
  text-align: left;
  padding: 2rem;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #news::before,
  #front-page #news::after{
    display: none;
  }
  
  #front-page #news .news_box{
    display: block;
    padding: 20px;
  }
  
  #front-page #news .news_box .headding{
    margin-bottom: 18px;
    text-align: center;
    width: 100%;
  }
  
  #front-page #news .news_box ul{
    width: 100%;
  }
  
  #front-page #news .news_box ul li a{
    display: block;
  }
  
  #front-page #news .news_box ul li a .title{
    display: block;
    margin-top: 15px;
  }
  
  #front-page #news .news_box .link_btn{
    max-width: 100%;
    position: static;
  }
  
  #front-page #news .news_box .link_btn a{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}


/*------------------------------
レストラン
-------------------------------*/
#front-page #top-restaurant{
  padding-top: 0;
}

#front-page #top-restaurant::before,
#front-page #top-restaurant::after{ 
  content: "";
  height: 300px;
  position: absolute;
  width: 240px;
}

#front-page #top-restaurant::before{
  background-image: url("../img/common/deco_white-leaf.png");
  top: 30%;
  right: 0;
  transform: scale(-1, 1);
}

#front-page #top-restaurant::after{
  background-image: url("../img/common/deco_white-flower_02.png");
  height: 390px;
  top: 45%;
  left: 0;
  width: 266px;
}

#front-page #top-restaurant h2.bf_title::before{
  content: "Restaurant"
}

#front-page #top-restaurant h2.bf_title::after{
  background-image: url("../img/common/deco_ears-of-rice.png");
  content: "";
  height: 224px;
  position: absolute;
  top: 0;
  left: 0;
  width: 342px;
}

#front-page #top-restaurant .right_wrap{
  position: relative;
  z-index: 2;
}

#front-page #top-restaurant #monthly_theme{
  margin-bottom: 7rem;
}

#front-page #top-restaurant #monthly_theme .theme{
  font-size: 2rem;
  margin-bottom: 4rem;
}

#front-page #top-restaurant #monthly_theme .ingredients_box{
  background-color: #fff;
  border: 1px solid #00713F;
  padding: 4rem 6rem;
  position: relative;
}

#front-page #top-restaurant #monthly_theme .ingredients_box h4{
  font-size: 2.3rem;
  margin-bottom: 3rem;
}

#front-page #top-restaurant #monthly_theme .ingredients_box .flex_box{
  gap: 24px;
}

#front-page #top-restaurant #monthly_theme .ingredients_box .flex_box .item{
  width: 150px;
}

#front-page #top-restaurant #monthly_theme .ingredients_box .flex_box .item img{
  aspect-ratio: 1/1;
  object-fit: cover;
}

#front-page #top-restaurant #monthly_theme .ingredients_box .flex_box .item p{
  font-size: 16px;
  margin-top: 1em;
}

#front-page #top-restaurant .notes{
  margin-bottom: 3rem;
}

#front-page #top-restaurant .notes li{
  margin-bottom: 10px;
  width: 49%;
}

#front-page #top-restaurant #price{
  position: relative;
  z-index: 2;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #top-restaurant .side_parts .link_btn{
    margin: 0;
  }
  
  #front-page #top-restaurant::before,
  #front-page #top-restaurant::after,
  #front-page #top-restaurant h2.bf_title::after{
    display: none;
  }
  
  #front-page #top-restaurant #monthly_theme .ingredients_box{
    padding: 25px;
  }
  
  #front-page #top-restaurant #monthly_theme .ingredients_box .flex_box{
    gap: 15px 0;
    justify-content: space-between;
  }
  
  #front-page #top-restaurant #monthly_theme .ingredients_box .flex_box .item{
    max-width: 100%;
    width: 48%;
  }
  
  #front-page #top-restaurant .price_parts_sp .head{
    font-size: 17px;
  }
  
  #front-page #top-restaurant .price_parts_sp .slick-arrow.slick-prev{
    left: -15px;
  }
  
  #front-page #top-restaurant .price_parts_sp .slick-arrow.slick-next{
    right: -15px;
  }
  
  #front-page #top-restaurant .notes li{
    font-size: 14px;
    width: 100%;
  }
}


/*------------------------------
こだわりのお弁当
-------------------------------*/
#top-lunch-box{
  margin-top: 50rem;
  margin-bottom: 50rem;
}

#top-lunch-box::before{
  background-image: url("../img/common/deco_leaf_01.png");
  content: "";
  height: 263px;
  position: absolute;
  top: 3%;
  left: 3%;
  width: 245px;
}

#top-lunch-box::after{
  background-image: url("../img/common/deco_flower_01.png");
  content: "";
  height: 250px;
  position: absolute;
  top: 62%;
  right: 5%;
  width: 230px;
}

#top-lunch-box h2.bf_title::before{
  content: "Lunch Box";
}

#top-lunch-box #seasonal{
  background-image: url("../img/top/bg_lunch-box.webp?ver=1.0.1");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 8rem 0;
}

#top-lunch-box #seasonal .inner{
  background-color: rgba(255,255,255,0.9);
  padding: 30px 15px;
}

#top-lunch-box #seasonal .ps_slide{
  margin-left: auto;
  margin-right: auto;
  max-width: 1030px;
  padding-left: 65px;
  padding-right: 65px;
  width: 100%;
}

#top-lunch-box #seasonal h3{
  font-size: 3.5rem;
  font-weight: 400;
  margin-bottom: 5rem;
}

#top-lunch-box #seasonal .img_box img{
  aspect-ratio: 45/19;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  object-fit: cover;
  object-position: top;
  width: 100%;
}

#top-lunch-box #seasonal .img_box:hover img{
  opacity: 0.5;
}

#top-lunch-box #seasonal .slick-arrow{
  background-color: var(--main);
  border-radius: 999px;
  border: none;
  cursor: pointer;
  font-size: 0;
  height: 50px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  z-index: 1;
}
#top-lunch-box #seasonal .slick-arrow.slick-prev{
  left: 0;
}
#top-lunch-box #seasonal .slick-arrow.slick-next{
  right: 0;
}

#top-lunch-box #seasonal .slick-arrow:active{
  margin-top: 5px;
}

#top-lunch-box #seasonal .slick-arrow.slick-prev::before,
#top-lunch-box #seasonal .slick-arrow.slick-next::before{
  content: '';
  width: 18px;
  height: 18px;
  border-top: solid 4px #fff;
  border-right: solid 4px #fff;
  position: absolute;
  top: 15px;
}

#top-lunch-box #seasonal .slick-arrow.slick-prev::before{
  left: 17px;
  transform: rotate(-135deg);
}

#top-lunch-box #seasonal .slick-arrow.slick-next::before{
  transform: rotate(45deg);
  right: 17px;
}


#top-lunch-box #kinds{
  padding-top: clamp(30px,13.67vw,14rem);
}

#top-lunch-box #kinds h3{
  font-size: clamp(18px,2.93vw,3rem);
  margin-bottom: 5rem;
}

#top-lunch-box #kinds .flex_box{
  gap: 4rem 0;
  position: relative;
  z-index: 2;
}

#top-lunch-box #kinds .flex_box .item{
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  display: flex;
  flex-flow: column;
  width: 31%;
}

#top-lunch-box #kinds .flex_box .item .img_box img{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

#top-lunch-box #kinds .flex_box .item .text_box{
  margin-bottom: 3rem;
  padding: 0 3rem;
}

#top-lunch-box #kinds .flex_box .item .text_box p{
  line-height: 2em;
}

#top-lunch-box #kinds .flex_box .item h4{
  font-size: 20px;
  font-weight: 700;
  margin: 20px 0;
  text-align: center;
}

#top-lunch-box #kinds .flex_box .item .link_btn{
  margin-top: auto;
  padding: 0 2.4rem 3.5rem;
}

#top-lunch-box #kinds .flex_box .item .link_btn a{
  padding: 10px;
}

#top-lunch-box #kinds .flex_box .item .link_btn a::after{
  display: none;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  #top-lunch-box #kinds .flex_box .item{
    width: 48%;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #top-lunch-box{
    margin-top: 30rem;
  }
  
  #top-lunch-box::before,
  #top-lunch-box::after{
    display: none;
  }
  
  #top-lunch-box #seasonal .ps_slide{
    padding-left: 40px;
    padding-right: 40px;
  }
  
  #top-lunch-box #seasonal .slick-arrow{
    height: 30px;
    width: 30px;
  }
  
  #top-lunch-box #seasonal .slick-arrow.slick-prev::before, 
  #top-lunch-box #seasonal .slick-arrow.slick-next::before {
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 2px #fff;
    border-right: solid 2px #FFF;
    position: absolute;
    top: 10px;
  }
  #top-lunch-box #seasonal .slick-arrow.slick-prev::before{
    left: 12px;
  }
  #top-lunch-box #seasonal .slick-arrow.slick-next::before{
    right: 12px;
  }
  
  #top-lunch-box #seasonal h3{
    font-size: 24px;
    font-weight: 700;
  }
  
  #top-lunch-box #kinds .flex_box .item{
    flex-flow: wrap;
    justify-content: space-between;
    padding: 20px 12px;
    width: 100%;
  }
  
  #top-lunch-box #kinds .flex_box .item .img_box{
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    height: 136px;
    width: 136px;
  }
  
  #top-lunch-box #kinds .flex_box .item .img_box img{
    border-radius: 10px;
    object-fit: cover;
    height: 100%;
    width: 100%;
  }
  
  #top-lunch-box #kinds .flex_box .item .text_box{
    padding: 0;
    width: calc(100% - 145px);
  }
  
  #top-lunch-box #kinds .flex_box .item .text_box .head{
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 12px;
    text-align: left;
  }
  
  #top-lunch-box #kinds .flex_box .item .text_box .text br{
    display: none;
  }
  
  #top-lunch-box #kinds .flex_box .item .link_btn{
    padding: 0 0 5px;
    width: 100%;
  }
  
  #top-lunch-box #kinds .flex_box .item .link_btn a{
    margin-left: auto;
    margin-right: auto;
  }
}


/*------------------------------
ショップ
-------------------------------*/
#front-page #shop{
  margin-bottom: 50rem;
}

#front-page #shop::before{
  background-image: url("../img/common/deco_soybeans.png");
  content: "";
  height: 216px;
  position: absolute;
  top: 3%;
  right: 10%;
  width: 250px;
}

#front-page #shop .bf_title::before{
  content: "Shop";
}

#front-page #shop .box_parts{
  margin-top: 8rem;
  margin-bottom: 10rem;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #shop::before{
    display: none;
  }
  
  #front-page #shop .long_img{
    height: 190px;
  }
  
  #front-page #shop .long_img img{
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  
  #front-page #shop .box_parts{
    margin-top: 40px;
  }
}


/*------------------------------
Instagram
-------------------------------*/
#instagram{
  background-color: #EBF2F5;
  background-image: url("../img/common/bg_blue-wall.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  padding-top: 10rem;
  padding-bottom: 8rem;
  position: relative;
}

#instagram::before{
  background-image: url("../img/common/deco_leaf_03.png");
  content: "";
  height: 215px;
  position: absolute;
  top: 6%;
  right: 5%;
  width: 225px;
}

#instagram::after{
  background-image: url("../img/common/deco_flower_03.png");
  content: "";
  height: 330px;
  position: absolute;
  top: 90%;
  left: 3%;
  width: 270px;
  z-index: 3;
}

#instagram .bf_title::before{
content: "SNS";
}

#instagram .link_btn a{
  align-items: center;
  border-radius: 999px;
  font-size: 2.3rem;
  display: flex;
  flex-flow: row-reverse;
  justify-content: center;
}

#instagram .link_btn a::after{
  background-image: url("../img/common/icon_insta-white.png");
  display: inline-block;
  height: 58px;
  margin-right: 20px;
  position: static;
  transform: none;
  width: 58px;
}

#instagram .link_btn a:hover::after{
  background-image: url("../img/common/icon_insta-color.png");
}

#instagram .link_btn a small{
  font-size: 16px;
  font-weight: 400;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #instagram{
    padding-top: 40px;
    padding-bottom: 0;
  }
  
  #instagram::before,
  #instagram::after{
    display: none;
  }
  
  #instagram .link_btn a{
    padding-bottom: 14px;
    width: calc(100% - 60px);
  }
  
  #instagram .link_btn a::after{
    height: 45px;
    width: 45px;
  }
  
  #instagram .link_btn a small{
    font-size: 12px;
    vertical-align: middle;
  }
}


/*=======================================

下層

========================================*/
/*------------------------------
下層ヘッダー
-------------------------------*/
#sub_head{
  height: 380px;
  position: relative;
  text-align: center;
}

#sub_head::before,
#sub_head::after{
  content: "";
  position: absolute;
}

#sub_head::before{
  background-image: url("../img/common/deco_sub-head_01.png");
  height: clamp(76px,18.55vw,19rem);
  top: 0;
  left: 0;
  width: clamp(164px,40.04vw,41rem);
}

#sub_head::after{
  background-image: url("../img/common/deco_sub-head_02.png");
  height: clamp(96px,23.44vw,24rem);
  bottom: 0;
  right: 0;
  width: clamp(144px,35.16vw,36rem);
}

#sub_head .inner{
  align-content: center;
  height: 100%;
  position: relative;
  z-index: 2;
}

#sub_head #page_title{
  color: var(--sub02);
  font-size: clamp(30px,4.88vw,5rem);
  font-weight: 700;
  line-height: normal;
}

#sub_head .english{
  color: var(--main);
  font-size: clamp(18px,2.93vw,3rem);
  font-weight: 400;
  margin-top: 16px;
  text-transform: uppercase;
}

#sub_head .breadcrumbs{
  color: var(--sub02);
  font-size: 16px;
  font-weight: 500;
  padding-bottom: 2.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  width: 100%;
}


#sub_head .breadcrumbs a{
  color: var(--sub02);
}
#sub_head .breadcrumbs a:hover{
  opacity: 0.7;
  text-decoration: underline;
}

#sub_head .breadcrumbs a.home{
  padding-left: 27px;
}

#sub_head .breadcrumbs a.home::before{
  background-image: url("../img/common/icon_home.png");
  content: "";
  height: 20px;
  position: absolute;
  top: 1px;
  left: 0;
  width: 22px;
}

 #sub_head .breadcrumbs .current-item{
  color: #222;
}

#sub_head.single_head{
  background-image: none;
  background-color: #fff;
  height: auto;
}
#sub_head.single_head::before,
#sub_head.single_head::after{
  display: none;
}

#sub_head.single_head .breadcrumbs{
  padding-top: 20px;
  padding-bottom: 0;
  position: static;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #sub_head{
    height: 225px;
  }
  
  #sub_head .breadcrumbs{
    font-size: 14px;
    padding-bottom: 10px;
  }
  
  #sub_head .breadcrumbs a.home::before{
    height: 18px;
    width: 20px;
  }
  
  #sub_head .english{
    margin-top: 0;
  }
}

/*=======================================

固定ページ

========================================*/
main#page section{
  padding: 7rem 0 7rem;
  position: relative;
}

main#page .section_box{
  padding: 7rem 0;
  position: relative;
}

main#page .section_box .side_parts,
main#page .section_box.side_parts{
  margin-bottom: 0;
}

main#page section .inner{
  position: relative;
  z-index: 5;
}

main#page .bnr_wrap{
  background-color: rgba(0,0,0,0.2);
  padding: 10rem 0;
}

main#page .bnr_wrap a{
  display: block;
  padding: 0 15px;
  text-align: center;
}

main#page .bnr_wrap a:hover{
  opacity: 0.7;
}

main#page .bnr_wrap a img{
  margin-left: auto;
  margin-right: auto;
}

main#page p,
main#page li{
  line-height: 2em;
}

main#page .style_h3{
  margin-bottom: 6rem;
}


main#page .page_intro{
  margin-top: 60rem;
}

main#page .page_intro::before{
  background-image: url("../img/common/deco_leaf_04.png");
  content: "";
  height: 452px;
  position: absolute;
  top: 15%;
  left: 0;
  width: 312px;
}

.parallax img{
  height: 100vh;
  object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: -1;
}


/*--- under1280px -----------------------------------*/
@media screen and (max-width:1280px){
  main#page .page_intro::before{
    display: none;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  main#page section{
    padding: 6rem 0;
  }
  
  main#page .page_intro{
    margin-top: 300px;
  }
}


/*------------------------------
ショップ
-------------------------------*/
#bottom.shop-page .anchor_btn__box .link_btn,
.page_intro .anchor_btn__box .link_btn{
  margin-top: 0;
  width: 24%;
}

#bottom.shop-page .anchor_btn__box .link_btn a,
.page_intro .anchor_btn__box .link_btn a{
  align-content: center;
  border-radius: 10px;
  font-weight: 700;
  height: 100%;
  min-height: 9.6rem;
  padding: 5px 5px 30px 5px;
  text-align: center;
  width: 100%;
}

#bottom.shop-page .anchor_btn__box .link_btn a::after,
.page_intro .anchor_btn__box .link_btn a::after{
  background-image: none;
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: -6px;
  position: absolute;
  top: auto;
  left: 50%;
  bottom: 20px;
  transform: rotate(135deg) translateY(-50%);
}

#bottom.shop-page .anchor_btn__box .link_btn a:hover::after,
.page_intro .anchor_btn__box .link_btn a:hover::after{
  border-color: var(--sub01);
}

.shop-page#bottom .anchor_btn__box .link_btn a{
  padding-top: 30px;
  padding-bottom: 5px;
}

.shop-page#bottom .anchor_btn__box .link_btn a::after{
  margin-left: 0;
  top: 20px;
  bottom: auto;
  transform: rotate(-45deg) translateY(-50%);
}

.shop-page#information::before{
  background-image: url("../img/common/deco_flower_04.png");
  content: "";
  height: 200px;
  position: absolute;
  right: 4%;
  top: 30%;
  width: 200px;
  transform: scale(-1,1);
}

.shop-page#tofu:before{
  background-image: url("../img/common/deco_leaf_05.png");
  content: "";
  height: 240px;
  position: absolute;
  left: 4%;
  top: 11%;
  width: 197px;
}

.shop-page#side-dishes::before{
  background-image: url("../img/common/deco_leaf_02.png");
  content: "";
  height: 257px;
  position: absolute;
  right: 3%;
  top: 11%;
  width: 255px;
}

.shop-page#other::before{
  background-image: url("../img/common/deco_flower_03.png");
  content: "";
  height: 330px;
  position: absolute;
  left: 3%;
  top: 7%;
  transform: rotate(15deg);
  width: 270px;
}

.shop-page#gift::before{
  background-image: url("../img/common/deco_leaf_01.png");
  content: "";
  height: 263px;
  position: absolute;
  right: 4.5%;
  top: 13%;
  transform: rotate(-65deg);
  width: 245px;
}


.shop-page#tofu .figure_parts{
  margin-top: 8rem;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #bottom.shop-page .anchor_btn__box .link_btn,
  .page_intro .anchor_btn__box .link_btn{
    margin-bottom: 10px;
    width: 48%;
  }
  
  #bottom.shop-page .anchor_btn__box .link_btn a,
  .page_intro .anchor_btn__box .link_btn a{
    font-size: 16px;
  }
  
  .shop-page#information::before,
  .shop-page#tofu:before,
  .shop-page#side-dishes::before,
  .shop-page#other::before,
  .shop-page#gift::before{
    display: none;
  }
}

/*------------------------------
こだわりのお米
-------------------------------*/
.rice-page#rice{
  background-image: url("../img/rice/bg_rice_02.webp");
  background-repeat: no-repeat;
  background-position: bottom;
  padding-bottom: 32rem;
}

main#page .rice-page#rice::before{
  background-image: url("../img/rice/farmer.png");
  background-position: bottom;
  content: "";
  display: block !important;
  height: 470px;
  max-width: 1080px;
  position: absolute;
  top: auto;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 50%;
  z-index: 10;
}

.rice-page#rice .inner{
  position: static;
}

.rice-page#rice h2 small{
  font-size: 2rem;
}

.rice-page#rice .flex_box{
  margin-left: auto;
  margin-right: auto;
  max-width: 1230px;
}

.rice-page#rice .flex_box .img_box{
  width: 16%;
}
.rice-page#rice .flex_box .img_box:first-child{
  margin-left: 10%;
}
.rice-page#rice .flex_box .img_box:nth-child(2){
  margin-right: 10%;
}

.rice-page#rice .flex_box p{
  font-size: clamp(18px,1.76vw,2.5rem);
  margin-top: 3rem;
  text-align: center;
  width: 100%;
}

.rice-page#hinohikari::before{
  background-image: url("../img/common/deco_leaf_05.png");
  content: "";
  height: 240px;
  position: absolute;
  left: 4%;
  top: 11%;
  width: 197px;
}

.rice-page#system .flex_box.center{
  align-items: center;
  margin-bottom: 9rem;
}

.rice-page#system .flex_box.center .img_box{
  width: 35%;
}

.rice-page#system .flex_box.center .text_box{
  text-align: left;
  width: 42%;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .rice-page#rice{
    background-image: none;
    padding-bottom: 0;
  }
  
  .rice-page#rice .inner{
    position: relative;
    width: 100%;
  }
  
  .rice-page#rice .flex_box{
    background-image: url(../img/vegetable/bg_vegetable_02.webp);
    background-repeat: no-repeat;
    background-position: center 60%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 300px;
  }
  
  .rice-page#rice .flex_box .img_box{
    width: 24%;
  }

  .rice-page#rice .flex_box .img_box:first-child,
  .rice-page#rice .flex_box .img_box:nth-child(2){
    margin: 0;
  }
  
  .rice-page#rice .flex_box p{
    font-size: 20px;
    font-weight: 500;
    line-height: 2.5em;
    margin-top: 65px;
    order: 1;
  }
  
  .rice-page#hinohikari::before{
    display: none;
  }
  
  .rice-page#system .flex_box.center .img_box{
    margin-bottom: 30px;
  }
  
  .rice-page#system .flex_box.center .img_box,
  .rice-page#system .flex_box.center .text_box{
    width: 100%;
  }
  
}

/*------------------------------
直送野菜
-------------------------------*/
.vegetable-page#vegetable{
  background-image: url("../img/vegetable/bg_vegetable_02.webp");
  background-repeat: no-repeat;
  background-position: bottom;
  padding-bottom: 30rem;
}

main#page .vegetable-page#vegetable::before{
  background-image: url("../img/vegetable/farmer.png");
  background-position: bottom;
  content: "";
  display: block !important;
  height: 419px;
  max-width: 1080px;
  position: absolute;
  top: auto;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  z-index: 10;
}

.vegetable-page#vegetable .inner{
  position: static;
}

.vegetable-page#vegetable .flex_box{
  margin-left: auto;
  margin-right: auto;
  max-width: 1230px;
}

.vegetable-page#vegetable .flex_box .img_box{
  width: 16%;
}
.vegetable-page#vegetable .flex_box .img_box:first-child{
  margin-left: 10%;
}
.vegetable-page#vegetable .flex_box .img_box:nth-child(2){
  margin-right: 10%;
}

.vegetable-page#vegetable .flex_box p{
  font-size: clamp(18px,1.76vw,2.5rem);
  margin-top: 3rem;
  text-align: center;
  width: 100%;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .vegetable-page#vegetable{
    background-image: none;
    padding-bottom: 0;
  }
  
  .vegetable-page#vegetable .inner{
    position: relative;
    width: 100%;
  }
  
  .vegetable-page#vegetable .flex_box{
    background-image: url(../img/vegetable/bg_vegetable_02.webp);
    background-repeat: no-repeat;
    background-position: center 60%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 300px;
  }
  
  .vegetable-page#vegetable .flex_box .img_box{
    width: 24%;
  }

  .vegetable-page#vegetable .flex_box .img_box:first-child,
  .vegetable-page#vegetable .flex_box .img_box:nth-child(2){
    margin: 0;
  }
  
  .vegetable-page#vegetable .flex_box p{
    font-size: 20px;
    font-weight: 500;
    line-height: 2.5em;
    margin-top: 65px;
    order: 1;
  }
  
}

/*------------------------------
お祝い・内祝い・ギフト
-------------------------------*/
.gift-page#noshi{
  padding-top: 0 !important;
}

.gift-page#noshi .space_slide_img{
  margin-top: 0;
}

.gift-page#noshi .inner{
  background-color: #fff;
  font-size: 2rem;
  font-weight: 700;
  max-width: 1000px;
  padding: 5rem clamp(15px,4.88vw,5rem);
  padding-bottom: 180px;
  position: relative;
}

.gift-page#noshi .inner::before{
  background-image: url("../img/gift/img_noshi.png");
  background-size: contain;
  content: "";
  height: 18.5rem;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.gift-page#noshi .inner h2{
  color: var(--sub01);
  font-size: clamp(20px,2.54vw,2.6rem);
  margin-bottom: 3.5rem;
}

.gift-page#noshi .inner h2 span{
  border: 1px solid var(--sub01);
  display: inline-block;
  margin-right: 22px;
  padding: 6px 2.2rem;
}

.gift-page .event_wrap,
.rice-page .event_wrap{
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3,31%);
}

.gift-page .event_wrap .item,
.rice-page .event_wrap .item{
  background-color: #fff;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  margin-bottom: 5rem;
  width: 100%;
}

.gift-page .event_wrap .item .img_box,
.rice-page .event_wrap .item .img_box{
  margin-bottom: 2.5rem;
}

.gift-page .event_wrap .item .title,
.rice-page .event_wrap .item .title{
  color: var(--sub02);
  font-family: var(--mincho);
  font-size: 2.5rem;
  padding: 15px 2.5rem;
  text-align: center;
}

.gift-page .event_wrap .item .catch,
.rice-page .event_wrap .item .catch{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.8em !important;
  padding: 0 2.5rem 16px;
  text-align: center;
}

.gift-page .event_wrap .item .text,
.rice-page .event_wrap .item .text{
  padding: 0 2.5rem 3.5rem;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  .gift-page .event_wrap{
    grid-template-columns: repeat(2,48%);
  }
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .gift-page#noshi .inner h2 span{
    display: block;
    margin-bottom: 10px;
  }
  
  .gift-page .event_wrap,
  .rice-page .event_wrap{
    grid-template-columns: repeat(1,100%);
  }
}

/*------------------------------
スタッフページ
-------------------------------*/
#staff_list.staff-page{
  overflow: hidden;
  padding-bottom: 0;
}

#staff_list.staff-page .bg_white{
  position: relative;
}

#staff_list.staff-page .bg_white::before{
  background-image: url("../img/common/deco_leaf_01.png");
  background-image: top;
  content: "";
  height: 263px;
  position: absolute;
  top: -21%;
  left: 4%;
  transform: rotate(-10deg);
  width: 245px;
}

#staff_list.staff-page .bg_white::after{
  background-image: url(../img/common/deco_leaf_04.png);
  background-position: bottom;
  content: "";
  height: 452px;
  position: absolute;
  bottom: -25%;
  right: 3%;
  transform: rotate(70deg);
  width: 312px;
}

.catch-copy_box{
  height: 480px;
  position: relative;
}

.catch-copy_box::before{
  background-color: #aaa;
  content: "";
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.catch-copy_box .bg_img,
.catch-copy_box .bg_img div{
  height: 100%;
}

.catch-copy_box .bg_img img{
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.catch-copy_box .text_box{
  color: #fff;
  font-size: clamp(20px,2.86vw,4rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  z-index: 2;
}

.catch-copy_box .text_box .mincho{
  font-size: 125%;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 5px;
}


/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  #staff_list.staff-page .bg_white::before,
  #staff_list.staff-page .bg_white::after{
    display: none;
  }
}


/*------------------------------
よくある質問
-------------------------------*/
#anchor.faq-page{
  padding-bottom: 0 !important;
}

#anchor.faq-page .link_btn{
  margin-top: 10px;
  width: 24%;
}

#anchor.faq-page .link_btn a::after{
  margin-top: 0;
  transform: translateY(-50%) rotate(90deg);
}

.faq-page .faq_item{
  background-color: #fff;
  border-radius: 5px;
  cursor: pointer;
  margin-bottom: 30px;
  padding: 4rem 3rem;
  padding-right: 60px;
  position: relative;
}

.faq-page .faq_item:last-child{
  margin-bottom: 0;
}

.faq-page.bg_white .faq_item{
  background-color: #EEFBF5;
}

.faq-page .faq_item::before,
.faq-page .faq_item::after{
  content: '';
  display: inline-block;
  position: absolute;
  top: 4rem;
  right: 3rem;
  width: 3px;
  height: 30px;
  background-color: var(--main);
}
.faq-page .faq_item::after{
  transform: rotate(90deg);
}

.faq-page .faq_item.open::before{
  transform: rotate(45deg);
}
.faq-page .faq_item.open::after{
  transform: rotate(135deg);
}

.faq-page .faq_item dt{
  font-size: 2rem;
  font-weight: 700;
  padding-left: 75px;
  position: relative;
}

.faq-page .faq_item dd{
  display: none;
  padding-top: 43px;
  padding-left: 75px;
  position: relative;
}

.faq-page .faq_item dt::before,
.faq-page .faq_item dd::before{
  align-items: center;
  border: 1px solid var(--main);
  border-radius: 5px;
  display: inline-block;
  font-size: 30px;
  font-weight: 700;
  height: 50px;
  position: absolute;
  top: -12px;
  left: 0;
  text-align: center;
  width: 50px;
}

.faq-page .faq_item dt::before{
  background-color: var(--main);
  content: "Q";
  color: #fff;
}

.faq-page .faq_item dd::before{
  background-color: #fff;
  color: var(--main);
  content: "A";
  top: 30px;
}

.faq-page .faq_item dd .link_btn{
  margin-top: 30px;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #anchor.faq-page .link_btn{
    width: 48%;
  }
  
  .faq-page .faq_item{
    padding: 20px 15px;
    padding-right: 48px;
  }
  
  .faq-page .faq_item::before,
  .faq-page .faq_item::after{
    top: 23px;
    height: 20px;
  }
  
  .faq-page .faq_item dt{
    padding-left: 50px;
  }
  
  .faq-page .faq_item dd{
    padding-top: 18px;
    padding-left: 50px;
  }
  
  .faq-page .faq_item dt::before,
  .faq-page .faq_item dd::before{
    font-size: 20px;
    height: 35px;
    top: -6px;
    width: 35px;
  }
  
  .faq-page .faq_item dd::before{
    top: 15px;
  }
}


/*------------------------------
会員登録
-------------------------------*/
.members-page h2.fukidashi{
  color: var(--sub02);
  font-family: var(--mincho);
  font-size: clamp(24px,3.91vw,4rem);
  margin-bottom: 6rem;
  position: relative;
  padding-bottom: 45px;
  text-align: center;
}

.members-page h2.fukidashi::before{
  background-image: url("../img/members/img_fukidashi.png");
  background-size: contain;
  content: "";
  height: 25px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
}

.members-page.white_box{
  border-radius: 0;
  box-shadow: none;
  margin-top: 10rem;
  margin-bottom: 10rem;
}


#intro.members-page{
  background-image: url("../img/members/bg_cityscape.png");
  background-repeat: no-repeat;
  background-position: bottom;
  content: "";
  padding-bottom: 23rem;
}

#intro.members-page .flex_box{
  gap: 0 8rem;
}

#intro.members-page .flex_box .item:not(:last-child){
  width: 39%;
}


#point.members-page .item{
  background-color: #fff;
  border-top: 3px solid;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  text-align: center;
  padding: 26px;
  padding-top: 8rem;
  position: relative;
  width: 32%;
}

#point.members-page .item:nth-child(1){
  border-color: #FF7F7F;
}
#point.members-page .item:nth-child(2){
  border-color: #7FBFFF;
}
#point.members-page .item:nth-child(3){
  border-color: #83DBAF;
}

#point.members-page .item .point{
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  padding: 7px;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 155px;
}

#point.members-page .item:nth-child(1) .point{
  background-color: #FF7F7F;
}
#point.members-page .item:nth-child(2) .point{
  background-color: #7FBFFF;
}
#point.members-page .item:nth-child(3) .point{
  background-color: #83DBAF;
}

#point.members-page .item .point span{
  display: block;
  font-size: 175%;
  line-height: 1em;
}

#point.members-page .item img{
  margin-left: auto;
  margin-bottom: 4rem;
  margin-right: auto;
}

#point.members-page .item .text{
  font-size: 2rem;
  font-weight: 700;
  line-height: normal;
}


#app.members-page .download{
  background-color: #FFF197;
  border-top: 3px solid var(--sub01);
  margin-top: 12rem;
  margin-bottom: 8rem;
  padding: clamp(15px,4.39vw,4.5rem);
  padding-top: clamp(40px,7.81vw,8rem);
  position: relative;
}

#app.members-page .download h3{
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 100%;
}

#app.members-page .download h3 span{
  background-color: var(--sub01);
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: clamp(17px,2.93vw,3rem);
  padding: 15px clamp(15px,5.37vw,5.5rem);
}

#app.members-page .download p{
  line-height: normal;
}

#app.members-page .download .app{
  text-align: center;
  width: 15%;
}

#app.members-page .download .app p{
  background-color: var(--main);
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  margin-top: 6px;
  padding: 10px;
  text-align: center;
}

#app.members-page .download .search{
  align-content: center;
  background-color: #FFDD00;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: 700;
  padding: 3rem clamp(10px,2.93vw,3rem);
  width: 46%;
}

#app.members-page .download .search .search_bar{
  background-color: #fff;
  border-radius: 999px;
  margin-top: 20px;
  padding: 10px 3rem;
  position: relative;
}

#app.members-page .download .search .search_bar::before{
  background-image: url("../img/common/icon_search.png");
  content: "";
  height: 2.7rem;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
  width: 2.7rem;
}

#app.members-page .download .qr{
  align-content: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 5px;
}

#app.members-page .download .qr img{
  margin-left: auto;
  margin-right: auto;
}

#app.members-page .download .qr.apple{
  width: 14.5%;
}
#app.members-page .download .qr.android{
  width: 16.5%;
}


#app.members-page .migrate{
  background-color: #FFF0DC;
  padding: 4rem 6rem;
}

#app.members-page .migrate .flex_box{
  align-items: center;
}

#app.members-page .migrate .flex_box p{
  font-size: clamp(18px,2.44vw,2.5rem);
  font-weight: 700;
  line-height: normal;
}

#app.members-page .migrate .flex_box p span{
  font-size: 125%;
}

#app.members-page .migrate .flow{
  margin-top: 25px;
  text-align: center;
}

#app.members-page .migrate .flow > *,
#app.members-page .migrate .flow li{
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
}

#app.members-page .migrate .flow li span{
  background-color: #fff;
  border-radius: 10px;
  padding: 1rem;
}

#app.members-page .migrate .flow li:not(:last-child)::after{
  background-image: url("../img/members/icon_arrow-bold.png");
  content: "";
  display: inline-block;
  height: 1.2em;
  margin: 0 15px;
  vertical-align: middle;
  position: relative;
  width: 1.5em;
}

#gold.members-page{
  margin-top: 17rem;
}

#gold.members-page .text_img{
  position: absolute;
  top: -9rem;
  left: 50%;
  transform: translateX(-50%);
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #intro.members-page .flex_box{
    gap: 1%;
  }
  
  #intro.members-page .flex_box .item:not(:last-child) {
    width: 49%;
  }
  
  #point.members-page .item{
    margin-bottom: 30px;
    width: 100%;
  }
  
  #app.members-page .download .app{
    order: 1;
    width: 32%;
  }
  
  #app.members-page .download .search{
    margin-bottom: 15px;
    width: 100%;
  }
  
  #app.members-page .download .qr.apple{
    order: 2;
    width: 28%;
  }
  
  #app.members-page .download .qr.android{
    order: 2;
    width: 34%;
  }
  
  #app.members-page .download .app img{
    margin-left: auto;
    margin-right: auto;
  }
  
  #app.members-page .download .app p{
    font-size: 13px;
    padding: 10px 0;
  }
  
  #app.members-page .migrate{
    padding-left: 15px;
    padding-right: 15px;
  }
  
  #app.members-page .migrate .flex_box p{
    margin-bottom: 20px;
  }
  
  #app.members-page .migrate .flow ul,
  #app.members-page .migrate .flow ul li{
    display: block;
  }
  
  #app.members-page .migrate .flow li span{
    display: block;
    margin: 5px 0;
  }
  
  #app.members-page .migrate .flow li:not(:last-child)::after{
    transform: rotate(90deg);
  }
}



/*------------------------------
営業案内・アクセス
-------------------------------*/
/*-- #information ---*/
.access-page#information .item{
  border: 1px solid #BBBBBB;
  border-radius: 10px;
  font-weight: 700;
  overflow: hidden;
  padding-bottom: 26px;
  width: 32%;
}

.access-page#information .item h3{
  background-color: var(--main);
  color: #fff;
  font-size: 2.6rem;
  padding: 12px;
  text-align: center;
}

.access-page#information .item .icon{
  padding: 3rem 10px;
}

.access-page#information .item .icon img{
  margin-left: auto;
  margin-right: auto;
}

.access-page#information .item p,
.access-page#information .item dl{
  padding: 0 4rem;
}

.access-page#information .item dl{
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.access-page#information .item dl dt{
  border: 1px solid var(--main);
  color: var(--main);
  flex-shrink: 0;
  margin-bottom: 2rem;
  padding: 4px 8px;
  text-align: center;
}

.access-page#information .item dl dd{
  font-size: 2.5rem;
  margin-bottom: 16px;
}

.access-page#information .item dl dd small{
  font-size: 75%;
  font-weight: 500;
}
.access-page#information .item#open dl dt{
  width: 110px;
}
.access-page#information .item#open dl dd{
  width: calc(100% - 125px);
}
.access-page#information .item .bold{
  font-size: 2rem;
}

.access-page#information .item#contact .free{
  font-size: 3.5rem;
  line-height: normal;
  margin-bottom: 14px;
  padding-left: calc(4rem + 60px);
  padding-right: 10px;
  position: relative;
}
.access-page#information .item#contact .free::before{
  background-image: url("../img/common/icon_freedial.svg");
  content: "";
  height: 30px;
  position: absolute;
  top: 0.4em;
  left: 4rem;
  width: 48px;
}
.access-page#information .item#contact dl{
  align-items: center;
}
.access-page#information .item#contact dl dt{
  margin-top: 4px;
  width: 48px;
}
.access-page#information .item#contact dl dd{
  padding: 0;
  width: calc(100% - 63px);
}

.access-page#information .item#parking p{
  font-size: 2.5rem;
  line-height: 1.8em;
}

.access-page#information .item#parking p strong{
  font-size: 120%;
  font-weight: 700;
}

/*-- #access ---*/
.access-page#access > *{
  position: relative;
  z-index: 2;
}

.access-page#access::before{
  background-image: url("../img/common/deco_flower_04.png");
  content: "";
  height: 200px;
  position: absolute;
  left: 3%;
  top: 18%;
  width: 200px;
}

.access-page#access::after{
  background-image: url("../img/common/deco_leaf_03.png");
  content: "";
  height: 150px;
  position: absolute;
  top: 40%;
  right: 5%;
  transform: rotate(86deg);
  width: 200px;
}

.access-page#access .map_wrap{
  margin-bottom: 10rem
}

.access-page#access .map_wrap iframe{
  aspect-ratio: 2 / 1;
  display: block;
  width: 100%;
}

.access-page#access .map_wrap .info{
  background-color: #fff;
  font-size: 2rem;
  font-weight: 500;
  padding: 3.5rem 4rem;
}

.access-page#access .map_wrap .info a{
  border: 1px solid var(--main);
  border-radius: 999px;
  color: var(--main);
  font-size: 1.8rem;
  font-weight: 400;
  margin-left: 4rem;
  padding: 9px 35px;
}

.access-page#access .map_wrap .info a:hover{
  background-color: var(--green-hover);
}

.access-page#access .map_wrap.google-map .info p{
  display: inline-block;
}

 dl.white_box_simple{
  align-items: center;
  display: flex;
  margin-bottom: 7rem;
  padding: 4.8rem clamp(20px,4.88vw,5rem);
}

 dl.white_box_simple dt{
  background-color: var(--main);
  border-radius: 5px;
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2rem;
  padding: 10px;
  text-align: center;
  width: 215px;
}

 dl.white_box_simple dd{
  margin-bottom: 20px;
  width: calc( 100% - 245px);
}

dl.white_box_simple dt:last-of-type,
dl.white_box_simple dd:last-of-type{
  margin-bottom: 0;
}


/*-- #around ---*/
.access-page#around .shop_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.access-page#around .shop_list .item{
  margin-top: 6rem;
}

.access-page#around .shop_list .item .flex_box{
  background-color: #fff;
}

.access-page#around .shop_list .item .link_btn{
  margin-top: 0;
}
.access-page#around .shop_list .item .link_btn a{
  font-size: 16px;
  letter-spacing: 0.08em;
  margin-left: auto;
  margin-right: 0;
  max-width: 225px;
  padding: 2rem;
  text-align: right;
}
.access-page#around .shop_list .item .link_btn a::after{
  background-image: url("../img/common/icon_target-white.svg");
  display: inline-block;
  height: 1em;
  margin-left: 10px;
  position: relative;
  top: 1px;
  right: 0;
  transform: none;
  width: 1em;
}
.access-page#around .shop_list .item .link_btn a:hover::after{
  background-image: url("../img/common/icon_target-green.svg");
}

.access-page#around .shop_list .item .flex_box .img_box{
  width: 42%;
}

.access-page#around .shop_list .item .flex_box .img_box img{
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.access-page#around .shop_list .item .flex_box .text_box{
  align-content: center;
  padding: 3rem clamp(15px,2.93vw,3rem);
  width: 58%;
}

.access-page#around .shop_list .item .flex_box .text_box h3{
  border-bottom: dashed var(--sub01);
  font-size: 2.3rem;
  margin-bottom: 12px;
  padding-bottom: 10px;
}

.access-page#around .shop_list .item .flex_box .text_box h3 span{
  color: var(--main);
  display: block;
  font-family: var(--gothic);
  font-size: clamp(14px,2.09vw,16px);
  font-weight: 400;
  margin-bottom: 4px;
}

.access-page#around .shop_list .item .flex_box .text_box p{
  line-height: 1.5em;
}

.access-page#around .shop_list .item .flex_box .text_box p.sun-palese{
  border: 1px solid var(--main);
  color: var(--main);
  display: inline-block;
  font-weight: 700;
  margin-top: 8px;
  padding: 5px 18px;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .access-page#access::before,
  .access-page#access::after{
    display: none;
  }
  
  .access-page#information .item{
    margin-bottom: 30px;
    width: 100%;
  }
  
  .access-page#access .map_wrap .info{
    padding: 20px 15px;
  }
  
  .access-page#access .map_wrap .info a{
    margin-left: 0;
  }
  
  dl.white_box_simple dt,
  dl.white_box_simple dd{
    width: 100%;
  }
  
  dl.white_box_simple dt:last-of-type{
    margin-bottom: 2rem;
  }
}

/*------------------------------
想い・こだわり
-------------------------------*/
.welcome-page#thought{
  background-image: url("../img/welcome/bg_thought.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  margin-bottom: 50rem;
}

.welcome-page#thought::before{
  background-image: url("../img/welcome/bg_thought_leaf.png");
  content: "";
  height: 9.427083333333334vw;
  position: absolute;
  top: 100%;
  right: 0;
  width: 29.270833333333336vw;
}

.welcome-page#thought .thought_inner{
  margin-top: 5rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 920px;
  width: calc(100% - 15px);
}

.welcome-page#thought .flex_box{
  gap: 20px;
}

.welcome-page#thought .flex_box .img_box{
  width: 22%;
}

.welcome-page#thought .flex_box .img_box:nth-child(2){
  margin-top: 5.8rem;
}
.welcome-page#thought .flex_box .img_box:nth-child(3){
  margin-top: 10rem;
}

.welcome-page#thought h3{
  font-size: clamp(36px,4.88vw,5rem);
  margin-top: 7rem;
}
.welcome-page#thought h3 span{
  font-size: 80%;
}

.welcome-page#thought p.text{
  font-size: 2rem;
}


.welcome-page#commitment{
  padding-bottom: 0;
}

.welcome-page#commitment > .side_parts,
.welcome-page#commitment .bg_white{
  position: relative;
  margin-top: 0;
  margin-bottom: 0;
  padding: 10rem 0;
}

.welcome-page#commitment .bg_white .side_parts{
  margin-top: 0;
  margin-bottom: 0;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .welcome-page#commitment > .side_parts,
  .welcome-page#commitment .bg_white{
    padding: 6rem 0;
  }
  
  .welcome-page#thought{
    background-size: cover;
  }
  .welcome-page#thought::before{
    display: none;
  }
  
  .welcome-page#thought .flex_box{
    justify-content: space-between;
    gap: 20px 0;
  }
  
  .welcome-page#thought .flex_box .img_box{
    aspect-ratio: 1/1.5;
    overflow: hidden;
    width: 48%;
  }
  
  .welcome-page#thought .flex_box .img_box img{
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  
  .welcome-page#thought .flex_box .img_box:nth-child(2),
  .welcome-page#thought .flex_box .img_box:nth-child(3){
    margin-top: 0;
  }
}


/*------------------------------
お問い合わせ
-------------------------------*/
#tel_contact p{
  font-weight: 700;
  padding: 0 2rem;
  text-align: center;
}

#tel_contact .tel{
  font-size: clamp(36px,6.84vw,7rem);
  line-height: normal;
  margin-bottom: 7px;
  padding-top: 20px;
}

#tel_contact .tel span{
  font-size: 65%;
  display: inline-block;
  margin-right: 2rem;
}

#tel_contact .holiday{
  line-height: normal;
  padding-bottom: 3rem;
}

.progress_tracker{
  display: flex;
  justify-content: space-between;
  margin: 6.5rem auto;
  max-width: 940px;
  position: relative;
  width: 100%;
}

.progress_tracker::before{
  border-bottom: 2px dashed var(--sub01);
  content: "";
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
}

.progress_tracker .item{
  background-color: #fff;
  border: 1px solid var(--sub01);
  padding: 18px;
  position: relative;
  text-align: center;
  width: 29%;
  z-index: 2;
}

.progress_tracker .item p{
  font-size: 2rem;
  font-weight: 700;
  line-height: normal;
}

.progress_tracker .item .step{
  color: var(--sub01);
  font-family: var(--mincho);
  margin-bottom: 5px;
}

.progress_tracker .item.current{
  background-color: var(--sub01);
}

.progress_tracker .item.current p{
  color: #fff;
}

.confirm_wrap{
  display: none;
}

#furigana-error-message{
  color: #dc3232;
  font-size: 1em;
  font-weight: normal;
}

.form_wrap table{
  width: 100%;
}

.form_wrap table tr{
  border-top: 1px solid #ccc;
  display: flex;
  padding: 3rem 0;
}

.form_wrap table tr:last-child{
  border-bottom: 1px solid #ccc;
}

.form_wrap table tr th{
  display: block;
  padding-top: 10px;
  padding-right: 55px;
  position: relative;
  text-align: left;
  width: 25%;
}
.form_wrap table tr td{
  display: block;
  padding-left: 3rem;
  width: 75%;
}

.form_wrap table textarea,
.form_wrap table input{
  background-color: #F3F3F3;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 16px;
  font-family: var(--gothic);
  padding: 10px;
  width: 90%;
}

.form_wrap table textarea{
  height: 250px;
  overflow: auto;
}

.form_wrap .required{
  background-color: #E50009;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 5px 10px;
  text-align: center;
}

.form_wrap table tr th .required{
  position: absolute;
  top: 8px;
  right: 0;
}

.policy_consent{
  background-color: #F3F3F3;
  border-radius: 10px;
  margin: 5rem auto;
  max-width: 880px;
  padding: 3rem 15px;
  text-align: center;
  width: 100%;
}

.policy_consent a{
  color: var(--main);
  text-decoration: underline;
}

.policy_consent a[target="_blank"]::after{
  background-image: url("../img/common/icon_target-green.svg");
  content: "";
  display: inline-block;
  height: 1em;
  margin-left: 5px;
  margin-right: 5px;
  width: 1em;
}

/*-- 確認画面 --*/
.confirm_wrap table tr th{
  padding-top: 0;
}

.confirm_wrap table tr th .required{
  top: -4px;
}

.wpcf7-spinner{
  display: none !important;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .progress_tracker{
    display: block;
  }
  
  .progress_tracker::before{
    border-left: 2px dashed var(--sub01);
    border-bottom: none;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
  }
  
  .progress_tracker .item{
    padding: 5px;
    margin-bottom: 20px;
    width: 100%;
  }
  .progress_tracker .item:last-child{
    margin-bottom: 0;
  }
  
  .form_wrap table tr{
    display: block;
    padding: 15px 0;
  }
  
  .form_wrap table tr th{
    margin-bottom: 20px;
    width: 100%;
  }
  
  .form_wrap table tr td{
    padding-left: 0;
    width: 100%;
  }
  
  .form_wrap table textarea,
  .form_wrap table input{
    width: 100%;
  }
}


/*------------------------------
カレンダーページ
-------------------------------*/
#opening-hours,
#tel_contact{
  border: 1px solid var(--sub02);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8rem;
  width: 100%;
}

#opening-hours h2,
#tel_contact h2{
  background-color: var(--sub02);
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  padding: 15px;
  text-align: center;
}

#opening-hours .flex_box{
  align-items: center;
  justify-content: center;
  padding: 3rem;
}

#opening-hours .flex_box .hours{
  font-size: 2.5rem;
  margin-right: 5rem;
}

#opening-hours .flex_box .hours p:not(:last-child){
  margin-bottom: 15px;
}

#opening-hours .flex_box .holiday{
  border: 1px solid #222;
  font-size: 2.5rem;
  padding: 8px 15px;
  text-align: center;
}

#opening-hours .flex_box .holiday p{
  margin-bottom: 0 !important;
}

.tribe-common{
  background-color: #fff;
}

.tribe-common-l-container.tribe-events-l-container{
  max-width: 1200px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: calc(100% - 30px);
}

.tribe-common .tribe-common-form-control-text__input,
.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input,
.tribe-common .tribe-common-c-btn, 
.tribe-common a.tribe-common-c-btn, 
.tribe-common button.tribe-common-c-btn,
.tribe-events .tribe-events-c-view-selector__list-item-text,
.tribe-common .tribe-common-c-btn-border, 
.tribe-common a.tribe-common-c-btn-border,
.tribe-events-calendar-list__month-separator-text,
.tribe-common .tribe-common-b2,
.tribe-common .tribe-common-h5,
.tribe-common .tribe-common-h6,
.tribe-events-calendar-list__event-description.tribe-common-b2,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item,
.tribe-common .tribe-common-h8{
  font-family: var(--gosick);
}

.tribe-events .tribe-events-c-search__button, 
.tribe-events button.tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button:hover,
.tribe-events .tribe-events-c-search__button:active, 
.tribe-events button.tribe-events-c-search__button:active,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link::after,
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:hover:after{
  background-color: var(--main) !important;
}

.tribe-events button.tribe-events-c-search__button:hover{
  opacity: 0.7;
}

.tribe-events .tribe-events-c-search__button:focus, .tribe-events button.tribe-events-c-search__button:focus{
  outline: none !important;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text{
  color: var(--main);
}

.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-title,
.tribe-events .tribe-events-calendar-month__multiday-event-hidden{
  opacity: 1;
}

.tribe-events .tribe-events-calendar-month__multiday-event-hidden{
  position: static !important;
}

.tribe-events .tribe-events-calendar-month__multiday-event-bar{
  display: none;
}

.tribe-events-calendar-month__multiday-event-wrapper{
  height: auto !important;
}

.tribe-events-calendar-month__multiday-event-hidden-link{
  height: auto !important;
  padding: 5px !important;
}

.tribe-common .tribe-common-h8{
  font-size: 13px;
  font-weight: 500;
  white-space: normal;
}


/*季節のお弁当*/
.tribe_events_cat-seasons-bento .tribe-events-calendar-month__multiday-event-hidden-link{
  background-color: #FFC155 !important;
}
/*イベント*/
.tribe_events_cat-event .tribe-events-calendar-month__multiday-event-hidden-link,
.tribe-events .tribe-events-calendar-month__day-cell--selected{
  background-color: #9BD4BB !important;
}
/*定休日*/
.tribe_events_cat-closed .tribe-events-calendar-month__multiday-event-hidden-link{
  background-color: #f06b44 !important;
}
/*臨時休業*/
.tribe_events_cat-temporary-closed .tribe-events-calendar-month__multiday-event-hidden-link{
  background-color: #ff7d93 !important;
}
/*臨時営業*/
.tribe_events_cat-temporary-business .tribe-events-calendar-month__multiday-event-hidden-link{
  background-color: #77c6ff !important;
}

.tribe-events .tribe-events-calendar-list__month-separator time{
  color: var(--sub02);
  font-size: 2.2rem !important;
  font-weight: 700;
}

.tribe-events .tribe-events-calendar-list__month-separator::after{
  display: none;
}

.tribe-common-g-row.tribe-events-calendar-list__event-row {
    border-top: 1px solid #ccc;
    padding-top: 20px;
    margin: 20px 0 !important;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #opening-hours .flex_box .hours{
    font-size: 18px;
    margin-right: 0;
    text-align: center;
  }
  
  #opening-hours .flex_box .holiday{
    font-size: 16px;
    margin-top: 10px;
    width: 100%;
  }
  
  #opening-hours .flex_box .holiday br{
    display: none;
  }
  
  .tribe-events .tribe-events-header{
    border-bottom: 2px dashed var(--main);
    margin: 0 auto 25px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  
  .tribe-events-c-view-selector__content{
    width: 180px;
  }
}

#back_calendar{
  display: none;
}


/*------------------------------
レストラン
-------------------------------*/
.restaurant-page.space_slide_img{
  margin: 0;
}

section.restaurant-page .bg_white{
  padding-left: clamp(15px,5.86vw,6rem)!important;
  padding-right: clamp(15px,5.86vw,6rem)!important;
}

#time.restaurant-page{
  padding-bottom: 0;
}

#time.restaurant-page .flex_box{
  background-color: #fff;
  border: 1px solid var(--main);
  justify-content: space-around;
  margin-top: 4rem;
  padding: 30px;
}

#time.restaurant-page .flex_box dl{
  align-items: center;
  display: flex;
  font-weight: 700;
  justify-content: center;
  width: 48%;
}

#time.restaurant-page .flex_box dl dt{
  align-content: center;
  background-color: var(--main);
  color: #fff;
  flex-shrink: 0;
  font-size: 3.6rem;
  height: 9rem;
  outline: 1px solid #fff;
  outline-offset: -5px;
  text-align: center;
  width: 9rem;
}

#time.restaurant-page .flex_box dl dt span{
  font-size: 65%;
}

#time.restaurant-page .flex_box dl dd{
  color: var(--sub02);
  font-size: clamp(25px,3.91vw,4rem);
  margin-left: 4.5rem;
}

#information.restaurant-page .flex_box{
  gap: 3rem 3%;
}

#information.restaurant-page .item{
  align-content: center;
  background-color: #fff;
  padding: 3rem clamp(15px,2.44vw,2.5rem);
  width: 30%;
}

#information.restaurant-page .item h3{
  color: var(--sub02);
  font-family: var(--mincho);
  font-size: 2.5rem;
  margin-bottom: 22px;
}

#information.restaurant-page .item img{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 22px;
}

#first-time.restaurant-page{
  background-image: url("../img/restaurant/bg_fist-time.webp");
  background-repeat: no-repeat;
  background-size: cover;
}

#first-time.restaurant-page .item{
  border: 1px solid var(--main);
  margin-top: 4rem;
  position: relative;
}

#first-time.restaurant-page .item .step{
  background-color: var(--main);
  color: #fff;
  font-family: var(--mincho);
  font-weight: 700;
  padding: 0 13px;
  position: absolute;
  bottom: 100%;
  left: -1px;
}

#first-time.restaurant-page .item h3{
  background-color: #E8F5EF;
  color: var(--main);
  font-family: var(--mincho);
  font-size: 2.5rem;
  text-align: center;
  padding: 2rem;
}

#first-time.restaurant-page .item .box{
  padding: 2rem;
}

#first-time.restaurant-page .item .box p{
  font-weight: 500;
  margin-top: 2rem;
  text-align: center;
}


#dishes.restaurant-page::before{
  background-image: url("../img/common/deco_flower_04.png");
  content: "";
  height: 200px;
  position: absolute;
  right: 4%;
  top: 12%;
  width: 200px;
  transform: scale(-1,1);
}

#dishes.restaurant-page::after{
  background-image: url("../img/common/deco_leaf_03.png");
  content: "";
  height: 215px;
  position: absolute;
  top: 40%;
  left: 2%;
  transform: scale(-1,1) rotate(85deg);
  width: 225px;
}

#dishes.restaurant-page .side_parts_02{
  margin-bottom: 8rem;
}

#baby-menu.restaurant-page{
  background-image: url("../img/restaurant/bg_baby.webp");
  background-repeat: no-repeat;
  background-size: cover;
}

#baby-menu.restaurant-page img{
  border-radius: 10px;
}

#baby-menu.restaurant-page ul{
  gap: 2rem;
  margin: 4rem 0;
}

#baby-menu.restaurant-page ul li{
  background-color: #FFF0DC;
  border-radius: 999px;
  color: var(--sub02);
  font-size: 2rem;
  font-family: var(--mincho);
  font-weight: 700;
  padding: 10px;
  text-align: center;
  width: 25%;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  #dishes.restaurant-page::before,
  #dishes.restaurant-page::after{
    display: none;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #time.restaurant-page .flex_box{
    gap: 10px 0;
  }
  
  #time.restaurant-page .flex_box dl,
  #information.restaurant-page .item{
    width: 100%;
  }
  
  #baby-menu.restaurant-page ul li{
    width: 47%;
  }
  
  
}

/*------------------------------
貸し切りパーティープラン
-------------------------------*/
.private-page.space_slide_img{
  margin: 0;
}

#scene.private-page{
  padding-bottom: 0;
}

#scene.private-page #scene-private::before{
  background-image: url("../img/common/deco_leaf_03.png");
  content: "";
  height: 215px;
  position: absolute;
  bottom: 0;
  left: 2%;
  transform: rotate(15deg);
  width: 225px;
}

#scene.private-page #scene-wedding::before{
  background-image: url("../img/common/deco_leaf_02.png");
  content: "";
  height: 207px;
  position: absolute;
  right: 3%;
  bottom: -1%;
  width: 205px;
}

#scene.private-page #scene-business::before{
  background-image: url("../img/common/deco_flower_04.png");
  content: "";
  height: 200px;
  position: absolute;
  left: 1%;
  bottom: -1%;
  width: 200px;
}

#alcohol.private-page .place_price{
  background-color: #fff;
  border: 1px solid var(--main);
  padding-top: 5rem;
  padding-bottom: 5rem;
}

#alcohol.private-page .place_price dl{
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 45%;
}

#alcohol.private-page .place_price dl dt{
  align-content: center;
  background-color: var(--main);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  margin-right: 15px;
  max-width: 195px;
  min-height: 65px;
  text-align: center;
  width: 100%;
}

#alcohol.private-page .place_price dl dd{
  color: var(--sub02);
  font-family: var(--mincho);
  font-size: 3.5rem;
  font-weight: 700;
}

#alcohol.private-page .place_price dl.gold dt{
  background: linear-gradient(to right, #C6A15B, #B87A4C);
}

#options.private-page .catch-copy_box{
  margin-bottom: 8rem;
}

#options.private-page .plan_box{
  padding-top: 5rem;
}

#options.private-page .plan_box .column_02.menu_list ul:first-child{
  padding-right: 0;
  width: 45%;
}
#options.private-page .plan_box .column_02.menu_list ul:last-child{
  padding-right: 0;
  width: 51%;
}

#options.private-page .plan_box .column_02.menu_list ul li{
  background-image: linear-gradient(to right, var(--sub02) 3px, transparent 3px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 6px 1px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  padding-bottom: 5px;
}

#options.private-page .plan_box .column_02.menu_list ul li span{
  float: none;
}

/*--- under1400px -----------------------------------*/
@media screen and (max-width:1400px){
  #scene.private-page #scene-private::before,
  #scene.private-page #scene-wedding::before,
  #scene.private-page #scene-business::before{
    display: none;
  }
}
  
/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  #scene.private-page .section_box{
    padding-top: 0;
  }
  
  #options.private-page .plan_box .column_02.menu_list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100% !important;
  }
  
  #options.private-page .plan_box .column_02.menu_list ul li{
    margin-bottom: 10px;
    width: 48%;
  }
  
  #options.private-page .plan_box .column_02.menu_list ul li,
  #options.private-page .plan_box .column_02.menu_list ul li span{
    display: block;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #alcohol.private-page .place_price{
    padding-top: 30px;
    padding-bottom: 30px;
  }
  
  #alcohol.private-page .place_price dl{
    justify-content: center;
    margin-bottom: 20px;
    width: 100%;
  }
  
  #alcohol.private-page .place_price dl:last-child{
    margin-bottom: 0;
  }
  
  #alcohol.private-page .place_price dl dt{
    margin-right: 5px;
    max-width: 160px;
    padding: 0 5px;
  }
  
  #alcohol.private-page .place_price dl dd{
    font-size: 25px;
  }
  
  #alcohol.private-page .place_price dl dd small{
    font-size: 13px;
  }
  
  #options.private-page .plan_box{
    padding-top: 30px;
    padding-bottom: 30px;
  }
  
  #options.private-page .plan_box .column_02.menu_list ul li{
    width: 100%;
  }
  
}

/*------------------------------
豆腐のピザ作り体験
-------------------------------*/
#workshop.workshop-page{
  margin-top: 0 !important;
}

main#page #workshop.workshop-page::before{
  background-image: url("../img/workshop/illust_pizza.png");
  background-position: left;
  content: "";
  height: 100%;
  max-height: 460px;
  position: absolute;
  top: auto;
  bottom: -18%;
  left: 0;
  width: 25%;
  z-index: 2;
}

main#page #workshop.workshop-page::after{
  background-image: url("../img/workshop/illust_tofu.png");
  background-position: right;
  content: "";
  height: 100%;
  max-height: 460px;
  position: absolute;
  bottom: -50%;
  right: 0;
  width: 25%;
  z-index: 2;
}

#contact.workshop-page{
  background-image: url("../img/workshop/bg_farm.jpg");
  padding-top: 15rem;
  padding-left: 15px;
  padding-right: 15px;
}

#contact.workshop-page .inner_800{
  border-radius: 10px;
 padding: 7.5rem 10px 5.5rem; 
  position: relative;
}

#contact.workshop-page h2{
  position: absolute;
  top: -8rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

#contact.workshop-page h2 img{
  margin-left: auto;
  margin-right: auto;
}

#contact.workshop-page .link_btn{
  margin-top: 0;
}
#contact.workshop-page .link_btn a{
  border-bottom: 6px solid #004E2C;
  border-radius: 10px;
}

#contact.workshop-page .link_btn.no_link a{
  padding-right: 2.4rem;
  pointer-events: none;
}
#contact.workshop-page .link_btn.no_link a::after{
  display: none;
}

#outline.workshop-page table{
  width: 100%;
}

#outline.workshop-page table td{
  background-color: #fff;
}

#slide.workshop-page{
  background-image: url("../img/common/bg_blue-wall.webp");
}
#slide.workshop-page .slide_item{
  margin: 0 15px;
}

#slide.workshop-page .banner_slide .slick-prev{
  left: 32.5%;
}
#slide.workshop-page .banner_slide .slick-next{
  right: 32.5%;
}

#event.workshop-page::before{
  background-image: url("../img/common/deco_flower_03.png");
  content: "";
  height: 260px;
  transform: scale(-1,1);
  position: absolute;
  top: 23%;
  right: 3%;
  width: 200px;
}
#event.workshop-page::after{
  background-image: url("../img/workshop/deco_leaf.png");
  content: "";
  height: 290px;
  position: absolute;
  top: 60%;
  left: 2%;
  width: 265px;
}

#event.workshop-page .flow_box .item{
  margin-top: 7rem;
  position: relative;
  z-index: 2;
}

#event.workshop-page .flow_box .item:nth-child(2){
  flex-flow: row-reverse;
}

#event.workshop-page .flow_box .item .img_box{
  width: 48%;
}
#event.workshop-page .flow_box .item .img_box img{
  border-radius: 10px;
}

#event.workshop-page .flow_box .item .text_box{
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 58%;
}
#event.workshop-page .flow_box .item:nth-child(2) .text_box{
  left: 0;
  right: auto;
}

#event.workshop-page .flow_box .item .text_box img{
  margin-left: auto;
  margin-right: auto;
}

#event.workshop-page .flow_box .item .text_box p{
  background-color: #fff;
  border-radius: 10px;
  font-size: 2.3rem;
  font-weight: 700;
  padding: 6rem 3.5rem;
  text-align: center;
}

#event.workshop-page .flow_box .item .text_box p span{
  color: var(--main);
  font-size: 120%;
}

/*--- under1280px -----------------------------------*/
@media screen and (max-width:1280px){
  #event.workshop-page::before,
  #event.workshop-page::after{
    display: none;
  }
  
  main#page #workshop.workshop-page::before{
    bottom: -40%;
    display: block;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #contact.workshop-page h2{
    max-width: 400px;
    top: -4rem;
  }
  
  #slide.workshop-page .banner_slide .slick-prev{
    display: block !important;
    left: 15px;
  }
  #slide.workshop-page .banner_slide .slick-next{
    display: block !important;
    right: 15px;
  }
  
  #event.workshop-page .flow_box .item,
  #event.workshop-page .flow_box .item:nth-child(2){
    flex-flow: column-reverse;
  }
  
  #event.workshop-page .flow_box .item .img_box{
    width: 100%;
  }
  
  #event.workshop-page .flow_box .item .text_box{
    position: static;
    transform: none;
    width: 100%;
  }
  
}


/*------------------------------
お弁当系ページ
-------------------------------*/
#delivery.bento-page::before{
  background-color: rgba(0,0,0,0.2);
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

#delivery.bento-page dl{
  margin-bottom: 16px;
  padding-left: 4rem;
  position: relative;
}

#delivery.bento-page dl::before{
  content: "";
  height: 2rem;
  position: absolute;
  top: 5px;
  left: 0;
  width: 2rem
}

#delivery.bento-page dl.yellow::before{
  background-color: #F39800;
}
#delivery.bento-page dl.pink::before{
  background-color: #E83828;
}
#delivery.bento-page dl.green::before{
  background-color: #8FC31F;
}
#delivery.bento-page dl.blue::before{
  background-color: #2EA7E0;
}

#delivery.bento-page dl dt{
  font-display: 2rem;
  font-weight: 700;
  margin-bottom: 10px;
}

#delivery.bento-page dl dd{
  font-weight: 500;
}

#delivery.bento-page dl dd span{
  color: var(--main);
}

#delivery.bento-page dl dd strong{
  font-size: 2.3rem;
}

#delivery.bento-page .is-style-bg{
  margin-bottom: 0;
}

.notes_red{
  margin-bottom: 5rem;
  text-align: center;
}

.notes_red p{
  border: 1px solid #EC0000;
  color: #EC0000;
  display: inline-block;
  font-size: clamp(14px,2.08vw,16px);
  font-weight: 500;
  padding: 10px 2.5rem;
  text-align: left;
}

.bento-page .notes_box,
.private-page .notes_box{
  background-color: #fff;
  border: 1px solid var(--main);
  padding: clamp(30px,3.57vw,5rem) clamp(15px,4.29vw,6rem);
}

.bento-page .notes_box ul,
.private-page .notes_box ul{
  margin: 0;
}

.bento-page .notes_box ul li,
.private-page .notes_box ul li{
  background-image : linear-gradient(to right, var(--sub02) 3px, transparent 3px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 6px 1px;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}

.bento-page .notes_box ul li:last-child,
.private-page .notes_box ul li:last-child{
  background-image: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.bento-page .notes_box p,
.private-page .notes_box p{
  font-size: 2rem;
  font-weight: 700;
}

.bento-page .notes_box p .marker,
.private-page .notes_box p .marker{
  background: linear-gradient(transparent 70%, #fec0c0 70%);
}

/*-------------------------------
季節のお弁当・定番弁当・デンシエット弁当
-------------------------------*/
.lunch-box-page .images_wrap .img_box:not(:last-child){
  margin-bottom: 8rem;
}

.lunch-box-page .images_wrap .img_box img{
  margin-left: auto;
  margin-right: auto;
}

#commitment.lunch-box-page::before{
  background-image: url("../img/common/deco_ears-of-rice.png");
  content: "";
  height: 224px;
  position: absolute;
  top: 0;
  left: 0;
  width: 342px;
}

#news.lunch-box-page .item{
  width: 48%;
}
#news.lunch-box-page .item:only-child{
  width: 100%;
}

#news.lunch-box-page .expansion{
  margin-top: 3rem;
}

#news.lunch-box-page .expansion a{
  border-radius: 999px;
  max-width: 320px;
  padding-right: 2.6em;
}
#news.lunch-box-page .expansion a::after{
  background-image: url("../img/common/icon_expansion.png");
  height: 1.5em;
  width: 1.5em;
}
#news.lunch-box-page .expansion a:hover::after{
  background-image: url("../img/common/icon_expansion_white.png");
}

#news.lunch-box-page .download a::after{
  background-image: url("../img/common/icon_download_white.svg");
  height: 1.5em;
  width: 1.5em;
}
#news.lunch-box-page .download a:hover::after{
  background-image: url("../img/common/icon_download_orange.svg");
}


#densiet.lunch-box-page .densiet_wrap{
  background-color: #fff;
  padding-top: 5.5rem;
  padding-bottom: 5.5rem;
}

#densiet.lunch-box-page .item.bento .award{
  align-items: center;
  margin-bottom: 20px;
}

#densiet.lunch-box-page .item.bento .award .img_box{
  width: 28%;
}

#densiet.lunch-box-page .item.bento .award .text_box{
  color: var(--sub02);
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  width: 70%;
}

#densiet.lunch-box-page .item.bento .award .text_box .label{
  background: linear-gradient(to right, #FFEE98, #E1CC65);
  font-size: 2.3rem;
  margin-top: 10px;
}

#densiet.lunch-box-page .item.bento .price_wrap{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}

#densiet.lunch-box-page .item.bento .price_wrap .price{
  margin-right: 18px;
}
#densiet.lunch-box-page .item.bento .price_wrap .price span{
  font-size: 150%;
}

#densiet.lunch-box-page .item.bento .price_wrap .delivery,
#densiet.lunch-box-page .item.bento .price_wrap .limited{
  align-content: center;
  color: #fff;
  font-size: 16px;
  margin-right: 12px;
  padding: 0 5px;
}

#densiet.lunch-box-page .item.bento .price_wrap .delivery{
  background-color: #EC0000;
}
#densiet.lunch-box-page .item.bento .price_wrap .limited{
  background-color: var(--sub01);
}

#densiet.lunch-box-page .item.text_box .dietitian{
  background-color: #EFE4E0;
  color: var(--sub02);
  font-weight: 700;
  display: flex;
  margin-top: 3.5rem;
  padding: 2rem;
}

#densiet.lunch-box-page .item.text_box .dietitian .img_box{
  flex-shrink: 0;
  margin-right: 2.5rem;
}

#densiet.lunch-box-page .item.text_box .dietitian .profile .supervisor{
  align-items: center;
  display: flex;
  line-height: normal;
  margin-bottom: 10px;
}
#densiet.lunch-box-page .item.text_box .dietitian .profile .supervisor::before{
  background-color: var(--sub02);
  content: "\76E3\4FEE";
  color: #fff;
  flex-shrink: 0;
  margin-right: 16px;
  text-align: center;
  width: 70px;
}

#densiet.lunch-box-page .item.text_box .dietitian .profile .name span{
  font-size: 2.3rem;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  #commitment.lunch-box-page::before{
    display: none;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .lunch-box-page .images_wrap .img_box:not(:last-child){
    margin-bottom: 5rem;
  }
  
  #news.lunch-box-page .item{
    margin-bottom: 15px;
    width: 100%;
  }
  
  #news.lunch-box-page .expansion a::after{
    right: 15px;
  }
  
  #densiet.lunch-box-page .item.bento .award .img_box,
  #densiet.lunch-box-page .item.bento .award .text_box,
  #densiet.lunch-box-page .item.bento .price_wrap .price{
    width: 100%;
  }
  
  #densiet.lunch-box-page .item.bento .award .img_box img{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    max-width: 80%;
  }
  
  #densiet h3.wp-block-heading{
    margin-top: 0;
  }
  
  #densiet.lunch-box-page .item.text_box .dietitian .img_box{
    margin-right: 10px;
    width: 70px;
  }
  
  #densiet.lunch-box-page .item.text_box .dietitian .profile .supervisor,
  #densiet.lunch-box-page .item.text_box .dietitian .profile .supervisor::before{
    display: block;
  }
  
}

/*-------------------------------
パーティセット
-------------------------------*/
.page_intro.party-set-page::before{
  display: none;
}

.page_intro.party-set-page .anchor_btn__box .link_btn{
  width: 19%;
}

.party-set-page .menu_parts .item.main{
  display: flex;
  flex-flow: wrap;
  grid-column: 1 / -1;
}

.party-set-page .menu_parts .item.main .menu{
  width: 100%;
}

.party-set-page .menu_parts .item.main .img_box{
  width: 63%;
}
.party-set-page .menu_parts .item.main .img_box img{
  height: 100%;
  object-fit: cover;
}

.party-set-page .menu_parts .item.main .text_box{
  width: 37%;
}

.party-set-page .menu_parts .item.main .text_box .border{
  border: 1px solid var(--main);
  color: var(--main);
  font-weight: 500;
  margin-top: 20px;
  text-align: center;
  padding: 2rem 10px;
}

.party-set-page .menu_parts .item.main .text_box  ul.wp-block-list{
  margin: 10px 0 !important;
}

#party-set.party-set-page,
#family-set.party-set-page{
  background-color: #FFFEF3;
}
#party-set.party-set-page::before,
#party-set.party-set-page::after,
#family-set.party-set-page::before,
#family-set.party-set-page::after{
  background-image: url("../img/party-set/particle.webp");
  background-size: cover;
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 15%;
}

#party-set.party-set-page::after,
#family-set.party-set-page::after{
  transform: scale(-1,1);
  left: auto;
  right: 0;
}

#party-set.party-set-page .price,
#family-set.party-set-page .price{
  font-size: 2.5rem;
  margin-bottom: 5rem;
}
#party-set.party-set-page .price span,
#family-set.party-set-page .price span{
  font-size: 4.5rem;
}

#party-set.party-set-page .set,
#family-set.party-set-page .set{
  align-item: center;
  background-color: #fff;
  border: 1px solid var(--sub01);
  display: flex;
  flex-flow: column;
  margin-left: auto;
  margin-right: auto;
  max-width: 620px;
  width: 100%;
}

#party-set.party-set-page .set h3,
#family-set.party-set-page .set h3{
  background-color: #FFF0DC;
  color: var(--sub01);
  font-size: 3rem;
  padding: 15px;
}

#party-set.party-set-page .set ol,
#family-set.party-set-page .set ol{
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .page_intro.party-set-page .anchor_btn__box .link_btn{
    width: 48%;
  }
  
  .party-set-page .menu_parts .item.main .img_box{
    width: 100%;
  }
  .party-set-page .menu_parts .item.main .text_box{
    padding-top: 0;
    width: 100%;
  }
  
  #party-set.party-set-page::before,
  #party-set.party-set-page::after,
  #family-set.party-set-page::before,
  #family-set.party-set-page::after{
    width: 10%;
  }
  
  .party-set-page .store_box .item{
    width: 100%;
  }
  
  .party-set-page .store_box .item .en{
    font-size: 15px;
  }
  .party-set-page .store_box .item .name{
    font-size: 22px;
  }
  .party-set-page .store_box .item .link_btn a{
    font-size: 16px;
  }
  
  #wine-menu.party-set-page .menu_parts .item .price strong{
    font-size: 18.5px;
    padding-left: 0;
  }
  
}

/*-------------------------------
法要・お祝い膳
-------------------------------*/
#gift.memorial-page::before{
  background-color: rgba(0,0,0,0.2);
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

#gift.memorial-page .inner{
  background-image: url("../img/memorial/bg_gift.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 3rem;
  position: relative;
}

#gift.memorial-page .flex_box{
  background-color: rgba(255,255,255,0.8);
  border-radius: 10px;
  font-weight: 500;
  padding: 3rem;
  padding-right: 0;
  width: calc(70% + 3rem);
}

#gift.memorial-page .text_box{
  width: 65%;
}

#gift.memorial-page h3{
  color: var(--sub02);
  font-size: clamp(26px,3.91vw,4rem);
}

#gift.memorial-page p.gift{
  color: var(--sub02);
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 10px;
}

#gift.memorial-page .img_box{
  width: 32%;
}

#gift.memorial-page .img_box .box{
  position: relative;
  left: 4.5rem;
  z-index: 2;
}

#gift.memorial-page .img_box .osuimono{
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
}

#gift.memorial-page .img_box .osuimono img{
  object-fit: cover;
  height: 100%;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  #gift.memorial-page .inner{
    padding-left: 15px;
    padding-right: 15px;
  }
  
  #gift.memorial-page .flex_box{
    padding: 0;
    width: 100%;
  }
  
  #gift.memorial-page .text_box{
    padding: 20px;
    width: 100%;
  }
  
  #gift.memorial-page p.gift{
    font-size: 18px;
  }
  
  #gift.memorial-page .img_box{
    display: flex;
    justify-content: center;
    width: 100%;
  }
  
  #gift.memorial-page .img_box .box{
    left: 15px;
    width: 50%;
  }
  
  #gift.memorial-page .img_box .osuimono{
    height: auto;
    position: static;
    width: 50%;
  }
  
  #gift.memorial-page .img_box .osuimono img{
    height: auto;
  }
}


/*------------------------------
おもてなし御膳
-------------------------------*/
#recommend.gozen-page .menu_parts{
  display: block;
}

#recommend.gozen-page .item{
  align-items: flex-start;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}

#recommend.gozen-page .item .img_box{
  margin-bottom: 4rem;
  width: 100%;
}

#recommend.gozen-page .item .menu{
  align-content: center;
  aspect-ratio:5/4;
  font-size: 5rem;
  line-height: 1em;
  text-align: center;
  width: 17%;
}
#recommend.gozen-page .item .menu small{
  font-size: 50%;
}

#recommend.gozen-page .item .text_box{
  padding: 0;
  width: 35%;
}

#recommend.gozen-page .item .text_box .price{
  color: var(--sub02);
  font-size: 3rem;
}

#recommend.gozen-page .item .text_box .option span{
  display: block;
  text-align: center;
}
  
#recommend.gozen-page .item .ul_wrap{
  font-weight: 500;
  width: 34%;
}

#recommend.gozen-page .item .ul_wrap ul{
  margin: 0 !important;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #recommend.gozen-page .item .menu{
    aspect-ratio: auto;
    font-size: 30px;
    margin-bottom: 15px;
    width: 100%;
  }
  
  #recommend.gozen-page .item .text_box{
    margin-bottom: 15px;
    width: 100%;
  }
  
  #recommend.gozen-page .item .ul_wrap{
    width: 100%;
  }
}


/*=======================================

一覧ページ

========================================*/
#archive .bg_white{
  padding: 10rem 0;
}

#archive .category_wrap h2{
  color: var(--sub02);
  margin-bottom: 22px;
}

#archive .category_wrap ul,
#single .category_wrap ul{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 6rem;
}

#archive .category_wrap ul li a,
#single .category_wrap ul li a{
  border: 1px solid var(--sub01);
  border-radius: 999px;
  color: var(--sub01);
  font-family: var(--mincho);
  font-size: 2rem;
  font-weight: 700;
  min-width: 165px;
  padding: 10px;
  text-align: center;
}

#archive .category_wrap ul li a:hover,
#single .category_wrap ul li a:hover{
  background-color: #F8F6F2;
}

#archive .category_wrap ul li.current-cat a{
  background-color: var(--sub01);
  color: #fff;
  pointer-events: none;
}

.post_list a{
  border-bottom: 1px solid #C6C6C6;
  color: #000;
  display: block;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.post_list a .date,
.single_info .date{
  display: inline-block;
  font-weight: 400;
  margin-right: 2rem;
  margin-bottom: 10px;
}

.post_list a .new,
.post_list a .category,
.single_info .new,
.single_info .category{
  background-color: #C4E2D0;
  border-radius: 999px;
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 3px 15px;
  text-align: center;
}

.post_list a .new,
.single_info .new{
  background-color: #E94E4E;
  color: #fff;
}
.post_list a .cat-event,
.single_info .cat-event,
#front-page #news .news_box .cat-event{
  background-color: #D2F5F9 !important;
}
.post_list a .cat-recruit,
.single_info .cat-recruit,
#front-page #news .news_box .cat-recruit{
  background-color: #F8E9D1 !important;
}
.post_list a .cat-special,
.single_info .cat-special,
#front-page #news .news_box .cat-special{
  background-color: #F6F4BE !important;
}

.post_list a .title{
  font-size: 2rem;
  font-weight: 700;
  margin-top: 10px;
}

nav.navigation .nav-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 7rem;
}

nav.navigation .nav-links .page-numbers{
  align-content: center;
  border: 1px solid #007642;
  color: #007642;
  font-weight: 700;
  height: 50px;
  min-width: 50px;
  padding: 8px;
  text-align: center;
}

nav.navigation .nav-links .page-numbers.current{
  background-color: #007642;
  color: #fff;
}

nav.navigation .nav-links .prev,
nav.navigation .nav-links .next{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/*=======================================

詳細ページ

========================================*/
#single{
  background-color: #fff;
  padding-bottom: 10rem;
}

#single .article{
  border-bottom: 1px solid #BBBBBB;
  padding-bottom: 10rem;
}

#single .single_info{
  padding-top: 6rem;
}

#single .single_info .title,
#single .tribe-events-single-event-title{
  border-bottom: 6px dotted var(--sub01);
  font-size: clamp(24px,3.52vw,3.6rem);
  margin-bottom: 50px;
  padding-bottom: 22px;
}

#single .article p,
#single .tribe-events-single-event-description p{
  margin-bottom: 30px;
}

#single .article p,
#single .article li,
#single .tribe-events-single-event-description p,
#single .tribe-events-single-event-description li{
  line-height: 2em;
}

#single .article p a,
#single .article li a,
#single .tribe-events-single-event-description p a,
#single .tribe-events-single-event-description li a{
  color: var(--sub01);
  border: none;
  text-decoration: underline;
}

#single .article p a[target="_blank"]::after,
#single .article li a[target="_blank"]::after,
#single .tribe-events-single-event-description p a[target="_blank"]::after,
#single .tribe-events-single-event-description li a[target="_blank"]::after{
  background-image: url("../img/common/icon_target-orange.svg");
  content: "";
  display: inline-block;
  height: 1em;
  margin-left: 5px;
  margin-right: 5px;
  width: 1em;
}

#single h2.wp-block-heading,
#single .tribe-events-single-event-description h2{
  background-color: #583C32;
  border-radius: 5px;
  color: #fff;
  font-size: clamp(22px,2.93vw,3rem);
  margin-top: 5rem;
  margin-bottom: 40px;
  padding: 12px 12px 12px 60px;
  position: relative;
}

#single h2.wp-block-heading::before,
#single .tribe-events-single-event-description h2::before{
  background-color: #fff;
  border-radius: 999px;
  content: "";
  height: 25px;
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
}

#densiet h3.wp-block-heading,
#single h3.wp-block-heading,
#single .tribe-events-single-event-description h3{
  border-bottom: 5px solid var(--sub02);
  font-size: 2.6rem;
  margin-top: 40px;
  margin-bottom: 35px;
  padding-bottom: 2rem;
  position: relative;
}

#densiet h3.wp-block-heading::before,
#single h3.wp-block-heading::before,
#single .tribe-events-single-event-description h3::before{
  background-color: var(--sub01);
  content: "";
  height: 5px;
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 200px;
}

#single h4.wp-block-heading,
#single .tribe-events-single-event-description h4{
  border-bottom: 2px solid var(--sub02);
  font-size: 2.3rem;
  margin-top: 40px;
  margin-bottom: 35px;
  padding-left: 27px;
  padding-bottom: 12px;
  position: relative;
}

#single h4.wp-block-heading::before,
#single .tribe-events-single-event-description h4::before{
  background-color: var(--sub01);
  border-radius: 999px;
  content: "";
  height: 18px;
  position: absolute;
  top: 10px;
  left: 0;
  width: 18px;
}

#single h5.wp-block-heading,
#single .tribe-events-single-event-description h5{
  background-image : linear-gradient(to right, var(--sub02) 2px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 4px 1px;
  font-size: clamp(18px,1.95vw,20px);
  margin-top: 40px;
  margin-bottom: 35px;
  padding-left: 12px;
  padding-bottom: 12px;
  position: relative;
}

#single h5.wp-block-heading::before,
#single .tribe-events-single-event-description h5::before{
  background-color: var(--sub01);
  content: "";
  height: calc(100% - 12px);
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
}

#single h6.wp-block-heading,
#single .tribe-events-single-event-description h6{
  color: var(--sub01);
  font-size: 18px;
  margin-top: 40px;
  margin-bottom: 35px;
}

#single .wp-block-buttons,
#single .wp-block-image,
#single .wp-block-gallery,
#single .wp-block-columns,
#single .wp-block-table{
  margin: 30px 0;
}

#single .wp-block-columns .wp-block-image{
  margin: 0;
}

#single .wp-block-button a{
  background-color: var(--main);
  border: 1px solid var(--main);
  border-radius: 0;
  color: #fff;
  font-weight: 700;
  padding: 25px 35px;
  padding-right: 50px;
  text-decoration: none;
}

#single .wp-block-button a:hover{
  background-color: #fff;
  color: var(--main);
}

#single .wp-block-button a::before{
  background-image: url("../img/common/icon_arrow_white.svg");
  background-position: center;
  background-size: cover;
  content: "";
  height: 16px;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  width: 20px;
}

#single .wp-block-button.is-style-outline a{
  background-color: #fff;
  color: var(--main);
}

#single .wp-block-button.is-style-outline a:hover{
  background-color: var(--main);
  color: #fff;
}

#single .wp-block-button.is-style-outline a:hover::before{
  background-image: url("../img/common/icon_arrow_white.svg");
}

#single .wp-block-button.is-style-outline a::before,
#single .wp-block-button a:hover::before{
  background-image: url("../img/common/icon_arrow_green.svg");
}

#single .wp-block-button a[target="_blank"]::before{
   height: 20px;
}

#single .wp-block-button a[target="_blank"]:hover::before,
#single .wp-block-button.is-style-outline a[target="_blank"]::before{
  background-image: url("../img/common/icon_target-green.svg");
}

#single .wp-block-button a[target="_blank"]::before,
#single .wp-block-button.is-style-outline a[target="_blank"]:hover::before{
  background-image: url("../img/common/icon_target-white.svg");
}

ol.wp-block-list,
.tribe-events-single-event-description ol{
  counter-reset: ol_block;
}

ol.wp-block-list,
ul.wp-block-list,
.tribe-events-single-event-description ol,
.tribe-events-single-event-description ul{
  margin: 30px 0;
}

ul.wp-block-list li,
.tribe-events-single-event-description ul li{
  padding-left: 18px;
}
ul.wp-block-list li::before,
.tribe-events-single-event-description ul li::before{
  background-color: var(--sub01);
  border-radius: 999px;
  content: "";
  height: 8px;
  position: absolute;
  top: 16px;
  left: 0;
  width: 8px;
}

ol.wp-block-list li,
.tribe-events-single-event-description ol li{
  margin-bottom: 10px;
  padding-left: 40px;
}
ol.wp-block-list li::before,
.tribe-events-single-event-description ol li::before{
  background-color: var(--sub01);
  border-radius: 5px;
  color: #fff;
  content: counter(ol_block);
  counter-increment: ol_block;
  font-weight: 700;
  height: 28px;
  line-height: 28px;
  position: absolute;
  top: 4px;
  left: 0;
  text-align: center;
  width: 28px;
}

.wp-block-table,
#single table{
  border: 1px solid #007642;
  width: 100%;
}

.wp-block-table table tr,
#single .tribe-events-single-event-description table tr{
  border-bottom: 1px solid #ccc;
  display: flex;
}

.wp-block-table table th,
.wp-block-table table td,
#single .tribe-events-single-event-description table th,
#single .tribe-events-single-event-description table td{
  border: none;
  display: block;
  padding: 3rem 15px;
  width: 100%;
}

.wp-block-table table th,
.wp-block-table table tr td:first-child,
#single .tribe-events-single-event-description table th{
  align-content: center;
  background-color: #E8F5EF;
  border: none;
  font-weight: 700;
  max-width: 300px;
}

.wp-block-table table td,
#single .tribe-events-single-event-description table td{
  border-right: 1px solid #ccc;
}

.is-style-line{
  border: 1px solid var(--sub01);
  margin-top: 30px;
  padding: 30px clamp(15px,2.93vw,3rem);
}

.is-style-bg,
#single .tribe-events-content blockquote{
  background-color: #FFF0DC;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 30px clamp(15px,2.93vw,3rem);
}

.is-style-special{
  border: 2px solid var(--sub01);
  border-radius: 10px;
  font-size: 2rem;
  margin-top: 30px;
  padding: 3rem;
  padding-left: 110px;
  position: relative;
}

.is-style-special::before{
  background-image: url("../img/common/icon_megaphone.png");
  content: "";
  height: 40px;
  position: absolute;
  top: 3rem;
  left: 35px;
  width: 48px;
}

#single .post_list{
  margin-bottom: 9rem;
}

.other_post {
  align-items: center;
  margin-top: 50px;
  margin-bottom: 9rem;
}

.other_post div a{
  color: var(--main);
  font-weight: 700;
}

.other_post .button a{
  border: 1px solid var(--main);
  padding: 12px 25px;
}

.other_post .button a:hover{
  background-color:  #E8F5E8;
}

.other_post .center{
  width: 40%;
}

.other_post .center a:hover{
  text-decoration: underline;
}

.other_post .nav-previous a::before,
.other_post .nav-next a::after{
  background-image: url("../img/common/icon_arrow_green.svg");
  content: "";
  display: inline-block;
  height: 1em;
  vertical-align: middle;
  position: relative;
  top: -2px;
  width: 1.5em;
}

.other_post .nav-previous a::before{
  margin-right: 10px;
  transform: scale(-1, 1);
}

.other_post .nav-next a::after{
  margin-left: 10px;
}

.other_post .center a::before{
  background-image: url("../img/common/icon_bento-menu.png");
  content: "";
  display: inline-block;
  height: 28px;
  margin-right: 10px;
  position: relative;
  top: -2px;
  vertical-align: middle;
  width: 28px;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #single h2.wp-block-heading, 
  #single .tribe-events-single-event-description h2{
    padding-left: 45px;
  }
  
  #single h3.wp-block-heading::before,
  #single .tribe-events-single-event-description h3::before{
    width: 120px;
  }
  
  #single h4.wp-block-heading::before,
  #single .tribe-events-single-event-description h4::before{
    top: 6px;
  }
  
  #single .wp-block-buttons{
    justify-content: center;
  }
  
  #single ul.wp-block-list li::before, 
  #single .tribe-events-single-event-description ul li::before{
    top: 13px;
  }
  
  #single ol.wp-block-list li, 
  #single .tribe-events-single-event-description ol li{
    margin-bottom: 10px;
  }
  
  #single ol.wp-block-list li::before, 
  #single .tribe-events-single-event-description ol li::before{
    top: 2px;
  }
  
  .is-style-special{
    padding-left: 65px;
  }
  
  .is-style-special::before{
    height: 30px;
    left: 15px;
    width: 34px;
  }
  
  .other_post div{
    margin-top: 25px;
    margin-left: 5px;
    margin-right: 5px;
  }
  
  .other_post .center{
    order: 3;
    width: 100%
  }
}


/*------------------------------
カレンダー　詳細
-------------------------------*/
#single #tribe-events-pg-template{
  max-width: 1200px;
}

#single .tribe-events-single-section.tribe-events-event-meta,
#single .tribe-events-back{
  display: none !important;
}

#single #back_calendar{
  display: block;
  margin-bottom: 30px;
}

#single #back_calendar a{
  color: #222;
  font-size: 18px;
  font-weight: 700;
  padding-left: 50px;
}

#single .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a,
#single .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a{
  color: #222 !important;
}

#single #back_calendar a:hover,
#single .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:hover,
#single .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:hover{
  opacity: 0.7;
  text-decoration: underline;
}

#single #back_calendar a::before{
  background-image: url("../img/common/icon_calendar-abstract.svg");
  content: "";
  height: 1.5em;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
}

#single .tribe-events-single-event-title,
#single .tribe-events-content,
#single .tribe-events-single .tribe-events-sub-nav{
  font-family: var(--gosick);
}

#single .tribe-events-notices{
  border: none;
  margin: 40px 0 20px;
  padding: 0;
}

#single .tribe-events-notices li{
  border: 1px solid #D54900;
  color: #D54900;
  font-weight: 600;
  padding: 5px 10px;
}

#single .tribe-events-notices li::before{
  content: "\203B";
}

.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content{
  position: static !important;
}

#single .tribe-events-content blockquote::before,
#single .tribe-events-content blockquote::after{
  display: none;
}

#single .tribe-events-content blockquote p:last-child{
  margin-bottom: 0;
}