@charset "UTF-8";
h1 {
/*  top:95vh; */
  top: -10vh;
}
.iPad h1 {
  top:57vh;
}
#firefly {
  position: absolute;
  top:30%;
  left: 0%;
  width: 50%;
  height: 100%;
  z-index: 1;
}

/* ------------------------------------------------------------- */
/* StyleSection _ #main-img ( HOME )                             */
/* ------------------------------------------------------------- */
#main-img {
  width: 100%;
  max-width: calc(100% - 60px);
  margin-left: auto;
  height: 100vh;
  position: relative;
}
#main-img::after {
  display: block;
  content:'';
  width: 50%;
  height: 50vh;
  position: absolute;
  top:0;
  left: -60px;
  background: url('../img/top/main-img-bg.webp');
  background-size: cover;
  background-position: center;
  z-index: -1;
  opacity: .8;
}

#main-img h2 {
  color:#fff;
  font-size:1.8rem;
  line-height:2.4rem;
}

.iPad #main-img {
  height: 60vh;
  max-width: calc(100% - 40px);
}
.iPad .swiper-container {
  height: 60vh;
}
.iPad .sidebar {
  width: 40px;
  height: 60vh;
  left: -20px;
}
.swiper-container {
  width: 100%;
  height: 100vh;
  margin-left: auto;
  position: absolute!important;
  top: 0;
  right:0;
  margin: 0!important;
}
.slide-img {
  position: relative;
}
.slide-img img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}
.slideno1 {
  width: 100%;
  height: 100%;
  background: url("../img/top/main01.webp");
  background-size: cover;
  background-position: top center;
  position: relative;
}
.slideno2 {
  width: 100%;
  height: 100%;
  background: url("../img/top/main02.webp");
  background-size: cover;
  background-position: right top;
  position: relative;
}
.slideno2::after {
  display: block;
  content:'';
  width: 100%;
  height: 100%;
  background: url("../img/overlays/02-w.png");
  background-repeat: repeat;
  position: absolute;
  top:0;
  left: 0;
}
.swiper-pagination {
  z-index: 4;
}
.main-img-inner {
  display: block;
  width: 35%;
  height: auto;
  padding: 0 50px;
  box-sizing: border-box;
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  z-index: 2;
}
.style-aa {
  width: 40%;
  left: 70%;
}
.main-img-title {
  width: 100%;
  height: auto;
  padding-bottom: 10px;
  position: relative;
}
.main-img-title img {
  width: 100%;
  height: auto;
}
.style-aa .main-img-title img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.main-img-text h2 {
  font-size: 1.2rem;
  font-weight:normal;
  margin-top: 20px;
}
.main-img-link {
  width: 100%;
  height: auto;
}
.main-img-link a {
  display: block;
  width: 60%;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  margin:10px 0 0 0;
  box-sizing: border-box;
  background: linear-gradient(to right,#D3B8B8,#E5D6D6);
  color:#fff;
}
.shiny-btn1 {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  box-sizing: border-box;
  overflow: hidden;
}
.shiny-btn1:hover {
  text-decoration: none;
}
.shiny-btn1::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}
@keyframes shiny-btn1 {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes shiny-btn1 {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
.shop-banner {
  width:30%;
  height:auto;
  position:absolute;
  bottom:5%;left:5%;
  z-index:1;
}
.shop-banner a,.shop-banner img {
  display: block;
  width: 100%;
  height: auto;
}
.shop-banner-sp {
  display:none;
}

/*----------------------------------------
  contents
-----------------------------------------*/
#contents {
  width:100%;
  height: auto;
  padding:100px 0 80px 0;
  position: relative;
}
#contents::before {
  display: block;
  content:'';
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  background: linear-gradient(to bottom,rgba(255,255,255,1) 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,0) 100%);
}
#contents::after {
  display: block;
  content:'';
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  background: url('../img/top/concept-bg.webp');
  background-size: cover;
  background-position: center;
  z-index: -1;
  opacity: .2;
}
.contents {
  width: 100%;
  max-width: 1280px;
  height: auto;
  margin: 0 auto;
  display: flex;
}


/*----------------------------------------
  concept
-----------------------------------------*/
#concept {
  width: 50%;
  height: auto;
  padding: 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
