@charset "UTF-8";
body {
  background: url("../img/shared/partent485.jpg");
  color: #3c2012;
  font-size: 16px;
  line-height: 33px;
  letter-spacing: 0.05em;
}


#header h1 {
  width: 380px;
  height: auto;
  padding: 10px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  top: 416px;
  bottom: auto;
  letter-spacing: 0;
  text-align: center;
}

#header .key-txt {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
}

#header .header-info {
  width: 420px;
  padding: 38px 40px 57px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
}
#header .header-info .btn-style-3 {
  width: 100%;
  min-height: 52px;
  background: #fff;
  color: #000;
  text-align: left;
  font-size: 16px;
  column-gap: 5px;
  letter-spacing: 0;
}
#header .header-info .btn-style-3 img {
  -webkit-filter: brightness(100%) invert(1);
          filter: brightness(100%) invert(1);
}
#header .header-info .btn-recruit {
  margin-top: 40px;
}
#header .header-info .btn-recruit a {
  width: 100%;
  padding: 12px 20px;
}
#header .header-info .txt {
  margin-top: 10px;
  font-family: "Noto Serif JP", serif;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 0;
}
#header .header-info .btn-link {
  margin-top: 10px;
}

#header-min {
  padding: 26px 0 30px;
}

.kv .kv-item img {
  width: 100%;
  height: 948px;
  -o-object-fit: cover;
     object-fit: cover;
}

.mainnav {
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px;
}

.btn-english {
  margin-top: 0 !important;
}

.btn-english a small {
  font-size: 13px;
}

.ttl-style-1 {
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: center;
}
.ttl-style-1::before {
  content: "";
  width: 100%;
  height: 59px;
  display: block;
  margin-bottom: 37px;
  background: url("../img/shared/deco3.png") center/contain no-repeat;
}

.btn-style-3 {
  width: 416px;
  min-height: 66px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  background: #7b662f;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: center;
}
.btn-style-3:hover {
  text-decoration: none;
  opacity: 0.7;
}
.btn-style-3.bordered {
  background: transparent;
  border: 1px solid;
  color: #3c2012;
}

.btn-popup .btn-style-3::before {
  content: "";
  width: 23px;
  height: 24px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 23'%3E%3Cpath fill-rule='evenodd' fill='rgb(60,32,18)' d='M22.568,22.529 C21.982,23.115 21.031,23.115 20.445,22.529 L14.076,16.160 C13.708,15.792 13.572,15.281 13.666,14.806 L13.015,14.155 C12.988,14.128 12.967,14.098 12.945,14.069 C13.155,13.896 13.359,13.712 13.555,13.516 C13.751,13.319 13.935,13.115 14.109,12.905 C14.138,12.928 14.168,12.949 14.194,12.975 L14.845,13.626 C15.320,13.533 15.831,13.669 16.199,14.037 L22.568,20.405 C23.154,20.992 23.154,21.942 22.568,22.529 ZM2.204,12.779 C-0.723,9.852 -0.723,5.090 2.204,2.164 C5.130,-0.763 9.892,-0.763 12.818,2.164 C15.745,5.090 15.745,9.852 12.818,12.779 C9.892,15.705 5.130,15.705 2.204,12.779 ZM12.111,2.872 C9.574,0.335 5.448,0.335 2.911,2.872 C0.375,5.408 0.375,9.535 2.911,12.071 C5.448,14.607 9.574,14.607 12.111,12.071 C14.647,9.535 14.647,5.408 12.111,2.872 ZM11.134,8.276 L8.315,8.276 L8.315,11.095 C8.315,11.539 7.955,11.899 7.511,11.899 C7.067,11.899 6.706,11.539 6.706,11.095 L6.706,8.276 L3.887,8.276 C3.443,8.276 3.083,7.915 3.083,7.471 C3.083,7.027 3.443,6.667 3.887,6.667 L6.706,6.667 L6.706,3.848 C6.706,3.404 7.067,3.043 7.511,3.043 C7.955,3.043 8.315,3.404 8.315,3.848 L8.315,6.667 L11.134,6.667 C11.579,6.667 11.939,7.027 11.939,7.471 C11.939,7.915 11.579,8.276 11.134,8.276 Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.remodal-floormap {
  max-width: 100%;
  margin-bottom: 0;
  background: url("../img/shared/bg.jpg");
  border: 0;
  padding: 0;
  color: #3c2012;
  text-align: left;
}

.popup-floormap {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 50px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.popup-floormap h2.ttl {
  font-size: 30px;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}
.popup-floormap h2.ttl small {
  font-family: "Noto Serif JP", serif;
  font-size: 26px;
  letter-spacing: 0.1em;
}
.popup-floormap .img {
  text-align: center;
}

.popup-floormap1 h2.ttl {
  width: 382px;
}
.popup-floormap1 .gr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px;
}

.popup-floormap2 .set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.popup-floormap2 .set .gr {
  margin-top: 40px;
}
.popup-floormap2 .set .gr .img {
  margin-top: 40px;
}

#sec1 {
  padding: 108px 0 119px;
}
#sec1 .set {
  text-align: center;
}
#sec1 .set .txtbox .txt {
  margin-top: 35px;
}
#sec1 .set .imgbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 45px;
     -moz-column-gap: 45px;
          column-gap: 45px;
  margin-top: 62px;
}

