@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
/* line 5, _reset.scss */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4; }

/* line 5, _reset.scss */
*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit; }

/* line 5, _reset.scss */
:after, :before {
  text-decoration: inherit;
  vertical-align: inherit; }

/* line 5, _reset.scss */
* {
  padding: 0;
  margin: 0; }

/* line 5, _reset.scss */
hr {
  overflow: visible;
  height: 0;
  color: inherit; }

/* line 5, _reset.scss */
details, main {
  display: block; }

/* line 5, _reset.scss */
summary {
  display: list-item; }

/* line 5, _reset.scss */
small {
  font-size: 80%; }

/* line 5, _reset.scss */
[hidden] {
  display: none; }

/* line 5, _reset.scss */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

/* line 5, _reset.scss */
a {
  background-color: transparent; }

/* line 5, _reset.scss */
a:active, a:hover {
  outline-width: 0; }

/* line 5, _reset.scss */
code, kbd, pre, samp {
  font-family: monospace,monospace; }

/* line 5, _reset.scss */
pre {
  font-size: 1em; }

/* line 5, _reset.scss */
b, strong {
  font-weight: bolder; }

/* line 5, _reset.scss */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

/* line 5, _reset.scss */
sub {
  bottom: -.25em; }

/* line 5, _reset.scss */
sup {
  top: -.5em; }

/* line 5, _reset.scss */
table {
  border-color: inherit;
  text-indent: 0; }

/* line 5, _reset.scss */
input {
  border-radius: 0; }

/* line 5, _reset.scss */
[disabled] {
  cursor: default; }

/* line 5, _reset.scss */
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

/* line 5, _reset.scss */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

/* line 5, _reset.scss */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

/* line 5, _reset.scss */
textarea {
  overflow: auto;
  resize: vertical; }

/* line 5, _reset.scss */
button, input, optgroup, select, textarea {
  font: inherit; }

/* line 5, _reset.scss */
optgroup {
  font-weight: 700; }

/* line 5, _reset.scss */
button {
  overflow: visible; }

/* line 5, _reset.scss */
button, select {
  text-transform: none; }

/* line 5, _reset.scss */
[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit; }

/* line 5, _reset.scss */
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/* line 5, _reset.scss */
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

/* line 5, _reset.scss */
[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button; }

/* line 5, _reset.scss */
button, input, select, textarea {
  background-color: transparent;
  border-style: none; }

/* line 5, _reset.scss */
a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0; }

/* line 5, _reset.scss */
select {
  -moz-appearance: none;
  -webkit-appearance: none; }

/* line 5, _reset.scss */
select::-ms-expand {
  display: none; }

/* line 5, _reset.scss */
select::-ms-value {
  color: currentColor; }

/* line 5, _reset.scss */
legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%; }

/* line 5, _reset.scss */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit; }

/* line 5, _reset.scss */
img {
  border-style: none; }

/* line 5, _reset.scss */
progress {
  vertical-align: baseline; }

/* line 5, _reset.scss */
[aria-busy=true] {
  cursor: progress; }

/* line 5, _reset.scss */
[aria-controls] {
  cursor: pointer; }

/* line 5, _reset.scss */
[aria-disabled=true] {
  cursor: default; }

/* line 28, _common.scss */
.hp_mbss {
  margin-bottom: 4rem; }

/* line 32, _common.scss */
.hp_mbs {
  margin-bottom: 6rem; }

/* line 35, _common.scss */
.hp_mbm {
  margin-bottom: 12rem; }

/* line 38, _common.scss */
.hp_mbl {
  margin-bottom: 30rem; }

/* line 42, _common.scss */
.hp_sp-left {
  text-align: left; }
  @media screen and (min-width: 768px) {
    /* line 42, _common.scss */
    .hp_sp-left {
      text-align: center; } }

/* line 54, _common.scss */
.en {
  font-family: "EB Garamond", serif;
  font-weight: 400; }

/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
/* line 62, _common.scss */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* line 67, _common.scss */
* {
  margin: 0; }

@media (prefers-reduced-motion: no-preference) {
  /* line 71, _common.scss */
  html {
    interpolate-size: allow-keywords; } }
/* line 75, _common.scss */
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; }

/* line 79, _common.scss */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%; }

/* line 87, _common.scss */
input,
button,
textarea,
select {
  font: inherit; }

/* line 93, _common.scss */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word; }

/* line 102, _common.scss */
p {
  text-wrap: pretty; }

/* line 105, _common.scss */
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance; }

/* line 113, _common.scss */
#root,
#__next {
  isolation: isolate; }

