/* 
font-family: "Zen Kaku Gothic New", sans-serif;
font-family: "Zen Maru Gothic", serif;
*/
body {
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #5b2900;
  min-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background: #f3efe9;
}

/*--------------------cmn--------------------*/
.cmn_tel p {
  display: inline-block;
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  padding-left: 1.0625em;
}
.cmn_tel p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0%;
  width: 0.8125em;
  height: 0.8125em;
  transform: translate(0%, -40%);
  background: url(/img/company/telicon.png) no-repeat center center/contain;
}

/*--------------------cmn--------------------*/
/*--------------------header--------------------*/
.header {
  width: 100%;
  background: rgba(214, 188, 167, 0.21);
  position: relative;
  z-index: 20;
}
.header_app {
  width: 290px;
  background: #fcdab2;
  padding: 20px 15px;
  text-align: center;
  border-radius: 5px;
  box-shadow: 4px 4px 0 rgba(195, 133, 147, 0.78);
}
.header_app p {
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #5b2900;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  padding-right: 3.2666666667em;
}
.header_app p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 2.8666666667em;
  height: 1.9333333333em;
  transform: translate(0%, -50%);
  background: url(/img/company/taiyaki.png) no-repeat center center/contain;
}
.header_flex {
  width: 91.6666666667%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.header_info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 23px;
}
.header_tel {
  margin-right: 15px;
}
.header_dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-right: 24px;
}
.header_dl dt {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  background: #951646;
  border-radius: 5px;
  width: 80px;
  height: 55px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.header_dl dd {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.header_sns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin-right: 30px;
}
.header_sns a {
  width: 30px;
  height: 30px;
}
.header_sns a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.header_nav_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 75px;
}
.header_nav_item {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  font-family: "Zen Maru Gothic", serif;
}
.header_nav_item:not(:last-child)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 0.625em;
  height: 0.625em;
  transform: translate(430%, -50%);
  background: #951646;
  border-radius: 50%;
}
.header_nav_item a {
  color: #5b2900;
}
.header_nav_item .current {
  color: #951646;
}
.header_nav_item .hover_hover {
  transition: 0.3s;
}
.header_nav_item .hover_hover:hover {
  opacity: 1;
  color: #951646;
}

/*--------------------header--------------------*/
/*--------------------footer--------------------*/
.footer {
  padding: 50px 0 30px;
  width: 100%;
  background: url(/img/common/bg08.png) repeat center center/auto;
}
.footer_logo {
  text-align: center;
  margin-bottom: 40px;
}
.footer_tel {
  text-align: center;
  margin-bottom: 30px;
}
.footer_tel p {
  color: #fff;
}
.footer_dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
}
.footer_dl dt {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  background: #f4c900;
  padding: 9px;
  text-align: center;
  border-radius: 5px;
}
.footer_dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.footer_dd dd {
  color: #fff;
  display: block;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #fff;
}
.footer_dd dd:not(:last-child) {
  padding-right: 1.6428571429em;
  border-right: 1px solid #fff;
}
.footer_dd dd:not(:first-child) {
  padding-left: 1.5714285714em;
}
.footer_nav {
  margin-bottom: 30px;
}
.footer_nav_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 30px 75px;
  width: 100%;
  border-radius: 15px;
  padding: 33px 105px;
  background: url(/img/common/bg07.png) repeat center center/auto;
}
.footer_nav_item {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
}
.footer_nav_item:nth-child(5)::before {
  display: none;
}
.footer_nav_item:not(:last-child)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 0.625em;
  height: 0.625em;
  transform: translate(430%, -50%);
  background: #fff;
  border-radius: 50%;
}
.footer_nav_item a {
  color: #fff;
}

.copy_right {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  text-align: center;
  display: block;
}
.copy_right a {
  color: #fff;
}

/*--------------------footer--------------------*/
/*--------------------mv--------------------*/
.mv {
  width: 100%;
  height: clamp(573.33px, 44.7916666667vw, 860px);
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: rgba(214, 188, 167, 0.21);
}
.mv_img {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 91.6666666667%;
  height: 100%;
  overflow: hidden;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  border-top-right-radius: 20px;
}
.mv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv_catch {
  width: 33.5795454545%;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 2000px) {
  .mv_catch {
    width: 25%;
  }
}
.mv_catch img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv_img02 {
  width: 35.5681818182%;
  position: absolute;
  z-index: -1;
  bottom: 3%;
  right: 5%;
  transform: translate(0%, 0%);
}
@media screen and (min-width: 2000px) {
  .mv_img02 {
    width: 27%;
    right: 15%;
  }
}
.mv_img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.mv_img01 {
  width: 35%;
  position: absolute;
  z-index: -1;
  bottom: -8%;
  left: 3%;
  transform: translate(0%, 0%);
}
@media screen and (min-width: 2000px) {
  .mv_img01 {
    width: 26.5%;
    left: 13%;
  }
}
.mv_img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------mv--------------------*/
/*--------------------sv--------------------*/
.sv_sec .sv_catch {
  height: 425px;
}

.sv_gallery .sv_catch {
  height: 390px;
}

.sv_menu .sv_catch {
  height: 270px;
}

.sv_site .sv_catch {
  height: 330px;
}

.sv_news .sv_catch {
  height: 390px;
}

.sv_not_found .sv_catch {
  height: 450px;
}
.sv_not_found .sv_catch span {
  font-size: 30px;
}

.sv_contact .sv_catch {
  height: 320px;
}

.sv_complete .sv_catch {
  height: 400px;
}

