/* 
font-family: "Noto Sans JP", sans-serif;
font-family: "Noto Serif JP", serif;
*/
html {
  scroll-padding-top: 25.1173333333vw;
}

body {
  font-size: 4vw;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin: 0 auto;
  position: relative;
  color: #5b2900;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background: #f3efe9;
}

/*--------------------cmn--------------------*/
.cmn_tel p {
  display: inline-block;
  font-size: 8vw;
  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;
  color: #5b2900;
}
.cmn_tel p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0%;
  width: 0.8125em;
  height: 0.8125em;
  transform: translate(0%, -42%);
  background: url(/img/company/telicon.png) no-repeat center center/contain;
}

/*--------------------cmn--------------------*/
/*--------------------header--------------------*/
.header {
  width: 100%;
  padding: 2.6666666667vw;
  background: #951646;
  position: fixed;
  z-index: 9;
}
.header_app {
  width: 100%;
  background: #fcdab2;
  padding: 5.3333333333vw 4vw;
  text-align: center;
  border-radius: 1.3333333333vw;
  box-shadow: 1.0666666667vw 1.0666666667vw 0 rgba(195, 133, 147, 0.78);
}
.header_app p {
  font-size: 4vw;
  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_logo {
  width: 12%;
}
.header_logo a {
  width: 100%;
}
.header_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.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;
  display: none;
}
.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;
}
.header_sns a {
  width: 30px;
  height: 30px;
}
.header_sns a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.header_nav {
  display: none;
}
.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;
}
.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: 13.3333333333vw 0 4vw;
  width: 100%;
  background: url(/img/common/bg08.png) repeat center center/auto;
}
.footer_logo {
  width: 20%;
  text-align: center;
  margin: 0 auto 8vw;
}
.footer_tel {
  text-align: center;
  margin-bottom: 8vw;
}
.footer_tel p {
  color: #fff;
}
.footer_dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2.6666666667vw;
  margin-bottom: 8vw;
}
.footer_dl dt {
  font-size: 3.4666666667vw;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  background: #f4c900;
  padding: 2.4vw;
  text-align: center;
  border-radius: 1.3333333333vw;
}
.footer_dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.footer_dd dd {
  color: #fff;
  display: block;
  font-size: 3.4666666667vw;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: #fff;
}
.footer_dd dd:not(:last-child) {
  padding-right: 1em;
  border-right: 0.2666666667vw solid #fff;
}
.footer_dd dd:not(:first-child) {
  padding-left: 1em;
}
.footer_nav {
  margin-bottom: 8vw;
}
.footer_nav_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4vw 8vw;
  width: 100%;
  border-radius: 4vw;
  padding: 8vw 4vw;
  background: url(/img/common/bg07.png) repeat center center/auto;
}
.footer_nav_item {
  font-size: 4vw;
  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(2)::before {
  display: none;
}
.footer_nav_item:nth-child(4)::before {
  display: none;
}
.footer_nav_item:nth-child(6)::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(200%, -50%);
  background: #fff;
  border-radius: 50%;
}
.footer_nav_item a {
  color: #fff;
}

