@charset "UTF-8";
/*
Theme Name: WOODBOX GIFU-NISHI
*/
/*--------------------------------------------------------------
# variables
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# constant variable
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# mixin
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# animation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# reset CSS
--------------------------------------------------------------*/
/* resset.dev • v5.0.2 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
  color: inherit; /* Correct border color in Firefox. */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

/*--------------------------------------------------------------
# base html element
--------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

html {
  overscroll-behavior: none;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  color: #000;
  max-width: 100%;
  width: 100%;
}

*,
*::before,
*::after {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

button:focus:not(.focus-visible) {
  outline: none;
}

a {
  text-decoration: none;
  color: #000;
  letter-spacing: 0;
}

img,
svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  min-height: 1px;
  pointer-events: none;
  user-select: none;
}

svg {
  transform-box: fill-box;
}

li,
ol {
  list-style: none;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #4e4e4e;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/* site-titleやdiscriptionは基本表示しない */
.site-title {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
}

.site-description {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
}

/*--------------------------------------------------------------
# common
--------------------------------------------------------------*/
@media print, screen and (max-width: 1079px) {
  .over-pc {
    display: none !important;
  }
}

@media print, screen and (max-width: 767px) {
  .over-tab {
    display: none !important;
  }
}

@media print, screen and (max-width: 499px) {
  .over-sp {
    display: none !important;
  }
}

.under-pc {
  display: none !important;
}
@media print, screen and (max-width: 1079px) {
  .under-pc {
    display: inherit !important;
  }
}

.under-tab {
  display: none !important;
}
@media print, screen and (max-width: 767px) {
  .under-tab {
    display: inherit !important;
  }
}

.under-sp {
  display: none !important;
}
@media print, screen and (max-width: 499px) {
  .under-sp {
    display: inherit !important;
  }
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loading img {
  width: 125px;
}
@media print, screen and (max-width: 1079px) {
  .loading img {
    width: 100px;
  }
}
@media print, screen and (max-width: 499px) {
  .loading img {
    width: 75px;
  }
}

.hamburger-menu {
  container-type: inline-size;
  display: none;
  flex-direction: column;
  align-items: center;
  position: fixed;
  z-index: 9998;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.45);
  padding: 20px;
  opacity: 0;
  font-weight: 500;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
@media print, screen and (max-width: 1079px) {
  .hamburger-menu {
    display: flex;
  }
}
.hamburger-menu__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 8px;
  background: #fff;
  border: 2px solid #000;
  width: 100%;
  height: 100%;
  padding: 75px 37px;
  overflow-y: scroll;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__inner {
    padding: 50px 25px;
  }
}
.hamburger-menu__insta {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hamburger-menu__insta__name {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-weight: 700;
  font-size: 22px;
  line-height: 1;
  gap: 12px;
  margin-bottom: 15px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__insta__name {
    font-size: 14px;
    gap: 8px;
    margin-bottom: 10px;
  }
}
.hamburger-menu__insta__link {
  margin-bottom: 39px;
  transition: opacity 0.3s;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__insta__link {
    margin-bottom: 26px;
  }
}
.hamburger-menu__insta__link:hover {
  opacity: 0.6;
}
.hamburger-menu__insta__link svg {
  width: 34px;
  height: 34px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__insta__link svg {
    width: 23px;
    height: 23px;
  }
}
.hamburger-menu__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 21px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__list {
    gap: 14px;
  }
}
.hamburger-menu__list__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 427px;
  width: 100%;
  min-height: 49px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__list__item {
    max-width: 285px;
    min-height: 33px;
  }
}
.hamburger-menu__list__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__list__link {
    font-size: 12px;
  }
}
.hamburger-menu__list__link:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -5px;
  left: 0;
  opacity: 0;
  transition: bottom 0.3s, opacity 0.3s;
  pointer-events: none;
}
.hamburger-menu__list__link:hover:after {
  bottom: -2px;
  opacity: 1;
}
.hamburger-menu__list__btn1 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 49px;
  border-radius: 3px;
  background: #000;
  color: #fff;
  font-size: 18px;
  margin-bottom: 12px;
  transition: background-color 0.3s, color 0.3s;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__list__btn1 {
    height: 33px;
    font-size: 12px;
    margin-bottom: 8px;
  }
}
.hamburger-menu__list__btn1:hover {
  border: 1px solid #000;
  background-color: #fff;
  color: #000;
}
.hamburger-menu__list__btn2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 49px;
  border-radius: 3px;
  border: 1px solid #000;
  font-size: 18px;
  margin-top: 8px;
  transition: background-color 0.3s, color 0.3s;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__list__btn2 {
    height: 33px;
    font-size: 12px;
    margin-top: 8px;
  }
}
.hamburger-menu__list__btn2:hover {
  background-color: #000;
  color: #fff;
}
.hamburger-menu__sub-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 18px;
  gap: 4px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__sub-list {
    margin-top: 12px;
    gap: 3px;
  }
}
.hamburger-menu__sub-list li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 49px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__sub-list li {
    min-height: 33px;
  }
}
.hamburger-menu__sub-list li a {
  position: relative;
  font-size: 16px;
  font-weight: 400;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__sub-list li a {
    font-size: 11px;
  }
}
.hamburger-menu__sub-list li a:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -5px;
  left: 0;
  opacity: 0;
  transition: bottom 0.3s, opacity 0.3s;
  pointer-events: none;
}
.hamburger-menu__sub-list li a:hover:after {
  bottom: -2px;
  opacity: 1;
}
.hamburger-menu__company {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 500;
  line-height: 1;
  margin-top: 33px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__company {
    margin-top: 22px;
  }
}
.hamburger-menu__company__logo {
  width: 82px;
  margin-bottom: 9px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__company__logo {
    width: 55px;
    margin-bottom: 6px;
  }
}
.hamburger-menu__company__name {
  font-size: 18px;
  margin-bottom: 9px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__company__name {
    font-size: 12px;
    line-height: 1;
    margin-bottom: 6px;
  }
}
.hamburger-menu__company__tel {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
  font-weight: 400;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__company__tel {
    gap: 10px;
  }
}
.hamburger-menu__company__tel a {
  position: relative;
  font-size: 16px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__company__tel a {
    font-size: 11px;
  }
}
.hamburger-menu__company__tel a:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -5px;
  left: 0;
  opacity: 0;
  transition: bottom 0.3s, opacity 0.3s;
  pointer-events: none;
}
.hamburger-menu__company__tel a:hover:after {
  bottom: -2px;
  opacity: 1;
}
.hamburger-menu__company__tel span {
  font-size: 16px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__company__tel span {
    font-size: 11px;
  }
}
.hamburger-menu__copyright {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 15px;
  margin-top: 51px;
}
@media print, screen and (max-width: 499px) {
  .hamburger-menu__copyright {
    font-size: 11px;
    margin-top: 34px;
  }
}
.hamburger-menu--active {
  opacity: 1;
  visibility: visible;
}

.hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  position: fixed;
  right: 20px;
  top: 12px;
  z-index: 9999;
  width: 46px;
  height: 46px;
  border-radius: 5px;
  background: #fff;
  border: 2px solid #000;
  cursor: pointer;
  transition: right 0.3s, top 0.3s;
}
@media print, screen and (max-width: 1079px) {
  .hamburger {
    display: flex;
  }
}
@media print, screen and (max-width: 499px) {
  .hamburger {
    width: 32px;
    height: 32px;
    top: 16px;
  }
}
.hamburger__inner {
  position: relative;
  width: 49.9%;
  height: 38.25%;
}
.hamburger__inner span {
  height: 2px;
  border-radius: 0.8px;
  background: #000;
  position: absolute;
  width: 100%;
  transition: width 0.3s, transform 0.3s, opacity 0.3s, top 0.3s, left 0.3s, bottom 0.3s;
  transform-origin: center;
}
.hamburger__inner span:nth-of-type(1) {
  top: 0;
}
.hamburger__inner span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.hamburger__inner span:nth-of-type(3) {
  bottom: 0;
}
.hamburger:hover .hamburger__inner span:nth-of-type(2) {
  width: 70%;
}
.hamburger--active {
  right: 40px;
  top: 40px;
}
.hamburger--active .hamburger__inner span:nth-of-type(1) {
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}
.hamburger--active .hamburger__inner span:nth-of-type(2) {
  width: 100%;
  transform: translateX(100%);
  opacity: 0;
}
.hamburger--active .hamburger__inner span:nth-of-type(3) {
  left: 50%;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}

.header {
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 7px min(150px, 10.4166666667svw) 7px 36px;
  background-color: #fff;
  width: 100%;
}
@media print, screen and (max-width: 1400px) {
  .header {
    padding: 7px 72px 7px 36px;
  }
}
@media print, screen and (max-width: 1300px) {
  .header {
    padding: 10px 36px 10px 36px;
  }
}
@media print, screen and (max-width: 1079px) {
  .header {
    padding: 10px 36px 10px 18px;
  }
}
.header--mini .header__logo {
  width: 64px;
}
@media print, screen and (max-width: 499px) {
  .header--mini .header__logo {
    width: 56px;
  }
}
.header__block1 {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 25px;
}
@media print, screen and (max-width: 1300px) {
  .header__block1 {
    gap: 20px;
  }
}
.header__logo {
  width: 114px;
  transition: width 0.3s;
}
@media print, screen and (max-width: 1300px) {
  .header__logo {
    width: 100px;
  }
}
@media print, screen and (max-width: 1079px) {
  .header__logo {
    width: 64px;
  }
}
@media print, screen and (max-width: 499px) {
  .header__logo {
    width: 56px;
  }
}
.header__txt {
  line-height: 1;
  padding-top: 20px;
}
@media print, screen and (max-width: 1079px) {
  .header__txt {
    display: none;
  }
}
.header__txt__address {
  font-size: 14px;
  margin-bottom: 8px;
}
.header__txt__tel {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
}
@media print, screen and (max-width: 1300px) {
  .header__txt__tel {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
.header__txt__tel a {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.02em;
}
@media print, screen and (max-width: 1300px) {
  .header__txt__tel a {
    font-size: 22px;
  }
}
.header__txt__tel a svg {
  margin-right: 3px;
}
.header__txt__tel a:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -5px;
  left: 0;
  opacity: 0;
  transition: bottom 0.3s, opacity 0.3s;
  pointer-events: none;
}
.header__txt__tel a:hover:after {
  bottom: -2px;
  opacity: 1;
}
.header__txt__tel span {
  font-size: 11px;
}
.header__block2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 35px;
}
@media print, screen and (max-width: 1300px) {
  .header__block2 {
    gap: 30px;
  }
}
@media print, screen and (max-width: 1079px) {
  .header__block2 {
    display: none;
  }
}
.header__list {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 35px;
}
@media print, screen and (max-width: 1300px) {
  .header__list {
    gap: 30px;
  }
}
.header__list li a {
  display: inline-block;
  position: relative;
  font-weight: 700;
  font-size: 16px;
}
.header__list li a:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -5px;
  left: 0;
  opacity: 0;
  transition: bottom 0.3s, opacity 0.3s;
  pointer-events: none;
}
.header__list li a:hover:after {
  bottom: -2px;
  opacity: 1;
}
.header__instagram {
  transition: opacity 0.3s;
}
.header__instagram:hover {
  opacity: 0.7;
}

