@charset "UTF-8";
/*
**
** 全案件共通化するcss
** 案件個別の共有cssはここには記載せずcommon.scssに記載してください
** 
** animation
** layout
** fluffy
** txt
** display
** click
** wordpress
**
**
*/
/*==================================================

** animation
==================================================*/
[class*=fluffy-] {
  opacity: 0;
  position: relative;
}

.fluffy-upper {
  bottom: -50px;
}
.fluffy-upper.move {
  opacity: 1;
  bottom: 0;
  transition: all 0.8s;
}
.fluffy-appear {
  opacity: 0;
}
.fluffy-appear.move {
  opacity: 1;
  transition: all 0.8s ease;
}
.fluffy-slidein-l {
  opacity: 0;
  left: -50px;
}
.fluffy-slidein-l.move {
  opacity: 1;
  left: 0;
  transition: all 0.8s;
}
.fluffy-slidein-r {
  opacity: 0;
  right: -50px;
}
.fluffy-slidein-r.move {
  opacity: 1;
  right: 0;
  transition: all 0.8s;
}
.fluffy-scale-up {
  opacity: 0;
  bottom: -50px;
  transform: scale(1.1);
}
.fluffy-scale-up.move {
  opacity: 1;
  bottom: 0;
  transition: all 1s ease;
  transform: scale(1);
}

.fadelist > li {
  opacity: 0;
  top: 30px;
  position: relative;
}
.fadelist.move > li {
  opacity: 1;
  top: 0px;
  transition: top 1s, opacity 1s;
}
.fadelist.move > li:nth-of-type(1) {
  transition-delay: 0.3s;
}
.fadelist.move > li:nth-of-type(2) {
  transition-delay: 0.6s;
}
.fadelist.move > li:nth-of-type(3) {
  transition-delay: 0.9s;
}
.fadelist.move > li:nth-of-type(4) {
  transition-delay: 1.2s;
}
.fadelist.move > li:nth-of-type(5) {
  transition-delay: 1.5s;
}
.fadelist.move > li:nth-of-type(6) {
  transition-delay: 1.8s;
}
.fadelist.move > li:nth-of-type(7) {
  transition-delay: 2.1s;
}
.fadelist.move > li:nth-of-type(8) {
  transition-delay: 2.4s;
}
.fadelist.move > li:nth-of-type(9) {
  transition-delay: 2.7s;
}
.fadelist.move > li:nth-of-type(10) {
  transition-delay: 3s;
}
.fadelist.move > li:nth-of-type(11) {
  transition-delay: 3.3s;
}
.fadelist.move > li:nth-of-type(12) {
  transition-delay: 3.6s;
}
.fadelist.move > li:nth-of-type(13) {
  transition-delay: 3.9s;
}
.fadelist.move > li:nth-of-type(14) {
  transition-delay: 4.2s;
}
.fadelist.move > li:nth-of-type(15) {
  transition-delay: 4.5s;
}
.fadelist.move > li:nth-of-type(16) {
  transition-delay: 4.8s;
}
.fadelist.move > li:nth-of-type(17) {
  transition-delay: 5.1s;
}
.fadelist.move > li:nth-of-type(18) {
  transition-delay: 5.4s;
}
.fadelist.move > li:nth-of-type(19) {
  transition-delay: 5.7s;
}
.fadelist.move > li:nth-of-type(20) {
  transition-delay: 6s;
}
.fadelist.move > li:nth-of-type(21) {
  transition-delay: 6.3s;
}
.fadelist.move > li:nth-of-type(22) {
  transition-delay: 6.6s;
}
.fadelist.move > li:nth-of-type(23) {
  transition-delay: 6.9s;
}
.fadelist.move > li:nth-of-type(24) {
  transition-delay: 7.2s;
}
.fadelist.move > li:nth-of-type(25) {
  transition-delay: 7.5s;
}
.fadelist.move > li:nth-of-type(26) {
  transition-delay: 7.8s;
}
.fadelist.move > li:nth-of-type(27) {
  transition-delay: 8.1s;
}
.fadelist.move > li:nth-of-type(28) {
  transition-delay: 8.4s;
}
.fadelist.move > li:nth-of-type(29) {
  transition-delay: 8.7s;
}
.fadelist.move > li:nth-of-type(30) {
  transition-delay: 9s;
}