/* line 117, _common.scss */
select {
  color: #000; }

/* line 121, _common.scss */
* {
  box-sizing: border-box; }

/* line 124, _common.scss */
html {
  font-size: 1.5vw; }
  @media screen and (min-width: 768px) {
    /* line 124, _common.scss */
    html {
      font-size: 1vw; } }
  @media screen and (min-width: 1280px) {
    /* line 124, _common.scss */
    html {
      font-size: 12px; } }

/* line 133, _common.scss */
body {
  background: #fff;
  line-height: 2;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  color: #333333;
  -webkit-text-size-adjust: 100%; }
  @media screen and (min-width: 768px) {
    /* line 133, _common.scss */
    body {
      font-size: 1.35rem; } }
  @media screen and (min-width: 1280px) {
    /* line 133, _common.scss */
    body {
      font-size: 20px; } }

/* line 147, _common.scss */
img {
  width: 100%;
  max-width: 100%;
  height: auto; }

/* line 152, _common.scss */
a {
  color: #333333;
  text-decoration: none;
  transition: 0.3s; }
  /* line 156, _common.scss */
  a:hover {
    transition: 0.3s;
    text-decoration: none; }
  /* line 160, _common.scss */
  a img {
    transition: 0.3s; }
    /* line 162, _common.scss */
    a img:hover {
      opacity: 0.7;
      transition: 0.3s; }

/* line 168, _common.scss */
li {
  list-style: none; }

/* line 171, _common.scss */
p {
  max-width: 90vw;
  margin: 0 auto; }

/* line 176, _common.scss */
.mod_flb_sb {
  display: flex;
  justify-content: space-between; }

/* line 180, _common.scss */
.mod_flb_sb {
  display: flex;
  justify-content: center; }

/* line 184, _common.scss */
.mod_flb_sb {
  display: flex;
  justify-content: flex-start; }

/* line 188, _common.scss */
.mod_flb_sb {
  display: flex;
  justify-content: flex-end; }

/* line 193, _common.scss */
.sp {
  display: block; }
  @media screen and (min-width: 768px) {
    /* line 193, _common.scss */
    .sp {
      display: none; } }

/* line 199, _common.scss */
.pc {
  display: none; }
  @media screen and (min-width: 768px) {
    /* line 199, _common.scss */
    .pc {
      display: block; } }

/* line 207, _common.scss */
main {
  max-width: 100vw;
  overflow: hidden; }

/* line 211, _common.scss */
.inner {
  width: 90vw;
  margin: auto; }
  @media screen and (min-width: 768px) {
    /* line 211, _common.scss */
    .inner {
      width: 91vw; } }

/* line 221, _common.scss */
.el_lv1title_en {
  text-align: center;
  font-family: "EB Garamond", serif;
  font-size: 6rem;
  font-weight: 400;
  padding: 12rem 0; }
  /* line 228, _common.scss */
  .el_lv1title_en.el_lv1title_en__no_mb {
    padding-bottom: 0; }
  /* line 232, _common.scss */
  .el_lv1title_en.el_lv1title_en__snall_mb {
    padding-bottom: 4rem; }

/* line 237, _common.scss */
.el_lv2-heading {
  font-family: "EB Garamond", serif;
  font-size: 6rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.75; }
  @media screen and (min-width: 768px) {
    /* line 237, _common.scss */
    .el_lv2-heading {
      font-size: 4rem; } }
  /* line 246, _common.scss */
  .el_lv2-heading span {
    font-family: "Noto Serif JP", serif;
    display: block;
    font-size: 2.25rem;
    letter-spacing: 0.2em; }
    @media screen and (min-width: 768px) {
      /* line 246, _common.scss */
      .el_lv2-heading span {
        font-size: 1.5rem; } }

/* line 259, _common.scss */
.ly_btn {
  padding: 8rem; }

/* line 262, _common.scss */
.el_btn {
  display: block;
  text-align: center;
  text-decoration: none;
  width: 45rem;
  margin: auto;
  padding: 1.2rem 6rem;
  background: linear-gradient(to right, #88b0d6 0%, #37617b 100%);
  border-radius: 100vh;
  color: #fff;
  font-size: 2.5rem;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease; }
  @media screen and (min-width: 768px) {
    /* line 262, _common.scss */
    .el_btn {
      width: 30rem;
      font-size: 2rem; } }
  /* line 279, _common.scss */
  .el_btn:hover {
    opacity: 0.75; }
  /* line 282, _common.scss */
  .el_btn.el_btn__small-more {
    display: inline-block;
    margin: auto;
    padding: 0.2rem 4rem;
    font-size: 2rem;
    width: auto;
    letter-spacing: 0.2em;
    font-family: "EB Garamond", serif; }
    @media screen and (min-width: 768px) {
      /* line 282, _common.scss */
      .el_btn.el_btn__small-more {
        font-size: 1.2rem; } }
  /* line 294, _common.scss */
  .el_btn.el_btn_off {
    background: #cccccc;
    margin-top: 2rem; }

/* line 301, _common.scss */
.swiper {
  width: 100%; }
  /* line 303, _common.scss */
  .swiper .swiper-slide-inner {
    padding: 0 4rem;
    text-align: center; }
    /* line 306, _common.scss */
    .swiper .swiper-slide-inner h3.item-title {
      font-weight: 300;
      letter-spacing: 0.1em;
      font-size: 2rem;
      margin-bottom: 0.5rem;
      list-style: 1.5; }
      @media screen and (min-width: 768px) {
        /* line 306, _common.scss */
        .swiper .swiper-slide-inner h3.item-title {
          font-size: 1.5rem; } }
    /* line 316, _common.scss */
    .swiper .swiper-slide-inner img {
      width: 90%;
      margin: 0 auto; }
      @media screen and (min-width: 768px) {
        /* line 316, _common.scss */
        .swiper .swiper-slide-inner img {
          width: 75%; } }

/* line 327, _common.scss */
.js_load-fadein {
  opacity: 0;
  transition: opacity 1s ease-in-out; }
  /* line 330, _common.scss */
  .js_load-fadein.is-visible {
    opacity: 1; }

/* 1文字ずつフェードイン*/
/* キーフレームアニメーションの定義 (時間差表示)*/
@keyframes fadeInSlideUpStep {
  from {
    opacity: 0;
    transform: translateY(20px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeInSlideUpReset {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 0;
    transform: translateY(20px); } }
/* line 361, _common.scss */
.is_hook span {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(20px);
  animation: fadeInSlideUpStep 0.5s ease-out forwards;
  /* アニメーション適用 */ }

/* line 370, _common.scss */
.is_animation span:nth-child(1) {
  animation-delay: 0s; }
/* line 373, _common.scss */
.is_animation span:nth-child(2) {
  animation-delay: 0.1s; }
/* line 376, _common.scss */
.is_animation span:nth-child(3) {
  animation-delay: 0.2s; }
/* line 379, _common.scss */
.is_animation span:nth-child(4) {
  animation-delay: 0.3s; }
/* line 382, _common.scss */
.is_animation span:nth-child(5) {
  animation-delay: 0.4s; }
/* line 385, _common.scss */
.is_animation span:nth-child(6) {
  animation-delay: 0.5s; }
/* line 388, _common.scss */
.is_animation span:nth-child(7) {
  animation-delay: 0.6s; }
/* line 391, _common.scss */
.is_animation span:nth-child(8) {
  animation-delay: 0.7s; }
/* line 394, _common.scss */
.is_animation span:nth-child(9) {
  animation-delay: 0.8s; }
/* line 397, _common.scss */
.is_animation span:nth-child(10) {
  animation-delay: 0.9s; }
/* line 400, _common.scss */
.is_animation span:nth-child(11) {
  animation-delay: 1s; }
/* line 403, _common.scss */
.is_animation span:nth-child(12) {
  animation-delay: 1.1s; }
/* line 406, _common.scss */
.is_animation span:nth-child(13) {
  animation-delay: 1.2s; }
/* line 409, _common.scss */
.is_animation span:nth-child(14) {
  animation-delay: 1.3s; }
/* line 412, _common.scss */
.is_animation span:nth-child(15) {
  animation-delay: 1.4s; }
/* line 415, _common.scss */
.is_animation span:nth-child(16) {
  animation-delay: 1.5s; }
/* line 418, _common.scss */
.is_animation span:nth-child(17) {
  animation-delay: 1.6s; }
/* line 421, _common.scss */
.is_animation span:nth-child(18) {
  animation-delay: 1.7s; }
/* line 424, _common.scss */
.is_animation span:nth-child(19) {
  animation-delay: 1.8s; }
/* line 427, _common.scss */
.is_animation span:nth-child(20) {
  animation-delay: 1.9s; }
/* line 430, _common.scss */
.is_animation span:nth-child(21) {
  animation-delay: 2s; }
/* line 433, _common.scss */
.is_animation span:nth-child(22) {
  animation-delay: 2.1s; }
/* line 436, _common.scss */
.is_animation span:nth-child(23) {
  animation-delay: 2.2s; }
/* line 439, _common.scss */
.is_animation span:nth-child(24) {
  animation-delay: 2.3s; }
/* line 442, _common.scss */
.is_animation span:nth-child(25) {
  animation-delay: 2.4s; }
/* line 445, _common.scss */
.is_animation span:nth-child(26) {
  animation-delay: 2.5s; }
/* line 448, _common.scss */
.is_animation span:nth-child(27) {
  animation-delay: 2.6s; }
/* line 451, _common.scss */
.is_animation span:nth-child(28) {
  animation-delay: 2.7s; }
/* line 454, _common.scss */
.is_animation span:nth-child(29) {
  animation-delay: 2.8s; }
/* line 457, _common.scss */
.is_animation span:nth-child(30) {
  animation-delay: 2.9s; }
/* line 460, _common.scss */
.is_animation span:nth-child(31) {
  animation-delay: 3s; }

/* line 467, _common.scss */
.is_target span {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(0);
  animation: fadeInSlideUpReset 0.5s ease-out forwards;
  /* アニメーション適用 */ }

/* line 474, _common.scss */
.is_hook_fade {
  opacity: 0;
  transition: 1s ease; }
  /* line 477, _common.scss */
  .is_hook_fade.is_fadeout {
    opacity: 0;
    transform: translateY(-10rem); }
  /* line 481, _common.scss */
  .is_hook_fade.is_fadein {
    opacity: 1;
    transform: translateY(0); }

/* line 489, _common.scss */
.is_hook_fade.fade_left.is_fadeout {
  transform: translatex(-10rem); }
/* line 492, _common.scss */
.is_hook_fade.fade_left.is_fadein {
  transform: translatex(0); }

/* line 500, _common.scss */
.is_hook_fade.fade_right.is_fadeout {
  transform: translatex(10rem); }
/* line 503, _common.scss */
.is_hook_fade.fade_right.is_fadein {
  transform: translatex(0); }

/* line 511, _common.scss */
.is_hook_fade.fade_y.is_fadeout {
  transform: translatey(-10rem); }
/* line 514, _common.scss */
.is_hook_fade.fade_y.is_fadein {
  transform: translatey(0); }

/* ハンバーガーメニュー */
/* ハンバーガーアイコン */
/* line 4, _base.scss */
.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 30px;
  height: 20px;
  cursor: pointer;
  z-index: 1001; }
  /* line 12, _base.scss */
  .hamburger span {
    display: block;
    height: 3px;
    background: #333;
    margin: 5px 0;
    transition: 0.3s ease; }

/* line 24, _base.scss */
#top.about .hamburger span {
  background: white; }

/* オーバーレイメニュー */
/* line 32, _base.scss */
.nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: 0.5s ease;
  z-index: 1000; }
  @media screen and (min-width: 768px) {
    /* line 32, _base.scss */
    .nav {
      right: -400px;
      max-width: 400px;
      padding-bottom: 10vh; } }
  /* line 51, _base.scss */
  .nav.active {
    right: 0;
    box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2); }
  /* line 55, _base.scss */
  .nav a {
    text-decoration: none;
    font-size: 3.5rem;
    margin: 20px 0;
    transition: color 0.3s; }
    @media screen and (min-width: 768px) {
      /* line 55, _base.scss */
      .nav a {
        font-size: 2rem; } }
    /* line 63, _base.scss */
    .nav a:hover {
      color: #39627c;
      opacity: 0.7; }
  /* line 68, _base.scss */
  .nav .logo {
    max-width: 30rem;
    padding-top: 8vh; }
    @media screen and (min-width: 768px) {
      /* line 68, _base.scss */
      .nav .logo {
        max-width: 15rem; } }