#concept h2 {
  display: flex;
  font-size: 2em;
  flex-direction: column;
  position: relative;
}
#concept h2 img {
  display:block;
  width:100%;
  height:auto;
  margin-bottom:14px;
}
.concept-lead {
  display:flex;
  align-items:center;
  margin-top:8px;
  font-size:2rem;
  line-height:1.6;
  color:#A8915D;
}
.concept-lead::after {
  margin-left:5px;
  border-top:1px solid #D5CDB9;
  content:"";
  flex-grow:1;
}
.concept-text {
  margin-top:20px;
  padding:0 10px;
  box-sizing:border-box;
}
.concept-inner {
  width: 100%;
  height: auto;
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
.concept-inner img {
  width: auto;
  height: 220px;
  object-fit: cover;
  display: block;
}
.concept-inner img:first-child {
  width: 30%;
}
.concept-inner img:nth-child(2) {
  width: 68%;
  object-position:bottom right;
}


/*----------------------------------------
  news
-----------------------------------------*/
#news {
  width: 50%;
  height: auto;
  padding: 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
.news {
  width: 100%;
  height: auto;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 30px 30px 10px 30px;
  box-sizing: border-box;
}
.news h2 {
  font-size: 3rem;
  font-family: 'Cormorant Garamond', serif;
  margin-bottom: 10px;
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.news-title {
  font-family: initial;
  font-weight:normal;
  font-size:1.8rem;
  padding-left: 5px;
}
#news-blog {
  width: 100%;
  height: 350px;
  overflow-y: scroll;
  padding:0 10px;
  box-sizing: border-box;
  background:rgba(197,185,157,.1);
}
.wp-article {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  border-bottom: 1px dotted #ccc;
  padding: 10px 0 5px 0;
  box-sizing: border-box;
}
.wp-article dl {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.wp-article-inner dt {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  box-sizing: border-box;
}
.wp-article-date {
  font-size: 1.6rem;
  margin-right: 10px;
}
.catnews01 {
  width: auto;
  padding: 0 15px;
  box-sizing: border-box;
  color:#fff;
  font-weight: bold;
  background: #C5B99D;
  font-size: 1rem;
  white-space: nowrap;
}
.catcampaign {
  background: #DDD7C7;
}
.catesthetic {
  background: #C7DDD6;
}
.catblog {
  background: #D0D2D3;
}
.catevent {
  background: #DDC7CE;
}
.wp-article dd {
  width: 100%;
  height: auto;
  overflow: hidden;

}
.wp-article-inner dd h3 {
  width: 100%;
  height: auto;
}
.wp-article-inner dd h3 a {
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
}
.news-link {
  margin-bottom: 10px;
  width: 100%;
  height: auto;
  text-align: right;
}
.news-link a {
  font-size: 1.2rem;
  font-weight: 600;
}


/*----------------------------------------
  #menu
-----------------------------------------*/
#wrapper {
  width: 100%;
  height: auto;
  position: relative;
}
.wrapper-bg {
  width: 100%;
  height: 65%;
  background: #D5CDB9;
  position: absolute;
  top:35%;
  left:0;
  z-index: -1;
}
#menu {
  width:100%;
  height:auto;
  padding:80px 0;
  position:relative;
}
#menu::before {
  display:block;
  content:'';
  width:100%;
  height:200px;
  position: absolute;
  top:-100px;
  left: 0;
  background:linear-gradient(to bottom,rgba(255,255,255,.0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,.0) 100%);
  background-size: cover;
  background-position: center;
  z-index: 1;
}
#menu::after {
  display: block;
  content:'';
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  background: url('../img/top/main-img-bg.webp');
  background-size: cover;
  background-position: center;
  z-index: -1;
  opacity: .1;
}
.menu-wrap {
  width:100%;
  height:auto;
  max-width:1280px;
  margin:0 auto;
  position:relative;
}
.menu-title {
  width:100%;
  height:auto;
  margin:0 auto 50px auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.menu-title img {
  display:block;
  width:180px;
  height:auto;
}
.menu-title h2 {
  width: 100%;
  height: auto;
  font-size: 5rem;
  font-family: 'Cormorant Garamond', serif;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.menu-title-sub {
  font-size:1.6rem;
  font-weight:normal;
  font-family:'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'メイリオ', 'Meiryo', 'MS UI Gothic', sans-serif;text-align:center;
}
.menu-title h2 img {
  width:100%;
  max-width:400px;
  height:auto;
}
.menu {
  width:100%;
  height:auto;
  margin:0 auto 50px auto;
  display:flex;
}
.menu-category {
  display:flex;
  flex-direction:column;
  margin:0 10px;
  box-sizing:border-box;
}
.menu-category:first-child {
  width:45%;
  height:auto;
  position: relative;
}
.menu-category:nth-child(2),
.menu-category:nth-child(3) {
  width: 27.5%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.menu-category:nth-child(2) {
  margin-top: 50px;
}
.menu-category:nth-child(3) {
  margin-top: 100px;
}
.menu-category-img {
  width: 100%;
  height:100%;
}
.style-a img {
  display: block;
  width: 100%;
  height:100%;
  object-fit:cover;
}
.style-b img {
  display: block;
  width: 100%;
  height:100%;
  object-fit:cover;
}
.menu-category-inner {
  display:flex;
  flex-direction:column;
  width:100%;
  height:auto;
  min-height:275px;
  padding:20px 30px 30px 30px;
  box-sizing: border-box;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background: rgba(255,255,255,.6);

}
.menu-category-inner2 {
  width:100%;
  height:auto;
  padding:20px 20px 30px 20px;
  background: rgba(255,255,255,.6);
  box-sizing: border-box;
  display:flex;flex-direction:column;
}


/*----- .hadakanri ----- */
.menu-category-inner h3,.menu-category-inner2 h3,.hadakanri-title > span {
  font-size: 2rem;
  font-family: 'Cinzel', serif;
  font-weight: normal;
  line-height: 1.4;
}
.menu-category-inner h3 span,.menu-category-inner2 h3 span,.hadakanri-title > h3{
  font-size:1.4rem;
  display: block;
  font-family:'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'メイリオ', 'Meiryo', 'MS UI Gothic', sans-serif;
}
.menu-category-inner h3 {
  color:#403620;
}
.menu-category-inner2 h3 span,.hadakanri-title > h3{
  color:#857143;
}



.menu-category-inner p,.menu-category-inner2 p {
  padding:15px 0;
  font-size: 1.6rem;
}
.menu-category-inner a,.menu-category-inner2 a {
  display:flex;justify-content:space-between;
  align-items:center;align-items:center;
  width:65%;
  height:60px;
  background: #C5B48D;
  color:#fff;
  padding:0 20px;
  box-sizing:border-box;
  margin-top:auto;
}
.menu-category-inner2 a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  height:60px;
  background: #C5B48D;
  color:#fff;
  padding: 0 20px;
  box-sizing: border-box;
  margin-top: auto;
}


/*---------------------------
  .hadakanri
---------------------------*/
.hadakanri {
  width:80%;
  height:auto;
  margin:0 auto;
}
.hadakanri-cols {
  width:100%;
  height:auto;
  display:flex;justify-content:space-between;
}
.hadakanri-img {
  width:50%;height:auto;
}
.hadakanri-img > img {
  display:block;width:100%;height:100%;object-fit:cover;
}
.hadakanri-inner {
  width:50%;
  padding:40px;box-sizing:border-box;
  background-color:rgba(255,255,255,.6);
}
.hadakanri-title {
  width:100%;height:auto;display:flex;flex-direction:column-reverse;line-height:1.6;
  margin-bottom:15px;
}
.hadakanri-title > h3 {
  font-weight:normal;
}
.hadakanri-inner > p {
  margin-bottom:15px;
}
.hadakanri-link {
  width:75%;height:auto;
}
.hadakanri-link > a {
  width:100%;
  height:60px;
  display:flex;justify-content:space-between;
  align-items:center;align-items:center;
  background:#C5B48D;
  color:#fff;padding:0 20px;
  box-sizing:border-box;
}



/*---------------------------
  #menu-bottom
---------------------------*/
#menu-bottom {
  width: 100%;
  height: auto;
  position: relative;
}
#menu-bottom::after {
  display: block;
  content:'';
  width: 60%;
  height: 140%;
  position: absolute;
  bottom: calc( -30% - 60px);
  left:0;
  background:url('../img/top/bg_wave.webp');
  background-size: cover;
  z-index: 1;
}
.menu-bottom {
  width: 100%;
  max-width: 1200px;
  height: auto;
  margin: 0 auto;
  padding: 80px 0;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}
