@charset "UTF-8";
/*** The new CSS reset - version 1.5.1 (last updated 1.3.2022) ***/
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a,
button {
  cursor: revert;
}

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

img,
video {
  max-width: 100%;
  vertical-align: middle;
  image-rendering: auto;
}

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  /* -webkit-line-break: after-white-space */
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.zenb {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
}

.ships {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
}

.shipb {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
}

.notob {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: max(0.9375vw, 13.68px);
  color: rgb(51, 51, 51);
  text-align: left;
  margin: 0 auto;
  line-height: 2;
  letter-spacing: normal;
  letter-spacing: 0.12em;
  position: relative;
  overflow-x: hidden;
}
@media screen and (max-width: 1000px) {
  body {
    text-align: justify;
    font-size: 3.7333333333vw;
  }
}
body.nav-open {
  overflow: hidden;
  position: fixed;
}

section {
  position: relative;
  z-index: 100;
}

button {
  background-color: rgb(175, 151, 95);
  color: rgb(255, 255, 255);
  padding: max(1.25vw, 18.24px) max(3.125vw, 45.6px);
  border-radius: max(0.5208333333vw, 7.6px);
  line-height: 1;
  position: relative;
  display: block;
  text-align: center;
  font-size: max(1.0416666667vw, 15.2px);
  cursor: pointer;
  box-shadow: 3px 4px 6px rgb(169, 135, 109);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 1000px) {
  button {
    padding: 4.2666666667vw 9.6vw;
    border-radius: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: max(1.5625vw, 22.8px);
  transform: translateY(-50%);
  background-image: url(../img/arrow-white.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: max(0.8333333333vw, 12.16px);
  height: max(0.8854166667vw, 12.92px);
}
@media screen and (max-width: 1000px) {
  button::after {
    right: 3.7333333333vw;
    width: 2.9333333333vw;
    height: 3.2vw;
  }
}

.container {
  width: max(62.5vw, 912px);
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .container {
    width: 89.3333333333vw;
  }
}

.pcnone {
  display: none;
}
@media screen and (max-width: 1000px) {
  .pcnone {
    display: block;
  }
}

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

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

.hover {
  transition-duration: 300ms;
  cursor: pointer;
  position: relative;
}
.hover.hover-active {
  opacity: 0.65;
}

.fadein {
  transform: translateY(40px);
  opacity: 0;
  transition: 1200ms cubic-bezier(0, 0, 0.2, 1);
}
@media screen and (max-width: 1000px) {
  .fadein {
    transform: translateY(20px);
  }
}
.fadein.fadein-out {
  transform: translateY(0);
  opacity: 1;
}
.fadein.speed {
  transform: translateY(0);
  transition: 1200ms cubic-bezier(0, 0, 0.2, 1);
}
.fadein.delay1 {
  transition-delay: 200ms;
}
.fadein.delay2 {
  transition-delay: 400ms;
}
.fadein.delay3 {
  transition-delay: 600ms;
}

.spotin {
  opacity: 0;
  transition: 1200ms cubic-bezier(0, 0, 0.2, 1);
  transition-delay: 1000ms;
}

.onloadcm {
  opacity: 0;
  transition: 900ms cubic-bezier(0, 0, 0.2, 1);
  filter: blur(10px) invert(1);
  transform: scale(1.1);
}
.onloadcm.onloadcm-active {
  opacity: 1;
  filter: blur(0) invert(0);
  transform: scale(1);
}
.onloadcm.delay1 {
  transition-delay: 150ms;
}
.onloadcm.delay2 {
  transition-delay: 300ms;
}
.onloadcm.delay3 {
  transition-delay: 450ms;
}

.onloadcm0 {
  opacity: 0;
  transition: 1300ms cubic-bezier(0, 0, 0.2, 1);
  transition-delay: 0ms;
  filter: blur(13px);
  transform: scale(1.03);
}
.onloadcm0.onloadcm-active {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
.onloadcm0.delay1 {
  transition-delay: 1100ms;
}
.onloadcm0.delay2 {
  transition-delay: 1200ms;
}

.target-in,
.target-in2 {
  filter: brightness(0) invert(1);
}

header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: max(1.0416666667vw, 15.2px) max(6.6666666667vw, 97.28px);
  width: 100%;
  z-index: 120;
  transition-duration: 300ms;
}
header.bgon {
  background-color: rgb(252, 249, 239);
}
@media screen and (max-width: 1000px) {
  header {
    padding: 2.6666666667vw 5.3333333333vw;
    align-items: center;
  }
}
header .h1-block {
  display: flex;
  align-items: center;
}
header .h1-block .h1-block__img {
  width: max(2.9166666667vw, 42.56px);
  margin-right: max(0.78125vw, 11.4px);
}
@media screen and (max-width: 1000px) {
  header .h1-block .h1-block__img {
    width: 8.2666666667vw;
    margin-right: 1.6vw;
  }
}
header .h1-block h1 {
  font-size: max(1.1458333333vw, 16.72px);
  line-height: 1.3;
}
@media screen and (max-width: 1000px) {
  header .h1-block h1 {
    font-size: 3.2vw;
  }
}
header .h1-block h1 span {
  font-size: max(1.3541666667vw, 19.76px);
}
@media screen and (max-width: 1000px) {
  header .h1-block h1 span {
    font-size: 3.2vw;
  }
}
header .h1-block_outer {
  position: relative;
  z-index: 110;
  transition-duration: 400ms;
}
header .h1-block_outer.nav-open {
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 1000px) {
  header nav {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(51, 51, 51, 0.9);
    color: rgb(255, 255, 255);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transform: translateX(-101%);
    transition: 600ms cubic-bezier(0, 0, 0.2, 1);
  }
  header nav.nav-open {
    transform: translateX(0);
  }
}
header nav ul {
  display: flex;
  font-size: max(1.1458333333vw, 16.72px);
  line-height: 1.2;
}
@media screen and (max-width: 1000px) {
  header nav ul {
    flex-direction: column;
    font-size: 4.2666666667vw;
  }
}
header nav ul li {
  padding: 0 max(1.5625vw, 22.8px);
  position: relative;
}
@media screen and (max-width: 1000px) {
  header nav ul li {
    padding: 0;
    margin-bottom: 8vw;
  }
}
header .menu {
  width: 5.3333333333vw;
  height: 4vw;
  position: relative;
  transition-duration: 400ms;
}
header .menu span {
  display: block;
  width: 5.3333333333vw;
  height: 1px;
  background-color: rgb(51, 51, 51);
  left: 0;
  position: absolute;
  transition-duration: 400ms;
}
header .menu span:nth-of-type(1) {
  top: 0;
}
header .menu span:nth-of-type(2) {
  top: 1.8666666667vw;
}
header .menu span:nth-of-type(3) {
  bottom: 0;
}
header .menu.nav-open {
  filter: brightness(0) invert(1);
}
header .menu.nav-open span:nth-of-type(1) {
  transform: rotate(45deg);
  transform-origin: left;
}
header .menu.nav-open span:nth-of-type(2) {
  opacity: 0;
}
header .menu.nav-open span:nth-of-type(3) {
  transform: rotate(-45deg);
  transform-origin: left;
}

#fv {
  z-index: 110;
  background-color: rgb(255, 255, 255);
  width: 100vw;
  height: 100vh;
}
#fv .fv-slider .slideritem {
  width: 100vw;
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation-name: zoom;
  animation-duration: 15s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0, 0, 0.5, 1);
}
#fv .fv-slider .slideritem.slider1 {
  background-image: url(../img/fv.png);
}
#fv .fv-slider .slideritem.slider2 {
  background-image: url(../img/fv2.png);
}
#fv .fv-slider .slideritem.slider3 {
  background-image: url(../img/fv3.png);
}
#fv .fv-slider .slideritem.slider4 {
  background-image: url(../img/fv4.png);
}
#fv .fvh2-block {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}
#fv .fvh2-block img:nth-of-type(1) {
  width: max(17.7083333333vw, 258.4px);
  margin-bottom: max(1.0416666667vw, 15.2px);
}
@media screen and (max-width: 1000px) {
  #fv .fvh2-block img:nth-of-type(1) {
    width: 26.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
#fv .fvh2-block img:nth-of-type(2) {
  width: max(7.2916666667vw, 106.4px);
  margin-bottom: max(0.5208333333vw, 7.6px);
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3568627451));
}
@media screen and (max-width: 1000px) {
  #fv .fvh2-block img:nth-of-type(2) {
    width: 18.6666666667vw;
    margin-bottom: 1.3333333333vw;
  }
}
#fv .fvh2-block img:nth-of-type(3) {
  width: max(22.9166666667vw, 334.4px);
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3568627451));
}
@media screen and (max-width: 1000px) {
  #fv .fvh2-block img:nth-of-type(3) {
    width: 34.6666666667vw;
  }
}