/* ハンバーガーアニメーション */
/* line 78, _base.scss */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px); }

/* line 82, _base.scss */
.hamburger.active span:nth-child(2) {
  opacity: 0; }

/* line 86, _base.scss */
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px); }

/* line 91, _base.scss */
footer {
  padding: 8rem 0 4rem 0;
  text-align: center;
  background: white; }

/* line 96, _base.scss */
.bl_footer_nav {
  font-size: 3rem; }
  @media screen and (min-width: 768px) {
    /* line 96, _base.scss */
    .bl_footer_nav {
      display: flex;
      text-align: center;
      justify-content: center;
      font-size: 1.75rem; } }
  /* line 104, _base.scss */
  .bl_footer_nav li {
    padding: 2rem 4rem; }

/* line 109, _base.scss */
.el_footer-logo {
  width: 25rem;
  text-align: center;
  padding: 6rem 0;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    /* line 109, _base.scss */
    .el_footer-logo {
      width: 15rem; } }

/* line 119, _base.scss */
.el_copy {
  text-align: center;
  font-size: 1.5rem; }
  @media screen and (min-width: 768px) {
    /* line 119, _base.scss */
    .el_copy {
      font-size: 1rem; } }

/* line 128, _base.scss */
.el_phraseset {
  color: white;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-size: 8rem;
  margin-bottom: 6rem;
  line-height: 1.5; }
  /* line 137, _base.scss */
  .el_phraseset .jp {
    display: block;
    font-size: 2.25rem;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 768px) {
      /* line 137, _base.scss */
      .el_phraseset .jp {
        font-size: 2rem; } }