.menu-bottom-title {
  width: 50%;
  height: auto;
  padding: 30px;
  box-sizing: border-box;
}
.menu-bottom-title h2 {
  font-size: 2rem;
  font-family: 'Cinzel', serif;
  font-weight: normal;
  color:#fff;
  padding-left: 20px;
  box-sizing: border-box;
}
.menu-bottom-title img {
  width: 100%;
  height: auto;
  display: block;
}
.menu-bottom-inner {
  width: 50%;
  height: auto;
  padding: 30px;
  box-sizing: border-box;
  color: #fff;
}
.menu-bottom-inner p {
  line-height: 2.2;
}
.menu-bottom-inner a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:70%;
  height:60px;
  padding: 0px 20px;
  box-sizing: border-box;
  background: #fff;
  color: #C5B48D;
  font-weight: bold;
  margin-top: 20px;
}
#wrapper2 {
  width: 100%;
  height: auto;
  position: relative;
}
#wrapper2::after {
  display: block;
  content:'';
  width: 50%;
  height: 100%;
  background: #F3F0EB;
  position: absolute;
  top:20%;
  left:0;
  z-index: -1;
}
#bg {
  width: 100%;
  height: 600px;
  position: relative;
}
#bg::after {
  display: block;
  content:'';
  width: 100%;
  height: 70%;
  position: absolute;
  top:0;
  left: 0;
  background: #D5CDB9;
  opacity: 1;
  z-index: -1;
}
.bg {
  width: 100%;
  max-width:1280px;
  margin: 0 auto;
  height: 70%;
  background: #F3F0EB;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  top:30%;
  z-index: 1;
}
.bg::after {
  display: block;
  content:'';
  width: 100vw;
  height: 100%;
  margin:0 calc( 50% - 50vw );
  position: absolute;
  right:0;
  top:0;
  background: #F3F0EB;
}
.bg-inner {
  width: 40%;
  height: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
}
.bg-img {
  width: 60%;
  position: absolute;
  top: 10%;
  height: 90%;
  right: 0;
  z-index:1;
}
.bg-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bg-img-inner {
  width: 100%;
  max-width: 380px;
  height: auto;
  position: absolute;
  bottom:10%;
  left: 5%;
}
.iPhone .bg-img-inner {
  font-family: initial;
}
.bg-img-inner h2 {
  color:#fff;
  font-family: 'Cinzel', serif;
  font-weight: normal;
  font-size: 4rem;
  line-height: 1.2;
}
.bg-img-inner-title {
  display: block;
  color:#D5CDB9;
  letter-spacing: .15em;
  position: relative;
  display: flex;
  align-items: center;
}
.title-border {
display: flex;
align-items:center; text-align:center;
}
.title-border:before {
  margin-right:5px;
  border-top:1px solid #D5CDB9;
  content:"";
  flex-grow:1;
}
.title-border:after {
  margin-left:5px;
  border-top:1px solid #D5CDB9;
  content:"";
  flex-grow:1;
}
.bg-img-inner-lead {
  color:#fff;
  letter-spacing: .15em;
  margin-bottom: 5px;
}
.bg-img-inner-text {
  color:#fff;
  padding: 10px 0;
}
.bg-img-inner a {
  display:inline-flex;
  width: 80%;
  padding: 10px 20px;
  background: #fff;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}


/*----------------------------------------
  #pickup
-----------------------------------------*/
#pickup {
  width: 100%;
  height: auto;
  padding: 0 0 80px 0;
  position: relative;
}
.pickup {
  width: 100%;
  max-width: 1280px;
  height: auto;
  margin: 0 auto;
  padding-top: 80px;
}
.pickup-title {
  width: 100%;
  height: auto;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
.pickup-title h2 {
  width: 100%;
  height: auto;
  font-size: 5rem;
  font-family: 'Cormorant Garamond', serif;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.pickup-title h2::after {
  display: block;
  content:'';
  width: 100%;
  height: 100%;
  position: absolute;
  top:90%;
  left:50%;
  transform: translate(-50%,-50%);
  background: url('../img/top/title-bg-old.webp');
  background-size:contain;
  background-position: center bottom;
  background-repeat: no-repeat;
  opacity: .7;
  z-index: -1;
}
.pickup-title img {
  display: block;
  width: 180px;
  height: auto;
}

.pickup-title-sub {
  font-size: 1.8rem;
  font-weight:normal;
  font-family:'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'メイリオ', 'Meiryo', 'MS UI Gothic', sans-serif;text-align:center;
}
.pickup-inner {
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.banner{
  width:32%;
  height:auto;
  display:flex;flex-direction:column;
  background:#fff;
  margin-bottom: 30px;
}
.banner a,.banner img {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: right;
}
.banner h3 {
  width: 100%;
  height: auto;
}
.banner-inner {
  width: 100%;
  height: auto;
  padding: 20px 20px 40px 20px;
  box-sizing: border-box;
  display:flex;flex-direction:column;flex:1;
}
.banner-title {
  width: 100%;
  height: auto;
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
}
.banner-title img {
  display: block;
  width: 90%;
  height: auto;
  margin: 0 auto;
}
.banner-title-name {
  font-size:2rem;font-weight:bold;
}
.banner-title-name > span {
  font-size:1.2rem;
}
.banner-text {
  padding:15px 0;
}
.banner-inner-link {
  width: 100%;
  height: auto;
  margin-top:auto;
}
.banner-inner-link a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  background: #E6DECE;
  width:100%;
  height:60px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.banner-inner-link > a > p span {
  font-size:1rem;
}


/*----------------------------------------
  #other
-----------------------------------------*/
#other {
  width: 100%;
  height: 600px;
}
.other {
  width: 100%;
  max-width: 1280px;
  height: auto;
  margin: 0 auto;
  display: flex;
}
.other-category {
  width: 50%;
  height: auto;
  display: flex;
  flex-direction: column;

}
.other-title {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 50px;
}
.other-title h2 {
  width: 100%;
  height: auto;
  font-size: 2.6rem;
  font-family: 'Cinzel', serif;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.other-title-sub {
  font-size: 1.2rem;
  font-weight:normal;
  font-family:'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'メイリオ', 'Meiryo', 'MS UI Gothic', sans-serif;text-align:center;color:#c5b99d;
}
#campagin-list,#business {
  width: 100%;
  height: auto;
  padding: 0 10px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.campaign-list {
  width: 31%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.business {
  width:100%;
  height: auto;
  margin-bottom:5px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.campaign-list-eyecatch {
  width: 100%;
  height: auto;
}
.campaign-list-eyecatch img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.campaign-list-date,
.campaign-list h3 {
  font-size: 1rem;
  font-weight: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.campaign-list h3 {
  min-height: 36px;
}
.campaign-link {
  width: 100%;
  height: auto;
  margin-top: auto;
  padding-top: 20px;
}
.campaign-link a {
  width: 45%;
  height: 48px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  box-sizing: border-box;
  background: #E6DECE;
  font-family: 'Cinzel', serif;
}
.business a {
  display:block;
  width:100%;
  height:200px;
  box-sizing:border-box;
}
.business img {
  display:block;
  width:100%;
  height:100%;
  object-fit: cover;
  object-position:center;
}
.business p {
  padding: 10px 0 0 0;
  box-sizing: border-box;
  font-size: 1.2rem;
}



/*----------------------------------------
  #column
-----------------------------------------*/
#column {
  width: 100%;
  height: auto;
  padding: 100px 0;
  position: relative;
  background: #fff;
}
#column::after {
  display: block;
  content:'';
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  background: url('../img/top/main-img-bg.webp');
  background-size: cover;
  background-position: center;
  opacity: .2;
}
.column {
  width: 100%;
  max-width: 1280px;
  height: auto;
  margin: 0 auto;
  padding: 50px;
  box-sizing: border-box;
  z-index: 1;
  border: 1px solid #E6E1D5;
  border-radius: 20px;
  background: #fff;
  position: relative;
  z-index: 1;
}
.column h2 {
  font-size: 2.4rem;
  color:#BC8F8F;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #E6E1D5;
  text-align: center;
}
.column h2 i {
  margin-right: 3px;
}
.column-container {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
}
.column-img {
  width: 25%;
  height: auto;
}
.column-img img {
  display: block;
  width: 100%;
  height: auto;
}
.column-cols {
  width: 72%;
  height: auto;
  position: relative;
}
.column-cols h3 {
  font-size: 2rem;
  padding: 15px 0;
}
.column-text {
  font-size: 1.8rem;
}
@media screen and (max-width:1360px) {
  .pickup {
    width:90%;max-width:initial;
  }
}
@media screen and (max-width: 1280px) {
  html {
    font-size: calc(100vw/128.0);
  }
  .style-aa {
    width: 50%;
    left: 70%;
  }
  .style-bb {
    width: 50%;
  }
  .contents,.menu-wrap {
    width:90%;max-width:initial;
  }
  /*---#menu---*/
  .menu-category-inner2 h3 {
    font-size: 2.6rem;
  }
  #concept h2 {
    font-size: 3.6rem;
  }
  .bg-inner {
    width: 30%;
  }
  .bg-img {
    width: 70%;
  }
  .column {
    width: 90%;
    max-width: initial;
  }

  /*----- .hadakanri ----- */
  .hadakanri {
    width:100%;
  }



}
@media screen and (max-width: 1024px) {
  .shop-banner {
    display:none;
  }
  .shop-banner-sp {
    display:block;
    width:90%;height:auto;margin:50px auto 0 auto;
  }
  .shop-banner-sp a,.shop-banner-sp img {
    display:block;width:100%;height:auto;
  }
  .iPad .style-aa {
    width: 60%;
    left: 70%;
  }
  #concept h2 {
    font-size: 3.2rem;
  }
  /*---#menu---*/
  .menu-wrap {
    width:70%;
  }
  .menu {
    flex-wrap:wrap;
    justify-content:space-between;
  }
  .menu-category {
    margin:0;
  }
  .menu-category:first-child {
    width:100%;
  }
  .menu-category:nth-child(n+2) {
    width:48%;
    margin-top:50px;
  }
  .menu-category-inner {
    min-height:initial;
  }
  .menu-category-inner h3, .menu-category-inner2 h3 {
    font-size: 2.2rem;
  }
  .menu-category-inner a,.menu-category-inner2 a {
    font-size:1.1rem;
    padding: 0 15px;
  }

  /*----- .hadakanri ----- */
  .hadakanri-cols {
    flex-direction:column;
  }
  .hadakanri-img {
    width:100%;
  }
  .hadakanri-inner {
    width:100%;
  }


  .wrapper-bg {
    top:20%;height:80%;
  }
  .banner {
    width:48%;
  }
  #wrapper2::after {
    top:0;
  }
  #other {
    height: auto;
  }
  .other {
    max-width: 896px;
    flex-direction: column;
  }
  .other-category {
    width: 100%;
  }
  .business a {
    height:auto;
  }
  .business img {
    height: auto;
    object-fit: initial;
  }
  .column-container {
    flex-direction: column;
  }
  .column-img {
    width: 40%;
    margin: 0 auto;
    padding: 20px 0;
  }
  .column-cols {
    width: 100%;
  }
}
@media screen and (max-width: 896px) {
  .style-aa {
    width: 70%;
    left: 70%;
  }
  .style-bb {
    width: 60%;
  }
  .contents {
    width: 80%;
    flex-direction: column;
  }
  #concept,
  #news {
    width: 100%;
  }
  .menu-wrap {
    width:80%;
  }
  .menu-category-inner h3, .menu-category-inner2 h3 {
     font-size:3rem;
   }
  .menu-category-inner a,.menu-category-inner2 a {
     font-size: 2.4rem;
     padding: 0 20px;
  }
   .menu-bottom {
     width:80%;
     flex-wrap:wrap;
     padding:0;
   }
   .menu-bottom-title,.menu-bottom-inner {
     width: 100%;
   }
   #menu {
     padding-bottom: 50px;
   }
   .menu-bottom-title, .menu-bottom-inner {
     padding-top: 0;
   }
   .menu-bottom-title h2 {
     padding-bottom: 0;
     text-align: center;
   }
   #menu-bottom::after {
     width: 100%;
     opacity: .3;
   }
   #firefly {
     position: absolute;
     top:0;
     left: 0%;
     width: 100%;
     height: 50%;
     z-index: 1;
   }
   #wrapper2::after {
    top:10%;
  }
   .other {
     width: 80%;
     max-width: initial;
   }
}