@media screen and (max-width: 1800px) {
  .sv_company .sv_catch {
    height: 360px;
  }
  .sv_company .sv_catch span {
    font-size: 28px;
  }
  .sv_sec .sv_catch {
    height: 350px;
  }
  .sv_sec .sv_catch span {
    font-size: 30px;
  }
  .sv_gallery .sv_catch {
    height: 330px;
  }
  .sv_gallery .sv_catch span {
    font-size: 30px;
  }
  .sv_privacy .sv_catch {
    height: 350px;
  }
  .sv_privacy .sv_catch span {
    font-size: 26px;
  }
  .sv_news .sv_catch {
    height: 340px;
  }
  .sv_news .sv_catch span {
    font-size: 30px;
  }
  .sv_not_found .sv_catch {
    height: 350px;
  }
  .sv_not_found .sv_catch span {
    font-size: 23.5px;
  }
  .sv_complete .sv_catch {
    height: 340px;
  }
  .sv_complete .sv_catch span {
    font-size: 30px;
  }
}
.sv {
  width: 100%;
  height: clamp(413.33px, 32.2916666667vw, 620px);
  background: rgba(214, 188, 167, 0.21);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.sv_img {
  position: absolute;
  z-index: -2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 91.6666666667%;
  height: 100%;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
}
.sv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sv_catch {
  position: relative;
  z-index: 1;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(/img/common/bg03.png) repeat left center/70%;
  border-radius: 10px;
  height: 465px;
  padding: 20px 27.5px 0;
}
.sv_catch::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -20px;
  left: 50%;
  width: 100%;
  height: 10px;
  transform: translate(-50%, 0%);
  background: url(/img/company/bdrtop.png) no-repeat center center/contain;
}
.sv_catch::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -20px;
  left: 50%;
  width: 100%;
  height: 10px;
  transform: translate(-50%, 0%);
  background: url(/img/company/bdrbot.png) no-repeat center center/contain;
}
.sv_catch span {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  writing-mode: vertical-rl;
  display: block;
  padding-top: 1.5714285714em;
  position: relative;
  z-index: 1;
}
.sv_catch span::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 1.2857142857em;
  height: 0.8571428571em;
  transform: translate(-50%, 0%);
  background: url(/img/gallery/ribbonwhite.png) no-repeat center center/contain;
}

/*--------------------sv--------------------*/
.cmn_dl {
  width: 100%;
}
.cmn_dl_box {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  font-size: 16px;
  line-height: 1.75em;
  letter-spacing: 0.2em;
}
.cmn_dl_box dt {
  text-align: center;
  width: 160px;
  background: #951646;
  color: #fff;
  font-weight: 700;
  padding: 21px 15px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.cmn_dl_box dd {
  width: calc(100% - 160px);
  background: #fff;
  color: #5b2900;
  font-weight: 500;
  padding: 21px 21px 21px 35px;
}
.cmn_dl_box dd span {
  width: 100%;
  display: block;
}
.cmn_dl_box:not(:last-child) {
  margin-bottom: 5px;
}

.cmn_ttl {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  padding-top: 2.3142857143em;
  margin-bottom: 60px;
}
.cmn_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 1.9428571429em;
  height: 1.4857142857em;
  transform: translate(-50%, 0%);
  background: url(/img/company/ribbon.png) no-repeat center center/contain;
}

/*--------------------company--------------------*/
.company {
  width: 100%;
  position: relative;
  z-index: 1;
  padding-bottom: 170px;
}
.company::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 390px;
  transform: translate(-50%, 0%);
  background: url(/img/menu/wave.png) repeat-x center bottom/auto, rgba(214, 188, 167, 0.21);
}
.company_dl {
  width: calc(100% - 540px);
}
.company_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px;
}
.company_acttl {
  text-align: center;
  padding-bottom: 25px;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 40px;
  margin-top: 80px;
}
.company_acttl span {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #951646;
  display: inline-block;
  position: relative;
  z-index: 1;
  font-family: "Zen Maru Gothic", serif;
  padding-left: 2.3333333333em;
}
.company_acttl span::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0%;
  width: 1.7em;
  height: 1.1666666667em;
  transform: translate(0%, -50%);
  background: url(/img/company/taiyaki.png) no-repeat center center/contain;
}
.company_ac {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 80px;
}
.company_ac_item {
  width: 500px;
}
.company_ac_img {
  width: 100%;
  height: 392px;
  overflow: hidden;
  border-radius: 20px;
  margin-bottom: 30px;
}
.company_ac_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company_ac_txt {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #951646;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
}

.googlemap {
  width: 500px;
  border-radius: 20px;
  overflow: hidden;
}
.googlemap iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: none;
}

.store {
  width: 100%;
}
.store_inner {
  background: url(/img/company/nami01.png) no-repeat right 10% top 35%/auto;
  position: relative;
}
.store_inner::before {
  content: "";
  position: absolute;
  z-index: -10;
  top: 20%;
  right: 2%;
  width: 108px;
  height: 65px;
  transform: translate(0%, 0%);
  background: url(/img/company/nami01.png) no-repeat center center/contain;
}
.store_img {
  text-align: center;
  position: relative;
  z-index: 2;
}
.store_img::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 18%;
  left: 5%;
  width: 164px;
  height: 65px;
  transform: translate(0%, 0%);
  background: url(/img/company/kumo01.png) no-repeat center center/contain;
}