/* line 148, _base.scss */
.el_phraseset_en {
  color: white;
  text-align: center;
  font-family: "EB Garamond", serif;
  font-size: 3rem;
  letter-spacing: 0.05em; }
  /* line 154, _base.scss */
  .el_phraseset_en.poji {
    color: #333333; }
  /* line 157, _base.scss */
  .el_phraseset_en p {
    margin-bottom: 1rem; }
  /* line 160, _base.scss */
  .el_phraseset_en .txt {
    font-size: 2rem; }
    @media screen and (min-width: 768px) {
      /* line 160, _base.scss */
      .el_phraseset_en .txt {
        font-size: 1.5rem; } }
  /* line 166, _base.scss */
  .el_phraseset_en .txt_m {
    font-size: 2.25rem; }
    @media screen and (min-width: 768px) {
      /* line 166, _base.scss */
      .el_phraseset_en .txt_m {
        font-size: 1.75rem; } }
  /* line 172, _base.scss */
  .el_phraseset_en .jp {
    font-family: "Noto Serif JP", serif; }

/* line 178, _base.scss */
.el_phraseset_jp {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 6rem; }
  @media screen and (min-width: 768px) {
    /* line 178, _base.scss */
    .el_phraseset_jp {
      font-size: 1.75rem; } }
  /* line 187, _base.scss */
  .el_phraseset_jp.el_phraseset_jp__smb {
    margin-bottom: 3rem; }
  /* line 190, _base.scss */
  .el_phraseset_jp h2 {
    font-weight: 500;
    font-size: 3rem;
    margin-bottom: 1.5rem; }
    @media screen and (min-width: 768px) {
      /* line 190, _base.scss */
      .el_phraseset_jp h2 {
        font-size: 2.75rem; } }
  /* line 198, _base.scss */
  .el_phraseset_jp .txt {
    font-size: 2.25rem;
    padding-top: 0.5rem; }
    @media screen and (min-width: 768px) {
      /* line 198, _base.scss */
      .el_phraseset_jp .txt {
        font-size: 1.5rem; } }

/* line 208, _base.scss */
.ly_section {
  padding: 12rem 0; }
  /* line 210, _base.scss */
  .ly_section.ly_section_spt {
    padding: 0 0 12rem 0; }

/* line 216, _base.scss */
#top .ly_section.first {
  padding-top: 0; }