.fadein-item {
  opacity: 0;
  top: 50px;
  position: relative;
}
.fadein-down {
  top: -50px;
}
.fadein.move .fadein-item {
  opacity: 1;
  top: 0px;
  transition: top 1s, opacity 1s;
}
.fadein.move .fadein-num1 {
  transition-delay: 0.3s;
}
.fadein.move .fadein-num2 {
  transition-delay: 0.6s;
}
.fadein.move .fadein-num3 {
  transition-delay: 0.9s;
}
.fadein.move .fadein-num4 {
  transition-delay: 1.2s;
}
.fadein.move .fadein-num5 {
  transition-delay: 1.5s;
}
.fadein.move .fadein-num6 {
  transition-delay: 1.8s;
}
.fadein.move .fadein-num7 {
  transition-delay: 2.1s;
}
.fadein.move .fadein-num8 {
  transition-delay: 2.4s;
}
.fadein.move .fadein-num9 {
  transition-delay: 2.7s;
}
.fadein.move .fadein-num10 {
  transition-delay: 3s;
}
.fadein.move .fadein-num11 {
  transition-delay: 3.3s;
}
.fadein.move .fadein-num12 {
  transition-delay: 3.6s;
}
.fadein.move .fadein-num13 {
  transition-delay: 3.9s;
}
.fadein.move .fadein-num14 {
  transition-delay: 4.2s;
}
.fadein.move .fadein-num15 {
  transition-delay: 4.5s;
}
.fadein.move .fadein-num16 {
  transition-delay: 4.8s;
}
.fadein.move .fadein-num17 {
  transition-delay: 5.1s;
}
.fadein.move .fadein-num18 {
  transition-delay: 5.4s;
}
.fadein.move .fadein-num19 {
  transition-delay: 5.7s;
}
.fadein.move .fadein-num20 {
  transition-delay: 6s;
}
.fadein.move .fadein-num21 {
  transition-delay: 6.3s;
}
.fadein.move .fadein-num22 {
  transition-delay: 6.6s;
}
.fadein.move .fadein-num23 {
  transition-delay: 6.9s;
}
.fadein.move .fadein-num24 {
  transition-delay: 7.2s;
}
.fadein.move .fadein-num25 {
  transition-delay: 7.5s;
}
.fadein.move .fadein-num26 {
  transition-delay: 7.8s;
}
.fadein.move .fadein-num27 {
  transition-delay: 8.1s;
}
.fadein.move .fadein-num28 {
  transition-delay: 8.4s;
}
.fadein.move .fadein-num29 {
  transition-delay: 8.7s;
}
.fadein.move .fadein-num30 {
  transition-delay: 9s;
}

/*==================================================

** layout
==================================================*/
.grid {
  display: grid;
}

:where([class*=flex-]) {
  display: flex;
}

.flex {
  display: flex;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-row-r {
  flex-direction: row-reverse;
}
.flex-col-r {
  flex-direction: column-reverse;
}
.flex-jcc {
  justify-content: center;
}
.flex-jcsb {
  justify-content: space-between;
}
.flex-jcfe {
  justify-content: flex-start;
}
.flex-jcfe {
  justify-content: flex-end;
}
.flex-aic {
  align-items: center;
}
.flex-aifs {
  align-items: flex-start;
}
.flex-aife {
  align-items: flex-end;
}

.float:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
}
.float-r {
  float: right;
}
.float-l {
  float: left;
}