@keyframes zoom {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
#cover {
  z-index: 130;
  background-color: rgb(252, 249, 239);
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}
#cover .fvh2-block {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}
#cover .fvh2-block img:nth-of-type(1) {
  width: max(17.7083333333vw, 258.4px);
  margin-bottom: max(1.0416666667vw, 15.2px);
}
@media screen and (max-width: 1000px) {
  #cover .fvh2-block img:nth-of-type(1) {
    width: 26.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
#cover .fvh2-block img:nth-of-type(2) {
  width: max(7.2916666667vw, 106.4px);
  margin-bottom: max(0.5208333333vw, 7.6px);
}
@media screen and (max-width: 1000px) {
  #cover .fvh2-block img:nth-of-type(2) {
    width: 18.6666666667vw;
    margin-bottom: 1.3333333333vw;
  }
}
#cover .fvh2-block img:nth-of-type(3) {
  width: max(22.9166666667vw, 334.4px);
}
@media screen and (max-width: 1000px) {
  #cover .fvh2-block img:nth-of-type(3) {
    width: 34.6666666667vw;
  }
}

#lead {
  margin-top: max(15.1041666667vw, 220.4px);
}
@media screen and (max-width: 1000px) {
  #lead {
    margin-top: 21.3333333333vw;
  }
}
#lead #leadlink {
  position: absolute;
  top: max(-9.375vw, -136.8px);
}
@media screen and (max-width: 1000px) {
  #lead #leadlink {
    top: -16vw;
  }
}
#lead h2 {
  font-size: max(2.5vw, 36.48px);
  line-height: 1.4;
  margin-bottom: max(3.6458333333vw, 53.2px);
}
@media screen and (max-width: 1000px) {
  #lead h2 {
    font-size: 5.8666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
#lead h2 span {
  font-size: max(2.7083333333vw, 39.52px);
  margin-left: max(2.7083333333vw, 39.52px);
  position: relative;
}
@media screen and (max-width: 1000px) {
  #lead h2 span {
    font-size: 6.4vw;
    margin-left: 6.4vw;
  }
}
#lead h2 img {
  position: absolute;
  bottom: 0;
  right: max(-14.5833333333vw, -212.8px);
  width: max(13.0208333333vw, 190px);
  transform: rotate(350deg);
}
@media screen and (max-width: 1000px) {
  #lead h2 img {
    width: 21.3333333333vw;
    right: -26.6666666667vw;
  }
}
#lead h3 {
  font-size: max(1.9791666667vw, 28.88px);
  color: rgb(175, 151, 95);
  line-height: 1.4;
  margin-bottom: max(4.1666666667vw, 60.8px);
}
@media screen and (max-width: 1000px) {
  #lead h3 {
    font-size: 4.8vw;
    margin-bottom: 12.2666666667vw;
  }
}
#lead h3 span {
  margin-left: max(1.9791666667vw, 28.88px);
  position: relative;
  display: flex;
}
@media screen and (max-width: 1000px) {
  #lead h3 span {
    margin-left: 4.8vw;
  }
}
#lead h3 span.dash {
  margin-left: max(0.5208333333vw, 7.6px);
  width: max(7.03125vw, 102.6px);
  height: 2px;
  display: block;
  background-color: rgb(175, 151, 95);
  top: 0.8em;
}
@media screen and (max-width: 1000px) {
  #lead h3 span.dash {
    width: 18.6666666667vw;
    height: 1px;
  }
}
#lead .lead-p p {
  width: max(36.4583333333vw, 532px);
  margin-bottom: max(1.875vw, 27.36px);
}
@media screen and (max-width: 1000px) {
  #lead .lead-p p {
    width: 100%;
    margin-bottom: 7.4666666667vw;
  }
}
#lead .lead-p img {
  width: max(20.8333333333vw, 304px);
  margin-left: max(15.625vw, 228px);
}
@media screen and (max-width: 1000px) {
  #lead .lead-p img {
    width: 80%;
    margin-left: 10%;
    text-align: center;
    margin-bottom: 8vw;
  }
}
#lead .lead-img1 {
  position: absolute;
  width: max(39.5833333333vw, 349.6px);
  top: 0;
  right: 0;
}
@media screen and (max-width: 1000px) {
  #lead .lead-img1 {
    position: relative;
    margin-bottom: 13.3333333333vw;
  }
}
#lead .lead-img2 {
  position: absolute;
  width: max(16.1458333333vw, 142.6px);
  top: max(41.6666666667vw, 368px);
  left: 0;
}
#lead .lead-img3 {
  position: absolute;
  width: max(17.7083333333vw, 156.4px);
  top: max(52.0833333333vw, 460px);
  right: max(9.375vw, 82.8px);
}