/* line 223, _base.scss */
#top .ly_mainimage {
  padding: 10rem 0 80rem 0;
  background: url(../images/main_bg.webp) no-repeat center bottom #ffffff;
  background-size: cover; }
  @media screen and (min-width: 768px) {
    /* line 223, _base.scss */
    #top .ly_mainimage {
      background: url(../images/main_bg_pc.webp) center bottom no-repeat #ffffff;
      background-size: cover; } }
  /* line 232, _base.scss */
  #top .ly_mainimage .el_main-logo {
    max-width: 16rem;
    margin: 0 auto;
    padding: 0 0 7rem 0;
    font-size: 2rem; }

/* line 241, _base.scss */
.water01 {
  margin-top: -6rem;
  margin-bottom: 6rem; }

/* line 246, _base.scss */
.water02 {
  margin-top: 0;
  margin-bottom: -8rem; }
  @media screen and (min-width: 768px) {
    /* line 246, _base.scss */
    .water02 {
      margin-top: -2rem;
      margin-bottom: -16rem; } }

/* line 255, _base.scss */
#message {
  position: relative;
  padding: 28rem 0; }

/* line 259, _base.scss */
.bl_box {
  background: #dee9f3;
  padding: 4rem;
  width: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    /* line 259, _base.scss */
    .bl_box {
      width: 80rem; } }
  /* line 267, _base.scss */
  .bl_box .bl_box_tit {
    font-weight: 500;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 4rem; }
    /* line 274, _base.scss */
    .bl_box .bl_box_tit span {
      display: block;
      font-family: "EB Garamond", serif; }
  @media screen and (min-width: 768px) {
    /* line 279, _base.scss */
    .bl_box .bl_box_txt-box {
      display: flex;
      justify-content: space-between; } }
  /* line 285, _base.scss */
  .bl_box .bl_box_txt-box .txt p {
    margin-bottom: 1.5rem;
    font-size: 2rem; }
    @media screen and (min-width: 768px) {
      /* line 285, _base.scss */
      .bl_box .bl_box_txt-box .txt p {
        font-size: 1.5rem; } }
  @media screen and (min-width: 768px) {
    /* line 284, _base.scss */
    .bl_box .bl_box_txt-box .txt {
      width: 50%; } }
  @media screen and (min-width: 768px) {
    /* line 296, _base.scss */
    .bl_box .bl_box_txt-box .photo {
      width: 45%; } }

