@charset "utf-8";
/* @common
----------------------------------------------------------*/


/* @top
----------------------------------------------------------*/
/* @top-mv  */
.top-mv {
  position: relative;
  margin-bottom: 40px;
}
.top-mv-wrap {
  position: relative;
  display: grid;
  grid-template-columns: 69.09% 1fr;
  align-items: center;
  gap: 40px;
}
.top-mv-slider-wrap {
  position: relative;
  background: var(--body-bg);
}
.top-mv-slider-wrap::after {
  content: "";
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  right: 0;
  width: 64.22%;
  max-width: 488px;
  aspect-ratio: 488 / 481;
  transform: translateY(45.29%) translateX(-25.41%);
  background: url(../img/common/circle-brush1.png) no-repeat left top / contain;
  pointer-events: none;
}

.top-mv-slider {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--round-base);
}
.top-mv-slider .splide__slide {
  position: relative;
}
.top-mv-slider .img {
  height: 100%;
}
.top-mv-slider .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.splide__slide.is-active .img,
.splide__slide.is-prev .img,
.splide__slide .img.is-prev {
  animation: scale 10s linear 0s normal both;
}
@keyframes scale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.04);
  }
}

.top-mv-con {
  text-align: center;
}
.top-mv-copy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 20% auto 3em;
  color: var(--color-main);
  text-align: left;
  font-size: 1.7143rem;
  line-height: 2.083;
  letter-spacing: var(--ls-ttl);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

/* @top-intro */
.top-intro {
  position: relative;
}
.top-intro-inner {
  position: relative;
  padding-bottom: 40px;
}
.top-intro-inner::after {
  content: "";
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
  width: 40.8%;
  max-width: 488px;
  aspect-ratio: 488 / 481;
  transform: translateY(64.3%) translateX(64%);
  background: url(../img/common/circle-brush1.png) no-repeat center / contain;
  pointer-events: none;
}

.top-intro-msg {
  width: 61.82%;
  margin-left: auto;
  margin-right: 1.6em;
}
.top-intro-msg .lead {
  margin-bottom: .95em;
  color: var(--color-main);
  font-size: 1.5714rem;
  letter-spacing: var(--ls-ttl);
  line-height: 1.6;
}
.top-intro-msg .txt {
  text-align: justify;
}
.top-intro-msg .txt p + p {
  margin-top: 1.75em;
}
.top-intro-msg .signature {
  text-align: right;
}

.top-intro-img {
  display: grid;
  grid-template-columns: 1fr 50%;
  align-items: start;
  gap: 8.73%;
}
.top-intro-img .making-img {
  display: flex;
  align-items: start;
  margin-bottom: 1.8em;
}
.top-intro-img .making-img .img {
  overflow: hidden;
  width: 55.51%;
  border-radius: var(--round-base);
}
.top-intro-img .making-img .img:nth-child(2) {
  position: relative;
  z-index: 2;
  margin-top: 27.5%;
  margin-left: -11.45%;
}
.top-intro-img .msg-img {
  margin-left: 1.2em;
  text-align: center;
}

.top-intro-img .main-img {
  order: 2;
  overflow: hidden;
  margin-top: 3em;
  border-radius: var(--round-base);
}
.top-intro-img .sub-img {
  margin-top: -36%;
}

.top-intro-btn {
  margin-top: 2.7em;
  text-align: center;
}


/* @top-news */
.top-news {
  background: #fff;
}
.top-news-inner {
  position: relative;
  padding-block: 39px;
}

.top-news-inner::after {
  content: "";
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 23.75%;
  aspect-ratio: 1 / 1;
  transform: translateY(23.86%) translateX(-15%);
  background: url(../img/common/circle-brush2.png) no-repeat center / contain;
  pointer-events: none;
}

.top-news-secttl {
  margin-bottom: 1.2em;
}