@media screen and (max-width: 786px) {
  html {
    font-size: calc(100vw/78.6);
  }
  #contents {
    padding:50px 0;
  }
  #concept h2 {
    font-size: 2.8rem;
    flex-direction: column-reverse;
    border-bottom: 1px solid #D5CDB9;
    padding-bottom: 20px;
  }
  #concept h2 img {
    padding-left:5%;
    box-sizing: border-box;
  }
  .concept-lead {
    text-align:center;
  }
  .concept-lead::before {
    margin-right:5px;
    border-top:1px solid #D5CDB9;
    content:"";
    flex-grow:1;
  }
  .menu-bottom {
    padding-bottom: 50px;
  }
  #bg {
    height: auto;
  }
  #bg::after {
    display: none;
  }
  .bg,.bg-inner {
    width: 100%;
    height: auto;
  }
  .bg::after {
    width:50%;background:#fff;
  }
  .bg-img {
    width: 80%;
    position: relative;
    top: initial;
    height: auto;
    right: initial;
    margin: 0 auto;
  }
  .bg-img a,.bg-img img {
    height: auto;
  }
  .bg-img-inner {
    width: 100%;
    max-width: initial;
    height: auto;
    position: relative;
    bottom:initial;
    left:initial;
    padding: 20px 20px 40px 20px;
    box-sizing: border-box;
    background: #fff;
  }
  .bg-img-inner h2 {
    font-size: 3.2rem;
    padding: 5px 0;
    text-align: center;
  }
  .bg-img-inner-lead,.bg-img-inner h2,.bg-img-inner-text {
    color:#786B4C;
  }
  .bg-img-inner-lead {
    font-size: 1.2rem;
    text-align: center;
  }
  .bg-img-inner-text {
    font-size: 1.2rem;
  }
  .bg-img-inner a {
    background: #E6DECE;
  }
  .pickup-title {
    padding:30px 0;
    margin-bottom:30px;
  }
  .bg-img-inner a {
    width: 100%;
    height: 48px;
    padding: 0 20px;
  }
  #wrapper2::after {
    top:0;
  }
  .pickup {
    width: 80%;
  }
  .pickup-inner {
    flex-wrap: wrap;
  }
  .banner {
    width: 100%;
  }
  .banner a, .banner img {
    height: auto;
  }
  .banner-text {
    font-size: 1.2rem;
  }
  .banner-inner-link a {
    height:60px;
  }
  .other {
    width: 90%;
    max-width: initial;
  }
  .campaign-list {
    width: 48%;
  }
  .campaign-list:last-child {
    display: none;
  }


  /*---#contact---*/