#lead-bottom {
  margin-top: max(8.3333333333vw, 121.6px);
}
@media screen and (max-width: 1000px) {
  #lead-bottom {
    margin-top: 10.6666666667vw;
  }
}
#lead-bottom .bottom-mov {
  aspect-ratio: 12/7;
  margin-bottom: max(9.375vw, 136.8px);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-mov {
    margin-bottom: 12.8vw;
  }
}
#lead-bottom .bottom-mov p {
  position: relative;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-mov p {
    font-size: 3.2vw;
  }
}
#lead-bottom .bottom-mov p span {
  width: max(5.2083333333vw, 76px);
  height: 1px;
  background-color: rgb(51, 51, 51);
  position: relative;
  top: max(0.9375vw, 13.68px);
  margin-right: max(0.5208333333vw, 7.6px);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-mov p span {
    width: 14.9333333333vw;
    top: 3.2vw;
    margin-right: 1.3333333333vw;
  }
}
#lead-bottom .bottom-about {
  margin-bottom: max(9.8958333333vw, 144.4px);
  padding: max(3.125vw, 45.6px);
  border-radius: max(1.3020833333vw, 19px);
  background-color: rgb(252, 249, 239);
  display: grid;
  grid-template-columns: max(15.625vw, 228px) calc(100% - max(18.75vw, 273.6px));
  gap: max(1.5625vw, 22.8px) max(3.125vw, 45.6px);
  grid-template-areas: "about-img about-h3" "about-img about-p" "about-img about-link";
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about {
    margin-bottom: 18.6666666667vw;
    padding: 8vw;
    border-radius: 5.3333333333vw;
    grid-template-areas: "about-h3" "about-img" "about-p" "about-link";
    grid-template-columns: none;
    gap: 4.2666666667vw;
  }
}
#lead-bottom .bottom-about .about-img {
  grid-area: about-img;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#lead-bottom .bottom-about .about-img img {
  width: max(8.8541666667vw, 129.2px);
  margin-bottom: max(1.0416666667vw, 15.2px);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about .about-img img {
    width: 32.8vw;
    margin-bottom: 4.2666666667vw;
  }
}
#lead-bottom .bottom-about .about-img p {
  font-size: max(1.1458333333vw, 16.72px);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about .about-img p {
    font-size: 3.7333333333vw;
  }
}
#lead-bottom .bottom-about .about-h3 {
  grid-area: about-h3;
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about .about-h3 h3 {
    text-align: center;
  }
}
#lead-bottom .bottom-about .about-h3 h3 span {
  font-size: max(1.6666666667vw, 24.32px);
  position: relative;
  margin-left: max(1.5625vw, 22.8px);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about .about-h3 h3 span {
    font-size: 4.8vw;
    margin-left: 0;
  }
}
#lead-bottom .bottom-about .about-h3 h3 span::before {
  content: "";
  position: absolute;
  display: block;
  background-color: rgb(51, 51, 51);
  width: max(1.0416666667vw, 15.2px);
  height: 80%;
  top: 10%;
  left: -10%;
  -webkit-clip-path: polygon(0 0, 25% 0, 100% 99%, 75% 100%);
          clip-path: polygon(0 0, 25% 0, 100% 99%, 75% 100%);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about .about-h3 h3 span::before {
    width: 2.6666666667vw;
  }
}
#lead-bottom .bottom-about .about-h3 h3 span::after {
  content: "";
  position: absolute;
  display: block;
  background-color: rgb(51, 51, 51);
  width: max(1.0416666667vw, 15.2px);
  height: 80%;
  top: 10%;
  right: -10%;
  -webkit-clip-path: polygon(75% 0, 100% 0, 25% 100%, 0% 100%);
          clip-path: polygon(75% 0, 100% 0, 25% 100%, 0% 100%);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about .about-h3 h3 span::after {
    width: 2.6666666667vw;
  }
}
#lead-bottom .bottom-about .about-p {
  grid-area: about-p;
}
#lead-bottom .bottom-about .about-link {
  grid-area: about-link;
}
#lead-bottom .bottom-about .about-link a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#lead-bottom .bottom-about .about-link a img {
  width: max(0.8333333333vw, 12.16px);
  margin-right: max(0.8333333333vw, 12.16px);
}
@media screen and (max-width: 1000px) {
  #lead-bottom .bottom-about .about-link a img {
    width: 1.6vw;
    margin-right: 1.6vw;
  }
}