.mood {
  width: 100%;
}
.mood_ttl {
  text-align: center;
  padding-bottom: 25px;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 40px;
}
.mood_ttl span {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #951646;
  display: inline-block;
  position: relative;
  z-index: 1;
  font-family: "Zen Maru Gothic", serif;
  padding-left: 2.3333333333em;
}
.mood_ttl span::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0%;
  width: 1.7em;
  height: 1.1666666667em;
  transform: translate(0%, -50%);
  background: url(/img/company/taiyaki.png) no-repeat center center/contain;
}
.mood_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 55px 45px;
}
.mood_item {
  width: 330px;
}
.mood_item_ttl {
  font-size: 20px;
  line-height: 1.55em;
  letter-spacing: 0.16em;
  font-weight: 700;
}
.mood_img {
  width: 100%;
  height: 250px;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
}
.mood_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------company--------------------*/
/*--------------------sec--------------------*/
.sec {
  width: 100%;
  position: relative;
  z-index: 1;
}
.sec::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 390px;
  transform: translate(-50%, 0%);
  background: url(/img/menu/wave.png) repeat-x center bottom/auto, rgba(214, 188, 167, 0.21);
}
.sec_box {
  width: 100%;
  height: 530px;
  background: url(/img/sec/img01.png) no-repeat center center/cover;
  position: relative;
  z-index: 1;
  border-radius: 20px;
}
.sec_ttl {
  font-family: "Zen Maru Gothic", serif;
}
.sec_ttl_bg {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 700;
  background: #fff;
  padding: 23px 13px;
  writing-mode: vertical-rl;
  border-radius: 10px;
}
.sec_ttl_bg:nth-child(2) {
  position: absolute;
  z-index: -1;
  top: 50px;
  right: 50px;
  transform: translate(0%, 0%);
  padding-bottom: 0;
}
.sec_ttl_bg:nth-child(2)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 1.375em;
  height: 1.15em;
  transform: translate(-50%, -50%);
  background: url(/img/sec/ttldeco02.png) no-repeat center center/contain;
}
.sec_ttl_bg:nth-child(1) {
  position: absolute;
  z-index: -1;
  top: 50px;
  right: 130px;
  transform: translate(0%, 0%);
}
.sec_ttl_bg_deco {
  position: relative;
  z-index: 1;
}
.sec_ttl_bg_deco::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 1.075em;
  height: 3.675em;
  transform: translate(-50%, -50%);
  background: url(/img/sec/ttldeco01.png) no-repeat center center/contain;
}

