@charset "UTF-8";
/*汎用 設定はcommonへ。commonは基本いじらない*/
:root {
  --c-primary: #2A3663;
  --c-2ndary: #D8DBBD;
  --c-txt: #010104;
  --c-white: #F9FEFF;
  --c-note: #E81010;
  --font-sanserif: "Noto Sans JP"; /*ゴシックの場合はこっち*/
  --font-serif: "Noto Serif JP"; /*明朝の場合はこっち*/
}

html {
  font-family: var(--font-serif), serif;
  background-color: var(--c-white);
}

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

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

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: var(--c-2ndary);
  color: var(--c-primary);
  border-radius: 0;
  border: 1px solid var(--c-primary);
  font-size: clamp(1.4rem, 1.6rem + 0.625vw, 1.6rem);
  -webkit-transition: 0.3s ease all;
  -o-transition: 0.3s ease all;
  transition: 0.3s ease all;
}
.btn::after {
  content: "";
  display: inline-block;
  background: url(../img/ico-arrow_biz.svg) no-repeat 0 0/100%;
  width: 40px;
  height: 18px;
}
.btn:hover {
  background-color: var(--c-primary);
  color: var(--c-2ndary);
  border-color: var(--c-2ndary);
}
.btn:hover::after {
  background: url(../img/ico-arrow_biz2.svg) no-repeat 0 0/100%;
}

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

.box-header {
  position: relative;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1em 0;
}
.box-header .header_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.5em;
  color: var(--c-white);
  font-size: clamp(2rem, 2rem + 0.625vw, 4rem);
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.box-header .header_logo:has(img) {
  min-width: unset;
  width: 12%;
}
@media (max-width: 896px) {
  .box-header .header_logo:has(img) {
    width: 20%;
  }
}
@media (max-width: 480px) {
  .box-header .header_logo:has(img) {
    width: 26%;
  }
}
@media (max-width: 896px) {
  .box-header {
    top: 0;
  }
  .box-header .header_logo {
    font-size: clamp(2rem, 2.2rem + 0.625vw, 2.4rem);
  }
  .box-header .btn-burger button .burger_line {
    background: var(--c-white);
  }
  .box-header .btn-burger button.on .burger_line {
    background: var(--c-note);
  }
}

.box-menu {
  padding: 1em 0;
}
.box-menu .menu a {
  color: var(--c-2ndary);
}
.box-menu .menu .btn a {
  color: var(--c-primary);
  width: 100%;
}
.box-menu .menu .btn a:hover {
  color: var(--c-2ndary);
}
.box-menu.on {
  background: var(--c-2ndary);
}
.box-menu.on a {
  color: var(--c-txt);
}
@media (max-width: 896px) {
  .box-menu {
    padding: 0;
  }
}

.box-mv {
  position: relative;
  margin: 0 auto;
  width: min(1180px, 100%);
  height: min(740px, 140vw);
  background: url("../img/visual_image.jpg") var(--c-primary) no-repeat 3em bottom/cover;
}
.box-mv_ttl {
  position: absolute;
  bottom: 0;
  width: min(644px, 95%);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  padding: 1.5em 2em;
  background: var(--c-2ndary);
}
.box-mv_ttl h2 {
  color: var(--c-primary);
  font-size: clamp(4rem, 4rem + 0.625vw, 4.8rem);
  line-height: 2;
}
.box-mv_ttl h2 .sp {
  display: none;
}
.box-mv_ttl h2 .pc {
  display: block;
}
.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: 1.5;
  font-weight: 600;
}
@media (max-width: 896px) {
  .box-mv {
    background: url("../img/visual_image.jpg") var(--c-primary) no-repeat center top/auto 100%;
  }
  .box-mv_ttl {
    width: min(504px, 95%);
    height: auto;
  }
  .box-mv_ttl h2 {
    font-size: clamp(2.4rem, 3rem + 0.625vw, 3.2rem);
    letter-spacing: 0;
  }
}
@media (max-width: 480px) {
  .box-mv {
    background: url(../img/visual_image_sp.jpg) no-repeat center top/cover;
  }
  .box-mv h2 {
    font-size: clamp(2.4rem, 2.6rem + 0.625vw, 2.8rem);
  }
  .box-mv h2 .sp {
    display: block;
  }
  .box-mv h2 .pc {
    display: none;
  }
}