#lead-slider {
  position: relative;
  z-index: 100;
  margin-bottom: max(9.375vw, 136.8px);
}
@media screen and (max-width: 1000px) {
  #lead-slider {
    margin-bottom: 26.6666666667vw;
  }
}
#lead-slider img {
  margin: 0 max(2.0833333333vw, 30.4px);
}
@media screen and (max-width: 1000px) {
  #lead-slider img {
    margin: 0 2.6666666667vw;
  }
}

#summary {
  padding: max(9.8958333333vw, 144.4px) 0 max(10.4166666667vw, 152px) 0;
  background-color: rgba(252, 249, 239, 0.7);
}
@media screen and (max-width: 1000px) {
  #summary {
    padding: 21.3333333333vw 0 26.6666666667vw 0;
  }
}
#summary h2 {
  position: relative;
  margin-bottom: max(4.1666666667vw, 60.8px);
}
@media screen and (max-width: 1000px) {
  #summary h2 {
    margin-bottom: 21.3333333333vw;
  }
}
#summary h2 span {
  font-size: max(2.6041666667vw, 38px);
  position: relative;
  display: flex;
}
@media screen and (max-width: 1000px) {
  #summary h2 span {
    font-size: 5.8666666667vw;
  }
}
#summary h2 span.dash {
  margin-left: max(1.0416666667vw, 15.2px);
  width: max(14.0625vw, 205.2px);
  height: 2px;
  display: block;
  background-color: rgb(51, 51, 51);
  top: 1.03em;
}
@media screen and (max-width: 1000px) {
  #summary h2 span.dash {
    margin-left: 4vw;
    width: 20vw;
    height: 1px;
  }
}
#summary h2 img {
  position: absolute;
  bottom: 0;
  right: max(-4.1666666667vw, -60.8px);
  width: max(11.4583333333vw, 167.2px);
}
@media screen and (max-width: 1000px) {
  #summary h2 img {
    right: 2.6666666667vw;
    width: 26.6666666667vw;
  }
}
#summary .summary-outline {
  display: flex;
  justify-content: space-between;
  font-size: max(1.1458333333vw, 16.72px);
  text-align: center;
  margin-bottom: max(9.8958333333vw, 144.4px);
}
@media screen and (max-width: 1000px) {
  #summary .summary-outline {
    font-size: 3.7333333333vw;
    margin-bottom: 24vw;
    flex-wrap: wrap;
  }
}
#summary .summary-outline li {
  width: max(9.1666666667vw, 133.76px);
}
@media screen and (max-width: 1000px) {
  #summary .summary-outline li {
    width: 28.2666666667vw;
    margin-bottom: 7.2vw;
    letter-spacing: 0;
  }
}
#summary .summary-outline li img {
  padding: 0 max(0.2604166667vw, 3.8px);
  margin-bottom: max(1.5625vw, 22.8px);
}
@media screen and (max-width: 1000px) {
  #summary .summary-outline li img {
    padding: 0 1.3333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}