#sec2 {
  padding: 93px 0 94px;
  background: url("../img/shared/bg.jpg");
}
#sec2 h2.ttl {
  max-width: 1360px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 28px;
  border-bottom: 1px solid;
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: center;
}
#sec2 .wrap2{
      max-width: 1360px;
    width: 90%;
    min-width: 1000px;
    margin: 0 auto;
}
#sec2 .set-style-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#sec2 .set-style-1 h3.ttl {
  font-size: 30px;
}
#sec2 .set-style-1 h3.ttl::before {
  margin-bottom: 57px;
}
#sec2 .set-style-1 .txtbox {
  width: 416px;
}
#sec2 .set-style-1 .txtbox .txt {
  width: 385px;
  margin: 35px auto 0;
}
#sec2 .set-style-1 .txtbox .btn-popup {
  margin-top: 30px;
}
#sec2 .set-style-1 .txtbox .btn-link {
  margin-top: 12px;
}
#sec2 .set-style-1 .imgbox {
  width: 898px;
      margin: 0 70px 0 -200px;
}
#sec2 .set1 {
      margin: 62px auto 0;
    justify-content: right;
}
#sec2 .set1 .slick-dots {
  left: auto;
  right: 20px;
}
#sec2 .set1 .txtbox {
  margin-top: 50px;
}
#sec2 .set2 {
      margin: 72px auto 0;
    justify-content: left;
}
#sec2 .set2 .txtbox {
  margin-top: 50px;
}
#sec2 .set2 .imgbox {
      margin: 0 -200px 0 70px;
}

#sec3 {
  padding: 105px 0 110px;
}
#sec3 .wrap {
  width: 100%;
  max-width: 1200px;
}
#sec3 h2.ttl {
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.1em;
  text-align: center;
}
#sec3 h2.ttl::after {
  content: "";
  width: 67px;
  height: 2px;
  display: block;
  margin: 19px auto 0;
  border-top: 1px solid;
  border-bottom: 1px solid;
}
#sec3 .map {
  width: 100%;
  height: 600px;
  margin-top: 45px;
}
#sec3 .map iframe {
  width: 100%;
  height: 100%;
}
#sec3 .txt {
  margin-top: 55px;
  text-align: center;
}