.news-list {
  position: relative;
  z-index: 3;
  max-width: 580px;
  margin: 0 auto;
  padding-left: 2em;
}
.news-list-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  color: #000;
  text-decoration: none;
  gap: .2em 1.75em;
  line-height: 1.6;
}
.news-list-item a {
  color: #000;
  text-decoration: none;
}
.news-list-item a:hover {
  color: var(--color-main);
}
.news-list-item a:hover .title::after {
  transform: translateX(.5em);
}
.news-list-item .title {
  position: relative;
  flex: 1;
  letter-spacing: .1em;
}
.news-list-item .title::after {
  content: "";
  position: absolute;
  right: 0;
  top: .4em;
  width: 1.125rem;
  height: 1.125rem;
  z-index: 2;
  background: var(--icon-arrow) no-repeat center / 100%;
  transition: transform .3s ease-out;
}

/* @top-special */
.top-special {
  overflow: hidden;
}
.top-special-inner {
  position: relative;
  padding-block: 54px 100px;
}
.top-special-inner::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 40.67%;
  aspect-ratio: 488 / 481;
  transform: translateY(48.65%) translateX(-12.3%);
  background: url(../img/common/circle-brush1.png) no-repeat center / contain;
  pointer-events: none;
}
.top-special-secttl {
  margin-bottom: 2.5em;
}
.top-special-body {
  display: grid;
  gap: 56px;
}
.top-special-box {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 2em;
}
.top-special-box .con {
  width: 50%;
}
.top-special-box .con-ttl {
  margin-block: .45em .8em;
  color: var(--color-main);
  font-size: 1.5714rem;
  line-height: 1.5;
  letter-spacing: var(--ls-ttl);
}
.top-special-box .con-ttl .name {
  display: block;
  margin-top: .4em;
  margin-left: -.5em;
  font-size: .773em;
  letter-spacing: var(--ls-ttl);
}
.top-special-box .con-ttl .name + .name {
  margin-top: .2em;
}
.top-special-box .con-txt {
  margin-bottom: 1.1em;
  text-align: justify;
}
.top-special-box .con-link {
  margin-block: .4em 0;
}
.top-special-box .con-btn {
  margin-top: 1.3em;
  text-align: right;
}

.top-special-box .img {
  flex: 1;
  overflow: hidden;
  border-radius: var(--round-base);
}

/* @
----------------------------------------------------------*/

/* @contact
----------------------------------------------------------*/
.contact-lead {
  color: var(--color-main);
  text-align: center;
  font-weight: 500;
}

/* @tel */
.contact-tel {
  margin-bottom: 94px;
}
.contact-tel-number {
  text-align: center;
  font-weight: 500;
  line-height: 1.86;
  letter-spacing: .1em;
}
.contact-tel-number .label {
  margin-right: .75em;
  font-size: 1.125em;
  font-weight: bold;
  vertical-align: -.12em;
  letter-spacing: .1em;
}
.contact-tel-number .num {
  display: inline-block;
  font-size: 1.375em;
  vertical-align: -.1em;
  line-height: 1;
  letter-spacing: .1em;
}


/* @form */
.contact-form {
  margin-bottom: 60px;
}
.contact-form-ttl {
  margin-bottom: 1.3em;
}

/* @policy */
.privacy-policy .policy-content {
  font-size: var(--fz-s);
}
.privacy-policy .policy-head {
  margin-bottom: 2em;
}
.privacy-policy .policy-ttl {
  margin-top: 2em;
  margin-bottom: .5em;
  color: var(--color-main);
  font-weight: 500;
}
.privacy-policy .policy-ttl + p {
  margin-top: 0;
}
.privacy-policy .policy-contact {
  margin-top: 4em;
}
.privacy-policy .policy-footer_btn {
  margin-bottom: 60px;
}

/* レスポンシブ
----------------------------------------------------------*/
@media screen and (min-width: 961px) {

  /* @top
  ----------------------------------------------------------*/
  /* @top-news */
  .top-news-secttl::before {
    margin-bottom: 1.1em;
  }
  .news-list li + li {
    margin-top: .85em;
  }

  /* @top-special */
  .top-special-box:nth-child(odd) .con {
    order: 2;
  }

}