.copy_right {
  font-size: 3.2vw;
  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: 133.3333333333vw;
  position: relative;
  z-index: 1;
  top: 25.1173333333vw;
  margin-bottom: 25.1173333333vw;
  overflow: hidden;
}
.mv_img {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.mv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv_catch {
  width: 90%;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.mv_catch img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv_img02 {
  width: 35.5681818182%;
  position: absolute;
  z-index: -1;
  top: 30%;
  right: -4%;
  transform: translate(0%, 0%);
}
.mv_img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.mv_img01 {
  width: 50%;
  position: absolute;
  z-index: -1;
  top: 0%;
  left: -8%;
  transform: translate(0%, 0%);
}
.mv_img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------mv--------------------*/
/*--------------------sv--------------------*/
.sv_not_found .sv_catch span {
  font-size: 5.8666666667vw;
}

.not_found_page .sub_ttl {
  font-size: 6.6666666667vw;
}

.sv {
  top: 29.3333333333vw;
  width: 100%;
  height: 106.6666666667vw;
  background: rgba(214, 188, 167, 0.21);
  margin: 0 auto;
  position: relative;
  z-index: 1;
  margin-bottom: 29.3333333333vw;
}
.sv_img {
  position: absolute;
  z-index: -2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  height: 100%;
  border-radius: 5.3333333333vw;
  overflow: hidden;
}
.sv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sv_catch {
  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: 2.6666666667vw;
  width: 17.3333333333vw;
  padding: 4vw 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.sv_catch::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -4vw;
  left: 50%;
  width: 100%;
  height: 2.6666666667vw;
  transform: translate(-50%, 0%);
  background: url(/img/company/bdrtop.png) repeat-x center center/auto;
}
.sv_catch::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -4vw;
  left: 50%;
  width: 100%;
  height: 2.6666666667vw;
  transform: translate(-50%, 0%);
  background: url(/img/company/bdrbot.png) repeat-x center center/auto;
}
.sv_catch span {
  font-size: 6.6666666667vw;
  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: 4vw;
  line-height: 1.75em;
  letter-spacing: 0.2em;
}
.cmn_dl_box dt {
  width: 100%;
  background: #951646;
  color: #fff;
  font-weight: 700;
  padding: 4vw;
}
.cmn_dl_box dd {
  width: 100%;
  background: #fff;
  color: #5b2900;
  font-weight: 500;
  padding: 4vw;
}
.cmn_dl_box dd span {
  width: 100%;
  display: block;
}
.cmn_dl_box:not(:last-child) {
  margin-bottom: 4vw;
}

.cmn_ttl {
  font-size: 7.4666666667vw;
  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: 13.3333333333vw;
}
.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;
}
.company::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 77.3333333333vw;
  transform: translate(-50%, 0%);
  background: url(/img/menu/wave.png) repeat-x center bottom/auto, rgba(214, 188, 167, 0.21);
}
.company_dl {
  width: 100%;
}
.company_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8vw;
}
.company_acttl {
  text-align: center;
  padding-bottom: 5.3333333333vw;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 8vw;
  margin-top: 13.3333333333vw;
}
.company_acttl span {
  font-size: 6.4vw;
  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: 4%;
}
.company_ac_item {
  width: 48%;
}
.company_ac_img {
  width: 100%;
  height: 42.6666666667vw;
  overflow: hidden;
  border-radius: 5.3333333333vw;
  margin-bottom: 4vw;
}
.company_ac_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company_ac_txt {
  font-size: 4.8vw;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #951646;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
}

.googlemap {
  width: 100%;
  border-radius: 5.3333333333vw;
  height: 80vw;
  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 3% top 25%/20%;
  position: relative;
}
.store_inner::before {
  content: "";
  position: absolute;
  z-index: -10;
  top: 10%;
  left: 2%;
  width: 18.6666666667vw;
  height: 12vw;
  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;
}

