@charset "UTF-8";
/* SP（768px 以下） */
/* PC（769px 以上） */
/* PC（1921px 以上） */
/* 共通 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 62.5%;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media only screen and (max-width: 768px) {
  html {
    font-size: 2.6666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  html {
    font-size: 0.6944444444vw;
  }
}
@media only screen and (min-width: 1920px) {
  html {
    font-size: 15px;
  }
}
body {
  width: 100%;
  min-height: 100vh;
  color: #333;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: #333;
}

a:hover {
  opacity: 0.6;
  transition: 0.4s;
}

ul {
  list-style: none;
}

@media only screen and (min-width: 769px) {
  .no-sp {
    display: inline-block;
  }
  .no-pc {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .no-pc {
    display: inline-block;
  }
  .no-sp {
    display: none;
  }
}
@media only screen and (min-width: 769px) {
  .top .header {
    width: 100%;
    height: auto;
    background: url("../image/index_gallery_1_pc.png") no-repeat 0 0/cover;
  }
  .top .header .header__box {
    padding: 10rem 10rem;
    display: flex;
    flex-flow: row-reverse;
    align-items: center;
    justify-content: space-between;
    max-width: 1920px;
    position: relative;
  }
  .top .header .header__box h1.header__logo a.header__link {
    writing-mode: vertical-rl;
    font-size: 10rem;
  }
  .top .header .header__box p.header__link {
    display: block;
    width: 30rem;
    height: 30rem;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
  }
  .top .header .header__box p.header__link a.header__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .top .header {
    width: 100%;
    height: auto;
    background: url("../image/index_gallery_1_pc.png") no-repeat 0 0/cover;
  }
  .top .header .header__box {
    padding: 10rem 2rem;
    display: flex;
    flex-flow: row-reverse;
    align-items: center;
    justify-content: space-between;
    max-width: 100vw;
    position: relative;
  }
  .top .header .header__box h1.header__logo a.header__link {
    writing-mode: vertical-rl;
    font-size: 10rem;
  }
  .top .header .header__box p.header__link {
    display: block;
    width: 13rem;
    height: 13rem;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
  }
  .top .header .header__box p.header__link a.header__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 769px) {
  .top .main .info .info__inner {
    padding: 10rem 10rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    max-width: 1920px;
  }
  .top .main .info .info__inner p.info__text {
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
  .top .main .info .info__inner p.info__text h2.info__text {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .top .main .info .info__inner {
    padding: 10rem 2rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    max-width: 100%;
  }
  .top .main .info .info__inner p.info__text {
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
  .top .main .info .info__inner p.info__text h2.info__text {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 769px) {
  .top .main .gallery .gallery__inner {
    padding: 10rem 0;
    display: flex;
    max-width: 1920px;
  }
  .top .main .gallery .gallery__inner ul.gallery__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
  }
  .top .main .gallery .gallery__inner ul.gallery__list li.gallery__item {
    width: calc((100% - (2 - 1) * 20px) / 2);
  }
}
@media only screen and (max-width: 768px) {
  .top .main .gallery .gallery__inner {
    padding: 10rem 0;
    display: flex;
    max-width: 100%;
  }
  .top .main .gallery .gallery__inner ul.gallery__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
  }
  .top .main .gallery .gallery__inner ul.gallery__list li.gallery__item {
    width: calc((100% - (2 - 1) * 20px) / 2);
  }
}
@media only screen and (min-width: 769px) {
  .top .main .about .about__inner {
    padding: 10rem 2rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    max-width: 1920px;
  }
  .top .main .about .about__inner h2.about__title {
    margin-bottom: 2rem;
    font-size: 2.4rem;
  }
  .top .main .about .about__inner p.about__text {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .top .main .about .about__inner {
    padding: 10rem 2rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    max-width: 100%;
  }
  .top .main .about .about__inner h2.about__title {
    margin-bottom: 2rem;
    font-size: 2.4rem;
  }
  .top .main .about .about__inner p.about__text {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px) {
  .top .main .news .news__inner {
    padding: 10rem 2rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    max-width: 1920px;
    position: relative;
  }
  .top .main .news .news__inner h2.news__title {
    padding: 0 2rem;
    display: inline-block;
    text-align: center;
    background: #fff;
    font-size: 2.4rem;
    position: absolute;
    top: 9rem;
  }
  .top .main .news .news__inner .news__box {
    padding: 4rem 2rem;
    width: 80%;
    border: 1px solid #666;
    border-radius: 4rem;
  }
  .top .main .news .news__inner .news__box a.news__link {
    padding: 0 0 2rem;
    display: block;
    width: 100%;
  }
  .top .main .news .news__inner .news__box a.news__link:last-child {
    padding: 0;
  }
  .top .main .news .news__inner .news__box a.news__link dl.news__list {
    display: flex;
    gap: 2rem;
  }
  .top .main .news .news__inner .news__box a.news__link dl.news__list dt.news__date {
    width: 10rem;
  }
  .top .main .news .news__inner .news__box a.news__link dl.news__list dd.news__text {
    width: 89%;
    word-break: break-all;
  }
}
@media only screen and (max-width: 768px) {
  .top .main .news .news__inner {
    padding: 10rem 2rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    position: relative;
  }
  .top .main .news .news__inner h2.news__title {
    padding: 0 2rem;
    display: inline-block;
    text-align: center;
    background: #fff;
    font-size: 2.4rem;
    position: absolute;
    top: 9rem;
  }
  .top .main .news .news__inner .news__box {
    padding: 4rem 2rem;
    width: 80%;
    border: 1px solid #666;
    border-radius: 4rem;
  }
  .top .main .news .news__inner .news__box a.news__link {
    padding: 0 0 2rem;
    display: block;
    width: 100%;
  }
  .top .main .news .news__inner .news__box a.news__link:last-child {
    padding: 0;
  }
  .top .main .news .news__inner .news__box a.news__link dl.news__list {
    display: flex;
    gap: 2rem;
  }
  .top .main .news .news__inner .news__box a.news__link dl.news__list dt.news__date {
    width: 10rem;
  }
  .top .main .news .news__inner .news__box a.news__link dl.news__list dd.news__text {
    width: 89%;
    word-break: break-all;
  }
}
@media only screen and (min-width: 769px) {
  .top .main .company .company__inner {
    padding: 10rem 2rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 2rem;
    max-width: 1920px;
  }
  .top .main .company .company__inner .company__boxl {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .top .main .company .company__inner .company__boxl dl.company__list {
    margin-bottom: 2rem;
    display: flex;
  }
  .top .main .company .company__inner .company__boxl dl.company__list dt.company__date {
    width: 12rem;
  }
  .top .main .company .company__inner .company__boxr .map iframe {
    width: 70rem;
    height: 40rem;
  }
}
@media only screen and (max-width: 768px) {
  .top .main .company .company__inner {
    padding: 10rem 2rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    max-width: 100%;
  }
  .top .main .company .company__inner .company__boxl {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .top .main .company .company__inner .company__boxl dl.company__list {
    margin-bottom: 2rem;
    display: flex;
  }
  .top .main .company .company__inner .company__boxl dl.company__list dt.company__date {
    width: 12rem;
  }
  .top .main .company .company__inner .company__boxr .map iframe {
    width: 100%;
    height: 40rem;
  }
}
@media only screen and (min-width: 769px) {
  .top .footer .footer__inner {
    padding: 10rem 2rem;
    display: flex;
    max-width: 1920px;
  }
  .top .footer .footer__inner ul.footer__contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .top .footer .footer__inner ul.footer__contact li.footer__item {
    width: 20rem;
    text-align: center;
  }
  .top .footer .footer__inner ul.footer__contact li.footer__button {
    width: 80%;
  }
  .top .footer .footer__inner ul.footer__contact li.footer__button a.footer__link {
    padding: 2rem 0;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #666;
    border-radius: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .top .footer .footer__inner {
    padding: 10rem 2rem;
    display: flex;
    max-width: 1920px;
  }
  .top .footer .footer__inner ul.footer__contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .top .footer .footer__inner ul.footer__contact li.footer__item {
    width: 20rem;
    text-align: center;
  }
  .top .footer .footer__inner ul.footer__contact li.footer__button {
    width: 80%;
  }
  .top .footer .footer__inner ul.footer__contact li.footer__button a.footer__link {
    padding: 2rem 0;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #666;
    border-radius: 2rem;
  }
}
.top .slideUp {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.top .slideUp.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .top .slideUp {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media only screen and (min-width: 769px) {
  .contact-form .header {
    padding: 2rem 0 0;
    text-align: center;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .contact-form .header {
    padding: 2rem 0 0;
    text-align: center;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 769px) {
  .contact-form .main .form {
    margin: 0 0 4rem;
  }
  .contact-form .main .form .form__box {
    padding: 2rem 2rem;
    display: flex;
    flex-flow: column;
    justify-content: center;
    max-width: 1920px;
  }
  .contact-form .main .form .form__box p.form__text {
    margin: 0 0 2rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .contact-form .main .form .form__box .form .box-name,
  .contact-form .main .form .form__box .form .box-postcode,
  .contact-form .main .form .form__box .form .box-address,
  .contact-form .main .form .form__box .form .box-tel,
  .contact-form .main .form .form__box .form .box-email,
  .contact-form .main .form .form__box .form .box-email02,
  .contact-form .main .form .form__box .form .box-contact {
    margin: 0 0 2rem;
    display: flex;
    width: 100%;
  }
  .contact-form .main .form .form__box .form label {
    display: inline-block;
    width: 20rem;
  }
  .contact-form .main .form .form__box .form input {
    padding: 0.4rem;
    width: 85%;
    height: 4rem;
    font-size: 1.4rem;
    border-radius: 0.4rem;
  }
  .contact-form .main .form .form__box .form textarea {
    padding: 0.4rem;
    width: 85%;
    height: 20rem;
    font-size: 1.4rem;
    border-radius: 0.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .contact-form .main .form {
    margin: 0 0 4rem;
  }
  .contact-form .main .form .form__box {
    padding: 2rem 2rem;
    display: flex;
    flex-flow: column;
    justify-content: center;
    max-width: 1920px;
  }
  .contact-form .main .form .form__box p.form__text {
    margin: 0 0 2rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .contact-form .main .form .form__box .form .box-name,
  .contact-form .main .form .form__box .form .box-postcode,
  .contact-form .main .form .form__box .form .box-address,
  .contact-form .main .form .form__box .form .box-tel,
  .contact-form .main .form .form__box .form .box-email,
  .contact-form .main .form .form__box .form .box-email02,
  .contact-form .main .form .form__box .form .box-contact {
    margin: 0 0 2rem;
    display: flex;
    width: 100%;
  }
  .contact-form .main .form .form__box .form label {
    display: inline-block;
    width: 20rem;
  }
  .contact-form .main .form .form__box .form input {
    padding: 0.4rem;
    width: 85%;
    height: 4rem;
    font-size: 1.4rem;
    border-radius: 0.4rem;
  }
  .contact-form .main .form .form__box .form textarea {
    padding: 0.4rem;
    width: 85%;
    height: 20rem;
    font-size: 1.4rem;
    border-radius: 0.4rem;
  }
}
@media only screen and (min-width: 769px) {
  .contact-form .main h2.privacyPolicy__title {
    margin: 0 0 2rem;
  }
  .contact-form .main .privacyPolicy__box {
    margin: 0 0 2rem;
    padding: 2rem;
    height: 20rem;
    max-width: 1920px;
    border: 1px solid #666;
    border-radius: 0.4rem;
    overflow-y: scroll;
  }
  .contact-form .main .privacyPolicy__box dl.privacyPolicy__list {
    margin: 0 0 4rem;
    line-height: 1.8;
  }
  .contact-form .main .privacyPolicy__box dl.privacyPolicy__list dt.privacyPolicy__title {
    margin: 0 0 1rem;
  }
  .contact-form .main .box-check {
    margin: 0 0 2rem;
    text-align: center;
  }
  .contact-form .main .box-button {
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .contact-form .main h2.privacyPolicy__title {
    margin: 0 0 2rem;
  }
  .contact-form .main .privacyPolicy__box {
    margin: 0 0 2rem;
    padding: 2rem;
    height: 20rem;
    max-width: 1920px;
    border: 1px solid #666;
    border-radius: 0.4rem;
    overflow-y: scroll;
  }
  .contact-form .main .privacyPolicy__box dl.privacyPolicy__list {
    margin: 0 0 4rem;
    line-height: 1.8;
  }
  .contact-form .main .privacyPolicy__box dl.privacyPolicy__list dt.privacyPolicy__title {
    margin: 0 0 1rem;
  }
  .contact-form .main .box-check {
    margin: 0 0 2rem;
    text-align: center;
  }
  .contact-form .main .box-button {
    text-align: center;
  }
}
@media only screen and (min-width: 769px) {
  .contact-form .footer {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .contact-form .footer {
    display: none;
  }
}

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