@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond&family=Shippori+Mincho:wght@400;500;600;700&display=swap");
:root {
  --width: 1440;
  --width-s: 1100;
  --sp-width: 375;
  --color-black: #1c1c1c;
  --color-assent1: #907446;
  --color-assent2: #b5945b;
  --color-assent3: #e8bc70;
  --gradation_01: linear-gradient(90deg,rgba(181, 148, 91, 1) 0%, rgba(144, 116, 70, 1) 100%);
  --gradation_02: linear-gradient(90deg,rgba(172, 176, 185, 1) 0%, rgba(102, 108, 120, 1) 100%);
  --gradation_03: linear-gradient(90deg,rgba(160, 31, 46, 1) 0%, rgba(118, 12, 26, 1) 100%);
  --fz10: calc(10 / 16 * 1rem);
  --fz12: calc(12 / 16 * 1rem);
  --fz13: calc(13 / 16 * 1rem);
  --fz14: calc(14 / 16 * 1rem);
  --fz15: calc(15 / 16 * 1rem);
  --fz16: calc(16 / 16 * 1rem);
  --fz18: calc(18 / 16 * 1rem);
  --fz22: calc(22 / 16 * 1rem);
  --fz28: calc(28 / 16 * 1rem);
  --fz34: calc(34 / 16 * 1rem);
  --fz46: calc(46 / 16 * 1rem);
  --z_index_header: 100;
  --z_index_modal: 200;
  scroll-padding: 100px;
  scroll-behavior: smooth;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, pre, form, fieldset, input, textarea, blockquote, ul, ol, li, figure {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 1em;
}

ul, ol, li {
  list-style: none;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: none;
  color: currentColor;
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
  outline: none;
  cursor: pointer;
  appearance: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: currentColor;
  text-decoration: none;
}

a:link, a:visited {
  transition: 0.3s;
}

a:hover {
  color: var(--main_color);
}
a:hover img {
  opacity: 0.7;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

body {
  color: var(--color-black);
  font-size: var(--fz15);
  line-height: 1.6;
  font-family: "Shippori Mincho", serif;
  animation: fadeInBody 1s;
}

@keyframes fadeInBody {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
.container {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: 50px;
}
@media screen and (max-width: 767px) {
  .container {
    max-width: 500px;
    padding-inline: 23px;
  }
}

.header {
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: var(--z_index_header);
  width: 100%;
  background: linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.8) 100%);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .header {
    position: absolute;
  }
}

.header_title_inner {
  display: grid;
  align-items: center;
  padding: 10px clamp(0.625rem, -0.0892857143rem + 1.4880952381vw, 1.25rem);
  box-sizing: border-box;
  column-gap: clamp(0.625rem, -0.375rem + 2.0833333333vw, 1.5rem);
  row-gap: 10px;
  grid-template-columns: clamp(2.5rem, 1.6428571429rem + 1.7857142857vw, 3.25rem) 1fr;
}
@media screen and (max-width: 767px) {
  .header_title_inner {
    padding: 20px 23px;
  }
}
.header_title_inner .ttl {
  font-size: clamp(0.625rem, 0.5603448276rem + 0.275862069vw, 0.75rem);
  line-height: 1.25;
  grid-area: 1/1/2/3;
}
@media screen and (max-width: 767px) {
  .header_title_inner .ttl {
    padding-top: 1em;
    line-height: 1.5;
    grid-area: 1/2/2/3;
  }
}
.header_title_inner .logo {
  grid-area: 2/1/3/2;
}
@media screen and (max-width: 767px) {
  .header_title_inner .logo {
    grid-area: 1/1/3/2;
  }
}
.header_title_inner .name {
  position: relative;
  top: -10px;
  font-size: clamp(0.875rem, 0.5892857143rem + 0.5952380952vw, 1.125rem);
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 767px) {
  .header_title_inner .name {
    font-size: var(--fz18);
  }
}

.header_nav {
  display: flex;
  flex-direction: column-reverse;
  justify-content: start;
  align-items: end;
  position: relative;
  gap: 20px;
}
.header_nav__main {
  margin-right: clamp(1.25rem, -0.1785714286rem + 2.9761904762vw, 2.5rem);
}
.header_nav__sub {
  display: flex;
  justify-content: end;
  align-items: center;
  row-gap: clamp(0.625rem, -0.375rem + 2.0833333333vw, 1.5rem);
}

.gnav {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(0.8125rem, 0.6696428571rem + 0.2976190476vw, 0.9375rem);
  gap: clamp(0.625rem, 0.1964285714rem + 0.8928571429vw, 1rem);
}
@media screen and (max-width: 799px) {
  .gnav {
    display: none;
  }
}
.gnav--others {
  justify-content: end;
  margin-right: clamp(0.625rem, -0.375rem + 2.0833333333vw, 1.5rem);
  font-size: clamp(0.6875rem, 0.5446428571rem + 0.2976190476vw, 0.8125rem);
  gap: clamp(0.625rem, -0.375rem + 2.0833333333vw, 1.5rem);
}
.gnav--btns {
  flex-wrap: nowrap;
  justify-content: end;
  font-size: clamp(0.8125rem, 0.5982142857rem + 0.4464285714vw, 1rem);
  letter-spacing: 0.12em;
  gap: 0;
}
.gnav li {
  line-height: 1;
}
.gnav li a {
  display: grid;
  place-items: center;
}
.gnav li a:hover {
  color: var(--color-assent2);
}
.gnav li a:hover span::after {
  width: 100%;
}
.gnav li a span {
  position: relative;
}
.gnav li a span::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--color-assent2);
  content: "";
  transition: 0.3s;
}
.gnav li.reseve a {
  display: grid;
  position: relative;
  width: clamp(9.375rem, 2.9464285714rem + 13.3928571429vw, 15rem);
  aspect-ratio: 240/72;
  background-color: #d9c9ae;
  place-items: center;
}
.gnav li.reseve a span {
  position: relative;
  z-index: 1;
}
.gnav li.reseve a span::after {
  display: none;
}
.gnav li.reseve a::before, .gnav li.reseve a::after {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  content: "";
  transition: 0.3s;
}
.gnav li.reseve a::before {
  left: 0;
  background: linear-gradient(90deg, #b5945b 0%, #90703f 100%);
}
.gnav li.reseve a::after {
  right: 0;
  background: linear-gradient(90deg, #90703f 0%, #907446 100%);
}
.gnav li.reseve a:hover {
  color: var(--color-black);
}
.gnav li.reseve a:hover::before, .gnav li.reseve a:hover::after {
  opacity: 0;
  width: 0;
}
.gnav li.reseve.reseve--request a {
  background-color: #ccc;
}
.gnav li.reseve.reseve--request a::before {
  left: 0;
  background: linear-gradient(90deg, #acb0b9 0%, #6d727d 100%);
}
.gnav li.reseve.reseve--request a::after {
  right: 0;
  background: linear-gradient(90deg, #6d727d 0%, #666c78 100%);
}

.footer, .footer-aside {
  position: relative;
  z-index: 1;
  background-color: #fff;
}

.footer_fixed_btns {
  display: grid;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: var(--z_index_header);
  width: 100%;
  background-color: #fff;
  grid-template-columns: 1fr 1fr 63px;
}
@media screen and (min-width: 800px) {
  .footer_fixed_btns {
    display: none;
  }
}
.footer_fixed_btns .el_cta_btn {
  flex-shrink: 0;
}
.footer_fixed_btns .el_cta_btn a {
  width: auto;
  height: 68px;
  color: #fff;
}
.footer_fixed_btns .el_cta_btn a span {
  border: none;
}
.footer_fixed_btns .el_cta_btn a span::after {
  display: none;
}

.site_menu_btn {
  display: block;
  position: relative;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: var(--z_index_modal);
  width: 63px;
  height: 68px;
  background-color: #fff;
  color: #1c1c1c;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (min-width: 800px) {
  .site_menu_btn {
    display: none;
  }
}
.site_menu_btn.is_open {
  position: fixed;
  top: 10px;
  right: 10px;
  background-color: transparent;
  color: #fff;
}
.site_menu_btn.is_open .bar {
  width: 60%;
  background: transparent;
}
.site_menu_btn.is_open .bar::before {
  top: 0;
  transform: rotate(-135deg);
}
.site_menu_btn.is_open .bar::after {
  top: 0;
  transform: rotate(135deg);
}
.site_menu_btn.is_open::after {
  bottom: 5px;
  content: "close";
}
.site_menu_btn .bar {
  display: block;
  position: relative;
  top: -5px;
  width: 50%;
  height: 1px;
  margin: 0 auto;
  background: currentColor;
  transition: 0.3s;
}
.site_menu_btn .bar::before, .site_menu_btn .bar::after {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  content: "";
  transition: 0.3s;
}
.site_menu_btn .bar::before {
  top: -8px;
}
.site_menu_btn .bar::after {
  top: 8px;
}
.site_menu_btn::after {
  display: block;
  position: absolute;
  bottom: 15px;
  width: 100%;
  margin-top: auto;
  color: currentColor;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.08em;
  text-align: center;
  content: "menu";
}

.site_menu {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z_index_modal);
  transform: translateX(100%);
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background-image: url("/sannomaru/test2025/assets/img/bg_fv.jpg");
  background-position: center top;
  background-size: 120%;
  background-repeat: no-repeat;
  background-color: #1c1c1c;
  color: #fff;
  transition: 0.3s;
  pointer-events: none;
  overscroll-behavior: contain;
}
@media screen and (min-width: 800px) {
  .site_menu {
    display: none;
  }
}
.site_menu.is_open {
  opacity: 1;
  transform: none;
  pointer-events: all;
}

.site_menu_cont {
  width: 100%;
  height: calc(100% + 1px);
}

.site_menu_inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 20px 13px;
  box-sizing: border-box;
}

.site_menu_header {
  margin-bottom: 40px;
  text-align: center;
}
.site_menu_header figure img {
  width: 50px;
}

.site_menu_nav {
  margin-bottom: 42px;
  text-align: center;
}
.site_menu_nav li:not(:last-child) {
  margin-bottom: 40px;
}
.site_menu_nav .el_cta_btn a {
  height: 80px;
}

.site_menu_footer {
  margin-top: auto;
}
.site_menu_footer dl {
  display: flex;
  flex-direction: column;
  margin-bottom: 37px;
  font-size: var(--fz13);
  text-align: center;
  gap: 10px;
}
.site_menu_footer dl dt {
  line-height: 1.7;
}
.site_menu_footer dl dt + dd {
  padding-inline: 20px;
  filter: brightness(0) invert(1);
}
.site_menu_footer .copyright {
  font-size: 0.625rem;
  text-align: center;
}

.footer_mv {
  height: calc(1462 / var(--width) * 100vw);
  padding-top: calc(128 / var(--width) * 100vw);
  box-sizing: border-box;
  background-image: url("/sannomaru/test2025/assets/img/footer_mv@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/footer_mv.jpg") 1x, url("/sannomaru/test2025/assets/img/footer_mv@2x.jpg") 2x);
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer_mv {
    height: clamp(37.5rem, 1.6262755102rem + 153.0612244898vw, 75rem);
    padding-top: 20px;
    background-image: url("/sannomaru/test2025/assets/img/footer_mv.jpg");
    background-size: cover;
  }
}
.footer_mv .bnr {
  margin-bottom: 78px;
}
@media screen and (max-width: 767px) {
  .footer_mv .bnr {
    margin-bottom: 88px;
    margin-inline: auto;
  }
}
.footer_mv .logo {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .footer_mv .logo {
    width: min(299 / var(--width) * 100vw, 299px);
  }
}
@media screen and (max-width: 767px) {
  .footer_mv .logo {
    max-width: 160px;
    margin-inline: auto;
  }
}

.footer_mv_caption {
  padding-block: 1em;
  background-color: var(--color-black);
  color: #fff;
  font-size: var(--fz13);
}

.footer_cta {
  padding-block: 40px;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footer_cta {
    padding-block: 80px 48px;
  }
}
.footer_cta__inner ul {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.footer_cta__inner ul + p {
  margin-top: 1em;
  text-align: center;
}

.footer_cta_ttl {
  color: var(--color-assent3);
  font-size: var(--fz34);
  letter-spacing: 0.08em;
  text-align: center;
}

.footer_cta_btn {
  display: grid;
  align-items: center;
  position: relative;
  height: 200px;
  background-color: var(--color-black);
  background-color: #333;
}
@media screen and (max-width: 767px) {
  .footer_cta_btn {
    align-items: end;
    height: 240px;
  }
}
.footer_cta_btn::before {
  position: absolute;
  inset: 0;
  background-image: url("/sannomaru/test2025/assets/img/cta_btn@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/cta_btn.jpg") 1x, url("/sannomaru/test2025/assets/img/cta_btn@2x.jpg") 2x);
  background-position: right center;
  background-size: cover;
  content: "";
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .footer_cta_btn::before {
    background-image: url("/sannomaru/test2025/assets/img/cta_btn_sp@2x.jpg");
  }
}
@media screen and (max-width: 430px) {
  .footer_cta_btn::before {
    background-image: url("/sannomaru/test2025/assets/img/cta_btn_sp.jpg");
  }
}
.footer_cta_btn.footer_cta_btn--reserve::before {
  background-image: url("/sannomaru/test2025/assets/img/cta_btn2@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/cta_btn2.jpg") 1x, url("/sannomaru/test2025/assets/img/cta_btn2@2x.jpg") 2x);
}
@media screen and (max-width: 767px) {
  .footer_cta_btn.footer_cta_btn--reserve::before {
    background-image: url("/sannomaru/test2025/assets/img/cta_btn2_sp@2x.jpg");
  }
}
@media screen and (max-width: 430px) {
  .footer_cta_btn.footer_cta_btn--reserve::before {
    background-image: url("/sannomaru/test2025/assets/img/cta_btn2_sp.jpg");
  }
}
.footer_cta_btn dl {
  position: relative;
  width: fit-content;
  margin-left: clamp(0.875rem, -0.7737068966rem + 7.0344827586vw, 4.0625rem);
}
@media screen and (max-width: 767px) {
  .footer_cta_btn dl {
    margin-bottom: 31px;
  }
}
.footer_cta_btn dl dt {
  color: var(--color-assent3);
  font-size: clamp(3rem, 2.4827586207rem + 2.2068965517vw, 4rem);
  line-height: 1.2;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.08em;
}
.footer_cta_btn dl dd {
  display: flex;
  align-items: center;
  font-size: var(--fz13);
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .footer_cta_btn dl dd {
    justify-content: end;
  }
}
.footer_cta_btn dl dd::after {
  display: block;
  width: 28px;
  aspect-ratio: 1;
  border: 1px solid #fff;
  border-radius: 50%;
  background-image: url("/sannomaru/test2025/assets/img/arrow_end_wh.svg");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  transition: 0.3s;
}
.footer_cta_btn > div::before, .footer_cta_btn > div::after {
  position: absolute;
  width: 0;
  height: 2px;
  background-color: var(--color-assent3);
  content: "";
  transition: 0.3s;
}
.footer_cta_btn > div::before {
  top: 0;
  left: 0;
}
.footer_cta_btn > div::after {
  right: 0;
  bottom: 0;
}
.footer_cta_btn > div > div::before, .footer_cta_btn > div > div::after {
  position: absolute;
  width: 2px;
  height: 0;
  background-color: var(--color-assent3);
  content: "";
  transition: 0.3s;
}
.footer_cta_btn > div > div::before {
  top: 0;
  left: 0;
}
.footer_cta_btn > div > div::after {
  right: 0;
  bottom: 0;
}
.footer_cta_btn:hover::before {
  opacity: 0.5;
}
.footer_cta_btn:hover > div::before, .footer_cta_btn:hover > div::after {
  width: 100%;
}
.footer_cta_btn:hover > div > div::before, .footer_cta_btn:hover > div > div::after {
  height: 100%;
}
.footer_cta_btn:hover dl dd::after {
  background-color: var(--color-assent3);
}

.footer_cta_merit {
  display: flex;
  align-items: center;
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .footer_cta_merit {
    flex-direction: column;
    gap: 16px;
  }
}
.footer_cta_merit dt {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .footer_cta_merit dt {
    align-self: start;
  }
}
.footer_cta_merit dd {
  display: flex;
  align-items: center;
  width: 388px;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .footer_cta_merit dd {
    width: 100%;
  }
}
.footer_cta_merit dd figure {
  flex-shrink: 0;
}

.footer_caution {
  padding-block: 48px;
  font-size: var(--fz13);
}
.footer_caution .yokoku {
  margin-bottom: 2em;
  padding: 1em;
  border: 1px solid #ccc;
}
.footer_caution .yokoku p {
  width: fit-content;
  margin-inline: auto;
}

.footer_totop {
  padding: 8px;
  background-color: #3c3c3c;
  color: #fff;
  font-size: var(--fz13);
  line-height: 1;
  text-align: center;
}
.footer_totop a {
  display: inline-block;
}
.footer_totop a:hover {
  opacity: 0.7;
}
.footer_totop a span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.footer_totop a span::before {
  width: 24px;
  aspect-ratio: 1;
  background-image: url("/sannomaru/test2025/assets/img/arrow_top.svg");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
}

.footer_info {
  padding-block: 56px 32px;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footer_info {
    padding-block: 32px 112px;
  }
}
.footer_info .copyright {
  font-size: var(--fz12);
  text-align: center;
}

.footer_banner {
  max-width: 900px;
  margin-bottom: clamp(1.875rem, 1.2284482759rem + 2.7586206897vw, 3.125rem);
  margin-inline: auto;
}

.footer_info_nav_wrap {
  display: flex;
  flex-direction: column;
  margin-bottom: 56px;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .footer_info_nav_wrap {
    display: none;
  }
}