/* line 304, _base.scss */
.el_message_image01 {
  position: absolute;
  left: 0;
  top: -6rem;
  background: #ccc;
  width: 75%;
  aspect-ratio: 75 / 43;
  background: url("../images/message-image-top.webp") center no-repeat;
  background-size: contain;
  z-index: 2; }

/* line 316, _base.scss */
.el_message_image02 {
  position: absolute;
  right: 0;
  bottom: -4rem;
  background: #ccc;
  width: 75%;
  aspect-ratio: 75 / 43;
  background: url("../images/message-iamge-bottom.webp") center no-repeat;
  background-size: contain;
  z-index: 2; }

/* line 328, _base.scss */
.bl_news {
  display: flex;
  padding: 2rem 0;
  font-size: 2rem; }
  @media screen and (min-width: 768px) {
    /* line 328, _base.scss */
    .bl_news {
      font-size: 1.5rem; } }
  /* line 335, _base.scss */
  .bl_news .date {
    width: 12rem; }
  /* line 338, _base.scss */
  .bl_news .txt {
    width: calc(100% - 13rem); }

/* line 343, _base.scss */
#contact.ly_section {
  background-color: #f4f4f4;
  padding: 0 1rem 8rem 1rem; }

/* line 350, _base.scss */
#about_bg div {
  width: 100vw;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  transition: 1s ease; }
  /* line 359, _base.scss */
  #about_bg div.bg01 {
    background: url(../images/about/image01.webp) center no-repeat;
    background-size: cover; }
  /* line 363, _base.scss */
  #about_bg div.bg02 {
    background: url(../images/about/image02.webp) center no-repeat;
    background-size: cover;
    opacity: 0; }
  /* line 368, _base.scss */
  #about_bg div.bg03 {
    background: url(../images/about/image03.webp) center no-repeat;
    background-size: cover;
    opacity: 0; }
  /* line 373, _base.scss */
  #about_bg div.bg04 {
    background: url(../images/about/image04.webp) center no-repeat;
    background-size: cover;
    opacity: 0; }

/* line 384, _base.scss */
#about.mission #about_bg .bg01 {
  opacity: 0; }
/* line 387, _base.scss */
#about.mission #about_bg .bg02 {
  opacity: 1; }
/* line 396, _base.scss */
#about.value #about_bg .bg01, #about.slogan #about_bg .bg01, #about.message-detail #about_bg .bg01 {
  opacity: 0; }
/* line 399, _base.scss */
#about.value #about_bg .bg02, #about.slogan #about_bg .bg02, #about.message-detail #about_bg .bg02 {
  opacity: 0; }
/* line 402, _base.scss */
#about.value #about_bg .bg03, #about.slogan #about_bg .bg03, #about.message-detail #about_bg .bg03 {
  opacity: 1; }
/* line 409, _base.scss */
#about.company #about_bg .bg01 {
  opacity: 0; }
/* line 412, _base.scss */
#about.company #about_bg .bg02 {
  opacity: 0; }
/* line 415, _base.scss */
#about.company #about_bg .bg03 {
  opacity: 0; }
/* line 418, _base.scss */
#about.company #about_bg .bg04 {
  opacity: 1; }

/* line 425, _base.scss */
#vision,
#value,
#message-detail {
  background: rgba(255, 255, 255, 0.75); }

/* line 431, _base.scss */
.bl_value-list {
  max-width: 90rem;
  margin: 0 auto 4rem auto; }
  /* line 434, _base.scss */
  .bl_value-list .bl_value-box {
    position: relative;
    background-color: #dee9f3;
    padding: 2rem 5rem 1rem 5rem;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      /* line 434, _base.scss */
      .bl_value-list .bl_value-box {
        padding: 2rem 2rem 1rem 2rem;
        padding-right: 30rem; } }
    /* line 443, _base.scss */
    .bl_value-list .bl_value-box figure {
      height: 30rem;
      margin-top: 2rem; }
      @media screen and (min-width: 768px) {
        /* line 443, _base.scss */
        .bl_value-list .bl_value-box figure {
          position: absolute;
          top: 0;
          right: 0;
          width: 27rem;
          height: calc(100% + 3rem);
          z-index: 2;
          margin-top: 0; } }
      /* line 455, _base.scss */
      .bl_value-list .bl_value-box figure img {
        width: 100%;
        /* コンテナの幅に合わせる */
        height: 100%;
        /* コンテナの高さに合わせる */
        object-fit: cover;
        /* 画像をコンテナ内に埋め込み、アスペクト比を維持しトリミングする */ }
  /* line 463, _base.scss */
  .bl_value-list .num {
    background: #39627c;
    color: white;
    padding: 0 2rem;
    margin-left: -5rem;
    width: 17rem;
    margin-bottom: 1rem;
    font-size: 3rem; }
    @media screen and (min-width: 768px) {
      /* line 463, _base.scss */
      .bl_value-list .num {
        width: 10rem;
        margin-left: -2rem;
        font-size: 1.5rem; } }

