@charset "UTF-8";
/* CSS Document */
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@keyframes poyon {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    transform: scale(0.8, 1.3) translate(0%, -10%);
  }
  70% {
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes popZoom {
  0% {
    transform: scale(2);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes popup {
  0% {
    bottom: -100%;
  }
  100% {
    bottom: 0;
  }
}
/*初期設定*/
* {
  margin: 0;
  padding: 0;
}

html {
  font-size: clamp(0px, 0.5208333333vw, 10px);
  font-family: "Noto Serif JP", serif;
  scroll-padding-top: var(--header-offset, 100px);
  max-width: 100%;
  overflow-x: hidden;
}
@media screen and (max-width: 860px) {
  html {
    font-size: clamp(0px, 2.5641025641vw, 10px);
  }
}

.sp-vis {
  display: none !important;
}

@media screen and (max-width: 860px) {
  .sp-vis {
    display: block !important;
  }
  .pc-vis {
    display: none !important;
  }
}
body {
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  position: relative;
  margin: 0 auto;
  max-width: 100%;
  overflow-x: hidden;
  color: #0a192f;
  /*border: 1px solid #000;*/
}
@media screen and (max-width: 860px) {
  body {
    font-size: clamp(12px, 2.32vw, 15px);
  }
}

body.is-system-modal-open {
  overflow: hidden;
}

body.is-nav-open {
  overflow: hidden;
}

html.is-resizing #equipment .icnBox::before,
html.is-resizing #equipment .icnBox .flex .cont {
  animation-play-state: paused !important;
}

/*floatクリア用*/
.clear {
  clear: both;
}

.green {
  color: #446154;
}

/*メインコンテンツブロック*/
.clearfix:after {
  content: " "; /* 新しい要素を作る */
  display: block; /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
  overflow: visible;
}

* html .clearfix {
  height: 1px;
  /*¥*/ /*/
height: auto;
overflow: hidden;
/**/
}

a {
  text-decoration: none;
  color: #3E3A39;
  transition: 0.5s;
}
a:hover {
  opacity: 0.7;
}

a img {
  border: none;
  outline: none;
}

p {
  line-height: 1.7;
}

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

table img {
  display: block;
}

table td, table th {
  box-sizing: border-box;
}

.right {
  float: right;
}

.left {
  float: left;
}

.rela {
  position: relative;
}

.abso {
  position: absolute;
}

h1, h2, h3, h4 {
  text-align: center;
}

ul li {
  list-style: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

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

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

input, button, select, textarea {
  -webkit-appearance: none;
}

input[type=checkbox] {
  all: revert;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

img {
  display: block;
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

.flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.flex.flex-r {
  flex-direction: row-reverse;
}

/* 画面外にいる状態 */
.square::after, .square::before {
  opacity: 0;
  transition: all 2000ms;
}

/* 画面内に入った状態 */
.square.scrollin::after, .square.scrollin::before {
  opacity: 1;
}

.slick-track {
  display: flex !important;
  align-items: stretch;
  justify-content: center;
}

@media (max-width: 845px) {
  .slick-track {
    justify-content: space-between;
  }
}
.slick-slide {
  height: auto !important;
}

.slick-slide > * {
  height: 100% !important;
}

section {
  position: relative;
}

[id] {
  scroll-margin-top: var(--header-offset, 100px);
}

main {
  position: relative;
}

.cont_size_box {
  max-width: 1040px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 860px) {
  .cont_size_box {
    width: 90%;
  }
}

.soon {
  margin: 100px auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 400;
}

input:not([type=checkbox]):not([type=radio]),
textarea,
select,
button {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  outline: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  box-sizing: border-box;
}

.fadein, .fadein_auto {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1s ease;
}

.fadein.active, .fadein.is-visible, .fadein_auto.active {
  opacity: 1;
  transform: translateY(0);
}

.fadein.delay1 {
  transition-delay: 0.1s;
}

.fadein.delay2 {
  transition-delay: 0.3s;
}

.fadein.delay3 {
  transition-delay: 0.5s;
}

.cont_section {
  margin: 10rem auto;
  width: 140rem;
}
@media screen and (max-width: 860px) {
  .cont_section {
    width: 40rem;
    max-width: 95vw;
  }
}

.ttl span {
  display: block;
  text-align: center;
}
.ttl span.en {
  font-size: 1.8rem;
  font-weight: 100;
  letter-spacing: 0.1em;
}
.ttl span.jp {
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 3rem auto;
}
@media screen and (max-width: 860px) {
  .ttl span.jp {
    font-size: 2.5rem;
    margin-top: 1rem;
  }
}

.ttl_txt {
  font-size: 3rem;
  text-align: center;
}
@media screen and (max-width: 860px) {
  .ttl_txt {
    font-size: 1.5rem;
  }
}

.fixed_bnr {
  width: 19rem;
  display: block;
  position: fixed;
  bottom: 4rem;
  right: -3rem;
  z-index: 10;
}
@media screen and (max-width: 860px) {
  .fixed_bnr {
    width: 80px;
    right: -10px;
  }
}
.fixed_bnr.is-stopped {
  position: absolute;
  top: 0;
  bottom: auto;
  right: -3rem;
}
@media screen and (max-width: 860px) {
  .fixed_bnr.is-stopped {
    right: -10px;
  }
}
.fixed_bnr img {
  width: 100%;
  height: auto;
}

.btn {
  width: 90%;
  margin: 4rem auto 0;
  border: 1px solid #426053;
  border-radius: 1rem;
  padding: 1rem;
  box-sizing: border-box;
  display: block;
  text-align: center;
  font-weight: 700;
}/*# sourceMappingURL=base.css.map */