/*
  .contact {
    width: 80%;
    max-width: initial;
  }
  .contact-cols {
    flex-wrap:wrap;
  }
  .contact-shop {
    width:48%;
  }
  .contact-shop:nth-of-type(n+3) {
    margin-top:40px;
  }
  .contact-shop:nth-of-type(3) {
    margin-right:auto;
    margin-left:auto;
  }
*/

  /*---footer---*/
  .footer01 {
    width: 100%;
    margin: 0 auto;
    max-width: initial;
  }
  .footer-address {
    width: 80%;
    flex-direction: column;
    margin: 0 auto;
  }
  .footer-logo {
    display: flex;
    width: 100%;
    margin-right:0;
    padding: 10px 0;
    box-sizing: border-box;
    border-bottom: 1px solid #fff;
  }
  .footer-logo a {
    width: 50%;
    height: auto;
    margin-right: 20px;
  }
  .footer-logo a img {
    width: 100%;
  }
  .footer-address ul {
    padding: 10px 0;
    box-sizing: border-box;
  }
  .footer-nav {
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 680px) {
  .menu-wrap {
    width:80%;
  }
  .menu-category:nth-child(2), .menu-category:nth-child(3) {
    width:100%;
  }
  .menu-category-inner {
    position: relative;
    top:initial;
    left: initial;
    right: initial;
    bottom:initial;
  }
  .menu-category-inner,
  .menu-category-inner2 {
    padding:40px;
  }
  
  /*----- .hadakanri ----- */
  .menu-category-inner a,.hadakanri-link {
    width:100%;
  }



  .wrapper-bg {
    height:85%;top:15%;
  }

  /*---#contact---*/
  .contact-cols {
    width: 80%;
    margin: 0 auto;
    flex-direction:column;
  }
  .contact-shop {
    width: 100%;
  }
  .contact-shop:nth-of-type(n+2) {
    margin-top:60px;
  }
  .contact-lead {
    font-size: 2.6rem;
  }
}