.huwa {
  width: 100%;
  padding-top: 30px;
}
.huwa_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 70px;
}
.huwa_flex:nth-child(1) .huwa_txt {
  position: relative;
  z-index: 1;
}
.huwa_flex:nth-child(1) .huwa_txt::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  right: 0%;
  width: 175px;
  height: 63px;
  transform: translate(0%, 100%);
  background: url(/img/sec/kumo01.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(1) .huwa_img::before {
  left: -123px;
  background: url(/img/gallery/decobg.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(1) .huwa_img::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -60px;
  right: -95px;
  width: 251px;
  height: 125px;
  transform: translate(0%, 0%);
  background: url(/img/gallery/bg02.png) no-repeat center center/contain;
}
@media screen and (max-width: 1500px) {
  .huwa_flex:nth-child(1) .huwa_img::after {
    right: 60px;
  }
}
.huwa_flex:nth-child(2) {
  justify-content: flex-start;
  flex-direction: row-reverse;
}
.huwa_flex:nth-child(2) .huwa_txt {
  position: relative;
  z-index: 1;
}
.huwa_flex:nth-child(2) .huwa_txt::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  right: 0%;
  width: 175px;
  height: 63px;
  transform: translate(0%, 100%);
  background: url(/img/sec/kumo02.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(2) .huwa_img::before {
  bottom: -33px;
  right: -123px;
  background: url(/img/gallery/decobg02.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(2) .huwa_img::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -85px;
  left: -120px;
  width: 285px;
  height: 193px;
  transform: translate(0%, 0%);
  background: url(/img/gallery/bgdeco04.png) no-repeat center center/contain;
}
@media screen and (max-width: 1500px) {
  .huwa_flex:nth-child(2) .huwa_img::after {
    left: 60px;
  }
}
.huwa_flex:nth-child(3) .huwa_txt {
  position: relative;
  z-index: 1;
}
.huwa_flex:nth-child(3) .huwa_txt::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  right: 45px;
  width: 175px;
  height: 63px;
  transform: translate(0%, 100%);
  background: url(/img/sec/kumo01.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(3) .huwa_img::before {
  left: -123px;
  background: url(/img/gallery/decobg03.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(3) .huwa_img::after {
  right: 60px;
  content: "";
  position: absolute;
  z-index: -1;
  top: -60px;
  width: 251px;
  height: 125px;
  transform: translate(0%, 0%);
  background: url(/img/gallery/bg02.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(odd) {
  justify-content: flex-end;
}
@media screen and (max-width: 1400px) {
  .huwa_flex:nth-child(odd) {
    justify-content: center;
  }
}
.huwa_flex:nth-child(even) {
  justify-content: flex-end;
}
@media screen and (max-width: 1400px) {
  .huwa_flex:nth-child(even) {
    justify-content: center;
  }
}
.huwa_flex:not(:last-child) {
  margin-bottom: 140px;
}
.huwa_img {
  width: 640px;
  height: 370px;
  position: relative;
  z-index: 1;
}
.huwa_img::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -33px;
  width: 218px;
  height: 218px;
  transform: translate(0%, 0%);
}
.huwa_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.huwa_box {
  width: 470px;
  position: relative;
  z-index: 1;
}
.huwa_ttl {
  padding: 18px 40px 19px;
  font-family: "Zen Maru Gothic", serif;
  font-size: 35px;
  line-height: 1.4285714286em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  background: url(/img/common/bg03.png) repeat center center/auto;
  border-radius: 10px;
  position: relative;
  z-index: 1;
  margin-bottom: 45px;
}
.huwa_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -19px;
  left: 50%;
  width: 100%;
  height: 10px;
  transform: translate(-50%, 0%);
  background: url(/img/gallery/bdr01.png) repeat-x center center/auto;
}
.huwa_num {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-family: "Zen Maru Gothic", serif;
  position: absolute;
  z-index: 2;
  top: -35px;
  left: -30px;
  transform: translate(0%, 0%);
  background: #f4c900;
  border-radius: 999px;
  padding: 4.5px 18px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}
.huwa_num span {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 900;
  color: #951646;
  padding-bottom: 5px;
}
.huwa_txt {
  font-size: 16px;
  line-height: 2.5em;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.buy {
  width: 100%;
  padding-top: 0;
  background: rgba(214, 188, 167, 0.21);
  position: relative;
  z-index: 1;
}
.buy::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 35px;
  transform: translate(-50%, 0%);
  background: #f3efe9;
}
.buy_ttl {
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
  font-size: 35px;
  line-height: 1.8571428571em;
  letter-spacing: 0.26em;
  font-weight: 700;
  color: #5b2900;
  margin-bottom: 50px;
}
.buy_ttl_big {
  font-size: 42px;
  margin-left: -65px;
  position: relative;
  z-index: 1;
}
.buy_ttl_big::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 2.0714285714em;
  height: 1.5476190476em;
  transform: translate(350%, -50%);
  background: url(/img/sec/taiill.png) no-repeat center center/contain;
}
.buy_ttl_border {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding-left: 2em;
  padding-right: 2em;
}
.buy_ttl_border::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0%;
  width: 0.8857142857em;
  height: 2.1142857143em;
  transform: translate(0%, -50%);
  background: url(/img/top/leftttll.png) no-repeat center center/contain;
}
.buy_ttl_border::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 0.8857142857em;
  height: 2.1142857143em;
  transform: translate(0%, -50%);
  background: url(/img/top/rightttlt.png) no-repeat center center/contain;
}
.buy_ttl_bg {
  color: #f4c900;
  font-size: 40px;
  letter-spacing: 0.26em;
  position: relative;
  z-index: 1;
}
.buy_ttl_bg::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 9.15em;
  height: 1.6em;
  transform: translate(-51.5%, -50%);
  background: url(/img/sec/marubg.png) no-repeat center center/contain;
}
.buy_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}
.buy_item {
  width: 240px;
}
.buy_item_ttl {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.buy_img {
  width: 100%;
  height: 200px;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
}
.buy_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.inbuy {
  width: 100%;
}
.inbuy_img {
  width: 800px;
  height: 500px;
  border-radius: 20px;
  overflow: hidden;
  margin: 0 auto 30px;
}
.inbuy_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.inbuy_txt {
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 75px;
}

/*--------------------sec--------------------*/
/*--------------------gallery--------------------*/
.gallery {
  width: 100%;
  position: relative;
  z-index: 1;
}
.gallery::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 390px;
  transform: translate(-50%, 0%);
  background: url(/img/menu/wave.png) repeat-x center bottom/auto, rgba(214, 188, 167, 0.21);
}
.gallery_box {
  width: 100%;
}
.gallery_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 75px;
  margin-bottom: 50px;
}
.gallery_img {
  width: 470px;
  height: 370px;
  border-radius: 20px;
  overflow: hidden;
}
.gallery_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gallery_item {
  width: calc(100% - 545px);
}
.gallery_item_ttl {
  margin-bottom: 30px;
  font-size: 30px;
  line-height: 1.6666666667em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #951646;
  position: relative;
  z-index: 1;
  padding-left: 2.3333333333em;
  padding-bottom: 0.6666666667em;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
}
.gallery_item_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 40%;
  left: 0%;
  width: 1.7em;
  height: 1.1666666667em;
  transform: translate(0%, -50%);
  background: url(/img/company/taiyaki.png) no-repeat center center/contain;
}
.gallery_item_subttl {
  font-size: 22px;
  line-height: 1.4545454545em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #5b2900;
  margin-bottom: 35px;
}
.gallery_since {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 20px;
}
.gallery_loop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}
.gallery_subimg {
  width: 240px;
  height: 180px;
  border-radius: 20px;
  overflow: hidden;
}
.gallery_subimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.space {
  width: 100%;
}
.space_box {
  width: 100%;
  border-radius: 20px;
  padding: 50px 50px 40px 50px;
  position: relative;
  z-index: 1;
}
.space_box::after {
  content: "";
  position: absolute;
  z-index: -3;
  top: 0%;
  left: -100px;
  width: 251px;
  height: 125px;
  transform: translate(0%, -50%);
  background: url(/img/gallery/deco01.png) no-repeat center center/contain;
}
.space_box::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 20px;
}
.space_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.space_ttl {
  font-size: 40px;
  line-height: 1.625em;
  letter-spacing: 0.18em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 30px;
}
.space_ttl_bg {
  position: relative;
  z-index: 1;
  color: #f4c900;
  font-size: 40px;
  letter-spacing: 0.26em;
}
.space_ttl_bg::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 11.7em;
  height: 1.6em;
  transform: translate(-51%, -50%);
  background: url(/img/gallery/space.png) no-repeat center center/contain;
}
.space_ttl_big {
  font-size: 52px;
  color: #951646;
  position: relative;
  z-index: 1;
}
.space_ttl_big::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  width: 4.4423076923em;
  height: 0.4038461538em;
  transform: translate(-55%, 0%);
  background: #f1dee5;
  border-radius: 999px;
}
.space_item {
  width: calc(100% - 454px);
  position: relative;
  z-index: 1;
}
.space_item::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 4%;
  right: 10%;
  width: 109px;
  height: 119px;
  transform: translate(0%, 0%);
  background: url(/img/gallery/taiyakiill.png) no-repeat center center/contain;
}
.space_item::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 270px;
  height: 270px;
  transform: translate(-50%, -50%);
  background: url(/img/gallery/decobg.png) no-repeat center center/contain;
}
.space_img {
  width: 454px;
  height: 311px;
}
.space_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.space_inflex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 68px;
  margin-left: 30px;
  margin-bottom: 45px;
}
.space_sub {
  font-size: 16px;
  line-height: 1.5625em;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  font-family: "Zen Maru Gothic", serif;
}
.space_sub:nth-child(1)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 158px;
  height: 93px;
  transform: translate(-50%, -45%);
  background: url(/img/gallery/huki01.png) no-repeat center center/contain;
}
.space_sub:nth-child(2)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 163px;
  height: 82px;
  transform: translate(-51%, -45%);
  background: url(/img/gallery/huki02.png) no-repeat center center/contain;
}
.space_txt {
  text-align: center;
  font-size: 20px;
  line-height: 1.35em;
  letter-spacing: 0.15em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  margin-left: -180px;
}
.space_txt span {
  color: #951646;
  font-size: 23px;
}