/*==================================================

** txt
==================================================*/
.ctr {
  text-align: center;
}
@media screen and (min-width: 992px) {
  .ctr-pc {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .ctr-pc-tab {
    text-align: center;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .ctr-tab {
    text-align: center;
  }
}
@media screen and (max-width: 991px) {
  .ctr-tab-sp {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .ctr-sp {
    text-align: center;
  }
}

/*==================================================

** display
==================================================*/
.pc,
.pc-tab,
.tab,
.tab-sp,
.sp {
  display: none;
}

@media screen and (min-width: 992px) {
  .pc {
    display: revert;
  }
}
@media screen and (min-width: 768px) {
  .pc-tab {
    display: revert;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .tab {
    display: revert;
  }
}
@media screen and (max-width: 991px) {
  .tab-sp {
    display: revert;
  }
}
@media screen and (max-width: 767px) {
  .sp {
    display: revert;
  }
}
/*==================================================

** click
==================================================*/
.clickoff {
  pointer-events: none;
}
@media screen and (min-width: 992px) {
  .clickoff-pc {
    pointer-events: none;
  }
}
@media screen and (min-width: 768px) {
  .clickoff-pc-tab {
    pointer-events: none;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .clickoff-tab {
    pointer-events: none;
  }
}
@media screen and (max-width: 991px) {
  .clickoff-tab-sp {
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .clickoff-sp {
    pointer-events: none;
  }
}

/*==================================================

** wordpress
==================================================*/
/* figure float */
.alignleft {
  float: left;
  display: inline;
  margin-right: 20px;
}

.alignright {
  float: right;
  display: inline;
  margin-left: 20px;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .alignleft,
  .alignright,
  .aligncenter {
    float: none;
    display: block;
    margin: 20px 0 0;
  }
}
/* clearfix */
.clear:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
}

/*
**
** 案件共有css
** page common
** custom posttype common
** 
*/
/*==================================================

** page common
==================================================*/
.sitewrap .en {
  font: normal normal 700 1em/1.6 "Gantari", "Gantari", "IBM Plex Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}
.sitewrap .en-num {
  font: normal normal 400 1em/1.6 "Gabarito", "Gantari", "IBM Plex Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}
.sitewrap .mincho {
  font: normal normal 400 1em/1.6 YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "MS PMincho", "MS 明朝", serif;
}
.sitewrap .gothic {
  font: normal normal 400 1em/1.6 "Gantari", "IBM Plex Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}
.main .mt-0 {
  margin-top: 0;
}
.main .pagespace-top {
  padding-top: 190px;
}
.main .pagespace-btm {
  padding-bottom: 90px;
}
.main .stroke-ptn1 {
  font: normal normal 700 8rem/1.6 "Gantari", "Gantari", "IBM Plex Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  color: transparent;
  line-height: 1;
  -webkit-text-stroke: 1px #ef363c;
  text-stroke: 1px #ef363c;
  letter-spacing: normal;
}
.main .txtbox > :first-child {
  margin-top: 0;
}
.main .scrollbox {
  overflow-x: auto;
}
.main .scrollbox > :first-child {
  margin-top: 0;
}
.main .scrollbox table th, .main .scrollbox table td {
  display: table-cell !important;
}
.main .inner-ptn1 {
  max-width: 800px;
  margin-inline: auto;
}
.main .link-btn-a {
  display: block;
  line-height: 1.6;
}
.main .link-more-a {
  display: flex;
  align-items: center;
  min-height: 24px;
  padding-right: 30px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: #656565;
  position: relative;
  white-space: nowrap;
}
.main .link-more-a::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1;
  background: currentColor;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px"><path fill-rule="evenodd" fill="black" d="M24.000,47.1000 C10.745,47.1000 -0.000,37.254 -0.000,23.1000 C-0.000,10.745 10.745,0.001 24.000,0.001 C37.255,0.001 48.000,10.745 48.000,23.1000 C48.000,37.254 37.255,47.1000 24.000,47.1000 ZM24.000,3.200 C12.531,3.200 3.200,12.531 3.200,23.1000 C3.200,35.469 12.531,44.800 24.000,44.800 C35.469,44.800 44.800,35.469 44.800,23.1000 C44.800,12.531 35.469,3.200 24.000,3.200 ZM20.199,34.850 C19.904,35.088 19.551,35.200 19.201,35.200 C18.730,35.200 18.266,34.995 17.949,34.601 C17.398,33.909 17.510,32.903 18.199,32.351 L28.639,24.001 L18.199,15.649 C17.510,15.096 17.398,14.088 17.949,13.399 C18.502,12.714 19.510,12.597 20.199,13.149 L32.199,22.752 C32.578,23.056 32.799,23.515 32.799,24.001 C32.799,24.487 32.578,24.947 32.199,25.250 L20.199,34.850 Z"/></svg>') no-repeat center center/contain;
  position: absolute;
  right: 0;
  top: 0;
}
.main .link-more-a:hover {
  color: #ef363c;
}
.main .link-more-a.back {
  padding-right: 0;
  padding-left: 30px;
}
.main .link-more-a.back::before {
  right: auto;
  left: 0;
  transform: scaleX(-1);
}
.main .link-txt {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.main .link-txt:hover {
  text-decoration: none;
}
.main .pdfbtn {
  margin-top: 20px;
}
.main .pdfbtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: #fb654d;
  color: #fff;
  padding-block: 11px 9px;
  padding-inline: 13px 43px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: normal;
  position: relative;
}
.main .pdfbtn a::after {
  content: "";
  display: block;
  width: 21px;
  aspect-ratio: 1;
  background: currentColor;
  mask: url(../img/common/ico_pdf.svg) no-repeat center center/contain;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
}
.main .pdfbtn a:hover {
  background: #ef363c;
}
@media screen and (max-width: 767px) {
  .main .pagespace-top {
    padding-top: 80px;
  }
  .main .pagespace-btm {
    padding-bottom: 45px;
  }
  .main .stroke-ptn1 {
    font-size: 4.8rem;
  }
  .main .scrollbox {
    margin-right: -5.5%;
    display: flex;
  }
  .main .scrollbox:after {
    content: "";
    display: block;
    padding-right: 5.5%;
  }
  .main .inner-ptn1 {
    max-width: 100%;
  }
  .main .link-more {
    justify-content: center;
  }
  .main .link-more-a {
    flex-direction: column;
    justify-content: center;
    min-height: auto;
    padding-right: 0;
    font-size: 1.1rem;
    text-align: center;
    gap: 5px 0;
  }
  .main .link-more-a::before {
    width: 32px;
    position: static;
  }
  .main .link-more-a.back {
    padding-left: 0;
  }
}

/*==================================================

** custom posttype common
==================================================*/
.main .art-body > :first-child {
  margin-top: 0;
}
.main .art-body::after {
  clear: both;
  content: "";
  display: block;
  height: 0;
}
.main .art-body ol > li {
  position: relative;
}
.main .art-body ol > li::before {
  content: counter(number, decimal-leading-zero) ".";
  position: absolute;
  left: 0;
  top: 0;
}
.main .art-body .scrollbox {
  margin-top: 0;
}
.main .art-body .scrollbox table {
  min-width: 100%;
}
.main .art-body video,
.main .art-body iframe {
  margin-top: 48px;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}
.main .art-body .wp-video {
  margin-top: 48px;
}
.main .art-body .wp-video > :first-child {
  margin-top: 0;
}
.main .pager {
  margin: 50px 0 0;
}
.main .pager ul, .main .pager ol {
  margin: 0;
  display: flex;
  gap: 0;
}
.main .pager ul li, .main .pager ol li {
  width: 44px;
}
.main .pager a, .main .pager span {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #ccc;
  color: #ccc;
  text-align: center;
  position: relative;
}
.main .pager a:hover,
.main .pager span {
  background: #ccc;
  color: #fff;
}
.main .pager .current span {
  background: #f5f5f5;
}
/* アニメーションの初期状態（透明にして、20px下に配置） */
.fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out; /* 0.6秒でスムーズに変化 */
}

/* アニメーション発動時の状態（JavaScriptでこのクラスが追加されます） */
.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}