.mood {
  width: 100%;
}
.mood_ttl {
  text-align: center;
  padding-bottom: 5.3333333333vw;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 8vw;
}
.mood_ttl span {
  font-size: 6.4vw;
  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: 8vw 4%;
}
.mood_item {
  width: 48%;
}
.mood_item_ttl {
  font-size: 4vw;
  line-height: 1.55em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.mood_img {
  width: 100%;
  height: 40vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
  margin-bottom: 2.6666666667vw;
}
.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: 77.3333333333vw;
  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: 120vw;
  background: url(/img/sec/img01.png) no-repeat left center/cover;
  position: relative;
  z-index: 1;
  border-radius: 5.3333333333vw;
}
.sec_ttl {
  font-family: "Zen Maru Gothic", serif;
}
.sec_ttl_bg {
  font-size: 7.4666666667vw;
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 700;
  background: #fff;
  padding: 5.3333333333vw 3.2vw;
  writing-mode: vertical-rl;
  border-radius: 2.6666666667vw;
}
.sec_ttl_bg:nth-child(2) {
  position: absolute;
  z-index: -1;
  top: 8vw;
  right: 8vw;
  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: 8vw;
  right: 24vw;
  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%;
}
.huwa_flex {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8vw;
}
.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: -4%;
  width: 34.6666666667vw;
  height: 13.3333333333vw;
  transform: translate(0%, 100%);
  background: url(/img/sec/kumo01.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(1) .huwa_img::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -8vw;
  left: -4%;
  width: 40vw;
  height: 20vw;
  transform: translate(0%, 0%);
  background: url(/img/gallery/bg02.png) no-repeat center center/contain;
}
.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: -4%;
  width: 32vw;
  height: 13.3333333333vw;
  transform: translate(0%, 40%);
  background: url(/img/sec/kumo02.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(2) .huwa_img::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -18.6666666667vw;
  left: -4%;
  width: 37.3333333333vw;
  height: 25.3333333333vw;
  transform: translate(0%, 0%);
  background: url(/img/gallery/bgdeco04.png) no-repeat center center/contain;
}
.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: -4%;
  width: 34.6666666667vw;
  height: 13.3333333333vw;
  transform: translate(0%, 40%);
  background: url(/img/sec/kumo01.png) no-repeat center center/contain;
}
.huwa_flex:nth-child(3) .huwa_img::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -8vw;
  left: -4%;
  width: 40vw;
  height: 20vw;
  transform: translate(0%, 0%);
  background: url(/img/gallery/bg02.png) no-repeat center center/contain;
}
.huwa_flex:not(:last-child) {
  margin-bottom: 26.6666666667vw;
}
.huwa_img {
  width: 100%;
  height: 53.3333333333vw;
  position: relative;
  z-index: 1;
}
.huwa_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5.3333333333vw;
}
.huwa_box {
  width: 100%;
  position: relative;
  z-index: 1;
}
.huwa_ttl {
  padding: 4vw 8vw;
  font-family: "Zen Maru Gothic", serif;
  font-size: 7.4666666667vw;
  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: 2.6666666667vw;
  position: relative;
  z-index: 1;
  margin-bottom: 9.3333333333vw;
}
.huwa_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -4.8vw;
  left: 50%;
  width: 100%;
  height: 2.6666666667vw;
  transform: translate(-50%, 0%);
  background: url(/img/gallery/bdr01.png) repeat-x center center/auto;
}
.huwa_num {
  font-size: 4vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-family: "Zen Maru Gothic", serif;
  position: absolute;
  z-index: 2;
  top: -8vw;
  left: -4%;
  transform: translate(0%, 0%);
  background: #f4c900;
  border-radius: 999px;
  padding: 1.2vw 4.8vw;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.8666666667vw;
}
.huwa_num span {
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 900;
  color: #951646;
  padding-bottom: 1.3333333333vw;
}
.huwa_txt {
  font-size: 4vw;
  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: 5.3333333333vw;
  transform: translate(-50%, 0%);
  background: #f3efe9;
}
.buy_ttl {
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
  font-size: 5.3333333333vw;
  line-height: 1.8571428571em;
  letter-spacing: 0.26em;
  font-weight: 700;
  color: #5b2900;
  margin-bottom: 8vw;
}
.buy_ttl_big {
  font-size: 6.4vw;
  margin-left: -12vw;
  position: relative;
  z-index: 1;
}
.buy_ttl_big::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 54%;
  right: -2%;
  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: 3%;
  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: 6.4vw;
  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: 8vw 4%;
}
.buy_item {
  width: 48%;
}
.buy_item a {
  color: #5b2900;
}
.buy_item_ttl {
  font-size: 4vw;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #5b2900;
}
.buy_img {
  width: 100%;
  height: 40vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
  margin-bottom: 4vw;
}
.buy_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.inbuy {
  width: 100%;
}
.inbuy_img {
  width: 100%;
  height: 80vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
  margin: 0 auto 5.3333333333vw;
}
.inbuy_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.inbuy_txt {
  font-size: 4.2666666667vw;
  line-height: 1.5em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 16vw;
}

