@charset "UTF-8";
/*汎用 設定はcommonへ。commonは基本いじらない*/
:root {
  --c-primary: #133E87; /*メインカラー*/
  --c-2ndary: #75c3ff; /*その次*/
  --c-txt: #000; /*テキスト*/
  --c-white: #fff; /*白*/
  --c-note: #d62222; /*注意カラー*/
  --font-sanserif: "Noto Sans JP"; /*ゴシックの場合はこっち*/
  --font-serif: "Noto Serif JP"; /*明朝の場合はこっち*/
}

html {
  font-family: var(--font-sanserif), sans-serif;
}

.txt {
  color: var(--c-txt);
  line-height: 1.75;
}
.txt_sub {
  color: var(--c-txt);
}

.ttl {
  color: var(--c-txt);
}
.ttl_sub {
  color: var(--c-primary);
}

.btn {
  background: var(--c-note);
  color: var(--c-txt);
}

/*heroarea+headmenu*/
.header {
  background: var(--c-primary);
}

.box-header .header_logo {
  color: var(--c-white);
}

.box-menu {
  padding: 1em 0;
}
.box-menu .menu a {
  color: var(--c-white);
}
.box-menu.on {
  background: var(--c-primary);
}
@media (max-width: 896px) {
  .box-menu {
    padding: 0;
  }
}

.box-mv {
  height: auto;
  background: url("../img/visual_image.jpg") no-repeat 0 0/cover;
}
.box-mv_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.box-mv_ttl.box-inner {
  width: min(1180px, 100%);
}
.box-mv_ttl h2 {
  width: 100%;
}
.box-mv_ttl .read {
  width: min(564px,90%);
  color: var(--c-txt);
  font-size: clamp(1.4rem, 1.6rem + 0.625vw, 1.6rem);
  line-height: 2;
  letter-spacing: 0.063em;
  font-weight: 600;
}
@media (max-width: 480px) {
  .box-mv {
    background: none;
  }
}

.box-contents:nth-child(2n) {
  background: var(--c-2ndary);
  padding-top: min(80px, 14vw);
  padding-bottom: min(80px, 14vw);
}
.box-contents:nth-child(2n) .box-txt {
  background: var(--c-2ndary);
}

/*ttl*/
.ttl-section {
  color: var(--c-txt);
}

/*構成ボックス*/
.box-txt {
  color: var(--c-txt);
}
.box-txt.left {
  z-index: 0;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.box-txt.noflex {
  padding: 1em;
}
@media (max-width: 896px) {
  .box-txt {
    grid-row: span 2/span 2;
    grid-row-start: 4;
    margin-left: 0;
    padding: 2em 1em;
  }
  .box-txt.left {
    margin-right: 0;
  }
}

/**住所**/
.box-overview {
  margin: 0 auto;
  color: var(--c-txt);
}
@media (max-width: 896px) {
  .box-overview {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .box-overview .lst-overview {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .box-overview .lst-overview dt {
    width: 26%;
  }
}

/*ギャラリー*/
.lst-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 1em auto 0;
  width: 90%;
  gap: 1em;
}
.lst-gallery li {
  width: calc(100%/ 3.25);
}
.lst-gallery li .img {
  margin: 0 auto;
  width: 100%;
  aspect-ratio: 4/3;
}
.lst-gallery li .img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.lst-gallery li .img figcaption {
  font-size: clamp(1.2rem, 1.2rem + 0.625vw, 1.4rem);
  text-align: center;
  line-height: 2;
}
@media (max-width: 896px) {
  .lst-gallery li {
    width: calc(100% / 2.25);
  }
  .lst-gallery li:nth-child(1), .lst-gallery li:nth-child(2), .lst-gallery li:nth-child(3), .lst-gallery li:nth-child(4), .lst-gallery li:nth-child(5), .lst-gallery li:nth-child(6) {
    padding-top: 0;
  }
}
@media (max-width: 480px) {
  .lst-gallery {
    display: block;
    width: 90%;
  }
  .lst-gallery li {
    margin: 1em auto 0;
    width: 100%;
  }
}

/*mailform*/
.mailform table th {
  letter-spacing: 0.06em;
  color: var(--c-txt);
}
.mailform table th.inq::after {
  color: var(--c-txt);
  background: var(--c-note);
}

/*footer*/
.footer {
  background: var(--c-primary);
}
.footer a {
  color: var(--c-white);
}
@media (max-width: 896px) {
  .footer {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.box-confirm .note {
  color: var(--c-note);
}
.box-confirm .box-send {
  padding: 0 0 80px;
}
.box-confirm .box-send .btn.cancel {
  background: var(--c-2ndary);
}

/*topへ*/
.pagetop {
  background: var(--c-note);
}
.pagetop a {
  color: var(--c-txt);
}

.pc {
  display: block;
}
@media (max-width: 480px) {
  .pc {
    display: none;
  }
}/*# sourceMappingURL=basic01.css.map */