#summary .henrei {
  position: relative;
  margin-bottom: max(9.8958333333vw, 144.4px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei {
    margin-bottom: 24vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex {
  display: flex;
  margin-bottom: max(5.2083333333vw, 76px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex {
    margin-bottom: 13.3333333333vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex.rev {
  flex-direction: row-reverse;
}
#summary .henrei .henrei-inner .henrei-inner__flex.rev .henrei-inner__pcimg {
  margin-right: 0;
  margin-left: max(4.4270833333vw, 64.6px);
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__pcimg {
  width: max(26.5625vw, 387.6px);
  margin-right: max(4.4270833333vw, 64.6px);
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text {
  width: calc(100% - max(30.9895833333vw, 452.2px));
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text {
    width: 100%;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block {
  display: flex;
  align-items: flex-end;
  margin-bottom: max(3.6458333333vw, 53.2px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block {
    margin-bottom: 10.6666666667vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block > span {
  font-size: max(3.0208333333vw, 44.08px);
  position: relative;
  margin-right: max(1.5625vw, 22.8px);
  line-height: 1;
  z-index: 102;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block > span {
    font-size: 8vw;
    margin-right: 3.4666666667vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block > span::after {
  content: "";
  width: max(2.7083333333vw, 39.52px);
  height: max(3.75vw, 54.72px);
  background-image: url(../img/sakura1.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: max(-0.8333333333vw, -12.16px);
  left: max(-1.0416666667vw, -15.2px);
  z-index: -1;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block > span::after {
    width: 10.6666666667vw;
    line-height-step: 10.6666666667vw;
    top: -4.2666666667vw;
    left: -4.2666666667vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block .h3block-h3 > span {
  font-size: max(1.4583333333vw, 21.28px);
  line-height: 1;
  color: rgb(169, 135, 109);
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block .h3block-h3 > span {
    font-size: 3.4666666667vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block .h3block-h3 h3 {
  font-size: max(2.9166666667vw, 42.56px);
  line-height: 1;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text .h3block .h3block-h3 h3 {
    font-size: 5.8666666667vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text p {
  margin-bottom: 2em;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text p {
    margin-right: 10.6666666667vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text p.lead {
  font-size: max(1.9791666667vw, 28.88px);
  line-height: 1.4;
  margin-bottom: 1em;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text p.lead {
    font-size: 4.8vw;
    margin-top: 10.6666666667vw;
    margin-bottom: 6.4vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text p.lead span {
  margin-left: max(2.1875vw, 31.92px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text p.lead span {
    margin-left: 5.3333333333vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text button {
  margin-top: max(5.2083333333vw, 76px);
  margin-left: auto;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__flex .henrei-inner__text button {
    margin-top: 0;
  }
}
#summary .henrei .henrei-inner .henrei-inner__bottomimg {
  display: flex;
  justify-content: space-between;
}
#summary .henrei .henrei-inner .henrei-inner__bottomimg img {
  width: max(19.4270833333vw, 283.48px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__bottomimg img {
    width: 42.6666666667vw;
  }
}
#summary .henrei .henrei-inner .henrei-inner__bottomimg.pcnone {
  display: none;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__bottomimg.pcnone {
    display: flex;
  }
}
#summary .henrei .henrei-inner .henrei-inner__bottomimg.spnone {
  display: flex;
}
@media screen and (max-width: 1000px) {
  #summary .henrei .henrei-inner .henrei-inner__bottomimg.spnone {
    display: none;
  }
}
#summary .henrei#henrei1 .subimg1 {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  width: max(25.5208333333vw, 372.4px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei1 .subimg1 {
    width: 26.6666666667vw;
    top: -5.3333333333vw;
  }
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei1 .subimg2 {
    z-index: -1;
    position: absolute;
    top: 80vw;
    right: 0;
    width: 27.4666666667vw;
  }
}
#summary .henrei#henrei2 .subimg1 {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: max(30.2083333333vw, 440.8px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei2 .subimg1 {
    width: 29.3333333333vw;
    top: 0;
    left: unset;
    right: 0;
  }
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei2 .subimg2 {
    z-index: -1;
    position: absolute;
    top: 82.6666666667vw;
    right: 0;
    width: 25.0666666667vw;
  }
}
#summary .henrei#henrei3 .subimg1 {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  width: max(15.1041666667vw, 220.4px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei3 .subimg1 {
    top: 80vw;
    width: 25.0666666667vw;
  }
}
#summary .henrei#henrei3 .subimg2 {
  z-index: -1;
  position: absolute;
  top: max(23.4375vw, 342px);
  right: 0;
  width: max(15.1041666667vw, 220.4px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei3 .subimg2 {
    top: -5.3333333333vw;
    right: 10.6666666667vw;
    width: 26.6666666667vw;
  }
}
#summary .henrei#henrei4 .subimg1 {
  z-index: -1;
  position: absolute;
  top: max(5.2083333333vw, 76px);
  left: 0;
  width: max(15.3125vw, 223.44px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei4 .subimg1 {
    top: -5.3333333333vw;
    width: 24vw;
    left: unset;
    right: 8vw;
  }
}
#summary .henrei#henrei4 .subimg2 {
  z-index: -1;
  position: absolute;
  top: max(28.6458333333vw, 418px);
  left: max(5.2083333333vw, 76px);
  width: max(12.5vw, 182.4px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei4 .subimg2 {
    top: 80vw;
    left: unset;
    right: 2.6666666667vw;
    width: 26.6666666667vw;
  }
}
#summary .henrei#henrei5 .subimg1 {
  z-index: -1;
  position: absolute;
  top: max(5.2083333333vw, 76px);
  right: 0;
  width: max(15.1041666667vw, 220.4px);
}
#summary .henrei#henrei5 .subimg2 {
  z-index: -1;
  position: absolute;
  top: max(23.4375vw, 342px);
  right: 0;
  width: max(9.375vw, 136.8px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei5 .subimg2 {
    top: -10.6666666667vw;
    width: 26.6666666667vw;
  }
}
#summary .henrei#henrei6 {
  margin-bottom: 0;
}
#summary .henrei#henrei6 .subimg1 {
  z-index: -1;
  position: absolute;
  top: max(5.2083333333vw, 76px);
  left: 0;
  width: max(13.0208333333vw, 190px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei6 .subimg1 {
    top: -6.6666666667vw;
    left: unset;
    right: 8vw;
    width: 20vw;
  }
}
#summary .henrei#henrei6 .subimg2 {
  z-index: -1;
  position: absolute;
  top: max(19.7916666667vw, 288.8px);
  left: max(6.7708333333vw, 98.8px);
  width: max(15.1041666667vw, 220.4px);
}
@media screen and (max-width: 1000px) {
  #summary .henrei#henrei6 .subimg2 {
    top: 85.3333333333vw;
    left: unset;
    right: max(0.5208333333vw, 7.6px);
    width: 23.4666666667vw;
  }
}

#henrei1link,
#henrei2link,
#henrei3link,
#henrei4link,
#henrei5link,
#henrei6link {
  position: absolute;
  top: max(-7.8125vw, -114px);
}
@media screen and (max-width: 1000px) {
  #henrei1link,
  #henrei2link,
  #henrei3link,
  #henrei4link,
  #henrei5link,
  #henrei6link {
    top: -26.6666666667vw;
  }
}

#use {
  background-image: url(../img/use-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  color: rgb(255, 255, 255);
}
#use .use-inner {
  padding: max(9.8958333333vw, 144.4px) 0 max(6.7708333333vw, 98.8px) 0;
}
@media screen and (max-width: 1000px) {
  #use .use-inner {
    padding: 24vw 0 24vw 0;
  }
}
#use h2 {
  position: relative;
  margin-bottom: max(4.1666666667vw, 60.8px);
}
#use h2 span {
  font-size: max(2.6041666667vw, 38px);
  position: relative;
  display: flex;
}
@media screen and (max-width: 1000px) {
  #use h2 span {
    font-size: 5.8666666667vw;
  }
}
#use h2 span.dash {
  margin-left: max(1.0416666667vw, 15.2px);
  width: max(14.0625vw, 205.2px);
  height: 2px;
  display: block;
  background-color: rgb(255, 255, 255);
  top: 1.03em;
}
@media screen and (max-width: 1000px) {
  #use h2 span.dash {
    margin-left: 4vw;
    width: 20vw;
    height: 1px;
  }
}
#use h2 img {
  position: absolute;
  bottom: 0;
  right: max(-4.1666666667vw, -60.8px);
  width: max(11.4583333333vw, 167.2px);
}
#use ul {
  margin-top: max(4.1666666667vw, 60.8px);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
@media screen and (max-width: 1000px) {
  #use ul {
    margin: 0 auto;
    margin-top: 10.6666666667vw;
    width: 85%;
  }
}
#use ul li {
  width: max(19.4270833333vw, 283.48px);
  margin-bottom: max(3.125vw, 45.6px);
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 1000px) {
  #use ul li {
    width: auto;
    margin-bottom: 0;
  }
}
#use ul li img {
  margin-bottom: max(0.8333333333vw, 12.16px);
}
@media screen and (max-width: 1000px) {
  #use ul li img {
    margin-bottom: 5.3333333333vw;
  }
}
#use ul .slick-arrow {
  width: 6.4vw;
  height: 6.1333333333vw;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 40%;
}
#use ul .slick-arrow.prev-arrow {
  background-image: url(../img/chev-left.png);
  left: -8vw;
}
#use ul .slick-arrow.next-arrow {
  background-image: url(../img/chev-right.png);
  right: -8vw;
}
#use ul .slick-slide {
  margin: 0 1.3333333333vw;
}