.footer {
  padding: 40px min(40px, 2.7777777778svw) 52px 30px;
  background: #f2f2f2;
  width: 100%;
}
@media print, screen and (max-width: 1079px) {
  .footer {
    padding: 19px min(40px, 2.7777777778svw) 18px 30px;
  }
}
.footer__inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
@media print, screen and (max-width: 1350px) {
  .footer__inner {
    flex-direction: column;
    justify-content: flex-start;
  }
}
@media print, screen and (max-width: 1079px) {
  .footer__inner {
    display: none;
  }
}
.footer__block1 {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 34px;
}
@media print, screen and (max-width: 1350px) {
  .footer__block1 {
    margin-bottom: 70px;
  }
}
@media print, screen and (max-width: 1300px) {
  .footer__block1 {
    gap: 20px;
  }
}
.footer__logo {
  width: 114px;
}
.footer__txt {
  line-height: 1;
  margin-top: 6px;
}
.footer__txt__name, .footer__txt__tel, .footer__txt__address {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 26px;
}
.footer__txt__address {
  margin-top: 4px;
}
.footer__block2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 35px;
}
@media print, screen and (max-width: 1300px) {
  .footer__block2 {
    gap: 30px;
  }
}
@media print, screen and (max-width: 767px) {
  .footer__block2 {
    display: none;
  }
}
.footer__list {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 35px;
}
@media print, screen and (max-width: 1300px) {
  .footer__list {
    gap: 30px;
  }
}
.footer__list li a {
  display: inline-block;
  position: relative;
  font-weight: 700;
  font-size: 16px;
}
.footer__list li a:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -5px;
  left: 0;
  opacity: 0;
  transition: bottom 0.3s, opacity 0.3s;
  pointer-events: none;
}
.footer__list li a:hover:after {
  bottom: -2px;
  opacity: 1;
}
.footer__instagram {
  transition: opacity 0.3s;
}
.footer__instagram:hover {
  opacity: 0.7;
}
.footer__copyright {
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  font-size: 13px;
  text-align: center;
  padding-top: 40px;
}
@media print, screen and (max-width: 1079px) {
  .footer__copyright {
    padding-top: 0;
  }
}
@media print, screen and (max-width: 499px) {
  .footer__copyright {
    font-size: min(13px, 3.4666666667svw);
  }
}

.return-top {
  position: fixed;
  z-index: 999;
  right: 18px;
  bottom: 60px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s, bottom 0.3s, filter 0.3s;
  width: 100px;
  height: 100px;
}
@media print, screen and (max-width: 1079px) {
  .return-top {
    width: 75px;
    height: 75px;
    bottom: 20px;
  }
}
@media print, screen and (max-width: 499px) {
  .return-top {
    width: 50px;
    height: 50px;
    bottom: 0px;
  }
}
.return-top--active {
  opacity: 1;
  visibility: visible;
  bottom: 18px;
}
@media print, screen and (max-width: 1079px) {
  .return-top--active {
    bottom: 40px;
  }
}
@media print, screen and (max-width: 499px) {
  .return-top--active {
    bottom: 20px;
  }
}
.return-top:hover {
  filter: brightness(0.8);
}
.return-top svg {
  width: 100%;
}

.contact-form {
  container-type: inline-size;
  position: fixed;
  z-index: 9999;
  right: 2.7777777778svw;
  top: max(133px, 9.2361111111svw);
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  max-width: 330px;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
@media print, screen and (max-width: 1079px) {
  .contact-form {
    right: 50%;
    top: 50%;
    transform: translateX(50%) translateY(-50%);
  }
}
@media print, screen and (max-width: 767px) {
  .contact-form {
    height: 500px;
  }
}
.contact-form--active {
  opacity: 1;
  visibility: visible;
}
.contact-form .contact-close {
  position: absolute;
  z-index: 1;
  right: 10px;
  top: 10px;
  width: 17.19px;
  cursor: pointer;
}
.contact-form .contact-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 74px;
  background: #b2d2de;
  text-align: center;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.6;
}
.contact-form .contact-content {
  overflow-y: scroll;
}
@media print, screen and (max-width: 767px) {
  .contact-form .contact-content {
    height: 426px;
  }
}
.contact-form .contact-table {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
.contact-form .contact-table tbody {
  padding: 16px 32px 0 32px;
  width: 100%;
  height: auto;
}
.contact-form .contact-table tr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 9px;
}
.contact-form .contact-table th {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 5px;
}
.contact-form .contact-table th:after {
  content: "必須";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 18px;
  border-radius: 3px;
  background: #b2d2de;
  font-weight: 500;
  font-size: 11px;
  color: #000;
}
.contact-form .contact-table .radio-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.contact-form .button-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 10px;
  padding-bottom: 36px;
}
.contact-form .button-wrap button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 214px;
  height: 50px;
  border-radius: 25px;
  background: #b2d2de;
  font-weight: 600;
  font-size: 17px;
}

input[type=text],
input[type=email],
input[type=password],
input[name=mail],
input[name=phone],
input[name=tel],
textarea {
  -webkit-appearance: none;
  width: 100%;
  padding: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  border-radius: 3px;
  background: rgba(178, 210, 222, 0.35);
}

input[type=radio] {
  appearance: none;
  display: none;
}

input[type=radio] + span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

input[type=radio] + span:before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  background: url("./assets/img/common-icon-radio-inactive.webp") no-repeat;
  background-size: contain;
  background-position: center;
  margin-right: 7px;
}

input[type=radio]:checked + span:after {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("./assets/img/common-icon-radio-active.webp") no-repeat;
  background-size: contain;
  background-position: center;
}