.footer_info_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 28px;
  row-gap: 1em;
}
@media screen and (max-width: 767px) {
  .footer_info_nav {
    display: none;
  }
}
.footer_info_nav--s {
  font-size: var(--fz13);
}
.footer_info_nav li a {
  display: block;
  position: relative;
}
.footer_info_nav li a::after {
  position: absolute;
  top: 50%;
  right: -14px;
  translate: 0 -50%;
  width: 1px;
  height: 10px;
  background-color: currentColor;
  content: "";
}
.footer_info_nav li a span {
  position: relative;
}
.footer_info_nav li a span::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transition: 0.3s;
}
.footer_info_nav li a span:hover::after {
  width: 100%;
}
.footer_info_nav li a:hover {
  opacity: 0.7;
}
.footer_info_nav li:last-child a::after {
  display: none;
}

.footer_info_tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-block: 48px;
  font-size: var(--fz13);
  line-height: 1.3;
  text-align: center;
  gap: 19px;
}
.footer_info_tel dt {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .footer_info_tel dt span {
    font-size: var(--fz15);
  }
}

.footer_info_owner {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 24px;
  font-size: var(--fz13);
  gap: 24px;
}
.footer_info_owner ul {
  display: flex;
  justify-content: center;
  gap: 24px;
}
.footer_info_owner .logo {
  margin-left: 1em;
  filter: brightness(0) invert(1);
}
.footer_info_owner a {
  position: relative;
}
.footer_info_owner a::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transition: 0.3s;
}
.footer_info_owner a:hover::after {
  width: 100%;
}
.footer_info_owner a:hover {
  opacity: 0.7;
}

.footer_cta_btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 36px;
}
@media screen and (max-width: 767px) {
  .footer_cta_btns {
    flex-direction: column;
  }
}
.footer_cta_btns .el_cta_btn a {
  width: 432px;
}
@media screen and (max-width: 767px) {
  .footer_cta_btns .el_cta_btn a {
    width: 100%;
    font-size: var(--fz16);
  }
}

.el_btn a {
  display: block;
  position: relative;
  width: 480px;
  max-width: 100%;
  height: 72px;
  margin-inline: auto;
  background: var(--color-black);
  color: #fff;
  font-weight: 600;
  font-size: var(--fz18);
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .el_btn a {
    width: 100%;
    max-width: 480px;
  }
}
.el_btn a span {
  display: grid;
  position: relative;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  place-items: center;
}
.el_btn a span::after {
  position: absolute;
  right: 12px;
  width: 16px;
  aspect-ratio: 16/10;
  background-image: url("/sannomaru/test2025/assets/img/arrow_end.svg");
  content: "";
  transition: 0.3s;
  filter: brightness(0) invert(1);
}
.el_btn a::before {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #b5945b 0%, #907446 100%);
  content: "";
  transition: 0.3s;
}
.el_btn a:hover::before {
  opacity: 1;
}
.el_btn--border a {
  border: 1px solid currentColor;
}

.el_cta_btn a {
  display: block;
  position: relative;
  width: 480px;
  max-width: 100%;
  height: 72px;
  margin-inline: auto;
  border: 1px solid #b5945b;
  background-color: #d9c9ae;
  font-weight: 600;
  font-size: var(--fz18);
  transition: 0.3s;
}
.el_cta_btn a span {
  display: grid;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 3px solid var(--color-black);
  box-sizing: border-box;
  place-items: center;
}
.el_cta_btn a span::after {
  position: absolute;
  right: 12px;
  width: 16px;
  aspect-ratio: 16/10;
  background-image: url("/sannomaru/test2025/assets/img/arrow_end.svg");
  content: "";
  transition: 0.3s;
}
.el_cta_btn a::before, .el_cta_btn a::after {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  content: "";
  transition: 0.3s;
}
.el_cta_btn a::before {
  left: 0;
  background: linear-gradient(90deg, #b5945b 0%, #90703f 100%);
}
.el_cta_btn a::after {
  right: 0;
  background: linear-gradient(90deg, #90703f 0%, #907446 100%);
}
.el_cta_btn a:hover {
  color: var(--color-black);
}
.el_cta_btn a:hover::before, .el_cta_btn a:hover::after {
  opacity: 0;
  width: 0;
}
.el_cta_btn.el_cta_btn--request a {
  border: 1px solid #888;
  background-color: #ccc;
}
.el_cta_btn.el_cta_btn--request a::before {
  left: 0;
  background: linear-gradient(90deg, #acb0b9 0%, #6d727d 100%);
}
.el_cta_btn.el_cta_btn--request a::after {
  right: 0;
  background: linear-gradient(90deg, #6d727d 0%, #666c78 100%);
}

.el_image {
  position: relative;
}
.el_image::after {
  position: absolute;
  right: 3px;
  bottom: 3px;
  color: #fff;
  font-size: 11px;
  content: "image";
}

.el_image__blk::after {
  color: var(--color-black);
}

.text_small {
  font-size: var(--fz13);
}

.hp_img_full {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .lg_visible {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .md_visible {
    display: none;
  }
}

@media screen and (min-width: 431px) {
  .sm_visible {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .md_wide {
    margin-inline: -23px;
  }
}

/*------------------------------
    block
--------------------------------*/
.bl_fv {
  display: grid;
  height: 640px;
  background-image: url("/sannomaru/test2025/assets/img/bg_fv@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/bg_fv.jpg") 1x, url("/sannomaru/test2025/assets/img/bg_fv@2x.jpg") 2x);
  background-position: bottom center;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  text-align: center;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .bl_fv {
    height: calc(300 / var(--sp-width) * 100vw);
    background-position: top center;
    background-size: cover;
  }
}
@media screen and (max-width: 430px) {
  .bl_fv {
    background-image: url("/sannomaru/test2025/assets/img/bg_fv.jpg");
  }
}
@media screen and (min-width: 1440px) {
  .bl_fv {
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .bl_fv .bl_fv_inner {
    position: relative;
    top: 30px;
  }
}
.bl_fv .bl_fv_inner::before {
  display: inline-block;
  width: clamp(1.25rem, 0.0538793103rem + 5.1034482759vw, 3.5625rem);
  aspect-ratio: 57/80;
  background-image: url("/sannomaru/test2025/assets/img/icon_sannomaru.svg");
  background-size: cover;
  color: #fff;
  content: "";
}
.bl_fv .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-assent2);
  font-size: clamp(1rem, 0.8060344828rem + 0.8275862069vw, 1.375rem);
}
.bl_fv .ttl::before {
  color: #fff;
  font-size: clamp(1.75rem, 1.1681034483rem + 2.4827586207vw, 2.875rem);
  letter-spacing: 0.12em;
  text-align: center;
  content: attr(data-text);
}

.bl-fv {
  display: grid;
  height: calc(884 / var(--width) * 100vw);
  text-align: center;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .bl-fv {
    height: calc(360 / var(--sp-width) * 100vw);
  }
}
.bl-fv__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
}
.bl-fv__bg img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}
.bl-fv__inner::before {
  display: inline-block;
  width: clamp(1.25rem, 0.0538793103rem + 5.1034482759vw, 3.5625rem);
  aspect-ratio: 57/80;
  background-image: url("/sannomaru/test2025/assets/img/icon_sannomaru.svg");
  background-size: cover;
  color: #fff;
  content: "";
}
.bl-fv__inner .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-assent2);
  font-size: clamp(1rem, 0.8060344828rem + 0.8275862069vw, 1.375rem);
}
.bl-fv__inner .ttl::before {
  color: #fff;
  font-size: clamp(1.75rem, 1.1681034483rem + 2.4827586207vw, 2.875rem);
  letter-spacing: 0.12em;
  text-align: center;
  content: attr(data-text);
}