/* line 480, _base.scss */
.bl_value-list h3,
.bl_message h3 {
  font-weight: 500;
  font-size: 3rem;
  text-align: center; }
  @media screen and (min-width: 768px) {
    /* line 480, _base.scss */
    .bl_value-list h3,
    .bl_message h3 {
      font-size: 2.25rem;
      text-align: left; } }
  /* line 489, _base.scss */
  .bl_value-list h3 span,
  .bl_message h3 span {
    display: block;
    font-family: "EB Garamond", serif; }
/* line 494, _base.scss */
.bl_value-list .jp,
.bl_message .jp {
  font-size: 2rem; }
  @media screen and (min-width: 768px) {
    /* line 494, _base.scss */
    .bl_value-list .jp,
    .bl_message .jp {
      font-size: 1.25rem;
      padding-top: 0.5rem; } }
/* line 501, _base.scss */
.bl_value-list .en,
.bl_message .en {
  font-size: 2rem; }
  @media screen and (min-width: 768px) {
    /* line 501, _base.scss */
    .bl_value-list .en,
    .bl_message .en {
      font-size: 1.25rem;
      font-family: "EB Garamond", serif; } }

@media screen and (min-width: 768px) {
  /* line 510, _base.scss */
  .bl_message {
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    font-size: 1.5rem; }
    /* line 517, _base.scss */
    .bl_message h3 {
      font-size: 2.4rem; } }

/* line 523, _base.scss */
.el_photo {
  width: 50%;
  margin: 0 auto;
  padding-bottom: 2rem; }
  @media screen and (min-width: 768px) {
    /* line 523, _base.scss */
    .el_photo {
      width: 60%;
      padding-bottom: 0; } }

/* line 533, _base.scss */
.bl_companyInfo {
  max-width: 60rem;
  margin: 0 auto 5rem auto; }
  /* line 537, _base.scss */
  .bl_companyInfo .bl_companyInfo_line {
    align-items: center;
    border-bottom: solid 1px #39627c;
    padding: 1rem 0;
    display: flex; }
  /* line 543, _base.scss */
  .bl_companyInfo .bl_companyInfo_line dt {
    width: 20rem;
    font-size: 2rem; }
    @media screen and (min-width: 768px) {
      /* line 543, _base.scss */
      .bl_companyInfo .bl_companyInfo_line dt {
        font-size: 1.5rem; } }
  /* line 550, _base.scss */
  .bl_companyInfo .bl_companyInfo_line dd {
    font-size: 2rem;
    width: calc(100% - 22rem); }
    @media screen and (min-width: 768px) {
      /* line 550, _base.scss */
      .bl_companyInfo .bl_companyInfo_line dd {
        width: calc(100% - 30rem);
        font-size: 1.5rem; } }
    /* line 557, _base.scss */
    .bl_companyInfo .bl_companyInfo_line dd a {
      text-decoration: underline; }
  /* line 561, _base.scss */
  .bl_companyInfo .en {
    font-family: "EB Garamond", serif;
    display: block; }

/* line 570, _base.scss */
#products_bg div {
  width: 100vw;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  transition: 1s ease;
  background: url(../images/product/image01.webp) center no-repeat;
  background-size: cover; }

