@charset "utf-8";
.invisible-style{
  display: none!important;
}

html {
  word-break: auto-phrase;
}


body{
  font-family: "Zen Old Mincho", serif;
  color: #000;
  font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
      background-image: url(https://shinei-mei.com/system_panel/uploads/images/bg.png);
    background-size: cover;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  cursor: pointer;
  color: #000;
  transition: all 0.5s;
}

a:hover {
  text-decoration: none;
  color: #000;
  transition: all 0.5s;
}
.link-opacity:hover {
  opacity: 0.5;
}


img {
  max-width: 100%;
  display: block;
  width: 100%;
}

p,
body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}


/* 共通パーツ */
.inner {
  max-width: 1920px!important;
  margin: 0 auto;
}

.js-mv {
  margin-top: clamp(5.625rem, -1.089rem + 10.49vw, 11.5rem);
}
@media (max-width: 1023px) {
  .js-mv {
    margin-top: clamp(4rem, -0.894rem + 10.2vw, 5.625rem);
  }
}
@media (max-width: 767px) {
  .js-mv {
    margin-top: 62px;
  }
}

/* pg__fv */
.pg-fv__inner {
  padding: 0 clamp(0.625rem, -2.958rem + 7.47vw, 6rem);
}
.pg-fv__container {
  display: flex;
}
.pg-fv__left {
      width: 46%;
    background-image: url(https://shinei-mei.com/system_panel/uploads/images/pg-fv-bg.png);
    background-position: bottom right;
    background-size: cover;
    display: flex;
    justify-content: center;
    position: relative;
  padding-top: clamp(1.125rem, 0.542rem + 1.22vw, 2rem);
  height: clamp(12.5rem, 0.833rem + 24.31vw, 30rem);
}
.pg-fv__title {
      font-size: clamp(1.5rem, 0.417rem + 2.26vw, 3.125rem);
    color: #fff;
    font-weight: 700;
}
.pg-fv__title span {
      color: #a03435;
    font-size: clamp(2.688rem, 0.771rem + 3.99vw, 5.563rem);
}
.pg-fv__title strong {
  font-size: clamp(2.688rem, 0.813rem + 3.91vw, 5.5rem);
  margin-top: clamp(3.75rem, -0.417rem + 8.68vw, 10rem);
}
.pg-fv__right {
  width: 64%;
    background-size: cover;
    background-position: left;
  height: clamp(12.5rem, 0.833rem + 24.31vw, 30rem);
}
@media (max-width: 767px) {
  .pg-fv__container {
    flex-direction: column;
  }
  .pg-fv__left,
  .pg-fv__right {
    width: 100%;
  }
  .pg-fv__right {
    height: clamp(13.938rem, 8.959rem + 20.42vw, 18.75rem);
  }
}

/* パンくずリスト　*/
.pg-breadcrumb {
      display: flex;
    align-items: center;
    margin-top: 8px;
    column-gap: clamp(0.5rem, 0.167rem + 0.69vw, 1rem);
  max-width: 1920px!important;
  margin: 0 auto;
      position: absolute;
    top: clamp(0.75rem, -0.083rem + 1.74vw, 2rem);
    left: clamp(1rem, 2.08vw, 2.5rem);
}
.breadcrumb__text {
    font-weight: 500;
  font-size: clamp(0.625rem, 0.458rem + 0.35vw, 0.875rem);
  color: #fff;
}

/* cta */
.cta {
  padding: 80px 0 0;
}
.cta__inner {
  padding: 0 clamp(1.25rem, -5.917rem + 14.93vw, 12rem);
      position: relative;
    padding-bottom: 80px;
}
.cta__deco {
      position: absolute;
    z-index: 10;
    width: clamp(16.25rem, 9.375rem + 14.32vw, 26.563rem);
    left: 0;
    bottom: 80px;
}
.cta__container {
      position: relative;
    z-index: 20;
      background-color: rgba(288,288,288,0.96);
    padding: clamp(1.875rem, 0.208rem + 3.47vw, 4.375rem) clamp(1.25rem, -3.25rem + 9.38vw, 8rem);
    display: flex;
}
.cta__left {
  width: 25%;
}
.cta__title {
      font-size: clamp(1.5rem, 0.833rem + 1.39vw, 2.5rem);
    font-weight: 700;
    white-space: nowrap;
}
.cta__line {
      width: 1px;
    background-color: #797979;
}
.cta__right {
      width: 75%;
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.cta__text {
      font-size: clamp(0.875rem, 0.625rem + 0.52vw, 1.25rem);
    font-weight: 500;
}
.cta__box {
      display: flex;
    column-gap: clamp(1rem, -1rem + 4.17vw, 4rem);
    margin-top: 40px;
}
.cta__phone,
.cta__mail {
      display: flex;
    align-items: center;
    column-gap: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
}
.cta-phone__icon {
      width: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
    object-fit: contain;
}
.cta-phone__bottom {
      display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 4px;
}
.cta-phone-bottom__text1 {
      font-size: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
    font-weight: 500;
}
.cta-phone-bottom__text2 {
      font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    color: #797979;
    font-weight: 500;
}
.cta-icon__box {
      position: relative;
    width: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.cta-mail__icon--hover {
      position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all 0.5s;
}
.cta-mail-bottom__text {
      font-size: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
    font-weight: 500;
    transition: all 0.5s;
}
.cta__mail:hover .cta-mail__icon--hover {
  opacity: 1;
}
.cta__mail:hover .cta-mail-bottom__text {
  color: #A03435;
}
@media (max-width: 767px) {
  .cta__deco {
    bottom: -10%;
    width: clamp(10.938rem, 7.396rem + 7.38vw, 16.25rem);
  }
  .cta__container {
        flex-direction: column;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
  .cta__left {
    width: 100%;
  }
  .cta__line {
        width: 100%;
    height: 1px;
    margin-top: 20px;
  }
  .cta__right {
        padding: 16px 20px 0 20px;
    width: 100%;
  }
  .cta__box {
        flex-direction: column;
    row-gap: 26px;
  }
}
@media (max-width: 389px) {
  .cta__container {
        padding-left: 10px;
    padding-right: 10px;
  }
  .cta__phone,
  .cta__mail {
    column-gap: 8px;
  }
  .cta-phone__icon,
  .cta-mail__icon,
  .cta-mail__icon--hover {
    width: 30px;
  }
}

/* ボタン */
/* 全体 */
.news-bottom__btn {
  display: flex;
  align-items: center;
  gap: 24px;
  cursor: pointer;
  justify-content: center;
}
/* ボタン本体 */
.my-super-cool-btn {
  position: relative;
  width: clamp(4rem, 3.333rem + 1.39vw, 5rem);
  height: clamp(4rem, 3.333rem + 1.39vw, 5rem);
  flex-shrink: 0;
}
/* 円ボタン */
.news-btn__box {
  position: relative;
  width: clamp(4rem, 3.333rem + 1.39vw, 5rem);
  height: clamp(4rem, 3.333rem + 1.39vw, 5rem);
  border-radius: 50%;
  background: #c96a38;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition:
    background .35s ease,
    border .35s ease,
    transform .35s ease;
}
/* 矢印 */
.news-btn__arrow,
.news-btn__arrow--hover {
  width: clamp(0.688rem, 0.563rem + 0.26vw, 0.875rem)!important;
  object-fit: contain;
  position: absolute;
  transition: opacity .25s ease;
}
/* hover用矢印初期非表示 */
.news-btn__arrow--hover {
  opacity: 0;
}
/* ドットコンテナ */
.dots-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
/* ドット */
.dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c96a38;
  opacity: 0;
  transition: all .35s ease;
}
/* 初期位置 */
.dot:nth-child(1) {
  top: 18px;
  left: 18px;
}
.dot:nth-child(2) {
  top: 18px;
  right: 18px;
}
.dot:nth-child(3) {
  bottom: 18px;
  left: 18px;
}
.dot:nth-child(4) {
  bottom: 18px;
  right: 18px;
}
/* ======================
   hover起点：news-bottom__btn
====================== */
/* 丸縮小＋枠線化 */
.news-bottom__btn:hover .news-btn__box {
  background: transparent;
  border: 2px solid #c96a38;
  transform: scale(.85);
}
/* 矢印切替 */
.news-bottom__btn:hover .news-btn__arrow {
  opacity: 0;
}
.news-bottom__btn:hover .news-btn__arrow--hover {
  opacity: 1;
}
/* ドット展開 */
.news-bottom__btn:hover .dot:nth-child(1) {
  top: 4px;
  left: 4px;
  opacity: 1;
}
.news-bottom__btn:hover .dot:nth-child(2) {
  top: 4px;
  right: 4px;
  opacity: 1;
}
.news-bottom__btn:hover .dot:nth-child(3) {
  bottom: 4px;
  left: 4px;
  opacity: 1;
}
.news-bottom__btn:hover .dot:nth-child(4) {
  bottom: 4px;
  right: 4px;
  opacity: 1;
}

/* title1 */
.title1 {
      padding-left: clamp(0.5rem, -0.5rem + 2.08vw, 2rem);
    border-left: clamp(0.25rem, 0.083rem + 0.35vw, 0.5rem) solid #000;
    font-size: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    font-weight: 700;
    margin-bottom: clamp(0.625rem, 0.042rem + 1.22vw, 1.5rem);
}
.title1--small {
      padding-left: clamp(0.5rem, 0.167rem + 0.69vw, 1rem);
    border-left: clamp(0.25rem, 0.083rem + 0.35vw, 0.5rem) solid #000;
    font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
    font-weight: 700;
    margin-bottom: clamp(1.875rem, 1.458rem + 0.87vw, 2.5rem);
}

/* wrapper */
.mask-slide {
  position: relative;
  overflow: hidden;
}

/* image */
.mask-slide__img {
  display: block;
  width: 100%;
  height: auto;
  /* 完全非表示を避ける */
  opacity: .01;
  transform: scale(1.04) translateY(12px);
  transition:
    opacity .1s linear .45s,
    transform 1.2s cubic-bezier(.22,1,.36,1) .45s;
}
/* mask */
.mask-slide__cover {
  position: absolute;
  inset: 0;
  background: #A03435;
  /* interaction blocking防止 */
  pointer-events: none;
  /* z-indexを必要最低限に */
  z-index: 20;
  transform: translateX(-101%);
  opacity: 1;
}
.mask-slide__cover--blue {
  background: #0B263E;
}
.mask-slide__cover--yellow {
  background: #F8D547;
  clip-path: polygon(
    25% 0%,
    75% 0%,
    100% 50%,
    75% 100%,
    25% 100%,
    0% 50%
  );
}

.mask-slide--yellow {
  clip-path: polygon(
    25% 0%,
    75% 0%,
    100% 50%,
    75% 100%,
    25% 100%,
    0% 50%
  );
}

/* active */
.mask-slide.is-active .mask-slide__cover {
  animation: safe-mask-slide 1.2s cubic-bezier(.77,0,.18,1) forwards;
}
.mask-slide.is-active .mask-slide__img {
  opacity: 1;
  transform: scale(1) translateY(0);
}
/* reveal */
@keyframes safe-mask-slide {

  0% {
    transform: translateX(-101%);
  }

  45% {
    transform: translateX(0%);
  }

  55% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(101%);
  }

}
/* 縦書き */
.vertical {
  width: auto;
  writing-mode: vertical-rl;
  text-orientation: upright;
  -webkit-text-orientation: upright;
}


/* pcとspの文字切り替え */
.sp-content {
  display: none!important;
}
@media (max-width: 767px) {
    .pc-content {
    display: none!important;
  }
  .sp-content {
    display: block!important;
  }
}

/* アニメーション */
.anime2 {
  animation-delay: 0.5s;
}
.anime3 {
  animation-delay: 1s;
}
.anime4 {
  animation-delay: 1.5s;
}
.anime5 {
  animation-delay:2s;
}
.anime6 {
  animation-delay: 2.5s;
}
.anime7 {
  animation-delay: 3s;
}
.anime8 {
  animation-delay: 3.5s;
}
.anime9 {
  animation-delay: 4s;
}
.anime10 {
  animation-delay: 4.5s;
}
.anime11 {
  animation-delay: 5s;
}
.anime12 {
  animation-delay: 5.5s;
}
.anime13 {
  animation-delay: 6s;
}
.anime14 {
  animation-delay: 6.5s;
}