#sec4 {
  padding-top: 96px;
  background: #261913;
  color: #fff;
}
#sec4 h2.ttl {
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: center;
}
#sec4 h2.ttl::before {
  content: "";
  width: 100%;
  height: 46px;
  display: block;
  margin-bottom: 23px;
  background: url("../img/shared/deco7.png") center/contain no-repeat;
}
#sec4 .set {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 75px;
}
#sec4 .set .box-style {
  min-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 50px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  position: relative;
}
#sec4 .set .box-style .ttl {
  font-size: 30px;
  line-height: 40px;
  letter-spacing: 0.1em;
  text-align: center;
}
#sec4 .set .box-style .img {
  position: absolute;
  inset: 0;
}
#sec4 .set .box-style .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#sec4 .set .box-style .inner {
  position: relative;
  z-index: 1;
}
#sec4 .set .box-style .inner .txt {
  width: 335px;
  margin: 50px auto 0;
}

#sec5 {
  padding: 94px 0 115px;
  background: #261913;
  color: #fff;
}
#sec5 h2.ttl {
  max-width: 1360px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 30px;
  border-bottom: 1px solid;
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: center;
}
#sec5 .set {
  margin-top: 48px;
  text-align: center;
}
#sec5 .set .gr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 46px 0 0 63px;
}
#sec5 .set .gr ul {
  padding: 0 45px;
}
#sec5 .set .gr ul + ul {
  border-left: 1px solid #6d6561;
}
#sec5 .set .gr ul li {
  padding-left: 15px;
  text-align: left;
  position: relative;
}
#sec5 .set .gr ul li::before {
  content: "◆";
  position: absolute;
  left: -8px;
}
#sec5 .set .gr ul .last {
  text-align: right;
}
#sec5 .set .gr ul .last::before {
  display: none;
}

#sec6 {
  padding: 114px 0 66px;
  background: url("../img/shared/bg.jpg");
}
#sec6 .wrap {
  width: 100%;
  max-width: 1200px;
}
#sec6 h2.ttl {
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: center;
}
#sec6 h2.ttl::before {
  content: "";
  height: 124px;
  border-left: 1px solid;
  position: absolute;
  top: 33px;
  left: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#sec6 .set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 -62px;
}
#sec6 .set .txtbox {
  width: 512px;
  padding: 126px 70px 121px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fcf9f5;
  position: relative;
  z-index: 1;
}
#sec6 .set .txtbox .txt {
  margin-top: 36px;
}
#sec6 .set .imgbox {
  width: 900px;
  margin: 55px 0 0 -88px;
}
#sec6 .set .imgbox .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  margin: 22px 0 0 -300px;
  position: relative;
  left: auto;
  bottom: auto;
}
#sec6 .set .imgbox .slick-dots li button {
  width: 166px;
  height: 103px;
  background: center/cover no-repeat;
  border: 0;
  border-radius: 0;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
#sec6 .set .imgbox .slick-dots li button:hover {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
}
#sec6 .set .imgbox .slick-dots .slick-active button {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
}

#sec7 {
  padding: 299px 0 349px;
  position: relative;
  z-index: 0;
}
#sec7 h2.ttl {
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: left;
}
#sec7 .set {
  width: 694px;
  margin-left: auto;
  padding: 49px 80px 40px 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url("../img/shared/partent485.jpg");
  position: relative;
  z-index: 1;
}
#sec7 .set::before {
  content: "";
  width: 4px;
  border-left: 1px solid;
  border-right: 1px solid;
  position: absolute;
  top: 28px;
  bottom: 27px;
  left: 33px;
}
#sec7 .set .txt {
  margin-top: 23px;
}
#sec7 .bg-slide {
  width: 100%;
  position: absolute;
  top: 84px;
  left: 0;
}
#sec7 .bg-slide .inner {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
#sec7 .bg-slide .inner .gr1 {
  margin-left: 126px;
}
#sec7 .bg-slide .inner .gr1 .img2 {
  margin: 83px 0 0 150px;
}
#sec7 .bg-slide .inner .gr2 {
  margin: 69px 0 0 50px;
}
#sec7 .bg-slide .inner .gr2 .img2 {
  margin: 83px 75px 0 150px;
}
#sec7 .bg-slide .inner .gr3 {
  margin-left: 42px;
}
#sec7 .bg-slide .inner .gr3 .img1 {
  margin-left: 133px;
}
#sec7 .bg-slide .inner .gr3 .img2 {
  margin-top: 100px;
}