/* line 583, _base.scss */
.bl_item {
  background: rgba(255, 255, 255, 0.9);
  position: relative;
  margin: 0 auto 6rem auto;
  padding: 2rem;
  text-align: center; }
  @media screen and (min-width: 768px) {
    /* line 583, _base.scss */
    .bl_item {
      max-width: 80rem;
      display: flex;
      justify-content: space-between;
      align-items: center; } }
  /* line 595, _base.scss */
  .bl_item .photo {
    width: 55%;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      /* line 595, _base.scss */
      .bl_item .photo {
        width: 32%; } }
  /* line 602, _base.scss */
  .bl_item .txt {
    width: 100%;
    font-size: 2rem;
    margin-bottom: 2rem; }
    @media screen and (min-width: 768px) {
      /* line 602, _base.scss */
      .bl_item .txt {
        width: 68%;
        font-size: 1.25rem;
        padding-right: 6rem; } }
    /* line 612, _base.scss */
    .bl_item .txt .bl_item_name {
      font-size: 3rem;
      font-weight: 500;
      padding-bottom: 0.5rem;
      margin-bottom: 1rem;
      letter-spacing: 0.05em; }
      @media screen and (min-width: 768px) {
        /* line 612, _base.scss */
        .bl_item .txt .bl_item_name {
          font-size: 2rem; } }
  /* line 625, _base.scss */
  .bl_item::before {
    position: absolute;
    content: "";
    width: 2rem;
    height: 2rem;
    border-radius: 2rem;
    top: -1rem;
    left: calc(50% - 1rem);
    background: #9bafbd; }

/* line 637, _base.scss */
.deco_verticalLine {
  display: block;
  margin: -14rem auto 0 auto;
  width: 1px;
  height: 20rem;
  min-height: 0.25rem;
  background: #9bafbd; }

/* line 646, _base.scss */
.ly_contact-info {
  position: relative;
  background: #dee9f3;
  padding: 8rem 0;
  text-align: center; }
  /* line 651, _base.scss */
  .ly_contact-info::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    margin: -18rem auto 0 auto;
    width: 1px;
    height: 24rem;
    min-height: 0.25rem;
    background: #9bafbd; }

/* line 667, _base.scss */
.bl_form-box {
  margin-bottom: 4rem;
  font-size: 2rem;
  max-width: 90vw;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    /* line 667, _base.scss */
    .bl_form-box {
      max-width: 62rem;
      font-size: 1.5rem;
      margin: 0 auto; } }
  /* line 677, _base.scss */
  .bl_form-box dl {
    padding-bottom: 2rem; }
  /* line 680, _base.scss */
  .bl_form-box dl dt {
    padding-top: 2rem;
    font-weight: 500; }
  /* line 684, _base.scss */
  .bl_form-box dl dt span {
    font-weight: 500;
    color: #ef0202; }
  /* line 689, _base.scss */
  .bl_form-box input,
  .bl_form-box textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  /* line 695, _base.scss */
  .bl_form-box input[type="text"] {
    border: #39627c 0.25rem solid;
    background: #fff;
    box-sizing: border-box;
    width: 100%;
    line-height: 3;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem; }
    @media screen and (min-width: 768px) {
      /* line 695, _base.scss */
      .bl_form-box input[type="text"] {
        border: #39627c 0.15rem solid;
        line-height: 2; } }
  /* line 708, _base.scss */
  .bl_form-box input[type="text"]:focus {
    outline: none; }
  /* line 711, _base.scss */
  .bl_form-box textarea {
    border: #39627c 0.25rem solid;
    background: #fff;
    box-sizing: border-box;
    padding: 1rem;
    width: 100%;
    height: 20rem;
    border-radius: 0.25rem; }
    @media screen and (min-width: 768px) {
      /* line 711, _base.scss */
      .bl_form-box textarea {
        border: #39627c 0.15rem solid; } }

/* line 725, _base.scss */
.selectbox {
  display: inline-flex;
  align-items: center;
  position: relative; }
  /* line 729, _base.scss */
  .selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #39627c;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    pointer-events: none; }
  /* line 739, _base.scss */
  .selectbox select {
    appearance: none;
    min-width: 20rem;
    height: 2.8;
    padding: 0.4em calc(0.8em + 30px) 0.4em 0.8em;
    border: #39627c 0.25rem solid;
    border-radius: 0.25rem;
    background-color: #fff;
    font-size: 1em;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      /* line 739, _base.scss */
      .selectbox select {
        border: #39627c 0.15rem solid; } }

/* line 755, _base.scss */
strong {
  background: linear-gradient(transparent 50%, #dee9f3 50%); }

/* line 759, _base.scss */
.formTable {
  width: 90vw;
  margin: 0 auto 2rem auto;
  border-collapse: collapse; }
  @media screen and (min-width: 768px) {
    /* line 759, _base.scss */
    .formTable {
      width: 70rem; } }
  /* line 766, _base.scss */
  .formTable th {
    font-size: 2rem;
    border-bottom: #39627c 0.25rem solid;
    padding: 1rem;
    text-align: left; }
    @media screen and (min-width: 768px) {
      /* line 766, _base.scss */
      .formTable th {
        font-size: 1.5rem;
        border-bottom: #39627c 0.15rem solid; } }
  /* line 776, _base.scss */
  .formTable td {
    font-size: 2rem;
    border-bottom: #39627c 0.25rem solid;
    padding: 1rem; }
    @media screen and (min-width: 768px) {
      /* line 776, _base.scss */
      .formTable td {
        font-size: 1.5rem;
        border-bottom: #39627c 0.15rem solid; } }

/*# sourceMappingURL=style.css.map */