.use {
  width: 100%;
}
.use_ttl {
  text-align: center;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 50px;
}
.use_ttl span {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  display: inline-block;
  padding-left: 2.3333333333em;
  padding-bottom: 0.8333333333em;
  color: #951646;
}
.use_ttl span::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 30%;
  left: 0%;
  width: 1.7em;
  height: 1.1666666667em;
  transform: translate(0%, -50%);
  background: url(/img/company/taiyaki.png) no-repeat center center/contain;
}
.use_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}
.use_item {
  width: 240px;
}
.use_img {
  width: 100%;
  height: 214px;
  margin-bottom: 15px;
}
.use_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.use_txt {
  text-align: center;
  font-size: 18px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

.gmap {
  width: 100%;
  padding-top: 0;
}
.gmap_ttl {
  text-align: center;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 50px;
}
.gmap_ttl span {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  display: inline-block;
  padding-left: 2.3333333333em;
  padding-bottom: 0.8333333333em;
  color: #951646;
}
.gmap_ttl span::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 30%;
  left: 0%;
  width: 1.7em;
  height: 1.1666666667em;
  transform: translate(0%, -50%);
  background: url(/img/company/taiyaki.png) no-repeat center center/contain;
}
.gmap_inner {
  background: url(/img/company/nami01.png) no-repeat right 10% top 35%/auto;
  position: relative;
}
.gmap_inner::before {
  content: "";
  position: absolute;
  z-index: -10;
  top: 20%;
  right: 2%;
  width: 108px;
  height: 65px;
  transform: translate(0%, 0%);
  background: url(/img/company/nami01.png) no-repeat center center/contain;
}
.gmap_img {
  text-align: center;
  position: relative;
  z-index: 2;
}
.gmap_img::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 18%;
  left: 5%;
  width: 164px;
  height: 65px;
  transform: translate(0%, 0%);
  background: url(/img/company/kumo01.png) no-repeat center center/contain;
}

.example {
  width: 100%;
  padding-top: 0;
}
.example_ttl {
  text-align: center;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 50px;
}
.example_ttl span {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  display: inline-block;
  padding-left: 2.3333333333em;
  padding-bottom: 0.8333333333em;
  color: #951646;
}
.example_ttl span::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 30%;
  left: 0%;
  width: 1.7em;
  height: 1.1666666667em;
  transform: translate(0%, -50%);
  background: url(/img/company/taiyaki.png) no-repeat center center/contain;
}
.example_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 60px;
}
.example_item {
  width: 510px;
}
.example_item_ttl {
  font-size: 20px;
  line-height: 1.75em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 15px;
}
.example_img {
  width: 100%;
  height: 350px;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 24px;
}
.example_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------gallery--------------------*/
/*--------------------menu--------------------*/
.dai {
  padding-bottom: 0;
}
.dai_box {
  width: 100%;
  border-radius: 20px;
  padding: 50px 115px;
  text-align: center;
  background: url(/img/menu/cloudmenu.png) no-repeat right 65px top 150px/auto, url(/img/menu/bgkumoimenu.png) no-repeat left 75px top 120px/auto, url(/img/menu/mmonyou.png) no-repeat left 380px top 83px/auto, #fff;
}
.dai_ttl {
  margin-bottom: 50px;
  position: relative;
  z-index: 1;
  display: inline-block;
  padding-right: 143px;
}
.dai_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 70%;
  right: 0%;
  width: 109px;
  height: 119px;
  transform: translate(0%, -50%);
  background: url(/img/menu/taillll.png) no-repeat center center/contain;
}
.dai_txt {
  margin-bottom: 40px;
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.15em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
}
.dai_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 50px;
}
.dai_img {
  width: 400px;
  height: 290px;
  border-radius: 20px;
  overflow: hidden;
}
.dai_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.menut {
  width: 100%;
  position: relative;
  z-index: 1;
}
.menut::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 255px;
  transform: translate(-50%, 0%);
  background: url(/img/menu/wave.png) repeat-x center bottom/auto, rgba(214, 188, 167, 0.21);
}
.menut_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 45px;
}
.menut_btn {
  width: 330px;
  padding: 18.5px 25px;
  background: url(/img/common/bg05.png) repeat center center/auto;
  border-radius: 999px;
}
.menut_btn p {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
  position: relative;
  z-index: 1;
}
.menut_btn p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 1.1111111111em;
  height: 1.1111111111em;
  transform: translate(0%, -50%);
  background: url(/img/menu/arwbtm.png) no-repeat center center/contain;
}

.tai .com_reco_ttl {
  position: relative;
  z-index: 1;
}
.tai .com_reco_ttl::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  width: 562px;
  height: 98px;
  transform: translate(-50%, 0%);
  background: url(/img/company/kumo01.png) no-repeat left top/20%, url(/img/sec/taiill.png) no-repeat right bottom/auto;
}

.dri .com_reco_ttl {
  position: relative;
  z-index: 1;
}
.dri .com_reco_ttl::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  width: 601px;
  height: 120px;
  transform: translate(-48%, 0%);
  background: url(/img/top/kumopink01.png) no-repeat left top/20%, url(/img/top/kumopink01.png) no-repeat right bottom/auto;
}