#about {
  background-color: rgba(252, 249, 239, 0.7);
  padding-top: max(9.8958333333vw, 144.4px);
  padding-bottom: max(10.4166666667vw, 152px);
}
@media screen and (max-width: 1000px) {
  #about {
    padding-top: 24vw;
    padding-bottom: 16vw;
  }
}
#about h2 {
  position: relative;
  margin-bottom: max(4.1666666667vw, 60.8px);
}
#about h2 span {
  font-size: max(2.6041666667vw, 38px);
  position: relative;
  display: flex;
}
@media screen and (max-width: 1000px) {
  #about h2 span {
    font-size: 5.8666666667vw;
  }
}
#about h2 span.dash {
  margin-left: max(1.0416666667vw, 15.2px);
  width: max(14.0625vw, 205.2px);
  height: 2px;
  display: block;
  background-color: rgb(51, 51, 51);
  top: 1.03em;
}
@media screen and (max-width: 1000px) {
  #about h2 span.dash {
    margin-left: 4vw;
    width: 20vw;
    height: 1px;
  }
}
#about h2 img {
  position: absolute;
  bottom: 0;
  right: max(-4.1666666667vw, -60.8px);
  width: max(11.4583333333vw, 167.2px);
}
#about .about-step {
  text-align: center;
  margin-top: max(10.4166666667vw, 152px);
}
@media screen and (max-width: 1000px) {
  #about .about-step {
    margin-top: 37.3333333333vw;
  }
}
#about .about-step h3 span {
  font-size: max(1.9791666667vw, 28.88px);
  position: relative;
  margin-left: max(1.5625vw, 22.8px);
}
@media screen and (max-width: 1000px) {
  #about .about-step h3 span {
    font-size: 4.8vw;
    margin-left: 0;
  }
}
#about .about-step h3 span::before {
  content: "";
  position: absolute;
  display: block;
  background-color: rgb(51, 51, 51);
  width: max(1.0416666667vw, 15.2px);
  height: 80%;
  top: 10%;
  left: -10%;
  -webkit-clip-path: polygon(0 0, 25% 0, 100% 99%, 75% 100%);
          clip-path: polygon(0 0, 25% 0, 100% 99%, 75% 100%);
}
@media screen and (max-width: 1000px) {
  #about .about-step h3 span::before {
    width: 2.6666666667vw;
  }
}
#about .about-step h3 span::after {
  content: "";
  position: absolute;
  display: block;
  background-color: rgb(51, 51, 51);
  width: max(1.0416666667vw, 15.2px);
  height: 80%;
  top: 10%;
  right: -10%;
  -webkit-clip-path: polygon(75% 0, 100% 0, 25% 100%, 0% 100%);
          clip-path: polygon(75% 0, 100% 0, 25% 100%, 0% 100%);
}
@media screen and (max-width: 1000px) {
  #about .about-step h3 span::after {
    width: 2.6666666667vw;
  }
}
#about .about-step h3 img {
  position: absolute;
  width: max(13.0208333333vw, 190px);
  top: max(-7.8125vw, -114px);
  left: max(-18.2291666667vw, -266px);
}
@media screen and (max-width: 1000px) {
  #about .about-step h3 img {
    width: 42.6666666667vw;
    top: -26.6666666667vw;
    left: -13.3333333333vw;
  }
}
#about .about-step ul {
  display: flex;
  justify-content: space-between;
  margin-top: max(4.6875vw, 68.4px);
}
@media screen and (max-width: 1000px) {
  #about .about-step ul {
    margin: 0 auto;
    margin-top: 10.6666666667vw;
    flex-wrap: wrap;
    width: 100%;
  }
}
#about .about-step ul li {
  width: max(19.4270833333vw, 283.48px);
  background-color: rgb(255, 255, 255);
  border-radius: max(1.5625vw, 22.8px);
  padding: max(2.0833333333vw, 30.4px) max(2.6041666667vw, 38px);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  #about .about-step ul li {
    background-color: unset;
    width: 100%;
    padding: 8vw 5.3333333333vw;
    border-radius: 8vw;
  }
}
#about .about-step ul li .step {
  position: absolute;
  top: max(-2.6041666667vw, -38px);
  left: max(-0.5208333333vw, -7.6px);
  width: max(6.25vw, 91.2px);
}
#about .about-step ul li .step img {
  filter: drop-shadow(3px 4px 5px rgba(169, 135, 109, 0.6));
}
@media screen and (max-width: 1000px) {
  #about .about-step ul li .step {
    top: 2.6666666667vw;
    left: 0vw;
    width: 18.6666666667vw;
  }
}
#about .about-step ul li .stepicon {
  width: max(3.6458333333vw, 53.2px);
  margin-bottom: max(0.9375vw, 13.68px);
}
@media screen and (max-width: 1000px) {
  #about .about-step ul li .stepicon {
    position: absolute;
    top: 8vw;
    right: 8vw;
    width: 12vw;
    transform: rotate(25deg);
    margin-bottom: 0;
  }
}
@media screen and (max-width: 1000px) {
  #about .about-step ul li .stepicon.icon2 {
    transform: rotate(75deg);
  }
}
#about .about-step ul li h4 {
  font-size: max(1.25vw, 18.24px);
  margin-bottom: max(0.9375vw, 13.68px);
}
@media screen and (max-width: 1000px) {
  #about .about-step ul li h4 {
    position: absolute;
    top: 8.2666666667vw;
    font-size: 4.8vw;
    letter-spacing: normal;
  }
}
#about .about-step ul li p {
  font-size: max(0.8333333333vw, 12.16px);
  margin-bottom: max(1.875vw, 27.36px);
}
@media screen and (max-width: 1000px) {
  #about .about-step ul li p {
    font-size: 3.7333333333vw;
    margin-bottom: 0;
    background-color: rgb(255, 255, 255);
    margin-top: 5.3333333333vw;
    padding: 8vw 5.3333333333vw 21.3333333333vw 5.3333333333vw;
    border-radius: 8vw;
    box-shadow: 3px 3px 10px 0px rgba(85, 85, 85, 0.25);
  }
}
#about .about-step ul li a {
  width: 100%;
}
#about .about-step ul li .step-link {
  display: flex;
  align-items: center;
  background-color: rgb(175, 151, 95);
  color: rgb(255, 255, 255);
  border-radius: max(0.5208333333vw, 7.6px);
  font-size: max(0.8333333333vw, 12.16px);
  width: 100%;
  height: max(3.6458333333vw, 53.2px);
  box-shadow: 3px 4px 6px rgb(169, 135, 109);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (max-width: 1000px) {
  #about .about-step ul li .step-link {
    width: 70%;
    margin: 0 auto;
    position: relative;
    top: -18.6666666667vw;
  }
}
#about .about-step ul li .step-link .step-link__text {
  line-height: 1.4;
  width: calc(100% - max(2.5vw, 36.48px));
}
#about .about-step ul li .step-link .step-link__link {
  width: max(1.6666666667vw, 24.32px);
  margin-right: max(0.8333333333vw, 12.16px);
}
#about .about-step ul .slick-arrow {
  width: 6.4vw;
  height: 6.1333333333vw;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 40%;
}
#about .about-step ul .slick-arrow.prev-arrow {
  background-image: url(../img/chevb-left.png);
  left: -2.6666666667vw;
}
#about .about-step ul .slick-arrow.next-arrow {
  background-image: url(../img/chevb-right.png);
  right: -2.6666666667vw;
}