@media screen and (max-width: 480px) {
  html {
    font-size: 62.5%;
  }
  nav ul {
    width:82.5%;
    max-width:initial;
  }
  .nav-tel-text {
    padding-bottom:30px;
  }
  .nav-tel-cols:nth-of-type(n+2) {
    margin-top:30px;
  }
  .nav-tel-lead {
    font-size:3rem;
  }
  h1 {
    top:calc(var(--vh, 1vh) * 70);
    left:50%;
    z-index: 10;
    width: 70%;
    transform: translate(-50%,0);
    padding: 0;
    text-align: initial;
    color:#fff;
  }
  #main-img {
    height:calc(var(--vh, 1vh) * 80);
    max-width: calc(100% - 40px);
  }
  .swiper-container {
    height:100%;
  }
  .slideno1 {
    width: 100%;
    height: 100%;
    background: url("../img/top/main01-sp.jpg");
    background-size: cover;
    background-position: left center;
    position: relative;
  }
  .main-img-inner {
    width: 80%;
    padding: 0;
  }
  .style-aa {
    top:62%;
    left: 45%;
  }
  .style-bb {
    top:50%;
  }
  .main-img-text h2{
    font-size:1rem;
    font-family:initial;
    line-height:1.6;
  }
  .main-img-link a {
    width: 80%;
  }
  .style-b img {
    height: auto;
  }
  .footer01 {
    width: 90%;
  }
  .sidebar {
    width: 40px;
    height: 60vh;
    left: -20px;
  }
  #concept,#news {
    padding: 0;
  }
  .concept-text {
    font-size:1.2rem;
  }
  .concept-text br {
    display: none;
  }
  #news {
    margin-top: 30px;
  }
  .news {
    padding: 20px 20px 10px 20px;
  }
  .news h2 {
    font-size: 2.4rem;
    align-items: center;
  }
  .catnews01 {
    font-size: .8rem;
  }
  #news-blog {
    height: 320px;
  }
  #news-blog dt {
    font-size:1rem;
  }
  .wp-article-inner dd h3 a {
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .contents {
    width: 90%;
    flex-direction: column;
  }
  .concept-lead {
    font-size: 2rem;
    line-height:1.8;
    font-weight:normal;
  }
  .concept-text {
    margin-top: 15px;
    font-size: 1.2rem;
  }
  .wrapper-bg {
    top: 18%;
  }
  #menu {
    padding:50px 0;
  }
  #menu::before {
    height: 100px;
    top:-50px;
  }
  .menu-wrap {
    width:90%;
  }
  .menu-title {
    margin: 0px auto 30px auto;
  }
  .menu-category-inner p, .menu-category-inner2 p {
    font-size:1.6rem;
  }
  .menu-category-inner a,.menu-category-inner2 a {
    width: 100%;
    font-size: 1.2rem;
    margin-top: 10px;
  }

  /*----- .hadakanri ----- */
  .menu-category-inner,.menu-category-inner2,.hadakanri-inner {
    padding: 30px;
  }



  .wrapper-bg {
    height:87.5%;top:12.5%;
  }
  #menu-bottom {
    padding-bottom: 50px;
  }
  .menu-bottom {
    width: 95%;
    max-width: initial;
  }
  .menu-bottom-title h2 {
    font-size: 2.6rem;
    padding-left:0;
    margin-bottom: 20px;
  }
  .menu-bottom-title h2 br {
    display: none;
  }
  .menu-bottom-inner {
    font-size: 2rem;
  }
  .menu-bottom-inner a {
    width:100%;
  }
  .bg-img,.pickup {
    width:90%;
  }
  .bg-img-inner a {
    font-size: 1.2rem;
  }
  #pickup {
    padding-bottom: 30px;
  }
  .pickup {
    padding-top: 30px;
  }
  .pickup-title {
    padding: 30px 0 50px 0;
  }
  .menu-title img,
  .pickup-title img {
    width: 120px;
  }
  .menu-title h2,
  .pickup-title h2 {
    font-size: 4rem;
  }
  .other {
    width: 100%;
  }
  .other-category:first-child {
    background: #fff;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .other-category:last-child {
    background: #F3F0EB;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .other-title {
    margin: 30px 0;
  }
  .business img {
    border: 1px solid #fff;
  }
  .campaign-link {
    margin-top: 10px;
  }
  .campaign-link a {
    width: 80%;
  }
  #column {
    padding: 50px 0;
  }
  .column {
    padding:40px 20px;
    box-sizing: border-box;
  }
  .column h2 {
    font-size: 2rem;
  }
  .column-img {
    width: 70%;
  }
  .column-cols h3 {
    font-size: 1.8rem;
  }
  .column-text {
    font-size: 1.4rem;
    text-align: justify;
  }


  /*---#contact---*/
  #contact {
    padding: 50px 0;
  }
  .contact {
    overflow-x: hidden!important;
  }
  .contact-title {
    width:80%;
  }
  .contact-cols {
    width: 100%;
  }
  .contact-inner {
    flex-wrap: wrap;
  }
  .contact-inner a {
    width: 100%;
  }
  .contact-inner a:first-child {
    margin-bottom: 15px;
  }



  /*---footer---*/
  .footer01 {
    width: 100%;
  }
  .footer-address {
    width: 80%;
    padding-bottom: 20px;
  }
  .footer-logo {
    flex-direction: column;
    align-items: center;
  }
  .footer-logo a {
    width: 60%;
    margin: initial;
    padding-bottom: 20px;
  }
  .footer-nav ul {
    width: 100%;
    padding: 10px 20px;
    margin:  0 auto;
    box-sizing: border-box;
  }
  .footer-nav li {
    line-height: 2.5;
  }
  .footer-sns a {
    width: 35%;
    height: auto;
  }
  .footer-sns a img {
    width: 100%;
    height: auto;
  }
}