#sec8 {
  padding-top: 90px;
  background: url("../img/english/sec8_bgt.png") center top/100% no-repeat;
}
#sec8 .qabox {
  padding: 40px 55px 50px;
  background: #fcf9f5;
  line-height: 28px;
}
#sec8 .qabox + .qabox {
  margin-top: 20px;
}
#sec8 .qabox .question {
  padding: 10px 0 16px 45px;
  border-bottom: 1px solid #ded7d2;
  position: relative;
}
#sec8 .qabox .question::before {
  content: "Q.";
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.05em;
  position: absolute;
  top: 9px;
  left: 16px;
}
#sec8 .qabox .answer {
  margin-top: 22px;
  padding: 10px 0 0 45px;
  position: relative;
}
#sec8 .qabox .answer::before {
  content: "A.";
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.05em;
  position: absolute;
  top: 9px;
  left: 16px;
}
#sec8 .qabox .answer a {
  color: #a68c06;
  text-decoration: underline;
}
#sec8 .qabox .answer a:hover {
  text-decoration: none;
}
#sec8 .set {
  margin: 35px 28px 0;
}

#sec9 {
  padding: 87px 70px 140px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#sec9 h2.ttl {
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: center;
}
#sec9 h2.ttl::after {
  content: "";
  width: 100px;
  display: block;
  margin: 10px auto 0;
  border-bottom: 1px solid;
}
#sec9 .set {
  max-width: 1360px;
  width: 90%;
  margin: 0 auto;
  padding: 71px 20px 75px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 2px solid;
}
#sec9 .set .txtbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 50px;
}
#sec9 .set .txtbox ul li {
  padding: 7px 0 5px 55px;
  position: relative;
}
#sec9 .set .txtbox ul li + li {
  margin-top: 21px;
}
#sec9 .set .txtbox ul li .number {
  width: 43px;
  height: 43px;
  background: #3c2012;
  border-radius: 100%;
  color: #fff;
  font-size: 30px;
  line-height: 43px;
  letter-spacing: 0;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
#sec9 .set .btn-recruit {
  margin-top: 39px;
  text-align: center;
}
#sec9 .set .btn-recruit a {
  width: 850px;
  padding: 18px;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
}

#sec10 {
  padding: 93px 0 166px;
  background: url("../img/shared/bg.jpg");
}
#sec10 h2.ttl {
  max-width: 1360px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 29px;
  border-bottom: 1px solid;
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.2em;
  text-align: center;
}
#sec10 .shopinfobox {
  padding: 59px 0 60px;
  position: relative;
}
#sec10 .shopinfobox::before {
  content: "";
  border-bottom: 1px solid;
  opacity: 0.5;
  position: absolute;
  inset: auto -180px 0;
}
#sec10 .shopinfobox .ttl {
  padding-left: 90px;
  font-size: 30px;
  line-height: 80px;
  letter-spacing: 0.1em;
  position: relative;
}
#sec10 .shopinfobox .ttl::before {
  content: "";
  width: 60px;
  height: 59px;
  background: url("../img/shared/deco3.png") center/contain no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}
#sec10 .shopinfobox .ttl small {
  font-size: 17px;
  letter-spacing: 0.1em;
}
#sec10 .shopinfobox .btn-link .btn-style-3 {
  width: 350px;
}
#sec10 .shopinfobox .btn-map .btn-style-3 {
  width: 240px;
}
#sec10 .shopinfobox .gr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 10px 0 0 -38px;
}
#sec10 .shopinfobox .gr .imgbox {
  width: 376px;
}
#sec10 .shopinfobox .gr .txtbox {
  width: 606px;
}
#sec10 .shopinfobox .gr .txtbox dl {
  padding: 14px 0;
  border-bottom: 1px dotted;
  line-height: 28px;
}
#sec10 .shopinfobox .btnbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
  margin-top: 28px;
}