@charset "UTF-8";
/*汎用 設定はcommonへ。commonは基本いじらない*/
:root {
  --c-primary: #29abe2;
  --c-2ndary: #cbd2da;
  --c-txt: #16164d;
  --c-white: #fff;
  --c-note: rgb(211, 36, 6);
  --font-sanserif: "Noto Sans JP"; /*ゴシックの場合はこっち*/
  --font-serif: "Noto Serif JP"; /*明朝の場合はこっち*/
}

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

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

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

.btn a, .btn span, .btn button {
  background: var(--c-txt);
  color: var(--c-white);
  font-size: 1.6rem;
}

/*heroarea+headmenu*/
.header {
  background: var(--c-primary);
}
.header .header_logo {
  color: var(--c-white);
}
.header .box-header {
  width: min(1280px, 95%);
}

.box-menu .menu {
  padding: 1em 0;
}
.box-menu .menu li {
  width: auto;
}
.box-menu .menu li a {
  position: relative;
  color: var(--c-white);
  transition: 0.3s ease all;
}
.box-menu .menu li a::after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 1px;
  border-bottom: 1px solid var(--c-white);
  transition: 0.25s ease all;
}
.box-menu .menu li a:hover::after {
  width: 100%;
}
.box-menu .menu li.btn a {
  display: block;
  width: 100%;
  height: 100%;
}
.box-menu .menu li.btn:hover a {
  background: var(--c-white);
  color: var(--c-txt);
}
.box-menu .menu li.btn:hover a::after {
  content: none;
}
.box-menu.on {
  background: var(--c-txt);
}
@media (max-width: 896px) {
  .box-menu {
    padding: 0;
  }
  .box-menu .menu li {
    width: 100%;
  }
}

.box-mv {
  background-color: var(--c-2ndary);
}

.box-contents .txt {
  margin-top: 1em;
}
.box-contents.contents01 .txt {
  font-weight: 400;
}
.box-contents.contents01 .txt.left {
  text-align: left;
}
.box-contents.contents01 .lst-col {
  margin: 2em auto 0;
}
.box-contents.contents01 .lst-col .lst-col_inner img {
  margin: 0.5em auto 0;
  height: auto;
  aspect-ratio: 4/3;
}
@media (max-width: 896px) {
  .box-contents.contents01 .lst-col_inner {
    width: 80%;
  }
  .box-contents.contents01 .lst-col_inner .txt-sub {
    display: inline-block;
  }
}
.box-contents.contents02 {
  background-color: var(--c-white);
}
.box-contents.contents02 .lst-col_inner .txt_sub {
  display: block;
}
.box-contents.contents02 .lst-col_inner .img {
  margin: 0.5em auto 0;
}
.box-contents.contents02 .lst-col_inner::after {
  background-color: var(--c-primary);
}
@media (max-width: 896px) {
  .box-contents.contents02 .lst-col_inner {
    width: 80%;
  }
  .box-contents.contents02 .lst-col_inner .txt {
    text-align: left;
  }
  .box-contents.contents02 .lst-col_inner .img {
    width: 100%;
  }
}
.box-contents.contents03 {
  background: var(--c-white);
}
.box-contents.contents03 picture {
  margin: 1em auto 0;
}
.box-contents.contents03 picture img {
  margin: 0 auto;
  height: auto;
}
.box-contents.contents04 {
  background: var(--c-white);
}
.box-contents.contents04 .ttl_sub {
  text-align: center;
}
.box-contents.contents04 picture {
  margin: 1em auto 0;
}
.box-contents.contents04 picture img {
  margin: 0 auto;
  height: auto;
}
.box-contents.gallery {
  padding-bottom: min(160px, 20vw);
}
.box-contents.gallery .lst-gallery {
  gap: 2.25em;
  justify-content: flex-start;
}
.box-contents.faq {
  background-color: var(--c-white);
}
.box-contents.faq dt {
  font-weight: 800;
  font-size: clamp(1.8rem, 1.8vw, 2rem);
}
.box-contents.faq dt::first-letter {
  color: var(--c-primary);
}
.box-contents.faq dd {
  padding-left: 1em;
  padding-bottom: 1em;
  border-bottom: 1px dashed var(--c-primary);
}
.box-contents.faq dd::first-letter {
  color: var(--c-note);
}
.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-overview {
  color: var(--c-txt);
}

/*mailform*/
.mailform {
  background-color: var(--c-2ndary);
}
.mailform .box-grid {
  margin: 1em auto 0;
  width: 80%;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 896px) {
  .mailform .box-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.mailform .dl {
  margin: 1em auto 0;
  width: 100%;
}
.mailform .dl a {
  display: block;
  text-decoration: none;
}
.mailform dt {
  color: var(--c-txt);
}
.mailform dt.inq::after {
  color: var(--c-white);
  background: var(--c-note);
}
.mailform dd ul {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0.5em 0 0;
  width: 50%;
  gap: 2em;
}
@media (max-width: 896px) {
  .mailform dd ul {
    width: 100%;
  }
}
.mailform dd ul li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5em;
}
.mailform dd ul li label {
  cursor: pointer;
  color: var(--txt);
}
.mailform dd ul li input[type=radio] {
  margin: 0;
  display: inline-block;
  transform: scale(1.5);
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
}
@media (max-width: 480px) {
  .mailform dd ul li input[type=radio] {
    transform: scale(0.8);
  }
}
.mailform .btn a, .mailform .btn span, .mailform .btn button {
  padding: 1em 4em;
  transition: 0.25s ease all;
}
.mailform .btn a:hover, .mailform .btn span:hover, .mailform .btn button:hover {
  background: var(--c-white);
  color: var(--c-txt);
}

/*footer*/
.footer {
  background: var(--c-primary);
  border-bottom: 1.5em solid var(--c-2ndary);
}
.footer .box-menu .menu li {
  text-align: left;
}
.footer .box-menu .menu li.btn {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  text-align: center;
}
@media (max-width: 896px) {
  .footer .box-menu .menu li.btn {
    margin-top: 1em;
  }
}
@media (max-width: 896px) {
  .footer {
    justify-content: center;
  }
  .footer .box-menu .menu {
    padding: 1em 2em;
  }
}

.box-message {
  background-color: var(--c-white);
}
.box-message .btn {
  border: 1px solid var(--c-txt);
}

.box-confirm {
  background-color: var(--c-white);
}
.box-confirm .txt {
  margin: 0;
  color: var(--c-txt);
}
.box-confirm .note {
  color: var(--c-note);
}
.box-confirm th {
  background: var(--c-txt);
}
.box-confirm th.txt {
  color: var(--c-white);
}
.box-confirm dt {
  color: var(--c-white);
}
.box-confirm .btn {
  transition: 0.25s ease all;
}
.box-confirm .btn:hover {
  background: var(--c-txt);
  color: var(--c-white);
}

/*topへ*/
.pagetop {
  border: 1px solid var(--c-white);
}
.pagetop:hover {
  background-color: var(--c-white);
}
.pagetop:hover a {
  color: var(--c-txt);
}
.pagetop a {
  color: var(--c-white);
}
@media (max-width: 896px) {
  .pagetop.on {
    bottom: 31em;
  }
}
@media (max-width: 480px) {
  .pagetop.on {
    bottom: 26em;
  }
}/*# sourceMappingURL=basic01.css.map */