.other .com_reco_ttl {
  position: relative;
  z-index: 1;
}
.other .com_reco_ttl::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  width: 537px;
  height: 94px;
  transform: translate(-49%, 0%);
  background: url(/img/menu/decomon01.png) no-repeat left top/20%, url(/img/menu/decomon02.png) no-repeat right bottom/auto;
}

.com_reco {
  width: 100%;
}
.com_reco_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 45px;
}
.com_reco_item {
  width: 330px;
}
.com_reco_item_ttl {
  font-size: 20px;
  line-height: 1.55em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 12px;
}
.com_reco_img {
  width: 100%;
  height: 250px;
  overflow: hidden;
  border-radius: 20px;
  margin-bottom: 20px;
}
.com_reco_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.com_reco_txt {
  margin-bottom: 17px;
}
.com_reco_price {
  text-align: right;
  line-height: 1;
  font-weight: 700;
  color: #951646;
}

.com_menu {
  width: 100%;
  padding-bottom: 100px;
}
.com_menu_list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0 80px;
}
.com_menu_item {
  width: 500px;
  padding-bottom: 22px;
  border-bottom: 1px dashed #5b2900;
  padding-top: 23px;
}
.com_menu_item:nth-child(1) {
  border-top: 1px dashed #5b2900;
}
.com_menu_item:nth-child(2) {
  border-top: 1px dashed #5b2900;
}
.com_menu_ttl {
  font-size: 20px;
  line-height: 1.5em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 12.5px;
}
.com_menu_txt {
  width: calc(100% - 110px);
}
.com_menu_price {
  color: #951646;
  font-weight: 700;
  width: 80px;
  text-align: right;
}
.com_menu_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

/*--------------------menu--------------------*/
/*--------------------top--------------------*/
.top_intro {
  width: 100%;
  position: relative;
  z-index: 1;
}
.top_intro::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 390px;
  transform: translate(-50%, 0%);
  background: url(/img/menu/wave.png) repeat-x center bottom/auto, rgba(214, 188, 167, 0.21);
}
.top_intro_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 60px;
}
.top_intro_left {
  width: 510px;
  padding: 25px 18px 30px;
  background: url(/img/gallery/decobg.png) no-repeat center center/auto, #fff;
  border-radius: 20px;
}
.top_intro_ttl {
  font-family: "Zen Maru Gothic", serif;
  font-size: 38px;
  line-height: 1;
  letter-spacing: 0.18em;
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 1;
  background: url(/img/common/bg03.png) repeat center center/auto;
  padding: 30px 15px;
  text-align: right;
  border-radius: 15px;
  margin-bottom: 15px;
}
.top_intro_ttl_bg {
  color: #5b2900;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0%;
  transform: translate(-30%, -50%);
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 700;
  background: url(/img/common/bg04.png) repeat center center/auto;
  border-radius: 999px;
  padding: 16px 15px;
}
.top_intro_ttl_big {
  font-size: 31px;
}
.top_intro_sub {
  text-align: center;
  margin-bottom: 28px;
}
.top_intro_txt {
  font-size: 47px;
  line-height: 1;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: #951646;
  position: relative;
  z-index: 1;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
  margin-bottom: 30px;
}
.top_intro_txt::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 3%;
  width: 0.5957446809em;
  height: 0.9787234043em;
  transform: translate(0%, -50%);
  background: url(/img/top/bdrttll.png) no-repeat center center/contain;
}
.top_intro_txt::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 3%;
  width: 0.5957446809em;
  height: 0.9787234043em;
  transform: translate(0%, -50%);
  background: url(/img/top/bdrttlr.png) no-repeat center center/contain;
}
.top_intro_txt_dot {
  position: relative;
  z-index: 1;
}
.top_intro_txt_dot::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 7px;
  height: 7px;
  background: #951646;
  border-radius: 50%;
  transform: translate(-50%, 0%);
}
.top_intro_inflex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  justify-content: center;
}
.top_intro_img {
  width: 180px;
  overflow: hidden;
  border-radius: 15px;
  height: 180px;
}
.top_intro_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_intro_right {
  width: 510px;
  padding: 50px 20px 30px;
  background: #fff;
  border-radius: 25px;
  text-align: center;
  position: relative;
  z-index: 1;
}
.top_intro_right::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border-radius: 25px;
  background: url(/img/top/kumopink02.png) no-repeat right 25px top 200px/auto, url(/img/top/kumopink01.png) no-repeat left 28px top 105px/auto, #fff;
}
.top_intro_right::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -100px;
  right: -100px;
  width: 251px;
  height: 125px;
  transform: translate(0%, 0%);
  background: url(/img/gallery/deco01.png) no-repeat center center/contain;
}
.top_intro_right_ttl {
  margin-bottom: 15px;
  position: relative;
  z-index: 1;
}
.top_intro_right_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -30%;
  left: 50%;
  width: 100%;
  height: 10px;
  transform: translate(-50%, 0%);
  background: url(/img/top/bdrt.png) repeat-x center center/auto;
}
.top_intro_right_sub {
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}
.top_intro_right_sub::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -25%;
  left: 50%;
  width: 100%;
  height: 10px;
  transform: translate(-50%, 0%);
  background: url(/img/gallery/bdr01.png) repeat-x center center/auto;
}
.top_intro_right_sub::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 74px;
  transform: translate(-50%, -50%);
  background: url(/img/top/leftttll.png) no-repeat left 2% center/auto, url(/img/top/rightttlt.png) no-repeat right 2% center/auto;
}
.top_intro_right_txt {
  font-size: 18px;
  line-height: 1.5em;
  letter-spacing: 0.14em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 20px;
}
.top_intro_right_img {
  width: 450px;
  height: 160px;
  overflow: hidden;
  border-radius: 15px;
  margin: 0 auto;
}
.top_intro_right_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_syu {
  padding-top: 50px;
}
.top_syu_inner {
  position: relative;
  z-index: 1;
}
.top_syu_img01 {
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50px;
  transform: translate(0%, 0%);
}
.top_syu_img02 {
  position: absolute;
  z-index: -1;
  bottom: 130px;
  right: -20px;
  transform: translate(0%, 0%);
}
@media screen and (max-width: 1310px) {
  .top_syu_img02 {
    right: 0px;
  }
}
.top_syu_ttl {
  width: 110px;
  margin: 0 auto;
  writing-mode: vertical-rl;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 25px;
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  margin-bottom: 60px;
}
.top_syu_ttl::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 17%;
  right: -125%;
  width: 2.8em;
  height: 1.1428571429em;
  transform: translate(0%, 0%);
  background: url(/img/company/kumo01.png) no-repeat center center/contain;
}
.top_syu_ttl_bg {
  color: #951646;
  position: relative;
  z-index: 1;
}
.top_syu_ttl_bg::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 240px;
  background: #ebdada;
  transform: translate(-50%, -50%);
  border-radius: 999px;
}
.top_syu_ttl_bg::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -15%;
  left: 0%;
  width: 109px;
  height: 81px;
  transform: translate(-65%, 100%);
  background: url(/img/sec/taiill.png) no-repeat center center/contain;
}
.top_syu_ttl_big {
  font-size: 50px;
  position: relative;
  z-index: 1;
}
.top_syu_ttl_big::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: -180%;
  width: 98px;
  height: 40px;
  transform: translate(0%, -50%);
  background: url(/img/top/cloudddd.png) no-repeat center center/contain;
}
.top_syu_txt {
  font-size: 16px;
  line-height: 2.5em;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
}