/* ------------------------------------------------------------- */
/* StyleSection _ #error-info ( ERROR PAGE )                     */
/* ------------------------------------------------------------- */
#error-info {
  width: 100%;
  height: auto;
  position: relative;
}
#error-info::after {
  display: block;
  content:'';
  width: 60%;
  height: 140%;
  position: absolute;
  bottom: calc( -30% - 60px);
  left:0;
  background:url('../img/top/bg_wave.webp');
  background-size: cover;
  z-index: 1;
}
#error-info h2 {
  width: 100%;
  text-align: center;
  margin-top: 100px;
  font-size: 3em;
  color: #FF5353;
  background-color: #D5CDB9;
}

.error-info {
  width: 100%;
  max-width: 1200px;
  height: auto;
  margin: 0 auto;
/*padding: 80px 0;*/
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}
.error-info-title {
  width: 50%;
  height: auto;
  padding: 30px;
  box-sizing: border-box;
}


.error-info-title img {
  width: 100%;
  height: auto;
  display: block;
}
.error-info-inner {
  width: 50%;
  height: auto;
  padding: 30px;
  box-sizing: border-box;
  color: #FF5353;
}

.error-info-inner p {
  font-size: 1.8em;
}
.error-info-inner a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:70%;
  height:60px;
  padding: 0px 20px;
  box-sizing: border-box;
  background: #fff;
  color: #C5B48D;
  font-weight: bold;
  margin-top: 20px;
}