/*--------------------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: 77.3333333333vw;
  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: 8vw;
  margin-bottom: 8vw;
}
.gallery_img {
  width: 100%;
  height: 66.6666666667vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
}
.gallery_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gallery_item {
  width: 100%;
}
.gallery_item_ttl {
  margin-bottom: 4vw;
  font-size: 6.4vw;
  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: 4.8vw;
  line-height: 1.4545454545em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #5b2900;
  margin-bottom: 2.6666666667vw;
}
.gallery_since {
  font-size: 4vw;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 6.6666666667vw;
}
.gallery_loop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4vw 4%;
}
.gallery_subimg {
  width: 48%;
  height: 40vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
}
.gallery_subimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.space {
  width: 100%;
  padding-top: 0;
}
.space_box {
  width: 100%;
  border-radius: 5.3333333333vw;
  padding: 8vw 4vw;
  position: relative;
  z-index: 1;
}
.space_box::after {
  content: "";
  position: absolute;
  z-index: -3;
  top: 0%;
  left: -4%;
  width: 66.9333333333vw;
  height: 33.3333333333vw;
  transform: translate(0%, -50%);
  background: url(/img/gallery/deco01.png) no-repeat center center/50%;
}
.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: 5.3333333333vw;
}
.space_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  gap: 8vw;
}
.space_ttl {
  font-size: 6.4vw;
  line-height: 1.625em;
  letter-spacing: 0.18em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 8vw;
  text-align: center;
}
.space_ttl_bg {
  position: relative;
  z-index: 1;
  color: #f4c900;
  font-size: 6.4vw;
  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: 8vw;
  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: 100%;
  position: relative;
  z-index: 1;
}
.space_item::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 6%;
  right: -3%;
  width: 13.3333333333vw;
  height: 14.6666666667vw;
  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: 36vw;
  height: 36vw;
  transform: translate(-50%, -50%);
  background: url(/img/gallery/decobg.png) no-repeat center center/contain;
}
.space_img {
  width: 100%;
  height: 56vw;
}
.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;
  justify-content: center;
  gap: 16vw;
  margin-bottom: 8vw;
}
.space_sub {
  font-size: 4.2666666667vw;
  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: 42.1333333333vw;
  height: 24.8vw;
  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: 43.4666666667vw;
  height: 21.8666666667vw;
  transform: translate(-51%, -45%);
  background: url(/img/gallery/huki02.png) no-repeat center center/contain;
}
.space_txt {
  text-align: center;
  font-size: 4.8vw;
  line-height: 1.35em;
  letter-spacing: 0.15em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
}
.space_txt span {
  color: #951646;
  font-size: 5.6vw;
}

.use {
  width: 100%;
  padding-top: 0;
}
.use_ttl {
  text-align: center;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 8vw;
}
.use_ttl span {
  font-size: 4.8vw;
  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: 2em;
  padding-bottom: 1em;
  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: 4%;
}
.use_item {
  width: 48%;
}
.use_img {
  width: 100%;
  height: 38.6666666667vw;
  margin-bottom: 4vw;
}
.use_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.use_txt {
  text-align: center;
  font-size: 3.7333333333vw;
  line-height: 1.5em;
  letter-spacing: 0.04em;
  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: 8vw;
}
.gmap_ttl span {
  font-size: 6.4vw;
  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 {
  position: relative;
}
.gmap_inner::before {
  content: "";
  position: absolute;
  z-index: -10;
  top: 20%;
  left: -4%;
  width: 18.6666666667vw;
  height: 12vw;
  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;
}

.example {
  width: 100%;
  padding-top: 0;
}
.example_ttl {
  text-align: center;
  background: url(/img/gallery/bdr01.png) repeat-x bottom center/auto;
  margin-bottom: 8vw;
}
.example_ttl span {
  font-size: 6.4vw;
  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: 13.3333333333vw;
}
.example_item {
  width: 100%;
}
.example_item_ttl {
  font-size: 5.3333333333vw;
  line-height: 1.75em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 2.6666666667vw;
}
.example_img {
  width: 100%;
  height: 80vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
  margin-bottom: 5.3333333333vw;
}
.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: 8vw 4vw;
  text-align: center;
  background: url(/img/menu/cloudmenu.png) no-repeat right 6% top 43%/15%, url(/img/menu/bgkumoimenu.png) no-repeat left 3% top 24%/18%, url(/img/menu/mmonyou.png) no-repeat center top 26%/50%, #fff;
}
.dai_ttl {
  margin-bottom: 8vw;
  position: relative;
  z-index: 1;
  display: inline-block;
}
.dai_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 200%;
  right: -3%;
  width: 14.4vw;
  height: 15.7333333333vw;
  transform: translate(0%, -50%);
  background: url(/img/menu/taillll.png) no-repeat center center/contain;
}
.dai_txt {
  margin-bottom: 8vw;
  font-size: 4.5333333333vw;
  line-height: 1.3;
  letter-spacing: 0.15em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
}
.dai_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4%;
}
.dai_img {
  width: 48%;
  height: 40vw;
  border-radius: 4vw;
  overflow: hidden;
}
.dai_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.menut {
  width: 100%;
  position: relative;
  padding-bottom: 0;
  z-index: 1;
}
.menut::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0%;
  left: 50%;
  width: 100%;
  height: 45.3333333333vw;
  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: flex-start;
  justify-content: center;
  gap: 4vw 4%;
}
.menut_btn {
  width: 48%;
  padding: 4.8vw 2.6666666667vw;
  background: url(/img/common/bg05.png) repeat center center/auto;
  border-radius: 999px;
}
.menut_btn p {
  font-size: 4.2666666667vw;
  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: 100%;
  height: 24vw;
  transform: translate(-50%, 0%);
  background: url(/img/company/kumo01.png) no-repeat left top/20%, url(/img/sec/taiill.png) no-repeat right bottom/20%;
}

.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: 100%;
  height: 29.3333333333vw;
  transform: translate(-48%, 0%);
  background: url(/img/top/kumopink01.png) no-repeat left top/20%, url(/img/top/kumopink01.png) no-repeat right bottom/20%;
}

.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: 100%;
  height: 24vw;
  transform: translate(-49%, 0%);
  background: url(/img/menu/decomon01.png) no-repeat left top/20%, url(/img/menu/decomon02.png) no-repeat right bottom/20%;
}

.com_reco {
  width: 100%;
}
.com_reco_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8vw 4%;
}
.com_reco_item {
  width: 48%;
}
.com_reco_item_ttl {
  font-size: 4.8vw;
  line-height: 1.55em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 1.3333333333vw;
}
.com_reco_img {
  width: 100%;
  height: 40vw;
  overflow: hidden;
  border-radius: 5.3333333333vw;
  margin-bottom: 2.6666666667vw;
}
.com_reco_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.com_reco_txt {
  margin-bottom: 2.6666666667vw;
  line-height: 1.4em !important;
}
.com_reco_price {
  text-align: right;
  line-height: 1;
  font-weight: 700;
  color: #951646;
}

.com_menu {
  width: 100%;
  padding-bottom: 0;
}
.com_menu_list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.com_menu_item {
  width: 100%;
  padding-bottom: 3.4666666667vw;
  border-bottom: 0.2666666667vw dashed #5b2900;
  padding-top: 4vw;
}
.com_menu_item:nth-child(1) {
  border-top: 0.2666666667vw dashed #5b2900;
}
.com_menu_ttl {
  font-size: 4.8vw;
  line-height: 1.5em;
  letter-spacing: 0.16em;
  font-weight: 700;
  margin-bottom: 1.3333333333vw;
}
.com_menu_txt {
  width: 100%;
}
.com_menu_price {
  color: #951646;
  font-weight: 700;
  width: 100%;
  text-align: right;
}
.com_menu_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.3333333333vw;
}

.otherr {
  margin-bottom: 20vw;
}

/*--------------------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: 77.3333333333vw;
  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: 8vw;
}
.top_intro_left {
  width: 100%;
  padding: 8vw 4vw;
  background: url(/img/gallery/decobg.png) no-repeat center center/80%, #fff;
  border-radius: 5.3333333333vw;
}
.top_intro_ttl {
  font-family: "Zen Maru Gothic", serif;
  font-size: 6.4vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 1;
  background: url(/img/common/bg03.png) repeat center center/auto;
  padding: 5.3333333333vw 4vw;
  text-align: right;
  border-radius: 4vw;
  margin-bottom: 4vw;
}
.top_intro_ttl_bg {
  color: #5b2900;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0%;
  transform: translate(-30%, -50%);
  font-size: 4.8vw;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 700;
  background: url(/img/common/bg04.png) repeat center center/auto;
  border-radius: 999px;
  padding: 2.6666666667vw 4vw;
}
.top_intro_ttl_big {
  font-size: 5.3333333333vw;
}
.top_intro_sub {
  text-align: center;
  margin-bottom: 6.6666666667vw;
}
.top_intro_txt {
  font-size: 8vw;
  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: 8vw;
}
.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: 1.8666666667vw;
  height: 1.8666666667vw;
  background: #951646;
  border-radius: 50%;
  transform: translate(-50%, 0%);
}
.top_intro_inflex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4%;
  justify-content: center;
}
.top_intro_img {
  width: 48%;
  overflow: hidden;
  border-radius: 4vw;
  height: 40vw;
}
.top_intro_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_intro_right {
  width: 100%;
  padding: 8vw 4vw;
  background: #fff;
  border-radius: 6.6666666667vw;
  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: 6.6666666667vw;
  background: url(/img/top/kumopink02.png) no-repeat right 4vw top 40vw/30%, url(/img/top/kumopink01.png) no-repeat left 4vw top 20vw/auto, #fff;
}
.top_intro_right::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -10.6666666667vw;
  right: -4%;
  width: 32vw;
  height: 17.3333333333vw;
  transform: translate(0%, 0%);
  background: url(/img/gallery/deco01.png) no-repeat center center/contain;
}
.top_intro_right_ttl {
  margin-bottom: 4vw;
  position: relative;
  z-index: 1;
}
.top_intro_right_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -30%;
  left: 50%;
  width: 100%;
  height: 2.6666666667vw;
  transform: translate(-50%, 0%);
  background: url(/img/top/bdrt.png) repeat-x center center/auto;
}
.top_intro_right_sub {
  width: 80%;
  position: relative;
  z-index: 1;
  margin: 0 auto 8vw;
}
.top_intro_right_sub::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -25%;
  left: 50%;
  width: 82vw;
  height: 2.6666666667vw;
  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: 130%;
  height: 14.6666666667vw;
  transform: translate(-50%, -50%);
  background: url(/img/top/leftttll.png) no-repeat left 1% center/contain, url(/img/top/rightttlt.png) no-repeat right 1% center/contain;
}
.top_intro_right_sub img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_intro_right_txt {
  font-size: 4vw;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 4vw;
}
.top_intro_right_img {
  width: 100%;
  height: 40vw;
  overflow: hidden;
  border-radius: 4vw;
  margin: 0 auto;
}
.top_intro_right_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_syu {
  padding-top: 0;
}
.top_syu_inner {
  position: relative;
  z-index: 1;
}
.top_syu_img01 {
  width: 30%;
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 3%;
  transform: translate(0%, 0%);
}
.top_syu_img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_syu_img02 {
  width: 27%;
  position: absolute;
  z-index: -1;
  bottom: 56vw;
  right: 3%;
  transform: translate(0%, 0%);
}
.top_syu_img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_syu_ttl {
  width: 29.3333333333vw;
  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: 6.6666666667vw;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  margin-bottom: 10.6666666667vw;
}
.top_syu_ttl::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 17%;
  right: -80%;
  width: 2em;
  height: 0.9142857143em;
  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: 5.3333333333vw;
  height: 53.3333333333vw;
  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: 21.3333333333vw;
  height: 18.6666666667vw;
  transform: translate(-65%, 100%);
  background: url(/img/sec/taiill.png) no-repeat center center/contain;
}
.top_syu_ttl_big {
  font-size: 10.6666666667vw;
  position: relative;
  z-index: 1;
}
.top_syu_ttl_big::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: -180%;
  width: 18.6666666667vw;
  height: 8.5333333333vw;
  transform: translate(0%, -50%);
  background: url(/img/top/cloudddd.png) no-repeat center center/contain;
}
.top_syu_txt {
  width: 90%;
  margin: 0 auto;
  font-size: 4vw;
  line-height: 2.5em;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
}

.top_info {
  padding-top: 8vw;
  background: url(/img/gallery/deco01.png) no-repeat top left/30%;
  width: 100%;
}
.top_info_inner {
  position: relative;
  z-index: 1;
}
.top_info_inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -5%;
  right: -3%;
  width: 18.6666666667vw;
  height: 11.4666666667vw;
  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: 8vw;
}
.top_info_img {
  width: 100%;
  height: 40vw;
  overflow: hidden;
  border-radius: 4vw;
  margin-bottom: 5.3333333333vw;
}
.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;
  gap: 4vw;
}
.top_info_dl dt {
  width: 10.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #951646;
  background: #f4c900;
  border-radius: 999px;
  writing-mode: vertical-lr;
  padding: 3.2vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-family: "Zen Maru Gothic", serif;
}
.top_info_dl_dd {
  width: calc(100% - 14.6666666667vw);
}
.top_info_dl_dd dd {
  font-size: 4vw;
  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: 6.6666666667vw;
}
.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: 100%;
  background: #fff;
  padding: 8vw 4vw;
  border-radius: 5.3333333333vw;
  position: relative;
  z-index: 1;
}
.top_info_left::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 10.6666666667vw;
  height: 8vw;
  transform: translate(-50%, -50%);
  background: url(/img/company/ribbon.png) no-repeat center center/contain;
}
.top_info_left_ttl {
  width: 100%;
  text-align: center;
  margin-bottom: 5.3333333333vw;
  position: relative;
  z-index: 1;
}
.top_info_left_ttl img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_info_left_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 53.3333333333vw;
  height: 40vw;
  transform: translate(-50%, -50%);
  background: url(/img/top/taibg.png) no-repeat center center/contain;
}
.top_info_right {
  width: 100%;
  background: #fff;
  border-radius: 5.3333333333vw;
  padding: 8vw 4vw;
  position: relative;
  z-index: 1;
}
.top_info_right::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0%;
  left: 50%;
  width: 10.6666666667vw;
  height: 8vw;
  transform: translate(-50%, -50%);
  background: url(/img/company/ribbon.png) no-repeat center center/contain;
}
.top_info_right_ttl {
  margin-bottom: 5.3333333333vw;
  position: relative;
  z-index: 1;
  width: 100%;
}
.top_info_right_ttl img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_info_right_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 21.3333333333vw;
  transform: translate(-50%, -50%);
  background: url(/img/common/bg06.png) repeat center center/auto;
}
.top_info_right_txt {
  text-align: center;
  font-size: 4vw;
  line-height: 1.6666666667em;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 5.3333333333vw;
}
.top_info_right_sub {
  font-size: 4.5333333333vw;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  background: #951646;
  border-radius: 2.1333333333vw;
  padding: 2.1333333333vw;
  text-align: center;
  margin-bottom: 4vw;
}
.top_info_tel {
  text-align: center;
}

.top_news {
  width: 100%;
  padding-bottom: 0;
  background: url(/img/menu/waveee.png) repeat-x center top/auto, url(/img/top/cloudddd.png) no-repeat right 3% top 23%/20%, rgba(214, 188, 167, 0.21);
}
.top_news_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 8vw;
}
.top_news_btn {
  text-align: center;
  margin-top: 8vw;
}
.top_news_btn p {
  font-weight: 700;
  color: #5b2900;
  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: 20vw;
  padding-bottom: 20vw;
  background: rgba(214, 188, 167, 0.21);
}
.top_link_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 4vw;
}
.top_link_txt {
  font-size: 5.3333333333vw;
  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: 100%;
  padding: 4vw 6.6666666667vw;
  border-radius: 5.3333333333vw;
  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: 8vw;
}
.top_link_btn:nth-child(2) {
  gap: 2.1333333333vw;
}
.top_link_btn:nth-child(3) {
  gap: 5.3333333333vw;
}
.top_link_img {
  width: 36.5333333333vw;
  height: 26.6666666667vw;
}
.top_link_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

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

.top_sec {
  width: 100%;
  position: relative;
  padding-bottom: 33.3333333333vw;
  z-index: 1;
  background: url(/img/top/cloud02.png) no-repeat left -5% top 4vw/30%, url(/img/top/cloud01.png) no-repeat right -10% top 100vw/28%, url(/img/common/bg03.png) repeat center center/auto;
}
.top_sec_inner {
  position: relative;
  z-index: 1;
}
.top_sec_btn {
  width: 85%;
  padding: 6.1333333333vw 5.3333333333vw;
  border-radius: 999px;
  background: url(/img/common/bg04.png) repeat center center/auto;
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 0%);
}
.top_sec_btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -5.3333333333vw;
  left: 50%;
  width: 110%;
  height: 9.8666666667vw;
  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: -34.6666666667vw;
  left: 50%;
  width: 110%;
  height: 25.8666666667vw;
  transform: translate(-50%, 0%);
  background: url(/img/top/ballon01.png) no-repeat left bottom/48%, url(/img/top/ballon02.png) no-repeat right bottom/48%;
}
.top_sec_btn p {
  text-align: center;
  font-size: 4vw;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  font-family: "Zen Maru Gothic", serif;
  color: #5b2900;
}
.top_sec_btn p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 60%;
  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: 90%;
  margin: 0 auto;
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 80%);
}
.top_sec_pc {
  width: 100%;
  height: 200vw;
}
.top_sec_p {
  font-size: 5.8666666667vw;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #f4c900;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 10.6666666667vw;
  text-align: center;
}
.top_sec_ttl {
  text-align: center;
  font-size: 6.9333333333vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  margin-bottom: 13.3333333333vw;
}
.top_sec_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -75%;
  left: 50%;
  width: 13.125em;
  height: 3.59375em;
  transform: translate(-50%, 0%);
  background: url(/img/top/taittlbg.png) no-repeat center center/contain;
}
.top_sec_ttl_big {
  font-size: 8.5333333333vw;
}
.top_sec_sub {
  width: 96%;
  margin: 0 auto 4.8vw;
  text-align: center;
  font-size: 4vw;
  line-height: 1.5357142857em;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
}
.top_sec_sub_big {
  font-size: 5.8666666667vw;
  position: relative;
  z-index: 1;
}
.top_sec_sub_big::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 7%;
  left: 50%;
  width: 100%;
  height: 3.2vw;
  transform: translate(-50%, 0%);
  background: rgba(255, 255, 255, 0.25);
  border-radius: 999px;
}
.top_sec_txt {
  text-align: center;
  width: 75%;
  margin: 0 auto 10.6666666667vw;
}
.top_sec_txt img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_sec_btn_bot {
  width: 61.3333333333vw;
  padding: 4.2666666667vw 5.3333333333vw;
  background: #951646;
  border-radius: 999px;
  margin: 98.6666666667vw auto 18.6666666667vw;
  position: relative;
  z-index: 1;
}
.top_sec_btn_bot::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 60%;
  left: -30%;
  width: 16vw;
  height: 10.6666666667vw;
  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: -30%;
  width: 14.6666666667vw;
  height: 11.2vw;
  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: 4.8vw;
  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: 4vw;
  line-height: 1.9375em;
  letter-spacing: 0.16em;
  font-weight: 500;
}

.floating-banner {
  width: 30%;
  position: fixed;
  z-index: 10;
  bottom: 3%;
  right: 0;
}
.floating-banner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.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: 5.3333333333vw;
  height: 5.3333333333vw;
  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_sp.css.map */