.bl_map figcaption {
  margin-top: 10px;
  font-size: var(--fz13);
}
@media screen and (min-width: 768px) {
  .bl_map figcaption {
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  .bl_map figcaption {
    margin-top: 20px;
  }
}

.bl_tab_nav {
  padding-block: clamp(3.75rem, 1.2931034483rem + 10.4827586207vw, 8.5rem) clamp(3.125rem, 1.5086206897rem + 6.8965517241vw, 6.25rem);
}
.bl_tab_nav .tab_nav {
  display: flex;
  justify-content: center;
  line-height: 1.3;
  gap: clamp(0.3125rem, 0.0215517241rem + 1.2413793103vw, 0.875rem);
}
@media screen and (max-width: 767px) {
  .bl_tab_nav .tab_nav {
    flex-wrap: wrap;
  }
}
.bl_tab_nav .tab_nav li {
  flex: 1;
  text-align: center;
}
.bl_tab_nav .tab_nav + .tab_nav {
  margin-top: clamp(0.3125rem, 0.0215517241rem + 1.2413793103vw, 0.875rem);
}
.bl_tab_nav .tab_nav + .tab_nav li {
  width: calc(50% - 5px);
}
.bl_tab_nav .el_btn a {
  width: 100%;
  max-width: 100%;
  height: 64px;
  font-size: clamp(0.8125rem, 0.3787650602rem + 0.9036144578vw, 1rem);
}
@media screen and (max-width: 767px) {
  .bl_tab_nav .el_btn a {
    width: 100%;
    height: 40px;
    padding-inline: 5px;
    box-sizing: border-box;
    font-size: 12px;
  }
  .bl_tab_nav .el_btn a span::after {
    display: none;
  }
}
.bl_tab_nav .el_btn a::before {
  background: var(--color-assent1);
}
.bl_tab_nav .el_btn a.is_active::before {
  opacity: 1;
}

.bl_tab_nav2 {
  padding-block: clamp(3.75rem, 1.2931034483rem + 10.4827586207vw, 8.5rem) clamp(3.125rem, 1.5086206897rem + 6.8965517241vw, 6.25rem);
}
.bl_tab_nav2 .tab_nav {
  display: flex;
  justify-content: center;
  gap: clamp(0.625rem, -0.3125rem + 4vw, 2.4375rem);
}
@media screen and (max-width: 767px) {
  .bl_tab_nav2 li {
    width: 100%;
  }
}
.bl_tab_nav2 .el_btn a {
  width: clamp(18.75rem, 15.5172413793rem + 13.7931034483vw, 25rem);
  max-width: 100%;
  height: 64px;
}
@media screen and (max-width: 767px) {
  .bl_tab_nav2 .el_btn a {
    width: 100%;
    height: 40px;
    font-size: 13px;
  }
  .bl_tab_nav2 .el_btn a span::after {
    display: none;
  }
}
.bl_tab_nav2 .el_btn a::before {
  background: var(--color-assent1);
}
.bl_tab_nav2 .el_btn a.is_active::before {
  opacity: 1;
}

.bl_img_slider_wrap {
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
}

.bl_img_slider {
  transition-timing-function: linear;
}
.bl_img_slider img {
  width: 100%;
}

.tab_area {
  display: none;
  opacity: 0;
}
.tab_area.is_active {
  display: block;
  opacity: 1;
  animation: tabAreaActive 0.3s ease-in 0s forwards;
}

@keyframes tabAreaActive {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.js_trig {
  opacity: 0;
}

.js_trig.is_on {
  animation: fadeIn 2s forwards;
}

.js_trig.slide_in.is_on {
  animation: slideIn 2s forwards;
}

.js_trig.blur_in.is_on {
  animation: blurIn 2s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes blurIn {
  0% {
    opacity: 0;
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
/*------------------------------
    top
--------------------------------*/
.top_fixed_bnr {
  opacity: 0;
  position: fixed;
  right: 0;
  bottom: 20px;
  z-index: calc(var(--z_index_header) + 1);
  translate: 100% 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .top_fixed_bnr {
    display: none;
  }
}
.top_fixed_bnr a {
  display: block;
  position: relative;
  overflow: hidden;
}
.top_fixed_bnr a::after {
  position: absolute;
  top: -10%;
  left: -20%;
  transform: scale(2) rotate(20deg);
  width: 40px;
  height: 100%;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
  content: "";
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.top_fixed_bnr.is_show {
  opacity: 1;
  right: 20px;
  translate: 0 0;
}
.top_fixed_bnr.is_hide {
  opacity: 0;
  right: 0;
  translate: 100% 0;
}
.top_fixed_bnr button {
  display: block;
  position: absolute;
  top: -10px;
  right: 0;
  z-index: 2;
  width: 25px;
  height: 25px;
  color: #fff;
  line-height: 1;
}
.top_fixed_bnr button::before, .top_fixed_bnr button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 25px;
  background: #fff;
  content: "";
}
.top_fixed_bnr button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.top_fixed_bnr button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .top_main_spacer {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .top_main_spacer {
    height: 120px;
    background-color: var(--color-black);
  }
}

.top_fv {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top_fv {
    height: calc(375 / var(--sp-width) * 100vw);
  }
}
.top_fv .top_fv_video {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.top_fv .top_fv_video .video {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .top_fv .top_fv_video .video {
    height: 100%;
    object-fit: cover;
  }
}

.top-intro {
  overflow: hidden;
}

.top-intro-lead {
  padding-top: clamp(7.5rem, 4.6875rem + 12vw, 12.9375rem);
  box-sizing: border-box;
  background-image: url("/sannomaru/test2025/top/img/quality_bg@2x.jpg");
  background-position: top center;
  background-size: 1440px auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .top-intro-lead {
    padding-block: 100px 30px;
  }
}
@media screen and (min-width: 1440px) {
  .top-intro-lead {
    background-size: 100% auto;
  }
}
.top-intro-lead__title {
  margin-bottom: clamp(3.75rem, 1.8103448276rem + 8.275862069vw, 7.5rem);
  width: clamp(16.1875rem, 7.8469827586rem + 35.5862068966vw, 32.3125rem);
  margin-inline: auto;
}

.top-intro-content {
  display: flex;
  align-items: center;
  position: relative;
  padding-block: 134px 81px;
  padding-block: clamp(0rem, -4.3318965517rem + 18.4827586207vw, 8.375rem) clamp(0rem, -2.6185344828rem + 11.1724137931vw, 5.0625rem);
}
@media screen and (min-width: 768px) {
  .top-intro-content {
    min-height: calc(620 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .top-intro-content {
    flex-direction: column;
    gap: 30px;
    align-items: center;
  }
}
.top-intro-content__mv {
  margin-inline: calc(50% - 50vw);
  opacity: 0;
}
.is_on .top-intro-content__mv {
  animation: fadeIn 2s forwards 1s;
}
@media screen and (min-width: 768px) {
  .top-intro-content__mv {
    position: absolute;
    top: 0;
    left: 0;
    padding-inline: clamp(0rem, -3.6144578313rem + 7.5301204819vw, 1.5625rem);
    height: 100%;
  }
}
.top-intro-content__mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-intro-content__body {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  font-weight: 400;
  font-size: clamp(1rem, 0.7108433735rem + 0.6024096386vw, 1.125rem);
  line-height: 2.4;
  gap: clamp(1.875rem, -6.0768072289rem + 16.5662650602vw, 5.3125rem);
}
@media screen and (max-width: 767px) {
  .top-intro-content__body {
    text-align: center;
    align-items: center;
  }
}
.top-intro-content__body p {
  opacity: 0;
}
.is_on .top-intro-content__body p {
  animation: slideInLeft 2s forwards 2s;
}
.top-intro-content__body .-logo {
  width: clamp(15.625rem, -19.3629518072rem + 72.8915662651vw, 30.75rem);
  opacity: 0;
}
.is_on .top-intro-content__body .-logo {
  animation: fadeIn 2s forwards 3s;
}

.bl-img-slider-wrap {
  position: relative;
  margin-inline: calc(50% - 50vw);
}

.top-intro-slider-wrap {
  margin-block: clamp(0.625rem, 0.1724137931rem + 1.9310344828vw, 1.5rem) clamp(4.5rem, 3.9827586207rem + 2.2068965517vw, 5.5rem);
}
@media screen and (max-width: 767px) {
  .top-intro-slider-wrap {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .top_intro_slider {
    display: none;
  }
}

.top-intro-footer {
  margin-top: clamp(3.75rem, 1.9719827586rem + 7.5862068966vw, 7.1875rem);
}
.top-intro-footer__banners {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, -0.0431034483rem + 5.5172413793vw, 3.75rem);
}

.top-intro-kanta {
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: relative;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .top-intro-kanta {
    height: calc(273 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .top-intro-kanta {
    padding-top: 50px;
    padding-inline: 50px;
  }
}
.top-intro-kanta__bg {
  position: absolute;
  top: 0;
  left: 0;
  margin-inline: calc(50% - 50vw);
  padding-inline: 25px;
}
@media screen and (max-width: 767px) {
  .top-intro-kanta__bg {
    height: 100%;
  }
}
.top-intro-kanta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.top-intro-kanta a {
  position: relative;
  z-index: 2;
}

.top_intro_info {
  padding-block: clamp(4.625rem, 2.3620689655rem + 9.6551724138vw, 9rem) clamp(4.625rem, 3.4288793103rem + 5.1034482759vw, 6.9375rem);
  background-image: url("/sannomaru/test2025/assets/img/bg_star@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/bg_star.jpg") 1x, url("/sannomaru/test2025/assets/img/bg_star@2x.jpg") 2x);
  background-position: top center;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top_intro_info {
    background-position: center top;
  }
}
.top_intro_info__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 64px;
  gap: 30px;
}

.top_intro_point .caption {
  margin-top: clamp(1.5625rem, 0.8189655172rem + 3.1724137931vw, 3rem);
  font-size: var(--fz12);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top_intro_point .caption {
    width: fit-content;
    margin-inline: auto;
    text-align: left;
  }
}

.top_intro_point_inner {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 1.9827586207rem + 2.2068965517vw, 3.5rem);
}

.top_intro_info_cv {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .top_intro_info_cv {
    margin-top: 85px;
  }
}
.top_intro_info_cv .eng {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 15px;
  font-size: var(--fz14);
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.12em;
  gap: 8px;
}
.top_intro_info_cv .eng::after {
  display: block;
  width: 480px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 30%, #fff 70%, rgba(255, 255, 255, 0) 100%);
  content: "";
}
@media screen and (max-width: 767px) {
  .top_intro_info_cv .eng::after {
    max-width: 100%;
  }
}
.top_intro_info_cv .ttl {
  color: var(--color-assent3);
  font-size: clamp(2.125rem, 1.7370689655rem + 1.6551724138vw, 2.875rem);
  letter-spacing: 0.08em;
}
.top_intro_info_cv .ttl + p + p {
  font-size: var(--fz22);
}
.top_intro_info_cv .copy {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  gap: 1em;
}
.top_intro_info_cv .copy span.yen {
  display: flex;
  align-items: center;
  color: var(--color-assent3);
  font-size: clamp(1rem, 0.8060344828rem + 0.8275862069vw, 1.375rem);
}
.top_intro_info_cv .copy span.yen span {
  margin-bottom: 5px;
  font-size: 2em;
}
.top_intro_info_cv .date {
  display: flex;
  flex-direction: column;
  margin-block: 1em;
  color: var(--color-assent3);
  gap: 5px;
}
.top_intro_info_cv .date dt {
  font-size: var(--fz15);
}
.top_intro_info_cv .date dd {
  font-size: var(--fz18);
}
.top_intro_info_cv .date dd:last-child {
  color: #fff;
  font-size: var(--fz13);
}
.top_intro_info_cv .com {
  font-size: var(--fz12);
}
.top_intro_info_cv .cta_btn {
  display: flex;
  flex-direction: column;
  margin-top: 2em;
  gap: 10px;
}
.top_intro_info_cv .cta_btn dt {
  font-size: var(--fz22);
}
.top_intro_info_cv .el_cta_btn a {
  width: clamp(20.5625rem, 13.0948275862rem + 31.8620689655vw, 35rem);
}
.top_intro_info_cv .el_cta_btn a span {
  border-color: var(--color-black);
}

.top_history {
  position: relative;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top_history {
    padding-bottom: 128px;
  }
}
.top_history .top_history_mv {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  animation: topHistoryMv 8s ease-out 4s infinite;
}
@keyframes topHistoryMv {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.top_history .top_history_mv2 {
  position: relative;
  z-index: -1;
}
.top_history figure img {
  width: 100%;
}
.top_history .top_history_ttl {
  position: relative;
  z-index: 1;
  margin-block: -50px;
  padding-block: clamp(6.25rem, 4.1071428571rem + 4.4642857143vw, 8.125rem);
  background-image: url("/sannomaru/test2025/top/img/history_deco.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  font-size: var(--fz18);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top_history .top_history_ttl {
    padding-block: min(70 / var(--sp-width) * 100vw, 80px);
  }
}
.top_history .top_history_cont {
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5), -2px 2px 5px rgba(0, 0, 0, 0.5), 2px -2px 5px rgba(0, 0, 0, 0.5), -2px -2px 5px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 768px) {
  .top_history .top_history_cont {
    position: absolute;
    right: 40px;
    bottom: 40px;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .top_history .top_history_cont {
    max-width: 500px;
    margin-top: -172px;
    margin-inline: auto;
    padding-inline: 23px;
  }
}
.top_history .top_history_cont .ttl {
  margin-bottom: clamp(0.9375rem, 0.775862069rem + 0.6896551724vw, 1.25rem);
  color: var(--color-assent3);
  font-size: clamp(1.75rem, 1.5560344828rem + 0.8275862069vw, 2.125rem);
  letter-spacing: 0.08em;
}
.top_history .top_history_cont p {
  line-height: 2.4;
  letter-spacing: 0.08em;
}

.top_quality {
  padding-block: clamp(6rem, 4.4482758621rem + 6.6206896552vw, 9rem) clamp(4rem, 0.7349137931rem + 13.9310344828vw, 10.3125rem);
  overflow: hidden;
  background-image: url("/sannomaru/test2025/top/img/quality_bg@2x.jpg");
  background-position: top center;
  background-size: 1440px auto;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1440px) {
  .top_quality {
    background-size: 100% auto;
  }
}

.top_quality_ttl_eng {
  margin-bottom: clamp(0.625rem, 0.3017241379rem + 1.3793103448vw, 1.25rem);
  color: var(--color-assent1);
  font-size: clamp(4.5rem, 4.2413793103rem + 1.1034482759vw, 5rem);
  font-family: "Cormorant Garamond", serif;
  content: "QUALITY";
  animation: slideIn 2s forwards;
}

.top_quality_ttl {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(3rem, 1.9655172414rem + 4.4137931034vw, 5rem);
  font-size: clamp(1.375rem, 1.1810344828rem + 0.8275862069vw, 1.75rem);
  letter-spacing: 0.08em;
  gap: 40px;
}
.top_quality_ttl span {
  padding-left: 16px;
  border-left: 1px solid var(--color-assent1);
}

.top_quality_boxs .row {
  display: grid;
  align-items: center;
  gap: calc(57 / var(--width) * 100vw);
}
@media screen and (max-width: 767px) {
  .top_quality_boxs .row {
    display: flex;
    flex-direction: column;
    gap: 60px;
  }
}
.top_quality_boxs .row .mv img {
  width: 100%;
  height: calc(700 / var(--width) * 100vw);
  object-fit: cover;
  object-position: right bottom;
}
@media screen and (max-width: 767px) {
  .top_quality_boxs .row .mv img {
    width: calc(278 / var(--sp-width) * 100vw);
    height: calc(144 / var(--sp-width) * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .top_quality_boxs .row .mv.mv__kanta img {
    height: calc(800 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .top_quality_boxs .row:first-child {
    margin-right: calc(50% - 50vw);
    grid-template-columns: 563px 1fr;
  }
}
@media screen and (max-width: 767px) {
  .top_quality_boxs .row:first-child .mv {
    margin-right: calc(50% - 50vw);
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .top_quality_boxs .row:last-child {
    margin-left: calc(50% - 50vw);
    grid-template-columns: 1fr 563px;
  }
}
@media screen and (max-width: 767px) {
  .top_quality_boxs .row:last-child .mv {
    margin-right: auto;
    margin-left: calc(50% - 50vw);
  }
}
.top_quality_boxs .row:not(:last-child) {
  margin-bottom: 60px;
}
.top_quality_boxs .el_btn {
  margin-block: 25px;
}

.top_quality_item {
  display: grid;
}
.top_quality_item .detail .copy {
  display: inline-block;
  margin-bottom: 6px;
  padding: 6px;
  background-color: var(--color-assent2);
  color: #fff;
  font-size: var(--fz18);
  line-height: 1;
}
.top_quality_item .detail .name {
  margin-bottom: 6px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--color-assent2);
  color: var(--color-assent2);
  font-size: var(--fz28);
  line-height: 1.2;
  letter-spacing: 0.08em;
}
.top_quality_item .detail .name span {
  font-size: var(--fz34);
}
.top_quality_item .detail .copy2 {
  margin-block: 16px 10px;
  font-size: var(--fz18);
}

.top_quality_kanta_copy {
  margin-bottom: 25px;
  text-align: center;
}

.top_quality_item__kanta {
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .top_quality_item__kanta {
    grid-template-columns: 285px 1fr;
  }
}
.top_quality_item__kanta .images {
  position: relative;
  padding-bottom: 18px;
}
.top_quality_item__kanta .images .copy {
  display: grid;
  position: absolute;
  width: 100%;
  height: 88px;
  background-color: var(--color-assent2);
  place-items: center;
}
.top_quality_item__kanta .detail {
  display: flex;
  flex-direction: column;
}
.top_quality_item__kanta .detail .detail_footer {
  margin-top: auto;
}
.top_quality_item__kanta .cost {
  display: grid;
  height: 76px;
  margin-block: 1em;
  background-color: #e1d7c7;
  text-align: center;
  place-items: center;
}
.top_quality_item__kanta .thumbs {
  font-size: var(--fz12);
  text-align: right;
}
.top_quality_item__kanta .thumbs .thumb {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, 1fr);
}

.top_quality_item__bubble {
  align-items: center;
  margin-bottom: clamp(2rem, 1.7413793103rem + 1.1034482759vw, 2.5rem);
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .top_quality_item__bubble {
    grid-template-columns: 200px 1fr;
  }
}

.top_quality_bubble_point {
  display: grid;
  margin-top: clamp(3.125rem, 2.1551724138rem + 4.1379310345vw, 5rem);
  column-gap: 48px;
  row-gap: 32px;
}
@media screen and (min-width: 768px) {
  .top_quality_bubble_point {
    grid-template-columns: repeat(2, auto);
  }
}
.top_quality_bubble_point li {
  position: relative;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .top_quality_bubble_point li:nth-child(odd)::after {
    position: absolute;
    top: 0;
    right: -24px;
    width: 1px;
    height: 100%;
    background-color: var(--color-assent2);
    content: "";
  }
}
.top_quality_bubble_point li p:first-child {
  font-size: var(--fz13);
}
.top_quality_bubble_point li p:nth-child(2) {
  font-size: var(--fz16);
}
.top_quality_bubble_point li p:nth-child(2) strong {
  font-weight: normal;
  font-size: var(--fz18);
}
.top_quality_bubble_point li p:nth-child(2) strong span {
  color: var(--color-assent2);
  font-size: var(--fz22);
}

.top_access {
  overflow: hidden;
}
.top_access__first {
  padding-block: clamp(6rem, 3.5107758621rem + 10.6206896552vw, 10.8125rem) calc(242 / var(--width) * 100vw);
  background-image: url("/sannomaru/test2025/top/img/access_bg@2x.jpg");
  background-position: top center;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: #1c1c1c;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top_access__first {
    background-size: 150%;
  }
}
@media screen and (min-width: 1440px) {
  .top_access__first {
    background-size: contain;
  }
}

@media screen and (min-width: 768px) {
  .top_access_lead {
    text-align: center;
  }
}
.top_access_lead .ttl {
  margin-bottom: 44px;
  color: var(--color-assent3);
  font-size: clamp(1.375rem, 1.1810344828rem + 0.8275862069vw, 1.75rem);
  letter-spacing: 0.08em;
}
.top_access_lead p {
  line-height: 2.4;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .top_access_lead p br {
    display: none;
  }
}

.top_access_slider_wrap {
  position: relative;
  margin-block: 54px;
  margin-inline: calc(50% - 50vw);
}

@media screen and (max-width: 767px) {
  .top_access_slider {
    display: none;
  }
}

.top_access_eng {
  position: relative;
  z-index: 1;
  font-size: clamp(5rem, 3.7068965517rem + 5.5172413793vw, 7.5rem);
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .top_access_eng {
    margin-top: -40px;
  }
}
@media screen and (max-width: 767px) {
  .top_access_eng {
    display: grid;
    position: absolute;
    inset: 0;
    place-items: center;
  }
}

.top_trafic_nav {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin-top: -7.65625vw;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .top_trafic_nav {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .top_trafic_nav {
    margin-top: -98px;
  }
}
.top_trafic_nav::after {
  position: absolute;
  right: 0;
  bottom: min(30 / var(--width) * 100vw, 30px);
  font-size: var(--fz13);
  content: "※";
}
@media screen and (max-width: 1280px) {
  .top_trafic_nav::after {
    right: 30px;
  }
}
.top_trafic_nav .swiper-wrapper {
  justify-content: center;
  align-items: center;
  gap: min(54 / var(--width) * 100vw, 54px);
}
.top_trafic_nav .badge {
  display: grid;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  width: min(220 / var(--width) * 100vw, 220px) !important;
  aspect-ratio: 220/148;
  background-color: #e8bc70;
  outline: 1px solid;
  cursor: pointer;
  transition: 0.3s;
  place-items: center;
}
.top_trafic_nav .badge img {
  transition: 0.3s;
}
.top_trafic_nav .badge:hover {
  background-color: var(--color-assent1);
}
.top_trafic_nav .badge:hover img {
  filter: brightness(0) invert(1);
}
.top_trafic_nav .badge__fukuyama {
  width: min(184 / var(--width) * 100vw, 184px) !important;
  aspect-ratio: 184/213;
}
.top_trafic_nav .swiper-slide-thumb-active {
  background-color: var(--color-assent1);
}
.top_trafic_nav .swiper-slide-thumb-active img {
  filter: brightness(0) invert(1);
}

.top_trafic_note {
  margin-block: -2em 5em;
  font-size: var(--fz13);
}
@media screen and (min-width: 768px) {
  .top_trafic_note {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .top_trafic {
    position: relative;
    margin-bottom: 54px;
    margin-inline: calc(50% - 50vw);
  }
  .top_trafic ul {
    margin-inline: auto;
  }
  .top_trafic ul li {
    position: relative;
  }
  .top_trafic ul li button {
    display: none;
    position: relative;
    z-index: 3;
  }
  .top_trafic ul li .bg {
    position: relative;
  }
  .top_trafic ul li .bg::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    width: min(1280 / var(--width) * 100vw, 1280px);
    height: 3px;
    background-color: var(--color-assent3);
    content: "";
  }
  .top_trafic ul li .bg img {
    width: 100%;
  }
  .top_trafic ul li .cont {
    display: grid;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 2;
    translate: -50% 0;
    width: 100%;
    max-width: 1180px;
    padding-block: clamp(1.25rem, -3.0873493976rem + 9.0361445783vw, 3.125rem) clamp(1.875rem, -9.6912650602rem + 24.0963855422vw, 6.875rem);
    padding-inline: 30px;
    box-sizing: border-box;
  }
  .top_trafic ul li .cont .text {
    width: fit-content;
    margin: auto 0 0 auto;
    font-size: 16px;
    line-height: 1.6;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5), -2px 2px 5px rgba(0, 0, 0, 0.5), 2px -2px 5px rgba(0, 0, 0, 0.5), -2px -2px 5px rgba(0, 0, 0, 0.5);
  }
  .top_trafic ul li.fukuyama .cont, .top_trafic ul li.fukuyama .bg {
    opacity: 1;
    z-index: 0;
  }
  .top_trafic ul li.hakata .cont {
    top: 0;
    bottom: auto;
  }
  .top_trafic ul li.hakata .cont .text {
    margin: 0 0 auto 0;
  }
  .top_trafic ul li.osaka .cont .text {
    margin: auto auto 0 0;
  }
  .top_trafic button {
    transition: 0.3s;
  }
  .top_trafic button:hover + .bg {
    opacity: 1;
  }
  .top_trafic button:hover + .bg + .cont {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .top_trafic {
    position: relative;
    margin-bottom: 68px;
    margin-inline: calc(50% - 50vw);
  }
  .top_trafic::before, .top_trafic::after {
    position: absolute;
    width: 1px;
    height: 50%;
    background-color: var(--color-assent3);
    content: "";
  }
  .top_trafic::before {
    top: 0;
    left: 42px;
  }
  .top_trafic::after {
    right: 42px;
    bottom: 0;
  }
  .top_trafic ul {
    display: flex;
    flex-direction: column-reverse;
    gap: 30px;
  }
  .top_trafic ul li {
    display: flex;
    flex-direction: column;
    width: auto !important;
  }
  .top_trafic ul li:nth-child(-n+2) {
    padding-right: 87px;
  }
  .top_trafic ul li:nth-last-child(-n+2) {
    padding-left: 87px;
  }
  .top_trafic ul li:not(.fukuyama) .bg {
    order: 0;
  }
  .top_trafic ul li:not(.fukuyama) button {
    order: 1;
    margin-top: -67px;
    margin-bottom: 1em;
  }
  .top_trafic ul li:not(.fukuyama) .cont {
    order: 2;
    padding-inline: 1em;
    font-size: var(--fz13);
  }
  .top_trafic ul li:not(.fukuyama) .cont br {
    display: none;
  }
  .top_trafic ul li.fukuyama {
    position: relative;
    z-index: 1;
    margin-block: 10px;
  }
  .top_trafic ul li.fukuyama button {
    position: relative;
  }
  .top_trafic ul li.fukuyama .bg {
    margin-top: -86px;
  }
  .top_trafic ul li.fukuyama .cont {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px;
  }
  .top_trafic ul li.fukuyama .cont br {
    display: none;
  }
  .top_trafic ul li.hakata button {
    position: relative;
  }
  .top_trafic ul li.hakata button::after {
    position: absolute;
    right: 30px;
    bottom: 0;
    font-size: var(--fz13);
    content: "※";
  }
}
.top_trafic_more {
  margin-bottom: 32px;
  font-size: var(--fz16);
}
@media screen and (min-width: 768px) {
  .top_trafic_more {
    text-align: center;
  }
}

.top_trafic_thumbs {
  display: grid;
  margin-bottom: clamp(5rem, 4.7413793103rem + 1.1034482759vw, 5.5rem);
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .top_trafic_thumbs {
    grid-template-columns: repeat(3, 1fr);
  }
}
.top_trafic_thumbs figure {
  display: grid;
  align-items: end;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.top_trafic_thumbs figure img {
  width: 100%;
}
.top_trafic_thumbs figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
  position: relative;
  margin-top: 5px;
}
.top_trafic_thumbs figcaption .dist {
  position: absolute;
  right: 0;
  bottom: 0;
  margin-left: auto;
  color: var(--color-assent3);
  font-size: var(--fz16);
  line-height: 1.3;
  text-align: right;
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.7));
}
.top_trafic_thumbs figcaption .dist .num {
  font-size: 72px;
  line-height: 1;
  letter-spacing: 0.08em;
}
.top_trafic_thumbs figcaption .dist .num2 {
  font-size: var(--fz13);
}

.top_env {
  margin-top: calc(242 / var(--width) * 100vw * -1);
}
@media screen and (max-width: 767px) {
  .top_env {
    margin-top: -26.511627907vw;
  }
}
@media screen and (max-width: 767px) {
  .top_env .container {
    padding-inline: 13px;
  }
}

.top_env_copy {
  margin-bottom: clamp(2.1875rem, 1.8965517241rem + 1.2413793103vw, 2.75rem);
  font-size: clamp(1.125rem, 0.8017241379rem + 1.3793103448vw, 1.75rem);
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .top_env_copy {
    text-align: center;
  }
}

.top_env_mv {
  margin-bottom: clamp(1.5rem, 0.2068965517rem + 5.5172413793vw, 4rem);
  margin-inline: calc(50% - 50vw);
  padding-inline: clamp(0rem, -3.6144578313rem + 7.5301204819vw, 1.5625rem);
}
.top_env_mv img {
  width: 100%;
}

.top_env_main {
  margin-bottom: clamp(1.5rem, 1.2090517241rem + 1.2413793103vw, 2.0625rem);
}
.top_env_main figure {
  position: relative;
}
.top_env_main figcaption {
  position: absolute;
  bottom: 24px;
  left: 0;
  width: 579px;
  padding: 10px;
  box-sizing: border-box;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 40%, rgba(0, 0, 0, 0) 100%);
}
@media screen and (max-width: 767px) {
  .top_env_main figcaption {
    width: 94%;
  }
}
.top_env_main figcaption > span {
  display: block;
  width: fit-content;
}
.top_env_main figcaption .name {
  font-size: var(--fz28);
  line-height: 1;
}
.top_env_main figcaption .dist {
  margin-left: 8px;
  color: var(--color-assent3);
  font-size: var(--fz16);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top_env_main figcaption .dist {
    display: block;
  }
}
.top_env_main figcaption .dist .num {
  font-size: 72px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .top_env_main figcaption .dist .num {
    letter-spacing: 0.08em;
  }
}

.top_env_sub {
  display: flex;
  margin-bottom: 32px;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .top_env_sub {
    flex-direction: column;
    margin-bottom: 38px;
    gap: 24px;
  }
}
.top_env_sub figure img {
  width: 100%;
}
.top_env_sub figcaption {
  margin-top: 5px;
  font-size: var(--fz18);
}
.top_env_sub figcaption span {
  margin-left: 8px;
  font-size: var(--fz13);
}

.top_env_thumbs {
  display: grid;
  align-items: end;
  margin-bottom: clamp(4.5rem, 4.338362069rem + 0.6896551724vw, 4.8125rem);
  column-gap: 20px;
  row-gap: 114px;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .top_env_thumbs {
    column-gap: 10px;
    row-gap: 24px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.top_env_thumbs figure img {
  width: 100%;
}
.top_env_thumbs figure:nth-child(3) {
  grid-column: span 2;
  grid-row: span 2;
}
.top_env_thumbs figure:nth-child(3) figcaption span {
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .top_env_thumbs figure:nth-child(3) figcaption span {
    display: inline;
  }
}
.top_env_thumbs figcaption {
  margin-top: 5px;
}
.top_env_thumbs figcaption span {
  font-size: var(--fz13);
}
@media screen and (min-width: 768px) {
  .top_env_thumbs figcaption span {
    margin-left: 8px;
  }
}
@media screen and (max-width: 767px) {
  .top_env_thumbs figcaption span {
    display: block;
  }
}

.top_env_slider {
  margin-bottom: clamp(4.5rem, 3.1099137931rem + 5.9310344828vw, 7.1875rem);
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
}
.top_env_slider .swiper-slide {
  width: 288px;
}
@media screen and (max-width: 767px) {
  .top_env_slider .swiper-slide {
    width: 216px;
  }
}
.top_env_slider figcaption {
  margin-top: 5px;
}
.top_env_slider figcaption span {
  font-size: var(--fz13);
}
@media screen and (min-width: 768px) {
  .top_env_slider figcaption span {
    margin-left: 8px;
  }
}
@media screen and (max-width: 767px) {
  .top_env_slider figcaption span {
    display: block;
  }
}

.top_location {
  padding-block: clamp(3.125rem, 1.5086206897rem + 6.8965517241vw, 6.25rem) clamp(0.625rem, -1.6379310345rem + 9.6551724138vw, 5rem);
}

.top_location_bnr {
  margin-bottom: clamp(5rem, 3.7068965517rem + 5.5172413793vw, 7.5rem);
  text-align: center;
}

.top_location_ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: clamp(3.5rem, 2.4655172414rem + 4.4137931034vw, 5.5rem);
  text-align: center;
  gap: 1em;
}
.top_location_ttl span {
  order: 3;
}
.top_location_ttl::before {
  order: 0;
  font-size: var(--fz46);
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.08em;
  content: "LOCATION";
}
.top_location_ttl::after {
  display: block;
  order: 1;
  width: 40px;
  height: 1px;
  background-color: #a0a0a0;
  content: "";
}

.top_location_inner {
  display: grid;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .top_location_inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

.top_location_list .ttl {
  font-size: var(--fz18);
}
.top_location_list ul li {
  display: flex;
  align-items: flex-end;
  padding-block: clamp(0.375rem, 0.2456896552rem + 0.5517241379vw, 0.625rem);
  border-bottom: 1px solid #bcbcbc;
}
.top_location_list ul li span:last-child {
  margin-left: auto;
}
.top_location_list dl + dl {
  margin-top: clamp(1.875rem, 1.2931034483rem + 2.4827586207vw, 3rem);
}
.top_location_list .dist span {
  font-size: var(--fz13);
}

@keyframes shiny {
  0% {
    left: -20%;
  }
  10% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
.top_location_footer_bnr {
  position: relative;
  margin-top: clamp(4.25rem, 3.2155172414rem + 4.4137931034vw, 6.25rem);
  overflow: hidden;
}
.top_location_footer_bnr::after {
  position: absolute;
  top: -10%;
  left: -20%;
  transform: scale(2) rotate(20deg);
  width: 150px;
  height: 100%;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
  content: "";
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/*------------------------------
    outline
--------------------------------*/
.outline_wrap {
  padding-block: clamp(0.625rem, -1.6379310345rem + 9.6551724138vw, 5rem) clamp(7.5rem, 3.6206896552rem + 16.5517241379vw, 15rem);
  background-color: var(--color-black);
  color: #fff;
}

.outline-inner {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 1.2068965517rem + 5.5172413793vw, 5rem);
}

.outline-title {
  margin-bottom: 1em;
  font-size: clamp(1.125rem, 1.0603448276rem + 0.275862069vw, 1.25rem);
  text-align: center;
}

.outline_list {
  display: grid;
  margin-inline: auto;
  line-height: 2;
  column-gap: 13px;
}
@media screen and (min-width: 768px) {
  .outline_list {
    grid-template-columns: 40% 1fr;
  }
}
.outline_list > dt {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .outline_list > dt {
    border-bottom: 1px solid rgba(204, 204, 204, 0.3);
    text-align: left;
  }
}
.outline_list > dt::after {
  content: "／";
}
@media screen and (max-width: 767px) {
  .outline_list > dt::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .outline_list > dd + dt {
    margin-top: 1em;
  }
}

.outline_caution {
  font-size: var(--fz13);
}

/*------------------------------
    map
--------------------------------*/
.map_wrap {
  padding-block: clamp(2.5rem, 1.2068965517rem + 5.5172413793vw, 5rem) clamp(4.125rem, 1.9590517241rem + 9.2413793103vw, 8.3125rem);
  background-image: url("/sannomaru/test2025/assets/img/bg_star@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/bg_star.jpg") 1x, url("/sannomaru/test2025/assets/img/bg_star@2x.jpg") 2x);
  background-position: center 149px;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .map_wrap {
    background-size: contain;
  }
}
@media screen and (max-width: 430px) {
  .map_wrap {
    background-image: url("/sannomaru/test2025/assets/img/bg_star.jpg");
  }
}
@media screen and (min-width: 1440px) {
  .map_wrap {
    background-size: contain;
  }
}

.map_lead {
  margin-bottom: clamp(4.625rem, 2.2327586207rem + 10.2068965517vw, 9.25rem);
}
.map_lead .ttl {
  margin-bottom: 46px;
  color: var(--color-assent3);
  font-size: clamp(1.625rem, 1.3663793103rem + 1.1034482759vw, 2.125rem);
  letter-spacing: 0.08em;
  text-align: center;
}
.map_lead p {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .map_lead p {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .map_lead p br {
    display: none;
  }
}

.map_gmap {
  width: 100%;
  height: 400px;
  margin-top: 80px;
  overflow: hidden;
}
@media screen and (max-width: 430px) {
  .map_gmap {
    height: 350px;
  }
}

.map_gmap_inner iframe {
  width: 100%;
  height: 850px;
  margin-top: -130px;
  overflow: hidden;
  filter: grayscale(80%);
}
@media screen and (max-width: 430px) {
  .map_gmap_inner iframe {
    height: 500px;
    margin-top: -130px;
  }
}

.map_gmap_btn {
  margin-top: 1.5em;
  text-align: center;
}
.map_gmap_btn a {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid currentColor;
  color: currentColor;
  text-decoration: none;
}
.map_gmap_btn a:hover {
  background: #fff;
  color: var(--color-black);
}

.map_gallery {
  margin-top: 64px;
  padding: 50px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .map_gallery {
    padding: 20px;
  }
}
.map_gallery dt {
  margin-bottom: 1em;
  color: #7a6a56;
  font-weight: 600;
  font-size: var(--fz28);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .map_gallery dt {
    font-size: var(--fz16);
  }
}

/*------------------------------
    brand
--------------------------------*/
.brand_lead {
  padding-block: clamp(3.75rem, -0.2586206897rem + 17.1034482759vw, 11.5rem) clamp(3.25rem, 1.5689655172rem + 7.1724137931vw, 6.5rem);
  overflow: hidden;
}

.brand_main_copy {
  margin-bottom: clamp(3.75rem, 1.8103448276rem + 8.275862069vw, 7.5rem);
  font-size: clamp(2.25rem, 1.150862069rem + 4.6896551724vw, 4.375rem);
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  text-align: center;
}

.brand_cm {
  margin-top: clamp(0rem, -5.1724137931rem + 22.0689655172vw, 10rem);
  margin-inline: calc(50% - 50vw);
  padding-block: clamp(2.5rem, 1.2068965517rem + 5.5172413793vw, 5rem);
  background: var(--color-black);
  background-color: #ccc;
  text-align: center;
}
.brand_cm dl dt {
  margin-bottom: clamp(1.875rem, 1.2284482759rem + 2.7586206897vw, 3.125rem);
  color: #fff;
  font-size: 1.375rem;
}
.brand_cm .brand_cm_inner {
  max-width: 717px;
  aspect-ratio: 717/402;
  margin: 0 auto;
}
.brand_cm .brand_cm_inner iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.brand_history_img {
  margin-bottom: clamp(3.75rem, -0.1293103448rem + 16.5517241379vw, 11.25rem);
  margin-inline: calc(50% - 50vw);
}
.brand_history_img img {
  width: 100%;
}

.brand_lead_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: clamp(1.875rem, 1.0344827586rem + 3.5862068966vw, 3.5rem);
  gap: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
}
@media screen and (min-width: 768px) {
  .brand_lead_wrap {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .brand_lead_wrap {
    flex-direction: column;
  }
}
.brand_lead_wrap .col .ttl {
  margin-bottom: 1em;
  font-size: clamp(1.25rem, 0.9913793103rem + 1.1034482759vw, 1.75rem);
  letter-spacing: 0.08em;
}
.brand_lead_wrap .col .copy {
  margin-bottom: 1em;
  font-size: clamp(1.0625rem, 0.900862069rem + 0.6896551724vw, 1.375rem);
}
.brand_lead_wrap .col .text {
  font-size: var(--fz15);
  line-height: 2.4;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .brand_lead_wrap .col .text {
    line-height: 2;
  }
}
.brand_lead_wrap .col .text p + p {
  margin-top: 1em;
}

.brand_lead_wrap__concept {
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .brand_lead_wrap__concept {
    margin-bottom: 0;
  }
}
.brand_lead_wrap__concept .col {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .brand_lead_wrap__concept .col br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .brand_lead_wrap__concept .thumb {
    margin-inline: calc(50% - 50vw);
  }
}
.brand_lead_wrap__concept .thumb img {
  height: 100%;
  object-fit: cover;
}

.brand_lead_wrap__group .col {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .brand_lead_wrap__group .col br {
    display: none;
  }
}

.brand_lead_wrap__supply .col {
  flex-shrink: 0;
  width: clamp(18.75rem, 15.5172413793rem + 13.7931034483vw, 25rem);
}
@media screen and (max-width: 767px) {
  .brand_lead_wrap__supply .col {
    width: 100%;
  }
}

.brand_mv {
  margin-bottom: clamp(3.75rem, 0.5172413793rem + 13.7931034483vw, 10rem);
}
@media screen and (max-width: 767px) {
  .brand_mv {
    margin-inline: calc(50% - 50vw);
  }
}

.brand_works {
  max-width: 1380px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .brand_works {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 767px) {
  .brand_works {
    max-width: 600px;
    margin-inline: auto;
  }
}

.brand_works_ttl {
  margin-bottom: clamp(2.5rem, 1.2068965517rem + 5.5172413793vw, 5rem);
  font-size: clamp(1.125rem, 0.9956896552rem + 0.5517241379vw, 1.375rem);
  text-align: center;
}

.brand_works_list {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
@media screen and (max-width: 767px) {
  .brand_works_list {
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1000px) {
  .brand_works_list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.brand_works_list li {
  display: grid;
  padding: 0 23px 23px;
  background: var(--color-black);
  color: #fff;
  font-size: var(--fz13);
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
@media screen and (max-width: 767px) {
  .brand_works_list li {
    padding: 0 15px 15px;
  }
}
.brand_works_list li > *:not(:last-child) {
  margin-bottom: 1em;
}
.brand_works_list li figure {
  margin-inline: -23px;
}
@media screen and (max-width: 767px) {
  .brand_works_list li figure {
    margin-inline: -15px;
  }
}
.brand_works_list li figure img {
  width: 100%;
}
.brand_works_list .ttl {
  font-size: var(--fz15);
}

/*------------------------------
    equipment
--------------------------------*/
.equip_mv {
  margin-bottom: clamp(2.8125rem, 1.3577586207rem + 6.2068965517vw, 5.625rem);
  margin-inline: auto;
}
.equip_mv img {
  width: 100%;
}

.kanta_intro {
  display: grid;
  margin-bottom: clamp(2.8125rem, 1.4224137931rem + 5.9310344828vw, 5.5rem);
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .kanta_intro {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .kanta_intro .thumb img {
    width: 100%;
    aspect-ratio: 328/340;
    object-position: top center;
  }
}
.kanta_intro .thumb img {
  height: 100%;
  object-fit: cover;
}
.kanta_intro .lead {
  font-size: var(--fz16);
}

.kanta_intro_header {
  display: flex;
  align-items: center;
  margin-bottom: clamp(1.875rem, 1.5517241379rem + 1.3793103448vw, 2.5rem);
  gap: 26px;
  grid-column: span 2;
}
@media screen and (max-width: 767px) {
  .kanta_intro_header {
    flex-direction: column;
  }
}
.kanta_intro_header figcaption {
  margin-top: 5px;
  font-size: var(--fz12);
  text-align: center;
}

.kanta_point {
  margin-block: 37px 10px;
  padding: 0 24px 24px;
  background-color: #e1d7c7;
  text-align: center;
}
.kanta_point p {
  display: inline-block;
  position: relative;
  top: -15px;
  margin-bottom: 10px;
  padding: 8px;
  background-color: var(--color-assent1);
  color: #fff;
  font-size: var(--fz16);
  line-height: 1;
}

.kanta_intro_thumbs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
}
.kanta_intro_thumbs img {
  width: 100%;
}
.kanta_intro_thumbs .caption {
  font-size: var(--fz12);
  text-align: right;
  grid-column: span 2;
}

.kanta_data {
  display: flex;
  margin-bottom: clamp(3.75rem, 2.0689655172rem + 7.1724137931vw, 7rem);
  gap: clamp(1.25rem, -0.3663793103rem + 6.8965517241vw, 4.375rem);
}
@media screen and (max-width: 767px) {
  .kanta_data {
    flex-direction: column;
  }
}
.kanta_data img {
  width: 100%;
}

.kanta_voice_header {
  margin-bottom: 64px;
  text-align: center;
}
.kanta_voice_header figure {
  margin-bottom: 56px;
}
.kanta_voice_header .name {
  display: inline-block;
  padding: 12px 24px;
  background-color: var(--color-assent3);
  font-size: clamp(1.125rem, 0.9956896552rem + 0.5517241379vw, 1.375rem);
  line-height: 1;
}
.kanta_voice_header .ttl {
  margin-block: 10px;
  font-size: clamp(1.75rem, 1.5560344828rem + 0.8275862069vw, 2.125rem);
  letter-spacing: 0.08em;
}

.kanta_voice_list {
  display: grid;
  margin-bottom: 78px;
  gap: 44px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
@media screen and (max-width: 767px) {
  .kanta_voice_list {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 1000px) {
  .kanta_voice_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.kanta_voice_list .col {
  display: grid;
  gap: 32px;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.kanta_voice_list p {
  font-size: var(--fz22);
}
.kanta_voice_list figure {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .kanta_voice_list figure img {
    max-width: 430px;
  }
}
.kanta_voice_list figure + p {
  color: var(--color-assent1);
}
.kanta_voice_list ul {
  line-height: 1.6;
}
.kanta_voice_list ul li {
  display: flex;
}
.kanta_voice_list ul li::before {
  content: "・";
}

.bubble_wrap > *:not(:last-child) {
  margin-bottom: clamp(3.75rem, 1.8103448276rem + 8.275862069vw, 7.5rem);
}

.bubble_intro {
  margin-bottom: min(56 / var(--width) * 100vw, 56px);
}
.bubble_intro .logo {
  margin-bottom: 10px;
}
.bubble_intro .ttl {
  margin-bottom: 6px;
  font-size: clamp(1.375rem, 0.9870689655rem + 1.6551724138vw, 2.125rem);
  letter-spacing: 0.08em;
}
.bubble_intro .copy {
  display: inline-block;
  margin-bottom: 6px;
  padding: 10px;
  background-color: var(--color-assent1);
  color: #fff;
  line-height: 1;
}
.bubble_intro .cont {
  max-width: 581px;
  margin-top: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
}

.bubble_point {
  display: flex;
  flex-direction: row-reverse;
  margin-block: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
  gap: clamp(1.25rem, 0.8620689655rem + 1.6551724138vw, 2rem);
}
@media screen and (max-width: 767px) {
  .bubble_point {
    flex-direction: column;
  }
}
.bubble_point figure {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .bubble_point figure {
    width: min(570 / var(--width-s) * 100vw, 570px);
  }
  .bubble_point figure img {
    height: 100%;
    object-fit: cover;
    object-position: bottom left;
  }
}
.bubble_point ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  line-height: 1.3;
  gap: 16px;
}
.bubble_point ul li {
  display: grid;
  position: relative;
  height: 100%;
  padding: 10px;
  background-color: var(--color-assent2);
  color: #fff;
  text-align: center;
  place-items: center;
}
.bubble_point ul li span {
  position: relative;
  z-index: 1;
}

.bubble_cont {
  display: flex;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .bubble_cont {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .bubble_cont {
    flex-direction: column;
  }
}
.bubble_cont .thumb {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .bubble_cont .thumb {
    width: min(484 / var(--width-s) * 100vw, 484px);
  }
}
@media screen and (max-width: 767px) {
  .bubble_cont .thumb img {
    width: 100%;
  }
}
.bubble_cont .col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1em;
}
@media screen and (min-width: 768px) {
  .bubble_cont .col {
    max-width: 398px;
  }
}
@media screen and (min-width: 768px) {
  .bubble_cont.bubble_cont__reverse {
    flex-direction: row-reverse;
  }
}
.bubble_cont .bubble_count {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  font-size: var(--fz13);
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .bubble_cont .bubble_count {
    margin-bottom: 3em;
  }
}

.bubble_dirt .inner {
  display: grid;
  margin-bottom: 35px;
  gap: clamp(1.25rem, -0.1724137931rem + 6.0689655172vw, 4rem);
}
@media screen and (min-width: 768px) {
  .bubble_dirt .inner {
    grid-template-columns: 1fr min(538 / var(--width-s) * 100vw, 538px);
  }
}
@media screen and (max-width: 767px) {
  .bubble_dirt .inner {
    margin-bottom: 1em;
    gap: 1em;
  }
}
.bubble_dirt .col {
  font-weight: 500;
  font-size: var(--fz16);
}
.bubble_dirt .col > *:not(:last-child) {
  margin-bottom: 0.3em;
}
.bubble_dirt .col .thumb {
  float: right;
  margin-left: 1em;
}
.bubble_dirt .col .thumb img {
  width: min(185 / var(--width) * 100vw, 185px);
}
@media screen and (max-width: 767px) {
  .bubble_dirt .col .thumb img {
    width: 120px;
  }
}

/*------------------------------
    premium
--------------------------------*/
.bl_fv__premium {
  height: clamp(21.875rem, 6.0344827586rem + 67.5862068966vw, 52.5rem);
  background-image: url("/sannomaru/test2025/premium/img/fv_bg@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/premium/img/fv_bg.jpg") 1x, url("/sannomaru/test2025/premium/img/fv_bg@2x.jpg") 2x);
}
@media screen and (max-width: 430px) {
  .bl_fv__premium {
    background-image: url("/sannomaru/test2025/premium/img/fv_bg.jpg");
  }
}
.bl_fv__premium figure {
  margin-bottom: 32px;
}
.bl_fv__premium .ttl {
  color: #fff;
}
.bl_fv__premium .bl_fv_inner::before {
  margin-bottom: clamp(0.625rem, 0.3017241379rem + 1.3793103448vw, 1.25rem);
}

.premium_sec {
  padding-top: 96px;
  overflow: hidden;
  background-image: url("/sannomaru/test2025/assets/img/bg_star@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/bg_star.jpg") 1x, url("/sannomaru/test2025/assets/img/bg_star@2x.jpg") 2x);
  background-position: center top;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .premium_sec {
    background-size: contain;
  }
}
@media screen and (max-width: 430px) {
  .premium_sec {
    background-image: url("/sannomaru/test2025/assets/img/bg_star.jpg");
  }
}
@media screen and (min-width: 1440px) {
  .premium_sec {
    background-size: contain;
  }
}

.premium_sec_header {
  margin-bottom: 64px;
  text-align: center;
}
.premium_sec_header .logo {
  margin-bottom: 56px;
}
.premium_sec_header .ttl {
  font-size: clamp(1.25rem, 0.7974137931rem + 1.9310344828vw, 2.125rem);
  letter-spacing: 0.08em;
}

.premium_sec_floor {
  padding-top: clamp(7.5rem, 5.4310344828rem + 8.8275862069vw, 11.5rem);
  background-image: url("/sannomaru/test2025/assets/img/bg_fv@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/bg_fv.jpg") 1x, url("/sannomaru/test2025/assets/img/bg_fv@2x.jpg") 2x);
  background-position: center top;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .premium_sec_floor {
    background-size: contain;
  }
}
@media screen and (max-width: 430px) {
  .premium_sec_floor {
    background-image: url("/sannomaru/test2025/assets/img/bg_fv.jpg");
  }
}
@media screen and (min-width: 1440px) {
  .premium_sec_floor {
    background-size: contain;
  }
}

.premium_floor {
  padding-bottom: calc(692 / var(--width) * 100vw);
  background-image: url("/sannomaru/test2025/premium/img/floor_bg@2x.jpgb");
  background-image: image-set(url("/sannomaru/test2025/premium/img/floor_bg.jpgb") 1x, url("/sannomaru/test2025/premium/img/floor_bg@2x.jpgb") 2x);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .premium_floor {
    padding-bottom: calc(300 / var(--sp-width) * 100vw);
    background-size: 130%;
  }
}
@media screen and (max-width: 430px) {
  .premium_floor {
    background-image: url("/sannomaru/test2025/premium/img/floor_bg.jpgb");
  }
}
.premium_floor .premium_floor_ttl {
  margin-bottom: clamp(3.125rem, 1.3146551724rem + 7.724137931vw, 6.625rem);
  text-align: center;
}

.premium_floor_cont {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .premium_floor_cont {
    flex-direction: column;
  }
}
.premium_floor_cont .col {
  flex-shrink: 0;
}
.premium_floor_cont .copy {
  margin-block: 40px;
  color: var(--color-assent3);
  font-size: clamp(1rem, 0.8060344828rem + 0.8275862069vw, 1.375rem);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .premium_floor_cont .copy br {
    display: none;
  }
}
.premium_floor_cont .text {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .premium_floor_cont .text {
    line-height: 2;
  }
  .premium_floor_cont .text br {
    display: none;
  }
}
.premium_floor_cont .text > *:not(:last-child) {
  margin-bottom: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
}
@media screen and (max-width: 767px) {
  .premium_floor_cont .thumb {
    max-width: 400px;
    margin-inline: auto;
  }
}

.premium_plan {
  padding-bottom: 29px;
}

.premium_plan_icons {
  display: flex;
  justify-content: center;
  margin-bottom: clamp(1.25rem, -0.5280172414rem + 7.5862068966vw, 4.6875rem);
  gap: clamp(1.25rem, 0.8620689655rem + 1.6551724138vw, 2rem);
}

.premium_plan_zumen {
  margin-bottom: clamp(2rem, 0.9655172414rem + 4.4137931034vw, 4rem);
}

.premium_plan_spec {
  width: fit-content;
  margin-bottom: clamp(3.75rem, 1.5517241379rem + 9.3793103448vw, 8rem);
  margin-inline: auto;
  color: var(--color-assent3);
}
.premium_plan_spec > dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid currentColor;
  line-height: 1;
  gap: 22px;
}
@media screen and (min-width: 768px) {
  .premium_plan_spec > dl {
    align-items: end;
  }
}
@media screen and (max-width: 767px) {
  .premium_plan_spec > dl {
    flex-direction: column;
    line-height: 1.3;
    gap: 5px;
  }
}
.premium_plan_spec > dl > dt {
  font-size: var(--fz46);
  letter-spacing: 0.08em;
}
.premium_plan_spec > dl > dt span {
  font-size: var(--fz18);
  letter-spacing: 0;
}
.premium_plan_spec > dl > dt + dd {
  font-size: clamp(1.25rem, 1.1853448276rem + 0.275862069vw, 1.375rem);
}
.premium_plan_spec > dl > dt + dd span {
  font-size: var(--fz28);
  letter-spacing: 0.08em;
}
.premium_plan_spec > dl > dd:last-child dt {
  font-size: var(--fz13);
}
.premium_plan_spec > dl > dd:last-child dd {
  font-size: clamp(2.25rem, 1.9267241379rem + 1.3793103448vw, 2.875rem);
  letter-spacing: 0.08em;
}
.premium_plan_spec > dl > dd:last-child dd span {
  font-size: 0.6em;
  letter-spacing: 0;
}
.premium_plan_spec p:last-child {
  color: #fff;
}

.premium_plan_spec_detail {
  display: flex;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .premium_plan_spec_detail {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .premium_plan_spec_detail {
    flex-direction: column;
    gap: 20px;
  }
}
.premium_plan_spec_detail .total {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
}
.premium_plan_spec_detail .total dt {
  display: grid;
  width: 56px;
  aspect-ratio: 1;
  border: 1px solid var(--color-assent2);
  font-size: var(--fz13);
  line-height: 1.4;
  place-items: center;
}
.premium_plan_spec_detail .total dd {
  font-size: clamp(2rem, 1.5474137931rem + 1.9310344828vw, 2.875rem);
  letter-spacing: 0.08em;
}
.premium_plan_spec_detail .total dd span {
  font-size: 0.6em;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .premium_plan_spec_detail ul {
    margin-inline: auto clamp(0rem, -0.9698275862rem + 4.1379310345vw, 1.875rem);
  }
}

@media screen and (max-width: 767px) {
  .premium_slider {
    display: none;
  }
}

.premium_quality_inner {
  max-width: 720px;
  margin-bottom: 95px;
  margin-inline: auto;
}

.premium_quality_list {
  display: grid;
  gap: clamp(1.875rem, 0.775862069rem + 4.6896551724vw, 4rem);
}
@media screen and (min-width: 768px) {
  .premium_quality_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.premium_quality_list li {
  text-align: center;
}
.premium_quality_list li p:last-child {
  color: var(--color-assent3);
  font-size: var(--fz22);
  line-height: 1.5;
}
.premium_quality_list li p:last-child span {
  font-size: var(--fz15);
}
.premium_quality_list li .thumb {
  margin-bottom: 16px;
}
.premium_quality_list li .thumb + p {
  margin-bottom: 10px;
}

.premium_quality_list__point {
  margin-block: 48px 40px;
  row-gap: clamp(1.25rem, 0.8620689655rem + 1.6551724138vw, 2rem);
}
.premium_quality_list__point li {
  line-height: 1.3;
  text-align: left;
}
.premium_quality_list__point li span {
  display: block;
  margin-top: 5px;
}

.premium_quality_footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.premium_quality_footer img {
  width: 100%;
}

/*------------------------------
    plan
--------------------------------*/
.plan-outer {
  padding-block: clamp(2.5rem, 1.2068965517rem + 5.5172413793vw, 5rem) clamp(3.875rem, 1.8706896552rem + 8.5517241379vw, 7.75rem);
  background-image: url("/sannomaru/test2025/assets/img/bg_star@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/bg_star.jpg") 1x, url("/sannomaru/test2025/assets/img/bg_star@2x.jpg") 2x);
  background-position: center 149px;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .plan-outer {
    background-size: contain;
  }
}
@media screen and (max-width: 430px) {
  .plan-outer {
    background-image: url("/sannomaru/test2025/assets/img/bg_star.jpg");
  }
}
@media screen and (min-width: 1440px) {
  .plan-outer {
    background-size: contain;
  }
}
.plan-outer--item {
  padding-top: clamp(1rem, 0.4827586207rem + 2.2068965517vw, 2rem);
}

.bl_fv__plan {
  background-image: url("/sannomaru/test2025/plan/img/fv.jpg");
  background-image: image-set(url("/sannomaru/test2025/plan/img/fv.jpg") 1x, url("/sannomaru/test2025/plan/img/fv@2x.jpg") 2x);
}
@media screen and (max-width: 430px) {
  .bl_fv__plan {
    background-image: url("/sannomaru/test2025/plan/img/fv.jpg");
  }
}

.bl_fv__modelroom {
  background-image: url("/sannomaru/test2025/modelroom/img/fv.jpg");
  background-image: image-set(url("/sannomaru/test2025/modelroom/img/fv.jpg") 1x, url("/sannomaru/test2025/modelroom/img/fv@2x.jpg") 2x);
}
@media screen and (max-width: 430px) {
  .bl_fv__modelroom {
    background-image: url("/sannomaru/test2025/modelroom/img/fv.jpg");
  }
}

.plan-lead {
  margin-bottom: clamp(2.9375rem, 1.4181034483rem + 6.4827586207vw, 5.875rem);
}
.plan-lead .ttl {
  margin-bottom: 46px;
  color: var(--color-assent3);
  font-size: clamp(1.625rem, 1.3663793103rem + 1.1034482759vw, 2.125rem);
  letter-spacing: 0.08em;
  text-align: center;
}
.plan-lead p {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .plan-lead p {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .plan-lead p br {
    display: none;
  }
}

.plan-inner {
  max-width: 840px;
  margin-inline: auto;
}

.plan-floor-map {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .plan-floor-map {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
}

.plan-list > ul {
  display: grid;
  gap: clamp(1.25rem, 0.3448275862rem + 3.8620689655vw, 3rem);
}
@media screen and (min-width: 768px) {
  .plan-list > ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
.plan-list > ul li {
  border: 1px solid #ccc;
}
.plan-list > ul li a {
  display: block;
}
.plan-list > ul li a:hover {
  background-color: rgba(144, 116, 70, 0.08);
}

.plan-note {
  margin-top: 1em;
  font-size: clamp(0.625rem, 0.5280172414rem + 0.4137931034vw, 0.8125rem);
  text-align: right;
}

.plan-e-bnr {
  display: none;
  position: relative;
  color: #fff;
}
.plan-e-bnr::before {
  position: absolute;
  inset: 0;
  margin: 16px;
  border: 2px solid var(--color-assent2);
  content: "";
}
.plan-e-bnr__bg img {
  width: 100%;
  height: 480px;
  object-fit: cover;
}
.plan-e-bnr__inner {
  display: grid;
  position: absolute;
  inset: 0;
  margin: 24px;
  padding-inline: 20px;
  border: 1px solid var(--color-assent2);
  text-align: center;
  place-items: center;
}
.plan-e-bnr__inner::after {
  position: absolute;
  right: 5px;
  bottom: 5px;
  font-size: var(--fz12);
  content: "image";
}
.plan-e-bnr__name {
  display: flex;
  flex-direction: column;
  margin-bottom: 25px;
  font-family: "Cormorant Garamond", serif;
}
.plan-e-bnr__name span {
  margin-bottom: -0.1em;
  font-size: clamp(3.75rem, 3.1034482759rem + 2.7586206897vw, 5rem);
  line-height: 1;
}
.plan-e-bnr__title {
  margin-block: 30px;
  font-size: var(--fz22);
}

.plan-item-wrapper {
  display: none;
  opacity: 0;
}
.plan-item-wrapper.is-active {
  display: block;
  opacity: 1;
  animation: planAreaActive 0.3s ease-in 0s forwards;
}

@keyframes planAreaActive {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.plan-item-nav {
  display: grid;
  margin-bottom: clamp(2.75rem, 1.3275862069rem + 6.0689655172vw, 5.5rem);
  font-size: clamp(0.8125rem, 0.7155172414rem + 0.4137931034vw, 1rem);
  gap: clamp(0.5rem, 0.2413793103rem + 1.1034482759vw, 1rem);
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .plan-item-nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
.plan-item-nav > li a {
  display: grid;
  aspect-ratio: 198/48;
  background: var(--gradation_01);
  place-items: center;
}
.plan-item-nav > li a > span {
  display: flex;
  align-items: end;
  gap: 5px;
}
.plan-item-nav > li a > span .small {
  margin-bottom: clamp(0.0625rem, 0.0301724138rem + 0.1379310345vw, 0.125rem);
  font-size: clamp(0.625rem, 0.5280172414rem + 0.4137931034vw, 0.8125rem);
}
.plan-item-nav > li.basic a {
  background: var(--gradation_02);
}
.plan-item-nav > li.paid a {
  background: var(--gradation_03);
}

.plan-item {
  position: relative;
  padding-block: 8px clamp(2.375rem, 1.1465517241rem + 5.2413793103vw, 4.75rem);
  padding-inline: clamp(1.25rem, 0.0215517241rem + 5.2413793103vw, 3.625rem);
  background-color: #fff;
  color: var(--color-black);
}
.plan-item::before, .plan-item::after {
  position: absolute;
  width: 100%;
  height: 8px;
  background: var(--gradation_01);
  content: "";
}
.plan-item::before {
  top: 0;
  left: 0;
}
.plan-item::after {
  bottom: 0;
  left: 0;
}
.plan-item--basic::before, .plan-item--basic::after {
  background: var(--gradation_02);
}
.plan-item--basic .plan-item__title::before {
  background: linear-gradient(180deg, rgb(172, 176, 185) 0%, rgb(102, 108, 120) 100%);
}
.plan-item--paid::before, .plan-item--paid::after {
  background: var(--gradation_03);
}
.plan-item--paid .plan-item__title::before {
  background: linear-gradient(180deg, rgb(160, 31, 46) 0%, rgb(118, 12, 26) 100%);
}
.plan-item__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: clamp(1.5625rem, 0.7543103448rem + 3.4482758621vw, 3.125rem);
  padding-block: 26px 12px;
  border-bottom: 1px solid #c8c8c8;
  font-size: clamp(1.25rem, 1.1853448276rem + 0.275862069vw, 1.375rem);
  line-height: 1;
  gap: 8px;
}
.plan-item__title::before {
  display: inline-block;
  width: 12px;
  aspect-ratio: 12/22;
  background: linear-gradient(180deg, rgb(181, 148, 91) 0%, rgb(144, 116, 70) 100%);
  content: "";
}
.plan-item__title .note {
  font-size: clamp(0.6875rem, 0.6228448276rem + 0.275862069vw, 0.8125rem);
}
@media screen and (min-width: 768px) {
  .plan-item__title .note {
    margin-left: auto;
  }
}
.plan-item__title .small {
  align-self: end;
  margin-bottom: 2px;
  font-size: clamp(0.6875rem, 0.6228448276rem + 0.275862069vw, 0.8125rem);
}
.plan-item__layout {
  text-align: center;
}
.plan-item + .plan-note {
  margin-bottom: 80px;
}
.plan-item + .plan-note + .el_btn {
  max-width: 480px;
  margin-inline: auto;
}

.plan-detail {
  display: flex;
  justify-content: space-between;
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: 1px solid #c8c8c8;
}
@media screen and (max-width: 767px) {
  .plan-detail {
    flex-direction: column;
    gap: 30px;
  }
}
.plan-detail__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 10px;
  font-family: "Cormorant Garamond", serif;
}
@media screen and (min-width: 768px) {
  .plan-detail__title {
    width: fit-content;
  }
}
.plan-detail__title span {
  margin-bottom: -0.1em;
  font-size: clamp(3.75rem, 3.1034482759rem + 2.7586206897vw, 5rem);
  line-height: 1;
}
.plan-detail__layout {
  font-size: var(--fz18);
}
.plan-detail__layout span {
  font-size: 1.88em;
  letter-spacing: 0.08em;
}
.plan-detail__layout span.small {
  margin-left: 1em;
  font-weight: normal;
  font-size: 0.8em;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .plan-detail__layout span.small {
    display: block;
    margin-left: 0;
  }
}
.plan-detail__spec dl {
  display: flex;
  align-items: baseline;
  line-height: 1.3;
  column-gap: 0.5em;
}
.plan-detail__spec dl dt {
  font-size: clamp(0.75rem, 0.7176724138rem + 0.1379310345vw, 0.8125rem);
}
.plan-detail__spec dl dt::before {
  content: "■ ";
}
.plan-detail__spec ul {
  display: flex;
  flex-wrap: wrap;
  margin-block: 1em;
  font-size: clamp(0.75rem, 0.7176724138rem + 0.1379310345vw, 0.8125rem);
  column-gap: 0.5em;
}
.plan-detail__spec ul li::before {
  content: "■ ";
}
.plan-detail__spec .text-xl {
  font-size: clamp(1.5rem, 1.1767241379rem + 1.3793103448vw, 2.125rem);
  letter-spacing: 0.08em;
}
.plan-detail__spec .text-l {
  font-size: clamp(1.25rem, 1.1853448276rem + 0.275862069vw, 1.375rem);
}
.plan-detail__map {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .plan-detail__map {
    text-align: right;
  }
  .plan-detail__map img {
    width: 80px;
  }
}

/*------------------------------
    block
--------------------------------*/
/*------------------------------
    element
--------------------------------*/
.el-heading {
  font-size: clamp(1.625rem, 1.3663793103rem + 1.1034482759vw, 2.125rem);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .el-heading {
    letter-spacing: 0.04em;
  }
}
.el-heading--gold {
  color: var(--color-assent2);
}

.el-heading2 {
  font-size: clamp(1.25rem, 1.1853448276rem + 0.275862069vw, 1.375rem);
  line-height: 1.75;
}
.el-heading2--gold {
  color: var(--color-assent2);
}

.el-heading3 {
  font-size: clamp(1.625rem, 0.9784482759rem + 2.7586206897vw, 2.875rem);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .el-heading3 {
    letter-spacing: 0.04em;
  }
}

.el-lead_text {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .el-lead_text {
    line-height: 2.4;
    letter-spacing: 0.04em;
  }
}

/*------------------------------
    common
--------------------------------*/
.section {
  padding-block: clamp(3.125rem, 1.1206896552rem + 8.5517241379vw, 7rem);
}

.img-full {
  width: 100%;
  max-width: none;
}

.img-photo {
  position: relative;
}
.img-photo::after {
  position: absolute;
  right: 5px;
  bottom: 8px;
  color: #fff;
  font-size: clamp(0.625rem, 0.3358433735rem + 0.6024096386vw, 0.75rem);
  line-height: 1;
  content: "image photo";
}
.img-photo--bk::after {
  color: var(--color-black);
}

.text-title {
  font-size: clamp(1.375rem, 1.1163793103rem + 1.1034482759vw, 1.875rem);
  line-height: 1.6;
}

.text-header {
  font-size: clamp(1.5rem, 1.3706896552rem + 0.5517241379vw, 1.75rem);
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .text-header {
    letter-spacing: 0.04em;
  }
}

.text-header_sub {
  font-size: clamp(1.25rem, 1.1853448276rem + 0.275862069vw, 1.375rem);
  line-height: 1.75;
}

.text-header_small {
  font-size: var(--fz18);
  line-height: 1.5;
}

.text-body2 {
  line-height: 2.4;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .text-body2 {
    letter-spacing: 0.04em;
  }
}

.text-body_large {
  font-size: var(--fz16);
  line-height: 1.6;
}

.text-body_lead {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .text-body_lead {
    line-height: 2.4;
    letter-spacing: 0.04em;
  }
}

.text-subheader {
  font-weight: 400;
  font-size: var(--fz18);
  line-height: 1.7;
}

.text-small {
  font-size: var(--fz13);
}

.text-caption {
  font-size: var(--fz12);
}

.text-center {
  text-align: center;
}

.hp-mb1em {
  margin-bottom: 1em;
}

.all-contents {
  padding-block: clamp(1.75rem, 0.8448275862rem + 3.8620689655vw, 3.5rem) clamp(2.625rem, 1.2349137931rem + 5.9310344828vw, 5.3125rem);
}
.all-contents__heading {
  margin-bottom: 1em;
  font-size: 18px;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.2em;
  text-align: center;
  text-align: center;
}

.all-contents_nav {
  display: grid;
  margin-inline: 8px;
  gap: 8px;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .all-contents_nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
.all-contents_nav li {
  background-color: #ccc;
}
.all-contents_nav li a {
  display: grid;
  position: relative;
  aspect-ratio: 350/200;
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb.jpg");
  background-size: cover;
  color: #fff;
  font-size: clamp(0.6875rem, 0.3983433735rem + 0.6024096386vw, 0.8125rem);
  place-items: center;
}
.all-contents_nav li a::before, .all-contents_nav li a::after {
  position: absolute;
  inset: 0;
  content: "";
  transition: 0.3s;
}
.all-contents_nav li a::before {
  opacity: 0.5;
  margin: clamp(0.1875rem, -0.5353915663rem + 1.5060240964vw, 0.5rem);
  border: 1px solid #fff;
}
.all-contents_nav li a::after {
  opacity: 0.3;
  background-color: var(--color-black);
}
.all-contents_nav li a span {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}
.all-contents_nav li a span::before {
  font-size: clamp(0.8125rem, -0.7778614458rem + 3.313253012vw, 1.5rem);
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.08em;
  text-align: center;
  content: attr(data-text);
}
.all-contents_nav li a:hover::before {
  opacity: 0.6;
  margin: clamp(0.375rem, -1.0707831325rem + 3.0120481928vw, 1rem);
}
.all-contents_nav li a:hover::after {
  opacity: 0;
}
.all-contents_nav li:nth-child(2) a {
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb2.jpg");
}
.all-contents_nav li:nth-child(3) a {
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb3.jpg");
}
.all-contents_nav li:nth-child(4) a {
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb4.jpg");
}
.all-contents_nav li:nth-child(5) a {
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb5.jpg");
}
.all-contents_nav li:nth-child(6) a {
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb6.jpg");
}
.all-contents_nav li:nth-child(7) a {
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb7.jpg");
}
.all-contents_nav li:nth-child(8) a {
  background-image: url("/sannomaru/test2025/assets/img/ac_thumb8.jpg");
}

/*------------------------------
    page-design
--------------------------------*/
.design-intro {
  position: relative;
  padding-block-start: clamp(3.75rem, -6.25rem + 20.8333333333vw, 12.5rem);
  background: url("/sannomaru/test2025/design/img/intro_bg.png") #1c1c1c no-repeat top center;
  background-size: contain;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .design-intro {
    background-size: 200%;
  }
}
.design-intro .el-heading {
  margin-bottom: 1em;
}
.design-intro__thumbs {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .design-intro .text-body_lead {
    text-align: left;
  }
  .design-intro .text-body_lead p + p {
    margin-top: 1em;
  }
  .design-intro .text-body_lead br {
    display: none;
  }
}
@media screen and (min-width: 900px) {
  .design-intro .br {
    display: none;
  }
}
.design-intro__pic {
  margin-top: clamp(1.875rem, 0.9051724138rem + 4.1379310345vw, 3.75rem);
}

.design-intro2 {
  display: grid;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .design-intro2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.design-intro2__col {
  background-image: url("/sannomaru/test2025/design/img/intro2_bg@2x.jpg");
  background-size: cover;
}
.design-intro2__col:nth-child(2) {
  background-image: url("/sannomaru/test2025/design/img/intro2_bg2@2x.jpg");
}

.design-intro2_cont {
  display: flex;
  flex-direction: column;
  padding-block-end: clamp(1.4375rem, 0.5646551724rem + 3.724137931vw, 3.125rem);
  padding-inline: clamp(1.4375rem, 0.3706896552rem + 4.5517241379vw, 3.5rem);
  line-height: 1.6;
  gap: 22px;
}
@media screen and (min-width: 768px) {
  .design-intro2__col:first-child .design-intro2_cont {
    padding-block-end: 7px;
  }
}

.design-intro3 {
  position: relative;
}
@media screen and (min-width: 768px) {
  .design-intro3 {
    height: max(850px, 58.3333333333vw);
  }
}
@media screen and (min-width: 768px) {
  .design-intro3__bg {
    position: absolute;
    inset: 0;
    z-index: -1;
  }
}
.design-intro3__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.design-intro3_contents {
  display: grid;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .design-intro3_contents {
    padding-block: 20px 50px;
  }
}

.design-intro3_cont {
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .design-intro3_cont {
    max-width: clamp(20rem, 8.4337349398rem + 24.0963855422vw, 25rem);
  }
}
.design-intro3_cont .el-heading2 {
  margin-bottom: 1em;
}
.design-intro3_cont p + p {
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .design-intro3_cont p + p {
    margin-top: 1em;
  }
}

.design-designer_wrap {
  position: relative;
  margin-top: 40px;
  padding: clamp(1.25rem, 0.8620689655rem + 1.6551724138vw, 2rem);
  background-color: #fff;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .design-designer_wrap {
    border: 1px solid #ccc;
  }
}

.design-designer {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
  gap: clamp(0.8125rem, 0.3922413793rem + 1.7931034483vw, 1.625rem);
}
.design-designer__info {
  margin-bottom: 1em;
  font-size: 0.75rem;
}
.design-designer__name {
  font-size: 1.375rem;
}
.design-designer > div:last-child {
  flex-shrink: 0;
}

.design-designer_heading {
  display: inline-block;
  position: absolute;
  top: -16px;
  left: 20px;
  padding: 8px;
  background-color: var(--color-assent2);
  color: #fff;
  font-size: 0.8125rem;
  line-height: 1;
}

.design-intro4 {
  position: relative;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .design-intro4 {
    height: max(650px, 73.1944444444vw);
  }
}
@media screen and (max-width: 767px) {
  .design-intro4 {
    background-color: #000;
  }
}
@media screen and (min-width: 768px) {
  .design-intro4__bg {
    position: absolute;
    inset: 0;
    z-index: -1;
  }
}
.design-intro4__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.design-intro4_cont {
  margin-left: auto;
  padding-block: clamp(3.125rem, -8.4412650602rem + 24.0963855422vw, 8.125rem) 50px;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .design-intro4_cont {
    max-width: clamp(17.5rem, 7.3795180723rem + 21.0843373494vw, 21.875rem);
  }
}
.design-intro4_cont .el-heading {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .design-intro4_cont .el-heading {
    text-align: center;
  }
}

/*------------------------------
    page-concept
--------------------------------*/
.concept-bg {
  position: fixed;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.concept-bg img {
  width: 100%;
  height: 115%;
  object-fit: cover;
  object-position: top center;
}

.concept-fv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .concept-fv {
    max-height: 700px;
  }
}
.concept-fv::before, .concept-fv::after {
  width: 100%;
  height: 100%;
  background-color: #3f3c3e;
  content: "";
}

.concept-intro {
  position: relative;
  padding-block: clamp(5.6875rem, -0.8125rem + 13.5416666667vw, 11.375rem) clamp(13.1875rem, -1.9553571429rem + 31.5476190476vw, 26.4375rem);
}
@media screen and (min-width: 768px) {
  .concept-intro {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .concept-intro {
    padding-block: 380px 170px;
  }
}
.concept-intro .el-heading3 {
  margin-bottom: clamp(2.5rem, 0.9482758621rem + 6.6206896552vw, 5.5rem);
  text-align: center;
}
.concept-intro p {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .concept-intro p {
    line-height: 2.4;
  }
}
.concept-intro p + p {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .concept-intro p + p {
    margin-top: 1em;
  }
}
@media screen and (max-width: 767px) {
  .concept-intro p br {
    display: none;
  }
}
.concept-intro .pic {
  position: absolute;
}
.concept-intro .pic-1 {
  top: clamp(13.75rem, 6.6071428571rem + 14.880952381vw, 20rem);
  left: 0;
  width: clamp(11.25rem, -3.0357142857rem + 29.7619047619vw, 23.75rem);
  aspect-ratio: 380/386;
}
@media screen and (max-width: 767px) {
  .concept-intro .pic-1 {
    top: 30px;
    left: 0;
  }
}
.concept-intro .pic-2 {
  top: clamp(25rem, 18.7857142857rem + 12.9464285714vw, 30.4375rem);
  right: 0;
  width: clamp(11.25rem, -1.6071428571rem + 26.7857142857vw, 22.5rem);
  aspect-ratio: 360/407;
}
@media screen and (max-width: 767px) {
  .concept-intro .pic-2 {
    top: 150px;
    right: 0;
  }
}
.concept-intro .pic-3 {
  top: clamp(53.75rem, 41.6785714286rem + 25.1488095238vw, 64.3125rem);
  right: clamp(6.25rem, -0.8928571429rem + 14.880952381vw, 12.5rem);
  width: clamp(12.5rem, -1.7857142857rem + 29.7619047619vw, 25rem);
  aspect-ratio: 400/186;
}
@media screen and (max-width: 767px) {
  .concept-intro .pic-3 {
    top: auto;
    right: 0;
    bottom: 0;
  }
}
.concept-intro .pic-4 {
  top: clamp(5rem, 3.7857142857rem + 2.5297619048vw, 6.0625rem);
  right: clamp(5rem, -3.5714285714rem + 17.8571428571vw, 12.5rem);
  width: clamp(7.3125rem, -1.0446428571rem + 17.4107142857vw, 14.625rem);
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .concept-intro .pic-4 {
    top: 0;
    right: 0;
  }
}
.concept-intro .pic-5 {
  top: clamp(47.5rem, 40.4285714286rem + 14.7321428571vw, 53.6875rem);
  left: clamp(3.125rem, -10.2321428571rem + 27.8273809524vw, 14.8125rem);
  width: clamp(7.3125rem, -1.0446428571rem + 17.4107142857vw, 14.625rem);
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .concept-intro .pic-5 {
    top: auto;
    bottom: 30px;
    left: 0;
  }
}

.concept-intro2 {
  padding-block-start: 26px;
}
@media screen and (min-width: 768px) {
  .concept-intro2 {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .concept-intro2 {
    padding-block-start: 80px;
  }
}
.concept-intro2 .el-heading {
  margin-bottom: clamp(2.5rem, 2.2413793103rem + 1.1034482759vw, 3rem);
  text-align: center;
}
.concept-intro2 p {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .concept-intro2 p {
    line-height: 2.4;
  }
}
@media screen and (max-width: 767px) {
  .concept-intro2 p br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .concept-intro2 p + p {
    margin-top: 1em;
  }
}
@media screen and (min-width: 900px) {
  .concept-intro2 .br {
    display: none;
  }
}

.concept-foot_pic {
  position: relative;
  overflow: hidden;
}
.concept-foot_pic img {
  width: 100%;
  max-width: none;
  object-fit: cover;
}
.concept-foot_pic span {
  position: absolute;
  right: 5px;
  bottom: 8px;
  color: #fff;
  font-size: clamp(0.625rem, 0.5603448276rem + 0.275862069vw, 0.75rem);
}

.concept-intro3 {
  position: relative;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .concept-intro3 {
    height: max(800px, 72.4305555556vw);
    padding-block: clamp(3.125rem, -2.6581325301rem + 12.0481927711vw, 5.625rem);
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .concept-intro3 {
    background-color: #000;
  }
}
@media screen and (min-width: 768px) {
  .concept-intro3__bg {
    position: absolute;
    inset: 0;
    z-index: -1;
  }
}
.concept-intro3__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.concept-intro3 .el-heading {
  margin-bottom: clamp(2.5rem, -10.5120481928rem + 27.1084337349vw, 8.125rem);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .concept-intro3 .el-heading {
    margin-top: 1em;
  }
}

.concept-intro3_cont {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .concept-intro3_cont {
    max-width: clamp(25rem, 17.7710843373rem + 15.0602409639vw, 28.125rem);
    margin-right: clamp(1.4375rem, -16.9239457831rem + 38.2530120482vw, 9.375rem);
  }
}
@media screen and (max-width: 767px) {
  .concept-intro3_cont {
    margin-inline: 23px;
    padding-block: 23px;
  }
}
.concept-intro3_cont .el-heading2 {
  margin-bottom: clamp(1.5625rem, 0.7543103448rem + 3.4482758621vw, 3.125rem);
}
@media screen and (max-width: 767px) {
  .concept-intro3_cont .el-heading2 {
    text-align: center;
  }
}
.concept-intro3_cont p {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .concept-intro3_cont p {
    line-height: 2;
  }
}

/*------------------------------
    page-modelroom
--------------------------------*/
.modelroom-lead {
  margin-bottom: clamp(2.9375rem, 1.4181034483rem + 6.4827586207vw, 5.875rem);
}
.modelroom-lead .ttl {
  margin-bottom: clamp(1.4375rem, 0.6939655172rem + 3.1724137931vw, 2.875rem);
  text-align: center;
}
.modelroom-lead p {
  font-weight: 500;
  line-height: 2.8;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .modelroom-lead p {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .modelroom-lead p + p {
    margin-top: 1em;
  }
  .modelroom-lead p br {
    display: none;
  }
}

.modelroom-mv {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(3.5rem, 1.6896551724rem + 7.724137931vw, 7rem);
  gap: clamp(1rem, 0.4827586207rem + 2.2068965517vw, 2rem);
}
.modelroom-mv > div:nth-child(odd) {
  margin-right: clamp(0rem, -11.5662650602rem + 24.0963855422vw, 5rem);
}
.modelroom-mv > div:nth-child(even) {
  margin-left: clamp(0rem, -11.5662650602rem + 24.0963855422vw, 5rem);
}

.modelroom-widespan {
  display: flex;
  gap: clamp(1.25rem, -10.3162650602rem + 24.0963855422vw, 6.25rem);
}
@media screen and (max-width: 767px) {
  .modelroom-widespan {
    flex-direction: column;
  }
}
.modelroom-widespan .el-heading2 {
  margin-bottom: 1em;
}
.modelroom-widespan_en {
  margin-bottom: 0.6em;
  color: var(--color-assent3);
  font-size: clamp(2.375rem, 2.1163793103rem + 1.1034482759vw, 2.875rem);
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.12em;
  text-align: center;
}
.modelroom-widespan_illust {
  flex-shrink: 0;
  align-self: center;
  width: clamp(18.75rem, -15.9487951807rem + 72.2891566265vw, 33.75rem);
  font-size: var(--fz13);
}
@media screen and (max-width: 767px) {
  .modelroom-widespan_illust {
    width: 100%;
  }
}
.modelroom-widespan_illust p {
  margin-top: 5px;
  text-align: right;
}

.modelroom-intro {
  margin-bottom: clamp(3.125rem, 1.1206896552rem + 8.5517241379vw, 7rem);
}
.modelroom-intro_title {
  margin-bottom: clamp(2.3125rem, 1.1163793103rem + 5.1034482759vw, 4.625rem);
  text-align: center;
}
.modelroom-intro_title .en {
  margin-bottom: 0.3em;
  color: var(--color-assent2);
  font-size: clamp(2.375rem, 2.1163793103rem + 1.1034482759vw, 2.875rem);
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.12em;
}
.modelroom-intro_lead {
  display: flex;
  margin-bottom: clamp(1.5625rem, 0.7543103448rem + 3.4482758621vw, 3.125rem);
  gap: clamp(1.25rem, -5.4006024096rem + 13.8554216867vw, 4.125rem);
}
@media screen and (max-width: 767px) {
  .modelroom-intro_lead {
    flex-direction: column;
  }
}
.modelroom-intro_lead .text-header {
  margin-bottom: 1em;
}
.modelroom-intro_lead__pic {
  flex-shrink: 0;
  align-self: center;
  width: clamp(18.75rem, -21.1536144578rem + 83.1325301205vw, 36rem);
}
@media screen and (max-width: 767px) {
  .modelroom-intro_lead__pic {
    position: relative;
    width: auto;
    margin-inline: -23px;
  }
}

.modelroom-storage_list {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .modelroom-storage_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.modelroom-storage_list li {
  width: 100%;
}
.modelroom-storage_list figcaption {
  margin-top: 5px;
  font-size: clamp(0.625rem, 0.1912650602rem + 0.9036144578vw, 0.8125rem);
  text-align: right;
}

@media screen and (max-width: 767px) {
  .modelroom-slider_wrap {
    margin-inline: -23px;
  }
}

.modelroom-slider {
  margin-bottom: 20px;
}
.modelroom-slider .swiper-button-next, .modelroom-slider .swiper-button-prev {
  display: grid;
  opacity: 0.5;
  width: clamp(2.25rem, 1.0862068966rem + 4.9655172414vw, 4.5rem);
  height: clamp(2.25rem, 1.0862068966rem + 4.9655172414vw, 4.5rem);
  border-radius: 50%;
  background-color: #fff;
  color: #1c1c1c;
  transition: 0.3s;
}
.modelroom-slider .swiper-button-next::after, .modelroom-slider .swiper-button-prev::after {
  position: relative;
  width: clamp(0.5rem, 0.2413793103rem + 1.1034482759vw, 1rem);
  aspect-ratio: 1;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}
.modelroom-slider .swiper-button-next:hover, .modelroom-slider .swiper-button-prev:hover {
  opacity: 1;
}
.modelroom-slider .swiper-button-next::after {
  right: clamp(0.125rem, 0.0280172414rem + 0.4137931034vw, 0.3125rem);
  transform: rotate(45deg);
}
.modelroom-slider .swiper-button-prev::after {
  left: clamp(0.125rem, 0.0280172414rem + 0.4137931034vw, 0.3125rem);
  transform: rotate(-135deg);
}

.modelroom-slider_thumb .swiper-slide {
  opacity: 0.5;
  aspect-ratio: 1;
  cursor: pointer;
  transition: 0.3s;
}
.modelroom-slider_thumb .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.modelroom-slider_thumb .swiper-slide.swiper-slide-thumb-active, .modelroom-slider_thumb .swiper-slide:hover {
  opacity: 1;
}

/*------------------------------
    page-location
--------------------------------*/
.location-overhead {
  position: relative;
  height: 100%;
  padding-bottom: 50px;
  overflow: hidden;
  background-color: var(--color-black);
}
@media screen and (min-width: 768px) {
  .location-overhead .location-overhead_inner {
    position: absolute;
    bottom: clamp(1.875rem, -4.625rem + 13.5416666667vw, 7.5625rem);
    left: 0;
    width: 100%;
  }
}

.location-overhead_cont {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .location-overhead_cont {
    margin-right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .location-overhead_cont {
    flex-direction: column-reverse;
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .location-overhead_cont .el-heading {
    text-align: center;
  }
}
.location-overhead_cont .col {
  color: #fff;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .location-overhead_cont .col {
    margin-left: auto;
    padding-right: 2em;
  }
}
@media screen and (max-width: 767px) {
  .location-overhead_cont .col {
    font-size: var(--fz10);
  }
}
@media screen and (max-width: 767px) {
  .location-overhead_cont .col p:last-child {
    text-align: left;
  }
}

.location-station {
  padding-block-start: 0;
  overflow: hidden;
  background-image: url("/sannomaru/test2025/assets/img/bg_star@2x.jpg");
  background-image: image-set(url("/sannomaru/test2025/assets/img/bg_star.jpg") 1x, url("/sannomaru/test2025/assets/img/bg_star@2x.jpg") 2x);
  background-position: center 149px;
  background-size: 1440px auto;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .location-station {
    background-size: contain;
  }
}
@media screen and (max-width: 430px) {
  .location-station {
    background-image: url("/sannomaru/test2025/assets/img/bg_star.jpg");
  }
}
@media screen and (min-width: 1440px) {
  .location-station {
    background-size: contain;
  }
}

.location-station_inner {
  display: grid;
  align-items: center;
  gap: clamp(2.5rem, -4.1506024096rem + 13.8554216867vw, 5.375rem);
}
@media screen and (min-width: 768px) {
  .location-station_inner {
    margin-left: calc(50% - 50vw);
    grid-template-columns: 1fr clamp(18.125rem, -1.5376506024rem + 40.9638554217vw, 26.625rem);
  }
}
@media screen and (max-width: 767px) {
  .location-station_inner .col:first-child {
    margin-inline: -23px;
  }
}

.location-station_cont {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, -3.0873493976rem + 9.0361445783vw, 3.125rem);
}
.location-station_cont .en {
  font-weight: 500;
  font-size: clamp(1.625rem, 0.6875rem + 4vw, 3.4375rem);
  line-height: 1.4;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .location-station_cont .en {
    text-align: center;
  }
}
.location-station_cont p + p {
  margin-top: clamp(1.25rem, -3.0873493976rem + 9.0361445783vw, 3.125rem);
}
@media screen and (max-width: 767px) {
  .location-station_cont p + p {
    margin-top: 1em;
  }
}

.location-station_mv {
  height: 100%;
}
@media screen and (min-width: 768px) {
  .location-station_mv {
    min-height: 850px;
  }
}
.location-station_mv img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}

.location-shopping {
  overflow: hidden;
  background-image: url("/sannomaru/test2025/top/img/quality_bg@2x.jpg");
  background-position: top center;
  background-size: 1440px auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .location-shopping {
    padding-bottom: 50px;
  }
}
@media screen and (min-width: 1440px) {
  .location-shopping {
    background-size: 100% auto;
  }
}

.location-shopping_inner {
  display: grid;
  align-items: center;
  gap: clamp(2.5rem, -6.0714285714rem + 17.8571428571vw, 10rem);
}
@media screen and (min-width: 768px) {
  .location-shopping_inner {
    margin-right: calc(50% - 50vw);
    grid-template-columns: clamp(23.75rem, -2.2740963855rem + 54.2168674699vw, 35rem) 1fr;
  }
}

.location-shopping_cont {
  display: flex;
  flex-direction: column;
  max-width: 560px;
  gap: clamp(1.25rem, -1.6415662651rem + 6.0240963855vw, 2.5rem);
}
@media screen and (min-width: 768px) {
  .location-shopping_cont {
    padding-block: 50px;
  }
}

.location-shopping_mv {
  height: 100%;
}
@media screen and (max-width: 767px) {
  .location-shopping_mv {
    margin-inline: -23px;
    grid-area: 1;
  }
}
@media screen and (min-width: 768px) {
  .location-shopping_mv.img-photo::after {
    right: 1em;
  }
}
.location-shopping_mv img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: right;
}

.location-shopping_list {
  display: flex;
  column-gap: clamp(0.625rem, -0.8207831325rem + 3.0120481928vw, 1.25rem);
  row-gap: clamp(1rem, -1.313253012rem + 4.8192771084vw, 2rem);
}
@media screen and (max-width: 767px) {
  .location-shopping_list {
    flex-wrap: wrap;
    column-gap: 5px;
  }
}
.location-shopping_list li {
  width: 100%;
}
.location-shopping_list .pic {
  margin-bottom: 5px;
}
.location-shopping_list .name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.5em;
}
@media screen and (max-width: 767px) {
  .location-shopping_list__small {
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .location-shopping_list__small li {
    width: calc(50% - 5px);
  }
}

.location-shopping_list__ines {
  position: relative;
}
.location-shopping_list__ines .text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 90%;
  padding: 10px;
  box-sizing: border-box;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 40%, rgba(0, 0, 0, 0) 100%);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .location-shopping_list__ines .text {
    width: 94%;
  }
}
.location-shopping_list__ines .text > span {
  display: block;
  width: fit-content;
}
.location-shopping_list__ines .text .name {
  font-size: var(--fz22);
  line-height: 1;
}
.location-shopping_list__ines .text .dist {
  margin-left: 8px;
  color: var(--color-assent3);
  font-size: var(--fz16);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .location-shopping_list__ines .text .dist {
    display: block;
  }
}
.location-shopping_list__ines .text .dist .num {
  font-size: 72px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .location-shopping_list__ines .text .dist .num {
    letter-spacing: 0.08em;
  }
}

.location-access {
  padding-block-start: 0;
}
.location-access .top_trafic_thumbs {
  margin: 0;
}

.location-trafic {
  margin-inline: 20px;
}

.location-access_head {
  padding-block: clamp(3.75rem, -3.5165562914rem + 14.5695364238vw, 6.5rem) clamp(1.875rem, -0.7274096386rem + 5.421686747vw, 3rem);
}
.location-access_head .text-header {
  margin-bottom: 1em;
}
.location-access_head .text-body2 {
  max-width: 660px;
}

.location-trafic_list {
  display: grid;
  align-items: end;
  margin-bottom: clamp(7.5rem, 3.4518072289rem + 8.4337349398vw, 9.25rem);
  border-bottom: 3px solid var(--color-assent3);
  gap: 14px;
}
@media screen and (min-width: 768px) {
  .location-trafic_list {
    grid-template-columns: 1fr 1fr 20.1% 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .location-trafic_list {
    margin-bottom: 20px;
  }
}
.location-trafic_list li {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .location-trafic_list li {
    display: flex;
    align-items: center;
    gap: 10px;
  }
}
.location-trafic_list .icon {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .location-trafic_list .icon {
    position: absolute;
    bottom: 0;
    transform: translateY(50%);
  }
}
@media screen and (max-width: 767px) {
  .location-trafic_list .el-trafic-text {
    min-width: 180px;
  }
}

.location-access_foot .text-body_large {
  margin-bottom: 36px;
}
@media screen and (min-width: 768px) {
  .location-access_foot .text-body_large {
    text-align: center;
  }
}
.location-access_foot .top_trafic_thumbs figcaption .dist {
  color: var(--color-assent1);
  filter: drop-shadow(1px 1px 3px rgba(255, 255, 255, 0.8));
}

.el-trafic-text {
  display: grid;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  max-width: 220px;
  aspect-ratio: 220/148;
  margin-inline: auto;
  background-color: var(--color-assent3);
  transition: 0.3s;
  place-items: center;
}
.el-trafic-text--fukuyama {
  max-width: 184px;
  aspect-ratio: 184/200;
  background-color: var(--color-assent1);
}
.el-trafic-text--fukuyama img {
  filter: brightness(0) invert(1);
}

.location-detail {
  background-color: var(--color-black);
  color: #fff;
}
.location-detail_map {
  margin-bottom: clamp(2.5rem, 1.2068965517rem + 5.5172413793vw, 5rem);
}
.location-detail_list {
  display: grid;
  margin-bottom: clamp(2.5rem, 1.2068965517rem + 5.5172413793vw, 5rem);
  column-gap: clamp(0.625rem, 0.3017241379rem + 1.3793103448vw, 1.25rem);
  row-gap: clamp(1rem, 0.4827586207rem + 2.2068965517vw, 2rem);
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .location-detail_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.location-detail_list .pic {
  margin-bottom: clamp(0.3125rem, 0.0862068966rem + 0.9655172414vw, 0.75rem);
}
.location-detail_note {
  margin-top: clamp(2rem, 0.9655172414rem + 4.4137931034vw, 4rem);
}

/*------------------------------
    page-structure
--------------------------------*/
.structure-intro {
  margin-bottom: clamp(2.5rem, -0.8297413793rem + 14.2068965517vw, 8.9375rem);
}
.structure-intro .el-heading {
  margin-bottom: 2em;
  text-align: center;
}

.structure-intro_cont {
  display: flex;
}
@media screen and (max-width: 767px) {
  .structure-intro_cont {
    flex-direction: column;
  }
}
.structure-intro_cont .col {
  width: 300px;
}
@media screen and (max-width: 767px) {
  .structure-intro_cont .col {
    display: flex;
    align-items: end;
    width: 100%;
    gap: 1em;
  }
  .structure-intro_cont .col .pic {
    flex-shrink: 0;
    width: 150px;
  }
}
.structure-intro_cont .col .text-header_small {
  margin-block: 1.5em 1em;
}

.structure-block {
  margin-block: clamp(3.125rem, 2.6077586207rem + 2.2068965517vw, 4.125rem) clamp(2.5rem, 2.2737068966rem + 0.9655172414vw, 2.9375rem);
  padding: clamp(1.25rem, 0.0862068966rem + 4.9655172414vw, 3.5rem);
  background-color: #f6f6f6;
}
.structure-block .text-header_small {
  margin-bottom: 1em;
}
.structure-block_cont {
  display: flex;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .structure-block_cont {
    flex-direction: column;
    align-items: center;
  }
}
.structure-block_cont .pic {
  flex-shrink: 0;
  width: 204px;
}
.structure-block .item-list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .structure-block .item-list {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .structure-block .item-list {
    gap: 20px;
    grid-template-columns: 1fr;
  }
}

.structure-block2 {
  display: flex;
  align-items: center;
  gap: clamp(1.9375rem, 0.9353448276rem + 4.275862069vw, 3.875rem);
}
@media screen and (max-width: 767px) {
  .structure-block2 {
    flex-direction: column;
  }
}
.structure-block2 .text-header_small {
  margin-bottom: 1em;
}
.structure-block2 .pic {
  flex-shrink: 0;
  width: 166px;
}
@media screen and (min-width: 768px) {
  .structure-block2 .pic {
    padding-right: 30px;
  }
}

.secrity-block .item-block {
  gap: 23px;
}
@media screen and (max-width: 767px) {
  .secrity-block .item-block {
    flex-direction: row;
  }
  .secrity-block .item-block .pic {
    width: 100px;
  }
}
@media screen and (min-width: 768px) {
  .secrity-block .item-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .secrity-block .item-list {
    gap: 30px;
    grid-template-columns: 1fr;
  }
}

.item-wrapper {
  display: flex;
  flex-direction: column;
  gap: clamp(3.75rem, 1.8103448276rem + 8.275862069vw, 7.5rem);
}

.item-list {
  display: grid;
  column-gap: clamp(1rem, -1.313253012rem + 4.8192771084vw, 2rem);
  row-gap: clamp(1rem, -4.7831325301rem + 12.0481927711vw, 3.5rem);
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .item-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.item-list + .item-list {
  margin-top: clamp(1rem, -4.7831325301rem + 12.0481927711vw, 3.5rem);
}
.item-list li {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1em;
}
.item-list li .heading {
  font-weight: 600;
}
.item-list li img {
  width: 100%;
}
.item-list--large {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .item-list--large {
    grid-template-columns: 1fr;
  }
}
.item-list--medium {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .item-list--medium {
    grid-template-columns: repeat(2, 1fr);
  }
}
.item-list--small {
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 767px) {
  .item-list--small {
    grid-template-columns: repeat(2, 1fr);
  }
}

.item-group {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.item-block {
  display: flex;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .item-block {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .item-block--reverse {
    flex-direction: row-reverse;
  }
}
.item-block .cont {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.item-block .pic {
  flex-shrink: 0;
  width: var(--pic-width, 50%);
}
@media screen and (max-width: 767px) {
  .item-block .pic {
    width: 100%;
    text-align: center;
  }
}

/*------------------------------
    page-equipment
--------------------------------*/
.equipment-intro {
  margin-bottom: clamp(2.5rem, -0.8297413793rem + 14.2068965517vw, 8.9375rem);
}
.equipment-intro .el-heading {
  margin-bottom: 2em;
  text-align: center;
}

.equipment-intro_cont {
  display: flex;
  gap: 70px;
}
@media screen and (max-width: 767px) {
  .equipment-intro_cont {
    flex-direction: column;
  }
}
.equipment-intro_cont__pic {
  flex-shrink: 0;
  width: 484px;
}
.equipment-intro_cont .col .text-header_small {
  margin-bottom: 1em;
}

.equip-title {
  margin-bottom: 2em;
  text-align: center;
}

.bl_item_box {
  padding: clamp(1.625rem, -2.7123493976rem + 9.0361445783vw, 3.5rem);
  border: 1px solid var(--color-assent1);
}

.equip_main {
  display: grid;
  margin-bottom: clamp(1.875rem, -1.8840361446rem + 7.8313253012vw, 3.5rem);
  gap: clamp(1.875rem, -3.9081325301rem + 12.0481927711vw, 4.375rem);
}
@media screen and (min-width: 768px) {
  .equip_main {
    grid-template-columns: 484px 1fr;
  }
}
@media screen and (min-width: 767px) and (max-width: 900px) {
  .equip_main {
    grid-template-columns: 1fr;
  }
}

.equip-quality_intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.equip-quality_intro__pic {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.equip-quality_pabbit {
  margin-bottom: clamp(3rem, -4.9271523179rem + 15.8940397351vw, 6rem);
}
.equip-quality_pabbit__head {
  display: flex;
  flex-direction: column;
  max-width: 680px;
  margin-bottom: clamp(1.1875rem, -1.5594879518rem + 5.7228915663vw, 2.375rem);
  margin-inline: auto;
  gap: clamp(0.625rem, 0.3017241379rem + 1.3793103448vw, 1.25rem);
}
.equip-quality_pabbit__pic {
  text-align: center;
}

.equip-kitchien_delicia__title {
  display: flex;
  flex-direction: column;
  width: fit-content;
  margin-bottom: 20px;
  margin-inline: auto;
  gap: 23px;
}
.equip-kitchien_delicia__intro {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.equip-kitchien_delicia__intro .thumb {
  margin-top: 10px;
}

.equip_k_app {
  display: grid;
  margin-top: 30px;
  padding-block: 24px 10px;
  padding-inline: 24px;
  background-color: #f6f6f6;
  gap: clamp(1.125rem, 0.5431034483rem + 2.4827586207vw, 2.25rem);
}
@media screen and (min-width: 768px) {
  .equip_k_app {
    grid-template-columns: 1fr 88px;
  }
}
@media screen and (max-width: 767px) {
  .equip_k_app {
    grid-template-columns: 1fr clamp(3.125rem, 1.1853448276rem + 8.275862069vw, 6.875rem);
  }
}
.equip_k_app__title {
  margin-bottom: 1em;
}
.equip_k_app__pic {
  text-align: right;
}

.equip_k_rrecipe {
  margin-bottom: clamp(1.875rem, 0.775862069rem + 4.6896551724vw, 4rem);
  padding-bottom: 30px;
}
.equip_k_rrecipe .inner {
  display: grid;
  align-items: center;
  margin-bottom: 1em;
  padding-bottom: 10px;
  gap: clamp(1.4375rem, 0.661637931rem + 3.3103448276vw, 2.9375rem);
}
@media screen and (min-width: 768px) {
  .equip_k_rrecipe .inner {
    grid-template-columns: 1fr clamp(18.75rem, -33.767384106rem + 105.298013245vw, 38.625rem);
  }
}
@media screen and (max-width: 767px) {
  .equip_k_rrecipe .inner {
    gap: 1em;
  }
}
.equip_k_rrecipe .inner .col > *:not(:last-child) {
  margin-bottom: 1em;
}

.equip_k_items {
  display: grid;
  margin-bottom: clamp(2.25rem, -2.9548192771rem + 10.843373494vw, 4.5rem);
  gap: clamp(1.125rem, -1.4774096386rem + 5.421686747vw, 2.25rem);
}
@media screen and (min-width: 768px) {
  .equip_k_items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 767px) and (max-width: 900px) {
  .equip_k_items {
    grid-template-columns: 1fr;
  }
}
.equip_k_items .inner {
  padding: clamp(0.625rem, 0.3017241379rem + 1.3793103448vw, 1.25rem);
  background-color: #fff;
}
@media screen and (min-width: 767px) and (max-width: 900px) {
  .equip_k_items .inner {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}

.equip_k_item_dryer {
  display: grid;
  margin-bottom: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
  gap: clamp(0.5rem, 0.2413793103rem + 1.1034482759vw, 1rem);
}
@media screen and (min-width: 768px) {
  .equip_k_item_dryer {
    grid-template-columns: clamp(7.5rem, -9.8493975904rem + 36.1445783133vw, 15rem) 1fr;
  }
}
@media screen and (min-width: 767px) and (max-width: 900px) {
  .equip_k_item_dryer {
    margin-bottom: 0;
  }
}
.equip_k_item_dryer .ttl {
  margin-bottom: 0.5em;
}

.equip_k_item_dryer_thumb {
  display: grid;
  gap: clamp(0.6875rem, 0.3318965517rem + 1.5172413793vw, 1.375rem);
  grid-template-columns: 1fr 1fr;
}
.equip_k_item_dryer_thumb figure {
  margin-bottom: 0.5em;
}

.equip_k_item_water {
  display: grid;
  margin-bottom: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
  gap: clamp(0.5rem, 0.2413793103rem + 1.1034482759vw, 1rem);
}
@media screen and (min-width: 768px) {
  .equip_k_item_water {
    grid-template-columns: clamp(6.25rem, -10.2649006623rem + 33.1125827815vw, 12.5rem) 1fr;
  }
}
.equip_k_item_water .ttl {
  margin-bottom: 0.5em;
}

.equip_k_item_water_thumb .images {
  display: flex;
  margin-bottom: 0.5em;
}

.equip-bath_intro_detail {
  display: flex;
  flex-direction: column;
  margin-bottom: 1em;
  padding: clamp(0.75rem, -0.984939759rem + 3.6144578313vw, 1.5rem);
  background-color: #f6f6f6;
  gap: clamp(0.75rem, -0.984939759rem + 3.6144578313vw, 1.5rem);
}
.equip-bath_intro_detail__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.equip_bath_pic {
  position: relative;
}
.equip_bath_pic::before {
  position: absolute;
  top: -8px;
  left: 8px;
  width: clamp(4.375rem, 3.7931034483rem + 2.4827586207vw, 5.5rem);
  aspect-ratio: 1;
  background-image: url("/sannomaru/test2025/equipment/img/bath/bath_icon_select@2x.png");
  background-size: cover;
  content: "";
}

.equip_bath_items {
  display: flex;
  flex-direction: column;
  gap: clamp(1.875rem, -1.8840361446rem + 7.8313253012vw, 3.5rem);
}

.equip_bath_item__title {
  margin-bottom: clamp(0.625rem, 0.3017241379rem + 1.3793103448vw, 1.25rem);
}
.equip_bath_item .inner {
  display: flex;
  gap: clamp(0.75rem, 0.3297413793rem + 1.7931034483vw, 1.5625rem);
}
@media screen and (max-width: 767px) {
  .equip_bath_item .inner {
    flex-direction: column;
  }
}
@media screen and (min-width: 767px) and (max-width: 1000px) {
  .equip_bath_item .inner {
    flex-wrap: wrap;
  }
}
.equip_bath_item .inner .col > *:not(:last-child) {
  margin-bottom: 1em;
}
.equip_bath_item .inner .thumb {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .equip_bath_item .inner .thumb {
    min-width: 292px;
  }
}
.equip_bath_item .inner .thumb img {
  margin-bottom: 0.5em;
}

.equip_bath_item_mist .item {
  max-width: 292px;
}
.equip_bath_item_mist .item .text-body_large {
  margin-bottom: 0.5em;
}

.equip_bath_item_door .inner {
  display: grid;
  gap: min(40 / var(--width) * 100vw, 40px);
}
@media screen and (min-width: 768px) {
  .equip_bath_item_door .inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .equip_bath_item_door .inner {
    gap: 1em;
  }
}
.equip_bath_item_door .inner .thumb {
  display: flex;
}
.equip_bath_item_door .inner .point_wrap {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.equip_bath_item_door .inner .point {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, 1fr);
}
.equip_bath_item_door__thumb {
  display: flex;
}

.equip_sanitary {
  margin-bottom: clamp(5.625rem, -7.3870481928rem + 27.1084337349vw, 11.25rem);
}
.equip_sanitary .text-title {
  margin-bottom: 2em;
  text-align: center;
}
.equip_sanitary .images {
  display: grid;
  margin-bottom: clamp(2.5rem, -3.2831325301rem + 12.0481927711vw, 5rem);
  gap: clamp(1rem, -1.313253012rem + 4.8192771084vw, 2rem);
}
@media screen and (min-width: 768px) {
  .equip_sanitary .images {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .equip_sanitary .images {
    gap: 0;
  }
}
.equip_sanitary .items {
  display: grid;
  counter-reset: number 0;
  column-gap: clamp(1rem, -1.313253012rem + 4.8192771084vw, 2rem);
  row-gap: clamp(1rem, -2.7590361446rem + 7.8313253012vw, 2.625rem);
}
@media screen and (min-width: 768px) {
  .equip_sanitary .items {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}
.equip_sanitary .items li .thumb {
  float: right;
  margin-left: 16px;
}
.equip_sanitary .items li::before {
  display: grid;
  width: 16px;
  height: 16px;
  background-color: #000;
  color: #fff;
  font-size: var(--fz12);
  line-height: 1;
  content: counter(number);
  counter-increment: number 1;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .equip_sanitary .items li:nth-child(2) {
    grid-column: span 2;
  }
}

.equip_toilet {
  margin-bottom: clamp(1.875rem, 0.8081896552rem + 4.5517241379vw, 3.9375rem);
}
.equip_toilet .inner {
  display: grid;
  margin-block: 10px 0;
  gap: clamp(1rem, 0.4827586207rem + 2.2068965517vw, 2rem);
}
@media screen and (min-width: 768px) {
  .equip_toilet .inner {
    grid-template-columns: 378px 1fr;
  }
}
.equip_toilet .inner .col {
  display: flex;
  flex-direction: column;
}
.equip_toilet .items {
  display: grid;
  text-align: justify;
  gap: clamp(0.8125rem, 0.4245689655rem + 1.6551724138vw, 1.5625rem);
}
.equip_toilet .items .thumb {
  margin-bottom: 10px;
}
.equip_toilet .items .text-body_large {
  margin-bottom: 5px;
}
.equip_toilet .items.items__2 {
  margin-bottom: clamp(1rem, -1.313253012rem + 4.8192771084vw, 2rem);
}
@media screen and (min-width: 768px) {
  .equip_toilet .items.items__2 {
    grid-template-columns: 255px 1fr;
  }
}
@media screen and (min-width: 767px) and (max-width: 920px) {
  .equip_toilet .items.items__2 {
    grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
  }
}
.equip_toilet .items.items__3 {
  margin-top: auto;
}
@media screen and (min-width: 768px) {
  .equip_toilet .items.items__3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 920px) {
  .equip_toilet .items.items__3 {
    margin-top: 2em;
    grid-template-columns: 1fr;
  }
  .equip_toilet .items.items__3 li {
    display: grid;
    gap: 10px;
    grid-template-columns: 100px 1fr;
  }
}

.equip_toilet_point {
  margin-bottom: clamp(1.875rem, -3.0406626506rem + 10.2409638554vw, 4rem);
}
.equip_toilet_point .inner {
  display: grid;
  gap: clamp(1rem, -1.313253012rem + 4.8192771084vw, 2rem);
}
@media screen and (min-width: 768px) {
  .equip_toilet_point .inner {
    grid-template-columns: clamp(11.375rem, 5.4913793103rem + 25.1034482759vw, 22.75rem) 1fr;
  }
}
.equip_toilet_point .inner .text-header_small {
  margin-bottom: 1em;
}
.equip_toilet_point .inner .thumb {
  margin-bottom: 1em;
}

.equip_ecoj {
  margin-bottom: clamp(1.6875rem, 0.75rem + 4vw, 3.5rem);
}
.equip_ecoj .bl_item_box {
  margin-bottom: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
}

.equip_ecoj_body {
  display: flex;
  align-items: end;
  margin-block: clamp(1.125rem, 0.5431034483rem + 2.4827586207vw, 2.25rem) clamp(1.6875rem, 0.7823275862rem + 3.8620689655vw, 3.4375rem);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .equip_ecoj_body {
    flex-direction: column;
  }
}
.equip_ecoj_body__pic {
  flex-shrink: 0;
  max-width: clamp(11.1875rem, -18.3741721854rem + 59.2715231788vw, 22.375rem);
}
.equip_ecoj_body p:first-child {
  flex-shrink: 0;
  max-width: clamp(20rem, 16.5301204819rem + 7.2289156627vw, 21.5rem);
}

.equip_gas {
  margin-bottom: clamp(3.75rem, -10.7078313253rem + 30.1204819277vw, 10rem);
  border: none;
  background-color: #fcf7ed;
}
.equip_gas .images {
  display: flex;
  margin-block: clamp(1.25rem, 0.6034482759rem + 2.7586206897vw, 2.5rem);
  gap: 13px;
}
@media screen and (max-width: 767px) {
  .equip_gas .images {
    flex-direction: column;
    margin-block: 1em;
  }
}
.equip_gas__title {
  margin-bottom: 10px;
}
.equip_gas__body {
  display: flex;
  margin-bottom: clamp(1.25rem, 0.4418103448rem + 3.4482758621vw, 2.8125rem);
  gap: clamp(0.8125rem, 0.3922413793rem + 1.7931034483vw, 1.625rem);
}
@media screen and (max-width: 767px) {
  .equip_gas__body {
    flex-direction: column;
  }
}
.equip_gas__body__logo {
  width: clamp(6.25rem, 3.1788793103rem + 13.1034482759vw, 12.1875rem);
  margin-bottom: 10px;
}
.equip_gas__body__pic {
  flex-shrink: 0;
  width: clamp(8.75rem, 4.224137931rem + 19.3103448276vw, 17.5rem);
}
@media screen and (max-width: 767px) {
  .equip_gas__body__pic {
    align-self: end;
  }
}
.equip_gas .thumb {
  margin-block: clamp(0.625rem, 0.3017241379rem + 1.3793103448vw, 1.25rem);
  padding: clamp(0.625rem, 0.1400862069rem + 2.0689655172vw, 1.5625rem) clamp(0.625rem, 0.1400862069rem + 2.0689655172vw, 1.5625rem) clamp(0.3125rem, 0.150862069rem + 0.6896551724vw, 0.625rem);
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .equip_gas .thumb {
    margin-block: 10px;
  }
}
.equip_gas .thumb + p {
  max-width: 720px;
  margin-inline: auto;
}

.equip_other_items {
  margin-bottom: clamp(3.75rem, 1.8103448276rem + 8.275862069vw, 7.5rem);
}
.equip_other_items > *:not(:last-child) {
  margin-bottom: clamp(1.25rem, -1.3362068966rem + 11.0344827586vw, 6.25rem);
}

.hp-image-pic {
  position: relative;
}
.hp-image-pic::after {
  position: absolute;
  right: 5px;
  bottom: 5px;
  font-size: clamp(0.625rem, 0.5603448276rem + 0.275862069vw, 0.75rem);
  content: "image";
}