/* @960px 以下 (タブレット縦以下) */
@media screen and (max-width: 960px) {


  /* @common
  ----------------------------------------------------------*/


  /* @top
  ----------------------------------------------------------*/
  /* @top-mv */
  .top-mv {
    margin-bottom: 60px;
  }
  .top-mv-wrap {
    display: block;
  }
  .top-mv-slider-wrap {
    margin-bottom: 20%;
  }
  .top-mv-slider-wrap::after {
    width: 56.6%;
    transform: translateY(30%) translateX(-25.41%);
  }

  .top-mv-con {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2em;
    margin: 0;
  }
  .top-mv-copy {
    margin: 0;
  }
  .top-mv-illust {
    width: 27%;
  }

  /* @top-intro */
  .top-intro-inner {
    padding-bottom: 50px;
  }
  .top-intro-inner::after {
    width: 32%;
    transform: translateY(42%) translateX(28%);
  }
  .top-intro-msg {
    width: 100%;
    margin-bottom: 1em;
  }
  .top-intro-body {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
  }
  .top-intro-img {
    display: contents;
  }
  .top-intro-img .main-img {
    order: -1;
    margin-block: 0 2em;
  }
  .top-intro-img .sub-img {
    margin-top: 0;
  }
  .top-intro-img .msg-img {
    margin-left: 0;
  }
  .top-intro-img .making-img {
    max-width: 90%;
    margin-bottom: 3em;
    margin-inline: auto;
  }
  .top-intro-img .making-img .img:nth-child(2) {
    margin-left: -10%;
    margin-top: 14%;
  }
  .top-intro-btn {
    margin-top: 2em;
  }


  /* @top-news */
  .top-news-inner {
    padding-block: 50px;
  }
  .top-news-inner::after {
    transform: translateY(42%) translateX(-25%);
  }
  .news-list {
    padding-left: 0;
    border-top: 1px solid #000;
  }
  .news-list-item {
    flex-direction: column;
    padding-block: .75em;
    border-bottom: 1px solid #000;
  }
  .news-list-item .title {
    margin-right: -1em;
  }

  /* @top-special */
  .top-special-box {
    flex-direction: column;
  }
  .top-special-secttl {
    margin-bottom: 1.8em;
  }
  .top-special-box .con {
    width: 100%;
  }
  .top-special-box .con-ttl {
    margin-top: 0;
  }
  .top-special-box .con-btn {
    text-align: center;
  }
}

/* @599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  /* @common
  ----------------------------------------------------------*/

  /* @top
  ----------------------------------------------------------*/
  /* @top-mv */
  .top-mv {
    margin-bottom: 30px;
  }
  .top-mv-con {
    gap: 1.4em;
    padding-left: .5em;
  }
  .top-mv-copy {
    font-size: 1.4286rem;
  }
  .top-mv-illust {
    width: 45.5%;
  }


  /* @top-intro */
  .top-intro-inner::after {
    width: 45.33%;
    max-width: 170px;
  }
  .top-intro-msg {
    margin-bottom: .5em;
  }
  .top-intro-msg .lead {
    margin-bottom: .75em;
    font-size: 1.2857rem;
  }
  .top-intro-img .main-img {
    margin-bottom: 1.8em;
  }
  .top-intro-img .making-img {
    max-width: 93%;
    margin-bottom: 2em;
  }
  .top-intro-img .making-img .img:nth-child(2) {
    margin-top: 27.5%;
  }
  .top-intro-img .msg-img {
    max-width: 292px;
    margin-inline: auto;
  }

  /* @top-news */
  .top-news-inner::after {
    max-width: 142px;
    width: 37.87%;
  }

  /* @top-special */
  .top-special-inner {
    padding-bottom: 60px;
  }
  .top-special-inner::after {
    width: 70%;
    transform: translateY(32%) translateX(-12.3%);
  }

}