.box-contents {
  margin: 0 auto;
  padding-top: min(112px, 14vw);
}
.box-contents.contents01 h2 span {
  background: rgba(255, 255, 255, 0.5);
}
.box-contents.contents01::before {
  content: "";
  position: absolute;
  top: -1px;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--c-primary);
  -webkit-clip-path: polygon(100% 50%, 0% 100%, 100% 100%);
          clip-path: polygon(100% 50%, 0% 100%, 100% 100%);
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  z-index: -1;
}
.box-contents.contents02::before {
  content: "";
  position: absolute;
  bottom: -1px;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--c-2ndary);
  -webkit-clip-path: polygon(100% 50%, 0% 100%, 100% 100%);
          clip-path: polygon(100% 50%, 0% 100%, 100% 100%);
  z-index: -1;
}
.box-contents.gallery {
  background: var(--c-2ndary);
}
.box-contents.overview {
  padding-bottom: min(112px, 14vw);
  background: var(--c-2ndary);
}
.box-contents.mailform {
  padding-bottom: min(112px, 14vw);
  background: var(--c-primary);
}

main:has(.contents03) .box-contents.contents03 {
  margin: 0;
  background: var(--c-2ndary);
}
main:has(.gallery) .box-contents.overview {
  background: var(--c-white);
}

/*ttl*/
.ttl-section {
  color: var(--c-txt);
}
@media (max-width: 896px) {
  .ttl-section {
    font-size: clamp(2.4rem, 3rem + 0.625vw, 3.2rem);
  }
}

/*構成ボックス*/
.box-img img {
  border-radius: 40px 0 0;
}

.box-txt {
  color: var(--c-txt);
}

.contents01 .ttl-section, .contents03 .ttl-section {
  text-align: right;
}
.contents01 .box-img img, .contents03 .box-img img {
  border-radius: 0 40px 0 0;
}

.lst-col {
  margin: 1em auto 0;
}
.lst-col_inner ul {
  margin-top: 1em;
}
.lst-col_inner li {
  margin-top: 0.25em;
}

/**住所**/
.box-overview {
  margin: 0 auto;
  color: var(--c-txt);
}

/*ギャラリー*/
.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 .ttl-section, .mailform .txt {
  color: var(--c-2ndary);
}
.mailform table th {
  letter-spacing: 0.06em;
  color: var(--c-2ndary);
}
.mailform table th.inq::after {
  color: var(--c-white);
  background: var(--c-note);
}
.mailform table td .txt_sub {
  color: var(--c-2ndary);
}

/*footer*/
.footer {
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 2em 1.5em 0;
  background: var(--c-white);
  color: var(--c-primary);
  border-top: 1px solid var(--c-primary);
  border-bottom: 16px solid var(--c-primary);
}
@media (max-width: 896px) {
  .footer {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer .box-footer_menu {
  padding: 1em 0;
}
.footer .box-footer_menu .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.6rem;
}
.footer .box-footer_menu .menu a {
  color: var(--c-primary);
}
.footer .box-footer_menu .btn a {
  width: 100%;
  color: var(--c-primary);
}
.footer .box-footer_menu .btn:hover a {
  color: var(--c-2ndary);
}
@media (max-width: 896px) {
  .footer .box-footer_menu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer .footer_company {
  width: min(120px, 100%);
}
.footer .footer_company .txt_sub {
  margin: 1em 0 0;
}
.footer .footer_info {
  margin: 1em 0 0 auto;
}
.footer .footer_info .footer_tel {
  font-size: 3.2rem;
  font-weight: 800;
}
.footer .footer_info .footer_tel span {
  padding-right: 1em;
  font-size: 1.6rem;
}
.footer .footer_info .footer_mail {
  margin: 1em 0 0;
}

.box-confirm .note {
  color: var(--c-note);
}
.box-confirm .box-send .btn.cancel {
  background: var(--c-2ndary);
}
.box-confirm .box-send .btn.cancel:hover {
  background: var(--c-primary);
  color: var(--c-2ndary);
}

/*topへ*/
.pagetop {
  background: var(--c-2ndary);
}
.pagetop a {
  color: var(--c-primary);
}/*# sourceMappingURL=biz.css.map */