#offer {
  background-image: url(../img/offer-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: max(9.375vw, 136.8px) 0 max(9.8958333333vw, 144.4px) 0;
}
@media screen and (max-width: 1000px) {
  #offer {
    padding: 24vw 0;
  }
}
#offer h2 {
  position: relative;
  margin-bottom: max(4.1666666667vw, 60.8px);
  color: rgb(255, 255, 255);
}
#offer h2 span {
  font-size: max(2.6041666667vw, 38px);
  position: relative;
  display: flex;
}
@media screen and (max-width: 1000px) {
  #offer h2 span {
    font-size: 5.8666666667vw;
    line-height: 1.4;
    letter-spacing: normal;
    align-items: flex-end;
  }
}
#offer h2 span.dash {
  margin-left: max(1.0416666667vw, 15.2px);
  width: max(14.0625vw, 205.2px);
  height: 2px;
  display: block;
  background-color: rgb(255, 255, 255);
  top: 1.03em;
}
@media screen and (max-width: 1000px) {
  #offer h2 span.dash {
    margin-left: 4vw;
    width: 20vw;
    height: 1px;
    top: unset;
    bottom: 0.6em;
  }
}
#offer h2 img {
  position: absolute;
  bottom: 0;
  right: max(-4.1666666667vw, -60.8px);
  width: max(11.4583333333vw, 167.2px);
}
#offer p {
  color: rgb(255, 255, 255);
  margin-bottom: max(4.6875vw, 68.4px);
}
@media screen and (max-width: 1000px) {
  #offer p {
    margin-bottom: 10.6666666667vw;
  }
}
#offer .offer-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#offer .offer-link li {
  width: max(11.9270833333vw, 174.04px);
  margin-bottom: max(0.6770833333vw, 9.88px);
}
@media screen and (max-width: 1000px) {
  #offer .offer-link li {
    width: 32%;
    margin-bottom: 1.3333333333vw;
  }
}