.top_info {
  background: url(/img/gallery/deco01.png) no-repeat top left 18.75%/auto;
  width: 100%;
}
@media screen and (max-width: 1500px) {
  .top_info {
    background: url(/img/gallery/deco01.png) no-repeat top 5% left 7.75%/13.0729166667%;
  }
}
.top_info_inner {
  position: relative;
  z-index: 1;
}
.top_info_inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -25%;
  right: -3%;
  width: 108px;
  height: 65px;
  background: url(/img/company/nami01.png) no-repeat center center/contain;
  transform: translate(0%, 0%);
}
.top_info_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 60px;
}
.top_info_img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  border-radius: 15px;
  margin-bottom: 27px;
}
.top_info_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_info_dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.top_info_dl dt {
  width: 64px;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #951646;
  background: #f4c900;
  border-radius: 999px;
  writing-mode: vertical-lr;
  padding: 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-family: "Zen Maru Gothic", serif;
}
.top_info_dl_dd {
  width: calc(100% - 150px);
}
.top_info_dl_dd dd {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  display: inline-block;
}
.top_info_dl_dd dd:not(:last-child) {
  margin-bottom: 30px;
}
.top_info_dl_dd dd:nth-child(1) {
  padding-right: 2.6111111111em;
}
.top_info_dl_dd dd:nth-child(1)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 2em;
  height: 1.7777777778em;
  transform: translate(0%, -50%);
  background: url(/img/top/ill01.png) no-repeat center center/contain;
}
.top_info_dl_dd dd:nth-child(2) {
  padding-right: 2.8888888889em;
}
.top_info_dl_dd dd:nth-child(2)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 2.3333333333em;
  height: 1.8333333333em;
  transform: translate(0%, -50%);
  background: url(/img/top/ill02.png) no-repeat center center/contain;
}
.top_info_dl_dd dd:nth-child(3) {
  padding-right: 3.1666666667em;
}
.top_info_dl_dd dd:nth-child(3)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 2.6666666667em;
  height: 1.7777777778em;
  transform: translate(0%, -50%);
  background: url(/img/top/ill03.png) no-repeat center center/contain;
}
.top_info_left {
  width: 510px;
  background: #fff;
  padding: 65px 30px 50px;
  border-radius: 20px;
  position: relative;
  z-index: 1;
}
.top_info_left::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 68px;
  height: 52px;
  transform: translate(-50%, -50%);
  background: url(/img/company/ribbon.png) no-repeat center center/contain;
}
.top_info_left_ttl {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}
.top_info_left_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 262px;
  height: 180px;
  transform: translate(-50%, -50%);
  background: url(/img/top/taibg.png) no-repeat center center/contain;
}
.top_info_right {
  width: 510px;
  background: #fff;
  border-radius: 20px;
  padding: 65px 30px 50px;
  position: relative;
  z-index: 1;
}
.top_info_right::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 68px;
  height: 52px;
  transform: translate(-50%, -50%);
  background: url(/img/company/ribbon.png) no-repeat center center/contain;
}
.top_info_right_ttl {
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.top_info_right_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 128px;
  transform: translate(-50%, -50%);
  background: url(/img/common/bg06.png) repeat center center/auto;
}
.top_info_right_txt {
  text-align: center;
  font-size: 18px;
  line-height: 1.6666666667em;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 17px;
}
.top_info_right_sub {
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  background: #951646;
  border-radius: 8px;
  padding: 7.5px;
  text-align: center;
  margin-bottom: 20px;
}
.top_info_tel {
  text-align: center;
}
.top_info_tel p {
  font-size: 40px;
}