/*--------------------------------------------------------------
# front-page
--------------------------------------------------------------*/
body.front-page .hero, body.home .hero {
  width: 100%;
  height: auto;
  aspect-ratio: 1440/746;
  display: grid;
  grid-template-columns: 20.8333333333% 20.8333333333% 20.8333333333% 36.4583333333%;
  grid-template-rows: auto;
  gap: 0.6702412869% 0.3472222222%;
  overflow-x: clip;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .hero, body.home .hero {
    grid-template-columns: 32.5333333333% 32.5333333333% 32.5333333333%;
    aspect-ratio: 379/512;
    gap: 0.9765625% 1.2%;
  }
}
body.front-page .hero img, body.home .hero img {
  width: 100%;
}
body.front-page .hero__img1, body.home .hero__img1 {
  grid-column: 1;
  grid-row: 1;
}
body.front-page .hero__img2, body.home .hero__img2 {
  grid-column: 2;
  grid-row: 1;
}
body.front-page .hero__img3, body.home .hero__img3 {
  grid-column: 3;
  grid-row: 1;
}
body.front-page .hero__img4, body.home .hero__img4 {
  grid-column: 1/4;
  grid-row: 2;
}
body.front-page .hero__img5, body.home .hero__img5 {
  grid-column: 1;
  grid-row: 3;
}
body.front-page .hero__img6, body.home .hero__img6 {
  grid-column: 2;
  grid-row: 3;
}
body.front-page .hero__img7, body.home .hero__img7 {
  grid-column: 3;
  grid-row: 3;
}
body.front-page .hero__img8, body.home .hero__img8 {
  grid-column: 4;
  grid-row: 1/3;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .hero__img8, body.home .hero__img8 {
    grid-column: 1/4;
    grid-row: 4;
  }
}
body.front-page .hero__img9, body.home .hero__img9 {
  grid-column: 4;
  grid-row: 3;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .hero__img9, body.home .hero__img9 {
    grid-column: 1/4;
    grid-row: 5;
  }
}
body.front-page .hero__img9 img, body.home .hero__img9 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}
body.front-page .message, body.home .message {
  overflow-x: clip;
  margin-top: 76px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .message, body.home .message {
    margin-top: 46px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .message, body.home .message {
    margin-top: 17px;
  }
}
body.front-page .message__txt1, body.home .message__txt1 {
  white-space: nowrap;
  line-height: 1;
  font-weight: 500;
  font-size: 26px;
  margin-bottom: 20px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .message__txt1, body.home .message__txt1 {
    font-size: 20px;
    letter-spacing: -0.03em;
    margin-bottom: 14px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .message__txt1, body.home .message__txt1 {
    font-size: 15px;
    letter-spacing: -0.06em;
    margin-bottom: 8px;
  }
}
body.front-page .message__txt2, body.home .message__txt2 {
  white-space: nowrap;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 80px;
  letter-spacing: -0.06em;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .message__txt2, body.home .message__txt2 {
    font-size: 65px;
    letter-spacing: -0.07em;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .message__txt2, body.home .message__txt2 {
    font-size: 50px;
    letter-spacing: -0.08em;
  }
}
body.front-page .message__loop1, body.home .message__loop1 {
  position: relative;
}
body.front-page .message__loop1 p:nth-of-type(1), body.home .message__loop1 p:nth-of-type(1) {
  width: 3723.86px;
  animation: loop 28s linear infinite;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .message__loop1 p:nth-of-type(1), body.home .message__loop1 p:nth-of-type(1) {
    width: 2778.11px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .message__loop1 p:nth-of-type(1), body.home .message__loop1 p:nth-of-type(1) {
    width: 2018.78px;
  }
}
body.front-page .message__loop1 p:nth-of-type(2), body.home .message__loop1 p:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  width: 3723.86px;
  animation: loop 28s -14s linear infinite;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .message__loop1 p:nth-of-type(2), body.home .message__loop1 p:nth-of-type(2) {
    width: 2778.11px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .message__loop1 p:nth-of-type(2), body.home .message__loop1 p:nth-of-type(2) {
    width: 2018.78px;
  }
}
body.front-page .message__loop2, body.home .message__loop2 {
  position: relative;
}
body.front-page .message__loop2 p:nth-of-type(1), body.home .message__loop2 p:nth-of-type(1) {
  width: 4357.27px;
  animation: loop 33s linear infinite;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .message__loop2 p:nth-of-type(1), body.home .message__loop2 p:nth-of-type(1) {
    width: 3464.05px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .message__loop2 p:nth-of-type(1), body.home .message__loop2 p:nth-of-type(1) {
    width: 2627.3px;
    animation: loop 35s linear infinite;
  }
}
body.front-page .message__loop2 p:nth-of-type(2), body.home .message__loop2 p:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  width: 4357.27px;
  animation: loop 33s -16.5s linear infinite;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .message__loop2 p:nth-of-type(2), body.home .message__loop2 p:nth-of-type(2) {
    width: 3464.05px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .message__loop2 p:nth-of-type(2), body.home .message__loop2 p:nth-of-type(2) {
    width: 2627.3px;
    animation: loop 35s -17.5s linear infinite;
  }
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
body.front-page .concept, body.home .concept {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 147px 200px 0 200px;
  margin-bottom: 223px;
  overflow-x: clip;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept, body.home .concept {
    padding: 147px 13.8888888889svw 0 13.8888888889svw;
    margin-bottom: 190px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept, body.home .concept {
    padding: 152px 5.3333333333svw 0 5.3333333333svw;
    margin-bottom: 104px;
  }
}
body.front-page .concept__inner, body.home .concept__inner {
  position: relative;
  background: #b2d2de;
  border: 1px solid #000;
  padding: 48px 48px 48px 48px;
  width: 100%;
  max-width: 889px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept__inner, body.home .concept__inner {
    max-width: 600px;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept__inner, body.home .concept__inner {
    padding: 10.6666666667svw 5.3333333333svw 5.3333333333svw 5.3333333333svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__inner, body.home .concept__inner {
    margin-bottom: 50px;
  }
}
body.front-page .concept__img, body.home .concept__img {
  width: 100svw;
}
body.front-page .concept__heading, body.home .concept__heading {
  position: absolute;
  left: max(-84px, -5.8333333333svw);
  top: -41px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__heading, body.home .concept__heading {
    left: -1px;
    top: -51px;
  }
}
body.front-page .concept__heading span:nth-of-type(1), body.home .concept__heading span:nth-of-type(1) {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-size: 15px;
  width: 90px;
  height: 31px;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept__heading span:nth-of-type(1), body.home .concept__heading span:nth-of-type(1) {
    font-size: 13px;
    width: 76px;
    height: 27px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .concept__heading span:nth-of-type(1), body.home .concept__heading span:nth-of-type(1) {
    font-size: 11px;
    width: 63px;
    height: 24px;
  }
}
body.front-page .concept__heading span:nth-of-type(2), body.home .concept__heading span:nth-of-type(2) {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 48px;
  width: 265px;
  height: 78px;
  background: #fff;
  border: 2px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept__heading span:nth-of-type(2), body.home .concept__heading span:nth-of-type(2) {
    width: 222px;
    height: 65px;
    font-size: 41px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .concept__heading span:nth-of-type(2), body.home .concept__heading span:nth-of-type(2) {
    width: 180px;
    height: 53px;
    font-size: 35px;
    letter-spacing: -0.05em;
  }
}
body.front-page .concept__block, body.home .concept__block {
  font-weight: 500;
  background: url("./assets/img/concept-bg.webp") no-repeat;
  background-size: cover;
  background-position: center;
  padding: 85px 0 85px 0;
  text-align: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept__block, body.home .concept__block {
    padding: 5.9027777778svw 0 5.9027777778svw 0;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__block, body.home .concept__block {
    padding: 10.6666666667svw 0 9.3333333333svw 0;
    z-index: 1;
  }
}
body.front-page .concept__block h3, body.home .concept__block h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 32px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept__block h3, body.home .concept__block h3 {
    font-size: 23px;
    margin-bottom: 30px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .concept__block h3, body.home .concept__block h3 {
    font-size: 16px;
    margin-bottom: 28px;
  }
}
body.front-page .concept__block p, body.home .concept__block p {
  font-size: 20px;
  line-height: 2;
  white-space: nowrap;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .concept__block p, body.home .concept__block p {
    font-size: 16px;
    letter-spacing: -0.03em;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .concept__block p, body.home .concept__block p {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs, body.home .concept__imgs {
    position: absolute;
    left: calc(50% - 50svw);
    bottom: 0;
    transform: translateY(calc(100% + 50px));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    width: 100svw;
  }
}
body.front-page .concept__imgs__img, body.home .concept__imgs__img {
  position: absolute;
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img, body.home .concept__imgs__img {
    position: relative;
    border: 1px solid #000;
    aspect-ratio: 187/103;
    height: auto;
  }
  body.front-page .concept__imgs__img img, body.home .concept__imgs__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}
body.front-page .concept__imgs__img:nth-of-type(1), body.home .concept__imgs__img:nth-of-type(1) {
  z-index: 0;
  width: min(340px, 23.6111111111svw);
  top: 11.2531969309%;
  left: max(-277px, -19.2361111111svw);
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img:nth-of-type(1), body.home .concept__imgs__img:nth-of-type(1) {
    width: 100%;
    top: auto;
    left: auto;
  }
}
body.front-page .concept__imgs__img:nth-of-type(2), body.home .concept__imgs__img:nth-of-type(2) {
  z-index: 1;
  width: min(199px, 13.8194444444svw);
  top: 40.537084399%;
  left: max(-173px, -12.0138888889svw);
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img:nth-of-type(2), body.home .concept__imgs__img:nth-of-type(2) {
    width: 100%;
    top: auto;
    left: auto;
  }
}
body.front-page .concept__imgs__img:nth-of-type(3), body.home .concept__imgs__img:nth-of-type(3) {
  z-index: 2;
  width: min(160px, 11.1111111111svw);
  top: 79.4117647059%;
  left: max(-235px, -16.3194444444svw);
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img:nth-of-type(3), body.home .concept__imgs__img:nth-of-type(3) {
    width: 100%;
    top: auto;
    left: auto;
  }
}
body.front-page .concept__imgs__img:nth-of-type(4), body.home .concept__imgs__img:nth-of-type(4) {
  z-index: 3;
  width: min(130px, 9.0277777778svw);
  top: 92.199488491%;
  left: max(-105px, -7.2916666667svw);
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img:nth-of-type(4), body.home .concept__imgs__img:nth-of-type(4) {
    width: 100%;
    top: auto;
    left: auto;
  }
}
body.front-page .concept__imgs__img:nth-of-type(5), body.home .concept__imgs__img:nth-of-type(5) {
  z-index: 0;
  width: min(261px, 18.125svw);
  top: 8.6956521739%;
  right: max(-235px, -16.3194444444svw);
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img:nth-of-type(5), body.home .concept__imgs__img:nth-of-type(5) {
    width: 100%;
    top: auto;
    right: auto;
  }
}
body.front-page .concept__imgs__img:nth-of-type(6), body.home .concept__imgs__img:nth-of-type(6) {
  z-index: 1;
  width: min(197px, 13.6805555556svw);
  top: 60.2301790281%;
  right: max(-277px, -19.2361111111svw);
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img:nth-of-type(6), body.home .concept__imgs__img:nth-of-type(6) {
    width: 100%;
    top: auto;
    right: auto;
  }
}
body.front-page .concept__imgs__img:nth-of-type(7), body.home .concept__imgs__img:nth-of-type(7) {
  z-index: 0;
  width: min(160px, 11.1111111111svw);
  top: 67.5191815857%;
  right: max(-135px, -9.375svw);
}
@media print, screen and (max-width: 767px) {
  body.front-page .concept__imgs__img:nth-of-type(7), body.home .concept__imgs__img:nth-of-type(7) {
    width: 100%;
    top: auto;
    right: auto;
  }
}
body.front-page .reasons, body.home .reasons {
  padding: 96px min(42px, 2.9166666667svw) 100px min(42px, 2.9166666667svw);
  background: #e6b8c4;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons, body.home .reasons {
    padding: 0 5.3333333333svw 80px 5.3333333333svw;
    border-top: 0;
    border-bottom: 0;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons, body.home .reasons {
    padding: 0 5.3333333333svw 40px 5.3333333333svw;
  }
}
body.front-page .reasons__heading, body.home .reasons__heading {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-bottom: -60px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__heading, body.home .reasons__heading {
    margin-top: -50px;
    margin-bottom: 0;
  }
}
body.front-page .reasons__heading img, body.home .reasons__heading img {
  position: relative;
  width: 89px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__heading img, body.home .reasons__heading img {
    width: 72px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__heading img, body.home .reasons__heading img {
    width: 54px;
  }
}
body.front-page .reasons__heading img:not(:first-of-type), body.home .reasons__heading img:not(:first-of-type) {
  margin-left: -14px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__heading img:not(:first-of-type), body.home .reasons__heading img:not(:first-of-type) {
    margin-left: -12px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__heading img:not(:first-of-type), body.home .reasons__heading img:not(:first-of-type) {
    margin-left: -12px;
  }
}
body.front-page .reasons__heading img:nth-of-type(1), body.home .reasons__heading img:nth-of-type(1) {
  z-index: 7;
  animation: 1.5s cubic-bezier(0.971, -0.161, 0.112, 1.13) 0.1s infinite alternate flow;
}
body.front-page .reasons__heading img:nth-of-type(2), body.home .reasons__heading img:nth-of-type(2) {
  z-index: 6;
  animation: 1.5s cubic-bezier(0.971, -0.161, 0.112, 1.13) 0.7s infinite alternate flow;
}
body.front-page .reasons__heading img:nth-of-type(3), body.home .reasons__heading img:nth-of-type(3) {
  z-index: 5;
  animation: 1.5s cubic-bezier(0.971, -0.161, 0.112, 1.13) 0.2s infinite alternate flow;
}
body.front-page .reasons__heading img:nth-of-type(4), body.home .reasons__heading img:nth-of-type(4) {
  z-index: 4;
  animation: 1.5s cubic-bezier(0.971, -0.161, 0.112, 1.13) 0.6s infinite alternate flow;
}
body.front-page .reasons__heading img:nth-of-type(5), body.home .reasons__heading img:nth-of-type(5) {
  z-index: 3;
  animation: 1.5s cubic-bezier(0.971, -0.161, 0.112, 1.13) 0.3s infinite alternate flow;
}
body.front-page .reasons__heading img:nth-of-type(6), body.home .reasons__heading img:nth-of-type(6) {
  z-index: 2;
  animation: 1.5s cubic-bezier(0.971, -0.161, 0.112, 1.13) 0.5s infinite alternate flow;
}
body.front-page .reasons__heading img:nth-of-type(7), body.home .reasons__heading img:nth-of-type(7) {
  z-index: 1;
  animation: 1.5s cubic-bezier(0.971, -0.161, 0.112, 1.13) 0.4s infinite alternate flow;
}
@keyframes flow {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(20%);
  }
}
body.front-page .reasons__inner, body.home .reasons__inner {
  container-type: inline-size;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  max-width: 1360px;
  width: 100%;
  background-color: #fff;
  padding: 128px min(55px, 3.8194444444svw) 75px min(55px, 3.8194444444svw);
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__inner, body.home .reasons__inner {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    background-color: transparent;
    padding: 52px 0 0 0;
  }
}
body.front-page .reasons__block1, body.home .reasons__block1 {
  padding: 158px min(55px, 3.8194444444svw) 180px min(55px, 3.8194444444svw);
  background: url("./assets/img/reasons-bg.webp") no-repeat;
  background-size: cover;
  background-position: top center;
  border: 2px solid #F3DEE4;
  width: 43.6cqw;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1, body.home .reasons__block1 {
    width: 100%;
    padding: 80px 4.8svw 80px 4.8svw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__block1, body.home .reasons__block1 {
    padding: 38px 4.8svw 38px 4.8svw;
  }
}
body.front-page .reasons__block1__heading, body.home .reasons__block1__heading {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1__heading, body.home .reasons__block1__heading {
    display: none;
  }
}
body.front-page .reasons__block1__heading span:nth-of-type(1), body.home .reasons__block1__heading span:nth-of-type(1) {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-size: 15px;
  width: 106px;
  height: 31px;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1__heading span:nth-of-type(1), body.home .reasons__block1__heading span:nth-of-type(1) {
    font-size: 13px;
    width: 88px;
    height: 27px;
  }
}
body.front-page .reasons__block1__heading span:nth-of-type(2), body.home .reasons__block1__heading span:nth-of-type(2) {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 48px;
  width: 265px;
  height: 78px;
  background: #fff;
  border: 2px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1__heading span:nth-of-type(2), body.home .reasons__block1__heading span:nth-of-type(2) {
    width: 222px;
    height: 65px;
    font-size: 41px;
  }
}
body.front-page .reasons__block1__img, body.home .reasons__block1__img {
  position: relative;
  z-index: 0;
  margin-top: -10px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1__img, body.home .reasons__block1__img {
    margin-top: 0;
  }
}
body.front-page .reasons__block1__box, body.home .reasons__block1__box {
  padding: 73px 0 62px 0;
  background: #fff;
  border: 2px solid #000;
  margin-top: 28px;
}
@media print, screen and (max-width: 1300px) {
  body.front-page .reasons__block1__box, body.home .reasons__block1__box {
    padding: 38px 0 35px 0;
    margin-top: 24px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__block1__box, body.home .reasons__block1__box {
    margin-top: 19px;
  }
}
body.front-page .reasons__block1__box p, body.home .reasons__block1__box p {
  font-weight: 500;
  text-align: center;
}
body.front-page .reasons__block1__box p:nth-of-type(1), body.home .reasons__block1__box p:nth-of-type(1) {
  font-size: 20px;
  margin-bottom: 46px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1__box p:nth-of-type(1), body.home .reasons__block1__box p:nth-of-type(1) {
    font-size: 18px;
    margin-bottom: 36px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__block1__box p:nth-of-type(1), body.home .reasons__block1__box p:nth-of-type(1) {
    font-size: 16px;
    margin-bottom: 26px;
  }
}
body.front-page .reasons__block1__box p:nth-of-type(1) br, body.home .reasons__block1__box p:nth-of-type(1) br {
  display: none;
}
@media print, screen and (max-width: 1350px) {
  body.front-page .reasons__block1__box p:nth-of-type(1) br, body.home .reasons__block1__box p:nth-of-type(1) br {
    display: inherit;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1__box p:nth-of-type(1) br, body.home .reasons__block1__box p:nth-of-type(1) br {
    display: none;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .reasons__block1__box p:nth-of-type(1) br, body.home .reasons__block1__box p:nth-of-type(1) br {
    display: inherit;
  }
}
body.front-page .reasons__block1__box p:nth-of-type(2), body.home .reasons__block1__box p:nth-of-type(2) {
  font-size: 15px;
  font-weight: 400;
  line-height: 2.13;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .reasons__block1__box p:nth-of-type(2), body.home .reasons__block1__box p:nth-of-type(2) {
    font-size: 14px;
    letter-spacing: -0.03em;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block1__box p:nth-of-type(2), body.home .reasons__block1__box p:nth-of-type(2) {
    font-size: 15px;
    letter-spacing: -0.03em;
    line-height: 2;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__block1__box p:nth-of-type(2), body.home .reasons__block1__box p:nth-of-type(2) {
    font-size: 13px;
  }
}
body.front-page .reasons__block2, body.home .reasons__block2 {
  width: 45.6cqw;
  margin-left: 6.4cqw;
  margin-top: -8px;
}
@media print, screen and (max-width: 1439px) {
  body.front-page .reasons__block2, body.home .reasons__block2 {
    margin-left: 4.8cqw;
  }
}
@media print, screen and (max-width: 1200px) {
  body.front-page .reasons__block2, body.home .reasons__block2 {
    width: 51.6cqw;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__block2, body.home .reasons__block2 {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
    background-color: #fff;
    padding: 80px 5.3333333333svw 80px 5.3333333333svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .reasons__block2, body.home .reasons__block2 {
    padding: 80px 5.3333333333svw 96px 5.3333333333svw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__block2, body.home .reasons__block2 {
    padding: 36px 5.3333333333svw 96px 5.3333333333svw;
  }
}
body.front-page .reasons__list__item, body.home .reasons__list__item {
  max-width: 570px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item, body.home .reasons__list__item {
    max-width: inherit;
  }
}
body.front-page .reasons__list__item h3, body.home .reasons__list__item h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
body.front-page .reasons__list__item h3 span:nth-of-type(1), body.home .reasons__list__item h3 span:nth-of-type(1) {
  position: relative;
  z-index: 1;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  width: 138.33px;
  height: 35.42px;
  aspect-ratio: 138.33/35.42;
  text-align: center;
  padding-top: 5px;
  line-height: 1;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item h3 span:nth-of-type(1), body.home .reasons__list__item h3 span:nth-of-type(1) {
    font-size: 13px;
    padding-top: 7px;
    width: 122px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item h3 span:nth-of-type(1), body.home .reasons__list__item h3 span:nth-of-type(1) {
    font-size: 11px;
    width: 106px;
    padding-top: 9px;
  }
}
body.front-page .reasons__list__item h3 span:nth-of-type(1) svg, body.home .reasons__list__item h3 span:nth-of-type(1) svg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body.front-page .reasons__list__item h3 span:nth-of-type(2), body.home .reasons__list__item h3 span:nth-of-type(2) {
  font-weight: 600;
  font-size: 22px;
  line-height: 1;
  padding-bottom: 15px;
  border-bottom: 2px solid #000;
  margin-top: 10px;
  margin-bottom: 16px;
  width: 100%;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item h3 span:nth-of-type(2), body.home .reasons__list__item h3 span:nth-of-type(2) {
    font-size: 19px;
    margin-top: 7px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item h3 span:nth-of-type(2), body.home .reasons__list__item h3 span:nth-of-type(2) {
    font-size: 16px;
    margin-top: 4px;
    padding-bottom: 13px;
  }
}
body.front-page .reasons__list__item p, body.home .reasons__list__item p {
  font-size: 15px;
  line-height: 2;
  margin-bottom: 16px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item p, body.home .reasons__list__item p {
    font-size: 14px;
    letter-spacing: -0.03em;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item p, body.home .reasons__list__item p {
    font-size: 12px;
    line-height: 2.0833333333;
  }
}
body.front-page .reasons__list__item:nth-of-type(1), body.home .reasons__list__item:nth-of-type(1) {
  margin-bottom: 35px;
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(1), body.home .reasons__list__item:nth-of-type(1) {
    margin-bottom: 37px;
  }
}
body.front-page .reasons__list__item:nth-of-type(1) figure, body.home .reasons__list__item:nth-of-type(1) figure {
  position: relative;
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(1) figure img, body.home .reasons__list__item:nth-of-type(1) figure img {
    width: 215px;
  }
}
body.front-page .reasons__list__item:nth-of-type(1) figure figcaption, body.home .reasons__list__item:nth-of-type(1) figure figcaption {
  position: absolute;
  left: 224px;
  top: 50%;
  transform: translateY(calc(-50% + 8px));
  padding: 0 12px;
  height: 48px;
  background: #fff;
  border: 1px solid #000;
  font-weight: 600;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption, body.home .reasons__list__item:nth-of-type(1) figure figcaption {
    left: 140px;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption, body.home .reasons__list__item:nth-of-type(1) figure figcaption {
    left: 224px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption, body.home .reasons__list__item:nth-of-type(1) figure figcaption {
    padding: 0;
    height: auto;
    background: #fff;
    border: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption span, body.home .reasons__list__item:nth-of-type(1) figure figcaption span {
    padding: 0 12px;
    height: 48px;
    background: #fff;
    border: 1px solid #000;
    font-weight: 600;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }
}
@media print, screen and (max-width: 767px) and (max-width: 1079px) {
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption span, body.home .reasons__list__item:nth-of-type(1) figure figcaption span {
    font-size: 14px;
    height: 40px;
    padding: 0 7px;
  }
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption span:nth-of-type(1), body.home .reasons__list__item:nth-of-type(1) figure figcaption span:nth-of-type(1) {
    padding: 0 0 0 7px;
    margin-bottom: -1px;
  }
}
@media print, screen and (max-width: 767px) and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption span, body.home .reasons__list__item:nth-of-type(1) figure figcaption span {
    font-size: 12px;
    height: 33px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(1) figure figcaption, body.home .reasons__list__item:nth-of-type(1) figure figcaption {
    left: 182px;
  }
}
body.front-page .reasons__list__item:nth-of-type(2), body.home .reasons__list__item:nth-of-type(2) {
  margin-bottom: 34px;
}
body.front-page .reasons__list__item:nth-of-type(2) figure, body.home .reasons__list__item:nth-of-type(2) figure {
  container-type: inline-size;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 9px;
  margin-top: -4px;
  margin-left: -24px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item:nth-of-type(2) figure, body.home .reasons__list__item:nth-of-type(2) figure {
    margin-left: -3px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .reasons__list__item:nth-of-type(2) figure img:nth-of-type(1), body.home .reasons__list__item:nth-of-type(2) figure img:nth-of-type(1) {
    width: 22.9226666667svw;
  }
  body.front-page .reasons__list__item:nth-of-type(2) figure img:nth-of-type(2), body.home .reasons__list__item:nth-of-type(2) figure img:nth-of-type(2) {
    width: 21.136svw;
  }
  body.front-page .reasons__list__item:nth-of-type(2) figure img:nth-of-type(3), body.home .reasons__list__item:nth-of-type(2) figure img:nth-of-type(3) {
    width: 33.528svw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(2) figure, body.home .reasons__list__item:nth-of-type(2) figure {
    margin-top: 0;
  }
  body.front-page .reasons__list__item:nth-of-type(2) figure img, body.home .reasons__list__item:nth-of-type(2) figure img {
    width: 215px;
  }
}
body.front-page .reasons__list__item:nth-of-type(3), body.home .reasons__list__item:nth-of-type(3) {
  margin-bottom: 37px;
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(3), body.home .reasons__list__item:nth-of-type(3) {
    margin-bottom: 30px;
  }
}
body.front-page .reasons__list__item:nth-of-type(4) figure, body.home .reasons__list__item:nth-of-type(4) figure {
  position: relative;
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(4) figure img, body.home .reasons__list__item:nth-of-type(4) figure img {
    width: 215px;
  }
}
body.front-page .reasons__list__item:nth-of-type(4) figure figcaption, body.home .reasons__list__item:nth-of-type(4) figure figcaption {
  position: absolute;
  left: 224px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .reasons__list__item:nth-of-type(4) figure figcaption, body.home .reasons__list__item:nth-of-type(4) figure figcaption {
    left: 140px;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item:nth-of-type(4) figure figcaption, body.home .reasons__list__item:nth-of-type(4) figure figcaption {
    left: 224px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .reasons__list__item:nth-of-type(4) figure figcaption, body.home .reasons__list__item:nth-of-type(4) figure figcaption {
    top: auto;
    transform: none;
    left: 26px;
    bottom: -57px;
  }
}
body.front-page .reasons__list__item:nth-of-type(4) figure figcaption span, body.home .reasons__list__item:nth-of-type(4) figure figcaption span {
  height: 48px;
  background: #fff;
  border: 1px solid #000;
  font-weight: 600;
  font-size: 16px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
body.front-page .reasons__list__item:nth-of-type(4) figure figcaption span:nth-of-type(2), body.home .reasons__list__item:nth-of-type(4) figure figcaption span:nth-of-type(2) {
  margin-top: -1px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .reasons__list__item:nth-of-type(4) figure figcaption span, body.home .reasons__list__item:nth-of-type(4) figure figcaption span {
    font-size: 14px;
    height: 40px;
    padding: 0 7px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .reasons__list__item:nth-of-type(4) figure figcaption span, body.home .reasons__list__item:nth-of-type(4) figure figcaption span {
    font-size: 12px;
    height: 33px;
  }
}
body.front-page .lineup, body.home .lineup {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: clip;
}
body.front-page .lineup__head, body.home .lineup__head {
  position: relative;
  padding: 100px 150px 0 150px;
  width: 100%;
  max-width: 1440px;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .lineup__head, body.home .lineup__head {
    padding: 80px 10.6666666667svw 0 10.6666666667svw;
  }
}
body.front-page .lineup__head__heading, body.home .lineup__head__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 49px;
  margin-left: -45px;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .lineup__head__heading, body.home .lineup__head__heading {
    margin-left: -5.3333333333svw;
  }
}
body.front-page .lineup__head__heading span:nth-of-type(1), body.home .lineup__head__heading span:nth-of-type(1) {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-size: 15px;
  width: 137px;
  height: 31px;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .lineup__head__heading span:nth-of-type(1), body.home .lineup__head__heading span:nth-of-type(1) {
    font-size: 13px;
    width: 115px;
    height: 27px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .lineup__head__heading span:nth-of-type(1), body.home .lineup__head__heading span:nth-of-type(1) {
    font-size: 11px;
    letter-spacing: -0.1em;
    width: 93px;
    height: 24px;
  }
}
body.front-page .lineup__head__heading span:nth-of-type(2), body.home .lineup__head__heading span:nth-of-type(2) {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 48px;
  width: 492px;
  height: 78px;
  background: #fff;
  border: 2px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .lineup__head__heading span:nth-of-type(2), body.home .lineup__head__heading span:nth-of-type(2) {
    width: 412px;
    height: 65px;
    font-size: 41px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .lineup__head__heading span:nth-of-type(2), body.home .lineup__head__heading span:nth-of-type(2) {
    width: 332px;
    height: 53px;
    font-size: 35px;
    letter-spacing: -0.05em;
  }
}
body.front-page .lineup__head__imgs, body.home .lineup__head__imgs {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .lineup__head__imgs, body.home .lineup__head__imgs {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: flex-start;
  }
}
body.front-page .lineup__head__imgs a, body.home .lineup__head__imgs a {
  display: block;
  overflow: hidden;
  background: #fafafa;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  transition: filter 0.3s;
}
body.front-page .lineup__head__imgs a:nth-of-type(1), body.home .lineup__head__imgs a:nth-of-type(1) {
  width: 43.8596491228%;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .lineup__head__imgs a:nth-of-type(1), body.home .lineup__head__imgs a:nth-of-type(1) {
    width: 100%;
    margin-top: 40px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .lineup__head__imgs a:nth-of-type(1), body.home .lineup__head__imgs a:nth-of-type(1) {
    margin-top: 20px;
  }
}
body.front-page .lineup__head__imgs a:nth-of-type(2), body.home .lineup__head__imgs a:nth-of-type(2) {
  width: 43.8596491228%;
  margin-top: -127px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .lineup__head__imgs a:nth-of-type(2), body.home .lineup__head__imgs a:nth-of-type(2) {
    width: 100%;
    margin-top: 0;
  }
}
body.front-page .lineup__head__imgs a img, body.home .lineup__head__imgs a img {
  transition: transform 0.3s;
}
body.front-page .lineup__head__imgs a:hover, body.home .lineup__head__imgs a:hover {
  filter: brightness(0.8);
}
body.front-page .lineup__head__imgs a:hover img, body.home .lineup__head__imgs a:hover img {
  transform: scale(1.02);
}
body.front-page .series, body.home .series {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  overflow-x: clip;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series, body.home .series {
    padding: 0 5.3333333333svw;
  }
}
body.front-page .series__head, body.home .series__head {
  padding: 111px 5.3333333333svw 0 5.3333333333svw;
  text-align: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .series__head, body.home .series__head {
    padding: 111px 5.3333333333svw 0 5.3333333333svw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series__head, body.home .series__head {
    padding: 104px 5.3333333333svw 0 5.3333333333svw;
  }
}
body.front-page .series__head h2, body.home .series__head h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.front-page .series__head h2 span, body.home .series__head h2 span {
  line-height: 1;
}
body.front-page .series__head h2 span:nth-of-type(1), body.home .series__head h2 span:nth-of-type(1) {
  font-family: "Montserrat", sans-serif;
  font-size: 38px;
  letter-spacing: -0.06em;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .series__head h2 span:nth-of-type(1), body.home .series__head h2 span:nth-of-type(1) {
    font-size: 35px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series__head h2 span:nth-of-type(1), body.home .series__head h2 span:nth-of-type(1) {
    font-size: 32px;
  }
}
body.front-page .series__head h2 span:nth-of-type(2), body.home .series__head h2 span:nth-of-type(2) {
  font-weight: 400;
  font-size: 13px;
  margin-top: 12px;
  margin-bottom: 38px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .series__head h2 span:nth-of-type(2), body.home .series__head h2 span:nth-of-type(2) {
    font-size: 12px;
    margin-top: 14px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series__head h2 span:nth-of-type(2), body.home .series__head h2 span:nth-of-type(2) {
    font-size: 11px;
    margin-bottom: 38px;
  }
}
body.front-page .series__head p, body.home .series__head p {
  font-weight: 500;
  font-size: 18px;
  line-height: 2;
  margin-bottom: 66px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .series__head p, body.home .series__head p {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .series__head p, body.home .series__head p {
    font-size: 15px;
    line-height: 2.13;
    margin-bottom: 80px;
  }
}
body.front-page .series__grid, body.home .series__grid {
  width: 100svw;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 4.7222222222svw 0.8333333333svw;
}
@media print, screen and (max-width: 1920px) {
  body.front-page .series__grid, body.home .series__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media print, screen and (max-width: 1200px) {
  body.front-page .series__grid, body.home .series__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8.3333333333svw 0.8333333333svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .series__grid, body.home .series__grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 50px;
  }
}
body.front-page .series-card, body.home .series-card {
  container-type: inline-size;
}
body.front-page .series-card__detail, body.home .series-card__detail {
  position: relative;
  padding-top: 4.2372881356cqw;
  padding-left: 3.1779661017cqw;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__detail, body.home .series-card__detail {
    padding-left: 15px !important;
    padding-right: 15px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series-card__detail, body.home .series-card__detail {
    padding-left: 0 !important;
    padding-right: 0px;
  }
}
body.front-page .series-card__detail__heading, body.home .series-card__detail__heading {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 3.813559322cqw;
  line-height: 1;
  letter-spacing: -0.06em;
  margin-bottom: 2.1186440678cqw;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__detail__heading, body.home .series-card__detail__heading {
    font-size: 16px;
  }
}
body.front-page .series-card__detail__desc, body.home .series-card__detail__desc {
  font-size: 2.7542372881cqw;
  line-height: 1.84;
  margin-bottom: 3.813559322cqw;
  max-width: 52.3305084746cqw;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__detail__desc, body.home .series-card__detail__desc {
    font-size: 13px;
    max-width: inherit;
    margin-bottom: 12px;
  }
  body.front-page .series-card__detail__desc br, body.home .series-card__detail__desc br {
    display: none;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series-card__detail__desc br, body.home .series-card__detail__desc br {
    display: none;
  }
}
body.front-page .series-card__detail__figure, body.home .series-card__detail__figure {
  position: absolute;
  right: 0;
  top: 0;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__detail__figure, body.home .series-card__detail__figure {
    display: none;
  }
}
body.front-page .series-card__detail ul, body.home .series-card__detail ul {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.1779661017cqw;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__detail ul, body.home .series-card__detail ul {
    gap: 10px;
  }
}
body.front-page .series-card__detail ul li, body.home .series-card__detail ul li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2.5423728814cqw;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .series-card__detail ul li, body.home .series-card__detail ul li {
    gap: 10px;
  }
}
body.front-page .series-card__detail ul li span:nth-of-type(1), body.home .series-card__detail ul li span:nth-of-type(1) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.4406779661cqw;
  height: 5.7203389831cqw;
  background: transparent;
  border: 1px solid #000;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  font-size: 2.5423728814cqw;
  white-space: nowrap;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .series-card__detail ul li span:nth-of-type(1), body.home .series-card__detail ul li span:nth-of-type(1) {
    width: 50px;
    font-size: 12px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__detail ul li span:nth-of-type(1), body.home .series-card__detail ul li span:nth-of-type(1) {
    height: 22px;
    font-size: 11px;
  }
}
body.front-page .series-card__detail ul li span:nth-of-type(2), body.home .series-card__detail ul li span:nth-of-type(2) {
  font-size: 2.9661016949cqw;
  line-height: 2;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__detail ul li span:nth-of-type(2), body.home .series-card__detail ul li span:nth-of-type(2) {
    font-size: 13px;
    margin-top: -2px;
  }
}
body.front-page .series-card__floor, body.home .series-card__floor {
  display: none;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__floor, body.home .series-card__floor {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
body.front-page .series-card__floor-start, body.home .series-card__floor-start {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 22px;
  border: 1px solid #000;
  font-size: 11px;
  margin-top: 10px;
  gap: 6px;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}
body.front-page .series-card__floor-start svg, body.home .series-card__floor-start svg {
  transition: filter 0.3s;
}
body.front-page .series-card__floor-start:hover, body.home .series-card__floor-start:hover {
  background-color: #000;
  color: #fff;
}
body.front-page .series-card__floor-start:hover svg, body.home .series-card__floor-start:hover svg {
  filter: invert(100%);
}
@media print, screen and (max-width: 499px) {
  body.front-page .series-card__floor-img, body.home .series-card__floor-img {
    width: 100svw;
    margin-left: calc(50% - 50svw);
  }
}
body.front-page .series-card__floor-content, body.home .series-card__floor-content {
  display: none;
}
@media print, screen and (max-width: 499px) {
  body.front-page .series-card__floor-content, body.home .series-card__floor-content {
    width: 100svw;
    padding-left: 5.3333333333svw;
    padding-right: 5.3333333333svw;
  }
}
body.front-page .series-card__floor-size, body.home .series-card__floor-size {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  margin-top: 21px;
}
body.front-page .series-card__floor-size span:nth-of-type(1), body.home .series-card__floor-size span:nth-of-type(1) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 22px;
  background: transparent;
  border: 1px solid #000;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  font-size: 11px;
}
body.front-page .series-card__floor-size span:nth-of-type(2), body.home .series-card__floor-size span:nth-of-type(2) {
  font-size: 2.9661016949cqw;
  line-height: 1.714;
  margin-top: 0.4237288136cqw;
}
@media print, screen and (max-width: 767px) {
  body.front-page .series-card__floor-size span:nth-of-type(2), body.home .series-card__floor-size span:nth-of-type(2) {
    font-size: 13px;
    margin-top: 2px;
  }
}
body.front-page .series-card__floor-end, body.home .series-card__floor-end {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 22px;
  border: 1px solid #000;
  font-size: 11px;
  margin-top: 24px;
  gap: 6px;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}
body.front-page .series-card__floor-end svg, body.home .series-card__floor-end svg {
  transition: filter 0.3s;
}
body.front-page .series-card__floor-end:hover, body.home .series-card__floor-end:hover {
  background-color: #000;
  color: #fff;
}
body.front-page .series-card__floor-end:hover svg, body.home .series-card__floor-end:hover svg {
  filter: invert(100%);
}
body.front-page .series-card:nth-of-type(4n+1) .series-card__detail, body.home .series-card:nth-of-type(4n+1) .series-card__detail {
  padding-left: 6.3559322034cqw;
}
@media print, screen and (max-width: 1920px) {
  body.front-page .series-card:nth-of-type(4n+1) .series-card__detail, body.home .series-card:nth-of-type(4n+1) .series-card__detail {
    padding-left: 3.1779661017cqw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series-card:nth-of-type(4n+1) .series-card__detail, body.home .series-card:nth-of-type(4n+1) .series-card__detail {
    padding-left: 0;
  }
}
@media print, screen and (max-width: 1920px) {
  body.front-page .series-card:nth-of-type(3n+1) .series-card__detail, body.home .series-card:nth-of-type(3n+1) .series-card__detail {
    padding-left: 6.3559322034cqw;
  }
}
@media print, screen and (max-width: 1200px) {
  body.front-page .series-card:nth-of-type(3n+1) .series-card__detail, body.home .series-card:nth-of-type(3n+1) .series-card__detail {
    padding-left: 3.1779661017cqw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series-card:nth-of-type(3n+1) .series-card__detail, body.home .series-card:nth-of-type(3n+1) .series-card__detail {
    padding-left: 0;
  }
}
@media print, screen and (max-width: 1200px) {
  body.front-page .series-card:nth-of-type(2n+1) .series-card__detail, body.home .series-card:nth-of-type(2n+1) .series-card__detail {
    padding-left: 6.3559322034cqw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .series-card:nth-of-type(2n+1) .series-card__detail, body.home .series-card:nth-of-type(2n+1) .series-card__detail {
    padding-left: 0;
  }
}
body.front-page #woodbox .series-card:nth-of-type(5), body.home #woodbox .series-card:nth-of-type(5) {
  margin-bottom: 8.0555555556svw;
}
@media print, screen and (max-width: 1200px) {
  body.front-page #woodbox .series-card:nth-of-type(5), body.home #woodbox .series-card:nth-of-type(5) {
    margin-bottom: 10.4166666667svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page #woodbox .series-card:nth-of-type(5), body.home #woodbox .series-card:nth-of-type(5) {
    margin-bottom: 0;
  }
}
@media print, screen and (max-width: 1200px) {
  body.front-page #woodbox .series-card:nth-of-type(6), body.home #woodbox .series-card:nth-of-type(6) {
    margin-bottom: 0svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page #woodbox .series-card:nth-of-type(6), body.home #woodbox .series-card:nth-of-type(6) {
    margin-bottom: 0;
  }
}
body.front-page #woodbox .series-card:nth-of-type(7), body.home #woodbox .series-card:nth-of-type(7) {
  margin-bottom: 4.375svw;
}
@media print, screen and (max-width: 1200px) {
  body.front-page #woodbox .series-card:nth-of-type(7), body.home #woodbox .series-card:nth-of-type(7) {
    margin-bottom: 0svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page #woodbox .series-card:nth-of-type(7), body.home #woodbox .series-card:nth-of-type(7) {
    margin-bottom: 0;
  }
}
body.front-page #nondesign, body.home #nondesign {
  border-top: 5px solid #000;
  margin-top: 8.3333333333svw;
}
@media print, screen and (max-width: 1920px) {
  body.front-page #nondesign, body.home #nondesign {
    margin-top: 6.6666666667svw;
  }
}
@media print, screen and (max-width: 1200px) {
  body.front-page #nondesign, body.home #nondesign {
    margin-top: 18.0555555556svw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page #nondesign, body.home #nondesign {
    margin-top: 26.1333333333svw;
  }
}
body.front-page #nondesign .series__head, body.home #nondesign .series__head {
  padding: 104px 5.3333333333svw 0 5.3333333333svw;
  text-align: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page #nondesign .series__head, body.home #nondesign .series__head {
    padding: 111px 5.3333333333svw 0 5.3333333333svw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page #nondesign .series__head, body.home #nondesign .series__head {
    padding: 104px 5.3333333333svw 0 5.3333333333svw;
  }
}
body.front-page #nondesign .series__head h2, body.home #nondesign .series__head h2 {
  white-space: nowrap;
}
@media print, screen and (max-width: 499px) {
  body.front-page #nondesign .series__head p, body.home #nondesign .series__head p {
    max-width: 295px;
  }
}
body.front-page #nondesign .series-card:nth-of-type(1), body.home #nondesign .series-card:nth-of-type(1) {
  margin-bottom: 1.9444444444svw;
}
@media print, screen and (max-width: 767px) {
  body.front-page #nondesign .series-card:nth-of-type(1), body.home #nondesign .series-card:nth-of-type(1) {
    margin-bottom: 0;
  }
}
body.front-page #nondesign .series-card:nth-of-type(5), body.home #nondesign .series-card:nth-of-type(5) {
  margin-bottom: 4.4444444444svw;
}
@media print, screen and (max-width: 767px) {
  body.front-page #nondesign .series-card:nth-of-type(5), body.home #nondesign .series-card:nth-of-type(5) {
    margin-bottom: 0;
  }
}
body.front-page #nondesign .series-card:nth-of-type(7), body.home #nondesign .series-card:nth-of-type(7) {
  margin-bottom: 4.375svw;
}
@media print, screen and (max-width: 1200px) {
  body.front-page #nondesign .series-card:nth-of-type(7), body.home #nondesign .series-card:nth-of-type(7) {
    margin-bottom: 0svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page #nondesign .series-card:nth-of-type(7), body.home #nondesign .series-card:nth-of-type(7) {
    margin-bottom: 0;
  }
}
body.front-page .company, body.home .company {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: clip;
  background: #f2f2f2;
  padding: 100px 40px 100px 40px;
  margin-top: 9.0277777778svw;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .company, body.home .company {
    margin-top: 13.8888888889svw;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .company, body.home .company {
    padding: 100px 5.3333333333svw;
    margin-top: 100px;
  }
}
body.front-page .company__block, body.home .company__block {
  position: relative;
  padding: 100px 0 100px 55px;
  width: 100%;
  max-width: 1360px;
  background-color: #fff;
  border: 2px solid #000;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .company__block, body.home .company__block {
    padding: 100px 55px 100px 55px;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .company__block, body.home .company__block {
    padding: 100px 55px 100px 55px;
  }
}
@media print, screen and (max-width: 767px) {
  body.front-page .company__block, body.home .company__block {
    padding: 70px 5.3333333333svw 70px 5.3333333333svw;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__block, body.home .company__block {
    padding: 40px 5.3333333333svw 40px 5.3333333333svw;
  }
}
body.front-page .company__heading, body.home .company__heading {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 26px;
  padding-bottom: 50px;
  width: 100%;
  border-bottom: 2px solid #000;
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__heading, body.home .company__heading {
    margin-bottom: 16px;
    padding-bottom: 36px;
  }
}
body.front-page .company__heading span:nth-of-type(1), body.home .company__heading span:nth-of-type(1) {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-size: 15px;
  width: 76px;
  height: 31px;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .company__heading span:nth-of-type(1), body.home .company__heading span:nth-of-type(1) {
    font-size: 13px;
    width: 64px;
    height: 27px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__heading span:nth-of-type(1), body.home .company__heading span:nth-of-type(1) {
    font-size: 11px;
    width: 53px;
    height: 24px;
  }
}
body.front-page .company__heading span:nth-of-type(2), body.home .company__heading span:nth-of-type(2) {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 48px;
  width: 293px;
  height: 78px;
  background: #fff;
  border: 2px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .company__heading span:nth-of-type(2), body.home .company__heading span:nth-of-type(2) {
    width: 243px;
    height: 65px;
    font-size: 41px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__heading span:nth-of-type(2), body.home .company__heading span:nth-of-type(2) {
    width: 193px;
    height: 53px;
    font-size: 35px;
    letter-spacing: -0.05em;
  }
}
body.front-page .company__heading span:nth-of-type(3), body.home .company__heading span:nth-of-type(3) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 190px;
  height: 46px;
  background: #fff;
  border: 2px solid #b2d2de;
  font-weight: 700;
  font-size: 18px;
  position: absolute;
  left: 283px;
  top: 53px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .company__heading span:nth-of-type(3), body.home .company__heading span:nth-of-type(3) {
    width: 184px;
    height: 41px;
    font-size: 16px;
    left: 236px;
    top: 38px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__heading span:nth-of-type(3), body.home .company__heading span:nth-of-type(3) {
    position: relative;
    left: auto;
    top: auto;
    width: 157px;
    height: 37px;
    font-size: 15px;
    margin-top: -5px;
  }
}
body.front-page .company__flex, body.home .company__flex {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
  padding-right: 110px;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .company__flex, body.home .company__flex {
    padding-right: 0;
  }
}
body.front-page .company__info, body.home .company__info {
  max-width: 806px;
  width: 100%;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .company__info, body.home .company__info {
    max-width: inherit;
  }
}
body.front-page .company__info ul li, body.home .company__info ul li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  min-height: 74px;
  padding: 24px 0 21px 0;
  border-bottom: 1px dashed #000;
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__info ul li, body.home .company__info ul li {
    min-height: 70px;
  }
}
body.front-page .company__info ul li span:nth-of-type(1), body.home .company__info ul li span:nth-of-type(1) {
  font-weight: 600;
  font-size: 16px;
  min-width: 163px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .company__info ul li span:nth-of-type(1), body.home .company__info ul li span:nth-of-type(1) {
    min-width: 129px;
    font-size: 15px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__info ul li span:nth-of-type(1), body.home .company__info ul li span:nth-of-type(1) {
    min-width: 96px;
    font-size: 14px;
  }
}
body.front-page .company__info ul li span:nth-of-type(2), body.home .company__info ul li span:nth-of-type(2) {
  font-size: 16px;
  line-height: 1.625;
  margin-top: -0.1em;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .company__info ul li span:nth-of-type(2), body.home .company__info ul li span:nth-of-type(2) {
    font-size: 15px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__info ul li span:nth-of-type(2), body.home .company__info ul li span:nth-of-type(2) {
    font-size: 14px;
    line-height: 1.785;
  }
}
body.front-page .company__info ul li a, body.home .company__info ul li a {
  color: #10a7d5;
  text-decoration: underline;
}
body.front-page .company__info iframe, body.home .company__info iframe {
  margin-top: 50px;
  width: 100%;
  height: auto;
  aspect-ratio: 805/393;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .company__info iframe, body.home .company__info iframe {
    margin-top: 22px;
  }
}
body.front-page .company__access, body.home .company__access {
  position: absolute;
  left: 55px;
  bottom: 296px;
}
@media print, screen and (max-width: 1370px) {
  body.front-page .company__access, body.home .company__access {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 25px;
  }
}
body.front-page .company__access p:nth-of-type(1), body.home .company__access p:nth-of-type(1) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 145px;
  height: 46px;
  background: #fff;
  border: 2px solid #000;
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 25px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .company__access p:nth-of-type(1), body.home .company__access p:nth-of-type(1) {
    width: 132px;
    font-size: 16px;
    margin-top: 20px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__access p:nth-of-type(1), body.home .company__access p:nth-of-type(1) {
    width: 120px;
    font-size: 15px;
    margin-bottom: 16px;
  }
}
body.front-page .company__access p:nth-of-type(2), body.home .company__access p:nth-of-type(2) {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.625;
  text-align: left;
  color: #332d29;
}
@media print, screen and (max-width: 499px) {
  body.front-page .company__access p:nth-of-type(2), body.home .company__access p:nth-of-type(2) {
    font-size: 14px;
    line-height: 1.85;
  }
}
body.front-page .contact, body.home .contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: clip;
  background: #e6b8c4;
  padding: 100px 40px 100px 40px;
}
@media print, screen and (max-width: 767px) {
  body.front-page .contact, body.home .contact {
    padding: 100px 5.3333333333svw 98px 5.3333333333svw;
  }
}
body.front-page .contact__inner, body.home .contact__inner {
  max-width: 1184px;
  width: 100%;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .contact__inner, body.home .contact__inner {
    max-width: 900px;
  }
}
body.front-page .contact__heading, body.home .contact__heading {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: -33px;
  margin-bottom: 75px;
  width: 100%;
}
@media print, screen and (max-width: 1332px) {
  body.front-page .contact__heading, body.home .contact__heading {
    margin-left: 0;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__heading, body.home .contact__heading {
    margin-bottom: 65px;
  }
}
body.front-page .contact__heading span:nth-of-type(1), body.home .contact__heading span:nth-of-type(1) {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-size: 15px;
  width: 106px;
  height: 31px;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__heading span:nth-of-type(1), body.home .contact__heading span:nth-of-type(1) {
    font-size: 13px;
    width: 89px;
    height: 27px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__heading span:nth-of-type(1), body.home .contact__heading span:nth-of-type(1) {
    font-size: 11px;
    letter-spacing: -0.1em;
    width: 73px;
    height: 24px;
  }
}
body.front-page .contact__heading span:nth-of-type(2), body.home .contact__heading span:nth-of-type(2) {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 48px;
  width: 263px;
  height: 78px;
  background: #fff;
  border: 2px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__heading span:nth-of-type(2), body.home .contact__heading span:nth-of-type(2) {
    width: 220px;
    height: 65px;
    font-size: 41px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__heading span:nth-of-type(2), body.home .contact__heading span:nth-of-type(2) {
    width: 178px;
    height: 53px;
    font-size: 35px;
    letter-spacing: -0.05em;
  }
}
body.front-page .contact__heading svg, body.home .contact__heading svg {
  position: absolute;
  left: 248px;
  top: 14px;
  animation: 1s infinite alternate tag;
  animation-timing-function: steps(5, start);
  transform-origin: left center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__heading svg, body.home .contact__heading svg {
    left: 208px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__heading svg, body.home .contact__heading svg {
    left: 170px;
    width: 163.16px;
    height: 30.76px;
  }
}
@keyframes tag {
  0% {
    transform: rotate(-18deg);
  }
  100% {
    transform: rotate(18deg);
  }
}
body.front-page .contact__flex, body.home .contact__flex {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .contact__flex, body.home .contact__flex {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
}
body.front-page .contact__card1, body.home .contact__card1 {
  position: relative;
  width: 47.3817567568%;
  background: #f2f2f2;
  border: 2px solid #000;
  padding: 38px;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .contact__card1, body.home .contact__card1 {
    width: 100%;
    max-width: 561px;
    margin-bottom: 100px;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card1, body.home .contact__card1 {
    padding: 28px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1, body.home .contact__card1 {
    padding: 18px;
    margin-bottom: 65px;
  }
}
body.front-page .contact__card1 h2, body.home .contact__card1 h2 {
  position: absolute;
  right: -2px;
  top: -75px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1 h2, body.home .contact__card1 h2 {
    top: -45px;
  }
}
body.front-page .contact__card1 h2 span, body.home .contact__card1 h2 span {
  line-height: 1;
  border: 1px solid #000;
}
body.front-page .contact__card1 h2 span:nth-of-type(1), body.home .contact__card1 h2 span:nth-of-type(1) {
  font-size: 24px;
  background: #e9d45a;
  padding: 14px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card1 h2 span:nth-of-type(1), body.home .contact__card1 h2 span:nth-of-type(1) {
    font-size: 19px;
    padding: 11px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1 h2 span:nth-of-type(1), body.home .contact__card1 h2 span:nth-of-type(1) {
    font-size: 14px;
    padding: 8px;
  }
}
body.front-page .contact__card1 h2 span:nth-of-type(2), body.home .contact__card1 h2 span:nth-of-type(2) {
  font-size: 18px;
  background: #fff;
  padding: 13px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card1 h2 span:nth-of-type(2), body.home .contact__card1 h2 span:nth-of-type(2) {
    font-size: 12px;
    padding: 10px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1 h2 span:nth-of-type(2), body.home .contact__card1 h2 span:nth-of-type(2) {
    font-size: 11px;
    padding: 8px;
  }
}
body.front-page .contact__card1__inner, body.home .contact__card1__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid #000;
  padding: 45px 0 36px 0;
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1__inner, body.home .contact__card1__inner {
    padding: 28px 0 18px 0;
  }
}
body.front-page .contact__card1__inner a, body.home .contact__card1__inner a {
  display: flex;
  flex-direction: row;
  gap: 13px;
  transition: opacity 0.3s;
}
body.front-page .contact__card1__inner a:hover, body.home .contact__card1__inner a:hover {
  opacity: 0.7;
}
body.front-page .contact__card1__inner a svg, body.home .contact__card1__inner a svg {
  width: 70.54px;
  height: 40.36px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card1__inner a svg, body.home .contact__card1__inner a svg {
    width: 56.33px;
    height: 32.23px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1__inner a svg, body.home .contact__card1__inner a svg {
    width: 42.12px;
    height: 24.1px;
  }
}
body.front-page .contact__card1__inner a span, body.home .contact__card1__inner a span {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 600;
  font-size: 40px;
  letter-spacing: 0.02em;
  margin-top: -12px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card1__inner a span, body.home .contact__card1__inner a span {
    font-size: 31px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1__inner a span, body.home .contact__card1__inner a span {
    font-size: 23px;
    margin-top: -8px;
  }
}
body.front-page .contact__card1__inner a span small, body.home .contact__card1__inner a span small {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 2px;
  color: #332d29;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card1__inner a span small, body.home .contact__card1__inner a span small {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card1__inner a span small, body.home .contact__card1__inner a span small {
    font-size: 11px;
  }
}
body.front-page .contact__card2, body.home .contact__card2 {
  position: relative;
  width: 47.3817567568%;
  background: #f2f2f2;
  border: 2px solid #000;
  padding: 38px;
}
@media print, screen and (max-width: 1200px) {
  body.front-page .contact__card2, body.home .contact__card2 {
    width: 100%;
    max-width: 561px;
  }
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card2, body.home .contact__card2 {
    padding: 28px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2, body.home .contact__card2 {
    padding: 18px;
  }
}
body.front-page .contact__card2 h2, body.home .contact__card2 h2 {
  position: absolute;
  right: -2px;
  top: -75px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2 h2, body.home .contact__card2 h2 {
    top: -45px;
  }
}
body.front-page .contact__card2 h2 span, body.home .contact__card2 h2 span {
  line-height: 1;
  border: 1px solid #000;
}
body.front-page .contact__card2 h2 span:nth-of-type(1), body.home .contact__card2 h2 span:nth-of-type(1) {
  font-size: 24px;
  background: #b2d2de;
  padding: 14px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card2 h2 span:nth-of-type(1), body.home .contact__card2 h2 span:nth-of-type(1) {
    font-size: 19px;
    padding: 11px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2 h2 span:nth-of-type(1), body.home .contact__card2 h2 span:nth-of-type(1) {
    font-size: 14px;
    padding: 8px;
  }
}
body.front-page .contact__card2 h2 span:nth-of-type(2), body.home .contact__card2 h2 span:nth-of-type(2) {
  font-size: 18px;
  background: #fff;
  padding: 13px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card2 h2 span:nth-of-type(2), body.home .contact__card2 h2 span:nth-of-type(2) {
    font-size: 12px;
    padding: 10px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2 h2 span:nth-of-type(2), body.home .contact__card2 h2 span:nth-of-type(2) {
    font-size: 11px;
    padding: 8px;
  }
}
body.front-page .contact__card2__inner, body.home .contact__card2__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid #000;
  padding: 19px 0 20px 0;
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2__inner, body.home .contact__card2__inner {
    padding: 15px 0 18px 0;
  }
}
body.front-page .contact__card2__inner p, body.home .contact__card2__inner p {
  font-size: 15px;
  line-height: 1.866;
  margin-bottom: 12px;
  text-align: center;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .contact__card2__inner p, body.home .contact__card2__inner p {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2__inner p, body.home .contact__card2__inner p {
    font-size: 12px;
    margin-bottom: 16px;
  }
}
body.front-page .contact__card2__inner .contact__card2__btn, body.home .contact__card2__inner .contact__card2__btn {
  margin-left: 32px;
  transition: opacity 0.3s;
}
body.front-page .contact__card2__inner .contact__card2__btn:hover .svg-contact-btn, body.home .contact__card2__inner .contact__card2__btn:hover .svg-contact-btn {
  transform: scale(1.05);
}
body.front-page .contact__card2__inner .contact__card2__btn .svg-contact-btn, body.home .contact__card2__inner .contact__card2__btn .svg-contact-btn {
  transition: transform 0.3s;
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2__inner .contact__card2__btn .svg-contact-btn, body.home .contact__card2__inner .contact__card2__btn .svg-contact-btn {
    width: 151.23px;
    height: 26.65px;
  }
}
body.front-page .contact__card2__inner .contact__card2__btn .svg-contact-click, body.home .contact__card2__inner .contact__card2__btn .svg-contact-click {
  animation: 1s infinite alternate zoom;
  animation-timing-function: steps(5, start);
}
@keyframes zoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .contact__card2__inner .contact__card2__btn .svg-contact-click, body.home .contact__card2__inner .contact__card2__btn .svg-contact-click {
    width: 30.28px;
    height: 14.49px;
  }
}
body.front-page .instagram, body.home .instagram {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  border-top: 5px solid #000;
  border-bottom: 5px solid #000;
  overflow-x: clip;
}
@media print, screen and (max-width: 767px) {
  body.front-page .instagram, body.home .instagram {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
}
body.front-page .instagram__link, body.home .instagram__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
  width: 33.3333333333svw;
  transition: background 0.3s;
}
body.front-page .instagram__link:hover, body.home .instagram__link:hover {
  background-color: #e4e4e4;
}
@media print, screen and (max-width: 767px) {
  body.front-page .instagram__link, body.home .instagram__link {
    width: 100%;
    padding-top: 18px;
    padding-bottom: 8px;
    border: 2px solid #e4e4e4;
  }
}
body.front-page .instagram__link .svg-instagram2, body.home .instagram__link .svg-instagram2 {
  width: 17.1388888889svw;
  height: 4.2104166667svw;
  margin-top: 4px;
}
@media print, screen and (max-width: 767px) {
  body.front-page .instagram__link .svg-instagram2, body.home .instagram__link .svg-instagram2 {
    width: 156.49px;
    height: 38.44px;
    margin-top: 0;
  }
}
body.front-page .instagram__link .svg-external, body.home .instagram__link .svg-external {
  position: absolute;
  right: 2.2916666667svw;
  top: 1.6666666667svw;
  width: 1.8326388889svw;
  height: 1.5944444444svw;
}
@media print, screen and (max-width: 767px) {
  body.front-page .instagram__link .svg-external, body.home .instagram__link .svg-external {
    width: 19.28px;
    height: 16.77px;
  }
}
body.front-page .instagram__link p, body.home .instagram__link p {
  font-size: 18px;
  line-height: 1.55;
  text-align: center;
  margin-top: 10px;
}
@media print, screen and (max-width: 1079px) {
  body.front-page .instagram__link p, body.home .instagram__link p {
    font-size: 15px;
  }
}
@media print, screen and (max-width: 499px) {
  body.front-page .instagram__link p, body.home .instagram__link p {
    font-size: 12px;
    line-height: 1.66;
    margin-top: 2px;
  }
}
body.front-page .instagram__imgs, body.home .instagram__imgs {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 33.3333333333svw;
}
@media print, screen and (max-width: 767px) {
  body.front-page .instagram__imgs, body.home .instagram__imgs {
    width: 100%;
  }
}
body.front-page .instagram__imgs img, body.home .instagram__imgs img {
  width: 50%;
}
body.front-page .slick, body.home .slick {
  position: relative;
  container-type: inline-size;
}
body.front-page .slick .slick-slide, body.home .slick .slick-slide {
  width: 100%;
  aspect-ratio: 472/358;
}
body.front-page .slick .slick-slide img, body.home .slick .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.front-page .slick .slick-prev, body.home .slick .slick-prev {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  left: 3.1779661017cqw;
  width: 8.4745762712cqw;
  height: 8.4745762712cqw;
}
body.front-page .slick .slick-next, body.home .slick .slick-next {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  right: 3.1779661017cqw;
  width: 8.4745762712cqw;
  height: 8.4745762712cqw;
}
body.front-page .slick .slick-dots, body.home .slick .slick-dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
body.front-page .slick .slick-dots li, body.home .slick .slick-dots li {
  color: transparent;
  font-size: 0px;
}
body.front-page .slick .slick-dots li button, body.home .slick .slick-dots li button {
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
}
body.front-page .slick .slick-dots .slick-active button, body.home .slick .slick-dots .slick-active button {
  background-color: #000;
}