@media screen and (min-width: 1051px) {
  #error-info {
    margin-bottom:200px;
  }
}


/* ------------------------------------------------------------- */
/* StyleSection _ #form-cont  ( INQUIRY )                        */
/* ------------------------------------------------------------- */
#form-cont {
  width: 100%;
  height: auto;
  position: relative;
}

#form-cont::after {
  display: block;
  content:'';
  width: 60%;
  height: 140%;
  position: absolute;
  bottom: calc( -30% - 60px);
  left:0;
  background:url('./../../common/img/top/bg_wave.webp');
  background-size: cover;
  z-index: 1;
}

#form-cont .form-cont-msg {
  width: 100%;
  text-align: center;
  margin-top: 100px;
  color: #5B5139;
  padding: 20px 0;

  h2 {
    font-size: 3.4rem;
  }
  p {
     font-size: 2rem;
  }  
}


.form-cont {
  width: 100%;
  max-width: 1200px;
  height: auto;
  margin: 0 auto;
/*padding: 80px 0;*/
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}
.form-cont-title {
  width: 40%;
  height: auto;
  padding: 30px;
  box-sizing: border-box;
}
.form-cont-title img {
  width: 100%;
  height: auto;
  display: block;
}



.form-cont-inner {
  width: 60%;
  height: auto;
  padding: 30px;
  box-sizing: border-box;
  color: #FF5353;
}

.form-cont-inner p {
  font-size: 1.8em;
}


@media screen and (min-width: 1051px) {
  #form-cont {
    margin-bottom:200px;
  }
}

@media screen and (max-width: 896px) {
  .form-cont {
    width:80%;
    flex-wrap:wrap;
    padding:0;
  }
  .form-cont-title,.form-cont-inner {
    width: 100%;
    padding-top: 0;
  }
  #form-cont h2 {
    padding-bottom: 0;
    text-align: center;
  }
  #form-cont::after {
    width: 100%;
    opacity: .3;
  }
}
@media screen and (max-width: 786px) {
  .form-cont {
    padding-bottom: 50px;
  }
} 
@media screen and (max-width: 480px) {
  #form-cont {
    padding-bottom: 50px;
  }
  #form-cont h2 {
    font-size: 1.3rem;
    padding-left:0;
    margin-bottom: 20px;
  }
  #form-cont h2 br {
    display: none;
  }  

  .form-cont {
    width: 95%;
    max-width: initial;
  }
  .form-cont-inner {
    font-size: 1.2rem;
  }
  .form-cont-inner a {
    width:100%;
  }
}


/* ------------------------------------------------------------- */
/* StyleSection _ #comp-cont  ( INQUIRY COMPLETE )               */
/* ------------------------------------------------------------- */
#comp-info {
  width: 100%;
  height: auto;
  position: relative;
}
#comp-info::after {
  display: block;
  content:'';
  width: 60%;
  height: 140%;
  position: absolute;
  bottom: calc( -30% - 60px);
  left:0;
  background:url('../img/top/bg_wave.webp');
  background-size: cover;
  z-index: 1;
}
#comp-info h2 {
  width: 100%;
  text-align: center;
  margin-top: 100px;
  font-size: 4rem;
  color: #5b5139;
  background-color: #D5CDB9;
}

.comp-info {
  width: 100%;
  max-width: 1200px;
  min-height: 600px;
  height: auto;
  
  margin: 0 auto;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}
.comp-info-ttl-img {
  width: 50%;
  height: auto;
  padding: 30px;
  box-sizing: border-box;
}


.comp-info-title img {
  width: 100%;
  height: auto;
  display: block;
}
.comp-info-inner {
  width: 50%;
  height: auto; 
  padding: 30px;
  box-sizing: border-box;
  color: #5b5139;

  .txt1 {
    margin-top: 40px;
    font-size: 3rem;
  }
  
  .txt2 {
    margin-top: 40px;
    line-height: 2.8rem;
    font-size: 2rem;
  }
  
  dl {
    margin-bottom: 20px;
  }
  dd {
    padding: 0 20px;
  }
}



@media screen and (min-width: 1051px) {
  #comp-info {
    margin-bottom:200px;
  }
}



















