@charset "UTF-8";
/*----------------------------------------
  Reset
----------------------------------------*/
*,
::before,
::after {
  box-sizing: border-box;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header, main, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

header, footer, article, section, aside, main, nav, menu, figure, figcaption {
  display: block;
}

span, small, strong, em, b, i {
  color: inherit;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

ul,
ol {
  list-style: none;
}

img {
  border: 0;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

input, select {
  vertical-align: middle;
}

input, textarea {
  margin: 0;
  padding: 0;
}

address {
  font-style: normal;
}

q::before,
q::after {
  display: none;
}

/*----------------------------------------
  Base
----------------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 1.5625vw;
}
@media screen and (min-width: 640px), print {
  html {
    font-size: 62.5%;
  }
}

body {
  font-family: YuGothic, "Yu Gothic", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5909090909;
  color: #333;
  background: #fafafa;
}

a {
  color: #333;
  text-decoration: none;
  transition: all 0.3s;
}
a:hover {
  opacity: 0.7;
}

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

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  font-family: inherit;
  font-weight: inherit;
}

/*----------------------------------------
  Layout
----------------------------------------*/
.wrapper {
  overflow-x: hidden;
  max-width: 64rem;
  margin: 0 auto;
}

/*----------------------------------------
	Component
----------------------------------------*/
.btn-wrap {
  text-align: center;
}

.btn {
  position: relative;
  z-index: 0;
  display: inline-block;
  width: 53.8rem;
}
.btn::before {
  position: absolute;
  z-index: -1;
  top: 2.9rem;
  left: calc(50% - 24.8rem);
  content: "";
  width: 49.6rem;
  height: 10rem;
  border-radius: 5rem;
  background: rgba(58, 98, 23, 0.3);
  filter: blur(0.5rem);
}

.btn-label {
  display: inline-block;
  width: 34.2rem;
  margin-bottom: 0.4rem;
}

/*----------------------------------------
	Main contents
----------------------------------------*/
.main-contents {
  background: #fff;
}

/* KV
------------------------------------------------------ */
.kv {
  padding-bottom: 4.8rem;
  background: #fff3e8;
}

.kv-bg {
  position: relative;
  height: 71.1rem;
  background: url("../img/kv-bg.jpg") center/cover;
}

.kv__badge {
  position: absolute;
  top: 0;
  left: 0.7rem;
  width: 17.3rem;
}

.kv-contents {
  position: relative;
  width: 56rem;
  margin: -21.9rem auto 0;
  border-top-left-radius: 28rem;
  border-top-right-radius: 28rem;
  background: rgba(255, 255, 255, 0.9);
}

.kv__title {
  position: relative;
}
.kv__title::before {
  position: absolute;
  bottom: 0;
  left: calc(50% - 4.2rem);
  content: "";
  width: 8.4rem;
  height: 2rem;
  background: url("../img/parts-sparkles.svg") center/contain no-repeat;
}

.kv__btn {
  margin-top: 6.5rem;
}

/* intro
------------------------------------------------------ */
.intro {
  position: relative;
  padding-bottom: 23.7rem;
  background: #fff3e8;
}
.intro::after {
  position: absolute;
  bottom: 0;
  left: calc(50% - 28.2rem);
  content: "";
  width: 56.4rem;
  height: 21.3rem;
  background: url("../img/intro-bg.svg") center/contain no-repeat;
}

.intro-contents {
  position: relative;
  width: 56rem;
  height: 48.4rem;
  padding: 9.8rem 4rem 4.9rem;
  margin: 4.2rem auto 0;
  background: url("../img/intro-contents-bg.svg") center/contain no-repeat;
}
.intro-contents::before {
  position: absolute;
  top: 4.2rem;
  left: calc(50% - 4.2rem);
  content: "";
  width: 8.4rem;
  height: 2rem;
  background: url("../img/parts-sparkles.svg") center/contain no-repeat;
}

.intro__lead {
  font-size: 3.3rem;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.12em;
  text-align: center;
  line-height: 1.3333333333;
  color: #536da2;
}

.intro__text {
  margin-top: 2.5rem;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  text-align: center;
  line-height: 1.6818181818;
}

/* offer
------------------------------------------------------ */
.offer {
  position: relative;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-bottom: 5rem;
}
.offer::before {
  position: absolute;
  top: -9rem;
  left: 0;
  content: "";
  width: 100%;
  height: 10rem;
  background: url("../img/offer-top.svg") center/contain no-repeat;
}

.offer__lead {
  position: relative;
  transform: translateY(-5.8rem);
  margin-bottom: -5.8rem;
}
.offer__lead::after {
  position: absolute;
  bottom: -1rem;
  left: calc(50% - 4.2rem);
  content: "";
  width: 8.4rem;
  height: 2rem;
  background: url("../img/parts-sparkles.svg") center/contain no-repeat;
}

.offer__list {
  display: flex;
  justify-content: space-between;
  margin-top: 5.7rem;
}

.offer__item {
  width: 18.2rem;
  filter: drop-shadow(0.2rem 0.2rem 0.3rem rgba(136, 136, 136, 0.5));
}

.offer-contents {
  margin-top: 4.3rem;
}
.offer-contents + .offer-contents {
  position: relative;
  padding-top: 4rem;
}
.offer-contents + .offer-contents::before {
  position: absolute;
  top: 0;
  left: -0.2rem;
  content: "";
  width: 56.4rem;
  height: 0.4rem;
  background: url("../img/parts-doted.svg") center/contain no-repeat;
}

.offer__text {
  margin-top: 2rem;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
}

.offer__others {
  margin-top: 6rem;
}

.offer__btn {
  margin-top: 10.1rem;
}

/* overseas
------------------------------------------------------ */
.overseas {
  padding: 5rem 4rem 27.5rem;
}

/* reason
------------------------------------------------------ */
.reason {
  position: relative;
  padding: 0 4rem 9.2rem;
  background: #dde2ec;
}
.reason::before {
  position: absolute;
  top: -20rem;
  left: 0;
  content: "";
  width: 100%;
  height: 20rem;
  background: url("../img/reason-top.svg") center/contain no-repeat;
}

.reason__heading {
  transform: translateY(-20rem);
  margin-left: -4rem;
  margin-right: -4rem;
  margin-bottom: -20rem;
}

.reason-contents {
  position: relative;
  padding: 5.6rem 3rem 4.2rem;
  margin-top: 10.2rem;
  background: #fff;
}
.reason-contents::before {
  position: absolute;
  top: -6rem;
  left: calc(50% - 6rem);
  content: "";
  width: 12rem;
  height: 10rem;
}
.reason-contents:nth-of-type(1)::before {
  background: url("../img/reason-label-01.svg") center/contain no-repeat;
}
.reason-contents:nth-of-type(2)::before {
  background: url("../img/reason-label-02.svg") center/contain no-repeat;
}
.reason-contents:nth-of-type(4)::before {
  background: url("../img/reason-label-03.svg") center/contain no-repeat;
}
.reason-contents + .reason-contents {
  margin-top: 12.6rem;
}

.reason__img {
  margin-top: 3rem;
}

.reason-contents:nth-of-type(2) .reason__img {
  margin-top: 1rem;
}

.reason__text {
  margin-top: 2rem;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
}

.reason__btn {
  margin-top: 11.3rem;
}

/* hall
------------------------------------------------------ */
.hall {
  margin: 4rem -4rem 12.6rem;
}

.hall__slider .slick-slide {
  margin: 0 1rem;
}
.hall__slider .slick-prev,
.hall__slider .slick-next {
  position: absolute;
  z-index: 1;
  top: calc(50% - 2.5rem);
  cursor: pointer;
  outline: none;
  width: 5rem;
  height: 5rem;
  background: url("../img/hall-slider-arrow.svg") center/contain no-repeat;
}
.hall__slider .slick-prev {
  left: 1.5rem;
}
.hall__slider .slick-next {
  right: 1.5rem;
  transform: rotate(180deg);
}

.hall__slide {
  width: 56rem;
  border-radius: 2.6rem;
  background: rgba(255, 255, 255, 0.7);
}
.hall__slide-link {
  display: flex;
  flex-direction: column-reverse;
  padding: 2rem;
}

.hall__title {
  margin-top: 0.8rem;
  font-size: 3.2rem;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  line-height: 1.75;
  text-align: center;
  color: #b98937;
}

.hall__place {
  border-top: 1px solid;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 2.2727272727;
  text-align: center;
  color: #808080;
}

/* service
------------------------------------------------------ */
.service {
  padding: 0 4rem 8.8rem;
}

.service__heading {
  position: relative;
}
.service__heading::after {
  position: absolute;
  bottom: -1rem;
  left: calc(50% - 4.2rem);
  content: "";
  width: 8.4rem;
  height: 2rem;
  background: url("../img/parts-sparkles.svg") center/contain no-repeat;
}

.service__lead {
  position: relative;
  margin-top: 7rem;
  padding-bottom: 1.6rem;
  font-size: 3.3rem;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  line-height: 1.2121212121;
  text-align: center;
  color: #536da2;
}
.service__lead::after {
  position: absolute;
  bottom: 0;
  left: calc(50% - 24rem);
  content: "";
  width: 48rem;
  border-bottom: 1px solid;
}

.service__text {
  margin-top: 2rem;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 1.6818181818;
  text-align: center;
}

.service__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 3.6rem;
}

.service__item {
  width: 27.5rem;
  padding: 0.9rem 0.9rem 0.8rem;
  border-radius: 1.2rem;
  background: #fff;
  border: 1px solid #cbd3e3;
  box-shadow: 0.2rem 0.2rem 0 rgba(83, 109, 162, 0.3);
}

.service__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 8.1rem;
  font-size: 2.3rem;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 1.3913043478;
  text-align: center;
  color: #536da2;
}

.service__item:nth-of-type(6) .service__title {
  line-height: 1.1739130435;
}

.service__img {
  width: 10rem;
  margin: 0 auto;
}

/* consult
------------------------------------------------------ */
.consult-body {
  padding: 10.3rem 4rem 7.7rem;
  background: #fff3e8;
}

.consult-contents {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
}
.consult-contents::before {
  position: absolute;
  top: -6rem;
  content: "";
  width: 36rem;
  height: 10rem;
}
.consult-contents:nth-of-type(odd) {
  align-items: flex-end;
}
.consult-contents:nth-of-type(odd) .consult-box {
  margin-right: -4rem;
}
.consult-contents:nth-of-type(odd)::before {
  left: -4rem;
}
.consult-contents:nth-of-type(even) {
  align-items: flex-start;
}
.consult-contents:nth-of-type(even) .consult-box {
  margin-left: -4rem;
}
.consult-contents:nth-of-type(even)::before {
  right: -4rem;
}
.consult-contents + .consult-contents {
  margin-top: 13.5rem;
}
.consult-contents:nth-of-type(1)::before {
  background: url("../img/consult-label-01.svg") center/contain no-repeat;
}
.consult-contents:nth-of-type(2)::before {
  background: url("../img/consult-label-02.svg") center/contain no-repeat;
}
.consult-contents:nth-of-type(3)::before {
  background: url("../img/consult-label-03.svg") center/contain no-repeat;
}
.consult-contents:nth-of-type(4)::before {
  background: url("../img/consult-label-04.svg") center/contain no-repeat;
}
.consult-contents:nth-of-type(5)::before {
  background: url("../img/consult-label-05.svg") center/contain no-repeat;
}

.consult-box {
  position: relative;
  width: 52rem;
  padding: 3rem 4rem 3.5rem;
  margin-top: -9.3rem;
  background: #fff;
  box-shadow: 0.5rem 0.5rem 0 rgba(185, 137, 55, 0.3);
}

.consult__title {
  font-size: 3.3rem;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 1.4242424242;
  text-align: center;
  color: #536da2;
}

.consult__text {
  margin-top: 1.6rem;
  border-top: 1px solid #b98937;
  padding-top: 2.2rem;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
}

/* CTA
------------------------------------------------------ */
.cta {
  padding: 9.7rem 4rem 4.4rem;
}

.cta__text {
  margin-top: 4.4rem;
  font-size: 2.6rem;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 1.6153846154;
  text-align: center;
}

/* company
------------------------------------------------------ */
.company {
  padding: 4.4rem 4rem;
}

.company__logo {
  width: 28.4rem;
  margin: 0 auto;
}

.company__map {
  margin-top: 3.3rem;
}
.company__map iframe {
  width: 100%;
  aspect-ratio: 600/450;
}

.company__info {
  margin-top: 4rem;
  font-size: 2rem;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}

/*----------------------------------------
	Footer
----------------------------------------*/
.footer {
  padding: 1.8rem 0;
  color: #fff;
  background: #536da2;
}

.footer__copyright {
  font-size: 2rem;
  line-height: 1.6;
  text-align: center;
}

/*----------------------------------------
	Animation
----------------------------------------*/
.js-animate {
  opacity: 0;
}

/* 少し下からフェードインアップ */
.js-animated[data-animation=fadeInUp] {
  animation: fadeInUp 1s ease forwards;
  opacity: 0;
}
@keyframes fadeInUp {
  from {
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* その場でY軸回転 */
.js-animated[data-animation=Flip] {
  animation: Flip 1s ease forwards;
  opacity: 0;
}
@keyframes Flip {
  from {
    transform: rotateY(-100deg);
    opacity: 0;
  }
  to {
    transform: rotateY(0);
    opacity: 1;
  }
}/*# sourceMappingURL=style.css.map */