.top_news {
  width: 100%;
  padding-top: 150px;
  padding-bottom: 0;
  background: url(/img/menu/waveee.png) repeat-x center top/auto, url(/img/top/cloudddd.png) no-repeat right 32.5520833333% top 150px/auto, rgba(214, 188, 167, 0.21);
}
.top_news_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 60px;
}
.top_news_btn p {
  font-weight: 700;
  display: inline-block;
  position: relative;
  z-index: 1;
  padding-right: 2.125em;
  color: #951646;
}
.top_news_btn p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 1.25em;
  height: 1.25em;
  transform: translate(0%, -50%);
  background: url(/img/top/btnarw03.png) no-repeat center center/contain;
}
.top_news_ttl {
  margin: 0;
}

.top_link {
  width: 100%;
  padding-top: 70px;
  padding-bottom: 100px;
  background: rgba(214, 188, 167, 0.21);
}
.top_link_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 45px;
}
.top_link_txt {
  font-size: 22px;
  line-height: 1.4545454545em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
}
.top_link_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 330px;
  padding: 20px 18px;
  border-radius: 20px;
  background: url(/img/top/bgimg.png) no-repeat right center/auto, url(/img/common/bg05.png) repeat center/auto;
}
.top_link_btn:nth-child(1) {
  gap: 30px;
}
.top_link_btn:nth-child(2) {
  gap: 8px;
}
.top_link_btn:nth-child(3) {
  gap: 20px;
}
.top_link_img {
  width: 137px;
  height: 100px;
}
.top_link_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.googlemap_top {
  width: 100%;
  height: 460px;
}
.googlemap_top iframe {
  border: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_sec {
  width: max(1280px, 87.5%);
  border-radius: 30px;
  margin: 0 auto 200px;
  padding-bottom: 210px;
  position: relative;
  z-index: 1;
  background: url(/img/common/bg03.png) repeat center center/auto;
}
.top_sec_inner {
  position: relative;
  z-index: 1;
  background: url(/img/top/cloud02.png) no-repeat left 100px top 250px/auto, url(/img/top/cloud01.png) no-repeat right 130px top 50px/auto;
}
.top_sec_btn {
  width: 435px;
  padding: 23px 20px;
  border-radius: 999px;
  background: url(/img/common/bg04.png) repeat center center/auto;
  position: absolute;
  left: 210px;
  bottom: -0.5%;
}
.top_sec_btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -23px;
  left: 50%;
  width: 480px;
  height: 37px;
  transform: translate(-50%, 0%);
  background: url(/img/top/decobbbl.png) no-repeat left center/contain, url(/img/top/decobbbr.png) no-repeat right center/contain;
}
.top_sec_btn::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -117px;
  left: 50%;
  width: 402px;
  height: 97px;
  transform: translate(-50%, 0%);
  background: url(/img/top/ballon01.png) no-repeat left bottom/auto, url(/img/top/ballon02.png) no-repeat right bottom/auto;
}
.top_sec_btn p {
  text-align: center;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  font-family: "Zen Maru Gothic", serif;
}
.top_sec_btn p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 1em;
  height: 1em;
  transform: translate(0%, -50%);
  background: url(/img/top/btnarw4.png) no-repeat center center/contain;
}
.top_sec .buy_flex {
  width: 1080px;
  margin: 0 auto;
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 60%);
}
.top_sec_pc {
  margin: -30px auto 0;
  width: 1150px;
  height: 677px;
}
.top_sec_p {
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #f4c900;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 55px;
  text-align: center;
}
.top_sec_ttl {
  text-align: center;
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  margin-bottom: 62.5px;
}
.top_sec_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -75%;
  left: 50%;
  width: 14.125em;
  height: 4em;
  transform: translate(-50%, 0%);
  background: url(/img/top/taittlbg.png) no-repeat center center/contain;
}
.top_sec_ttl_big {
  font-size: 45px;
}
.top_sec_sub {
  text-align: center;
  font-size: 28px;
  line-height: 1.5357142857em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 25px;
}
.top_sec_sub_big {
  font-size: 32px;
  position: relative;
  z-index: 1;
}
.top_sec_sub_big::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 7%;
  left: 50%;
  width: 100%;
  height: 13px;
  transform: translate(-50%, 0%);
  background: rgba(255, 255, 255, 0.25);
  border-radius: 999px;
}
.top_sec_txt {
  text-align: center;
}

.top_sec_btn_bot {
  width: 260px;
  padding: 19px 20px;
  background: #951646;
  border-radius: 999px;
  margin: 0 auto 100px;
  position: relative;
  z-index: 1;
}
.top_sec_btn_bot::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 80%;
  left: -70%;
  width: 108px;
  height: 65px;
  transform: translate(0%, -50%);
  background: url(/img/company/nami01.png) no-repeat center center/contain;
}
.top_sec_btn_bot::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 75%;
  right: -60%;
  width: 82px;
  height: 61px;
  transform: translate(0%, -50%);
  background: url(/img/sec/taiill.png) no-repeat center center/contain;
}
.top_sec_btn_bot p {
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
.top_sec_btn_bot p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0%;
  width: 1.1111111111em;
  height: 1.1111111111em;
  transform: translate(0%, -50%);
  background: url(/img/top/btnarw02.png) no-repeat center center/contain;
}

/*--------------------top--------------------*/
.cmn_txt {
  font-size: 16px;
  line-height: 1.9375em;
  letter-spacing: 0.16em;
  font-weight: 500;
}

.floating-banner {
  position: fixed;
  z-index: 10;
  bottom: 5%;
  right: 0;
}

.floating-banner.close {
  transform: translateX(250px);
  transition: all 500ms 0s ease;
}

.floating-banner .close-button {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  background-color: #f4c900;
  border-radius: 50%;
  transform: translate(-10px, -10px);
}

.floating-banner .close-button span {
  position: relative;
}

.floating-banner .close-button span:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 14px;
  height: 2px;
  background-color: #5b2900;
}

.floating-banner .close-button span:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 14px;
  height: 2px;
  background-color: #5b2900;
}/*# sourceMappingURL=style.css.map */