@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
** 
*/
/* アニメーションの初期状態（透明にして、20px下に配置） */
.fade-up {
  opacity: 0;
  filter: blur(4px);
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}

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

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

** page common
==================================================*/
.sitewrap .en {
  font: normal normal 700 1em/1.6 "Gantari", YakuHanJP, "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", YakuHanJP, "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 YakuHanJP, YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "MS PMincho", "MS 明朝", serif;
}
.sitewrap .gothic {
  font: normal normal 400 1em/1.6 YakuHanJP, "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: 250px;
}
.main .pagespace-btm {
  padding-bottom: 130px;
}
.main .arc {
  position: relative;
  z-index: 1;
}
.main .arc-wrap {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: grid;
  grid-template-rows: 207px 1fr 207px;
  color: black;
}
.main .arc-top {
  background: currentColor;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="5400px" height="414px" viewBox="0 0 5400 414" preserveAspectRatio="none"><path fill-rule="evenodd" fill="black" d="M-0.000,412.066 C852.342,144.359 1759.309,0.900 2699.1000,0.900 C3640.692,0.900 4547.658,144.359 5400.000,412.066 L5400.000,413.999 L-0.000,413.999 L-0.000,412.066 Z"/></svg>') no-repeat center top/2700px auto;
}
.main .arc-mid {
  background: currentColor;
}
.main .arc-btm {
  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="5400px" height="414px" preserveAspectRatio="none"><path fill-rule="evenodd"  fill="black" d="M-0.000,1.934 C852.342,269.641 1759.309,413.1000 2699.1000,413.1000 C3640.692,413.1000 4547.658,269.641 5400.000,1.934 L5400.000,0.001 L-0.000,0.001 L-0.000,1.934 Z"/></svg>') no-repeat center bottom/2700px auto;
}
.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-txt {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.main .link-txt:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .main .pagespace-top {
    padding-top: 130px;
  }
  .main .pagespace-btm {
    padding-bottom: 70px;
  }
  .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;
  }
}

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

** 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;
}