.modalwindow {
  width: 100vw;
  height: 100vh;
  background-color: rgb(85, 85, 85);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 120;
  display: none;
}
.modalwindow .modal-outer {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modalwindow .modal-outer .modal-inner {
  width: max(52.0833333333vw, 760px);
  padding: max(1.5625vw, 22.8px) max(3.125vw, 45.6px) max(0vw, 0px) max(3.125vw, 45.6px);
  background-color: rgb(255, 255, 255);
  border-radius: max(1.0416666667vw, 15.2px);
  position: relative;
}
@media screen and (max-width: 1000px) {
  .modalwindow .modal-outer .modal-inner {
    width: 88vw;
    padding: 10.6666666667vw 8vw;
    border-radius: 5.3333333333vw;
  }
}
.modalwindow .modal-outer .modal-inner h2 {
  position: relative;
  margin-bottom: max(2.0833333333vw, 30.4px);
}
@media screen and (max-width: 1000px) {
  .modalwindow .modal-outer .modal-inner h2 {
    margin-bottom: 5.3333333333vw;
  }
}
.modalwindow .modal-outer .modal-inner h2 span {
  font-size: max(2.0833333333vw, 30.4px);
  position: relative;
  display: flex;
}
@media screen and (max-width: 1000px) {
  .modalwindow .modal-outer .modal-inner h2 span {
    font-size: 4.8vw;
    letter-spacing: normal;
  }
}
.modalwindow .modal-outer .modal-inner h2 span.dash {
  margin-left: max(1.0416666667vw, 15.2px);
  width: max(9.375vw, 136.8px);
  height: 2px;
  display: block;
  background-color: rgb(51, 51, 51);
  top: 1.03em;
}
@media screen and (max-width: 1000px) {
  .modalwindow .modal-outer .modal-inner h2 span.dash {
    display: none;
  }
}
.modalwindow .modal-outer .modal-inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.modalwindow .modal-outer .modal-inner ul li {
  width: 31%;
  margin-bottom: max(1.5625vw, 22.8px);
}
@media screen and (max-width: 1000px) {
  .modalwindow .modal-outer .modal-inner ul li {
    width: 48%;
    margin-bottom: 2.6666666667vw;
  }
}
.modalwindow .modal-outer .modal-inner .modal-out {
  position: absolute;
  top: max(-4.6875vw, -68.4px);
  right: max(0.5208333333vw, 7.6px);
  width: max(3.125vw, 45.6px);
  height: max(3.125vw, 45.6px);
  cursor: pointer;
}
@media screen and (max-width: 1000px) {
  .modalwindow .modal-outer .modal-inner .modal-out {
    top: -18.6666666667vw;
    right: 2.6666666667vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}

/* 桜を表示するコンテナのスタイル */
.cherry-blossom-container {
  position: fixed;
  height: 100vh;
  /* コンテナの高さ */
  width: 100vw;
  /* コンテナの横幅 */
  /* コンテナからはみ出した要素を隠す */
  z-index: 100;
  top: 0;
  left: 0;
  pointer-events: none;
}

/* 桜の花びらのスタイル */
.petal {
  position: absolute;
  background-color: #ffc0cb;
  /* 花びらの色 */
  border-radius: 150% 0 150% 0;
  animation: animate-petal 13s linear;
  z-index: 101;
}

.petal::after {
  content: "";
  position: absolute;
  top: -14%;
  left: -10%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #FCC3E0;
  border-radius: 150% 0 150% 0;
  transform: rotate(15deg);
}

/* 花びらが降るアニメーション */
@keyframes animate-petal {
  0% {
    top: 0;
    opacity: 0;
    transform: rotate(0deg);
  }
  10% {
    opacity: 0.4;
  }
  90% {
    opacity: 0.4;
  }
  100% {
    opacity: 0;
    top: 100vh;
    transform: rotate(1800deg);
  }
}
@media screen and (max-width: 1000px) {
  #use ul.slick-dots,
  #about ul.slick-dots {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
  #use ul.slick-dots li,
  #about ul.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
  }
  #use ul.slick-dots li button,
  #about ul.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
    border-radius: unset;
    box-shadow: none;
  }
  #use ul.slick-dots li button::before,
  #about ul.slick-dots li button::before {
    font-size: 5.3333333333vw;
    line-height: 10px;
    position: absolute;
    top: 5px;
    left: 5px;
    width: 10px;
    height: 10px;
    content: "•";
    text-align: center;
    opacity: 0.25;
    color: rgb(51, 51, 51);
    transition-duration: 300ms;
  }
  #use ul.slick-dots li button::after,
  #about ul.slick-dots li button::after {
    display: none;
  }
  #use ul.slick-dots li.slick-active button::before,
  #about ul.slick-dots li.slick-active button::before {
    opacity: 1;
  }
}
@media screen and (max-width: 1000px) {
  #about ul.slick-dots {
    position: relative;
    top: -16vw;
  }
}
footer {
  background-color: rgb(122, 106, 66);
  color: rgb(255, 255, 255);
  padding: max(5.7291666667vw, 83.6px) 0 max(0.7291666667vw, 10.64px) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 1000px) {
  footer {
    padding: 24vw 0 2.6666666667vw 0;
  }
}
footer .footer-title {
  display: flex;
  align-items: center;
  font-size: max(1.1458333333vw, 16.72px);
  line-height: 1;
  margin-bottom: max(2.3958333333vw, 34.96px);
}
@media screen and (max-width: 1000px) {
  footer .footer-title {
    font-size: 4.2666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
footer .footer-title .footer-title__img {
  width: max(2.0833333333vw, 30.4px);
  margin-right: max(0.3125vw, 4.56px);
}
@media screen and (max-width: 1000px) {
  footer .footer-title .footer-title__img {
    width: 8vw;
    margin-right: 1.6vw;
  }
}
footer .footer-address {
  font-size: max(0.9375vw, 13.68px);
  line-height: 1.5;
  margin-bottom: max(0.78125vw, 11.4px);
}
@media screen and (max-width: 1000px) {
  footer .footer-address {
    font-size: 3.7333333333vw;
    margin-bottom: 4vw;
  }
}
footer .footer-tel {
  font-size: max(0.9375vw, 13.68px);
  line-height: 1.5;
  margin-bottom: max(1.8229166667vw, 26.6px);
}
@media screen and (max-width: 1000px) {
  footer .footer-tel {
    font-size: 3.7333333333vw;
    margin-bottom: 8vw;
  }
}
footer .footer-link {
  display: flex;
  align-items: center;
  font-size: max(0.7291666667vw, 10.64px);
  line-height: 1;
  padding: max(0.8333333333vw, 12.16px);
  border-radius: max(0.5208333333vw, 7.6px);
  background-color: rgb(255, 255, 255);
  color: rgb(51, 51, 51);
  margin-bottom: max(5.2083333333vw, 76px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 1000px) {
  footer .footer-link {
    font-size: 3.2vw;
    padding: 4.2666666667vw;
    border-radius: 2.6666666667vw;
  }
}
footer .footer-link .footer-link__link {
  width: max(1.0416666667vw, 15.2px);
  margin-left: max(0.3125vw, 4.56px);
}
@media screen and (max-width: 1000px) {
  footer .footer-link .footer-link__link {
    width: 4.2666666667vw;
    margin-left: 1.6vw;
  }
}
footer .copyright {
  font-size: max(0.625vw, 9.12px);
}
@media screen and (max-width: 1000px) {
  footer .copyright {
    font-size: 3.2vw;
  }
}/*# sourceMappingURL=style.css.map */