@charset "UTF-8";

/*=============================================
 * HOME
*=============================================*/
.mv-fix {
   width: 100%;
   height: 100vh;
   position: fixed;
   top: 0;
   left: 0;
   z-index: -1;
}

.mv-fix .slider {
   width: 100%;
   height: 100%;
}

.mv-fix .slider .slick-list,
.mv-fix .slider .slick-track,
.mv-fix .slider .slick-slide {
   width: 100%;
   height: 100%;
}

.mv-fix .overlay {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   background-color: #3F4142;
   opacity: 0.4;
}

#mv {
   display: flex;
   align-items: center;
   width: 100%;
   height: calc(100vh - 104px);
   position: relative;
   box-sizing: border-box;
   color: #fff;
}

#mv h2 {
   max-width: 540px;
}

#mv .txt {
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.06em;
   line-height: 40px;
   padding-top: 20px;
}

.btn-scroll {
   cursor: pointer;
   padding-bottom: 305px;
   transition: all 0.3s;
   font-weight: 400;
   font-size: 12px;
   line-height: 14px;
   color: #C7C7C7;
   position: relative;
   margin: 0 auto;
   padding-bottom: 70px;
}

.btn-scroll .txt-vertical {
   width: 12px;
   height: 65px;
   cursor: inherit;
}

.btn-scroll .txt-latin {
   cursor: inherit;
}

.btn-scroll .border {
   width: 1px;
   height: 62px;
   background-color: #C7C7C7;
   position: absolute;
   bottom: 0;
   left: 40%;
}

.btn-scroll .border:before {
   content: '';
   width: 100%;
   height: 100%;
   background-color: #000;
   position: absolute;
   top: 0;
   left: 0;
   animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

.btn-scroll:hover {
   opacity: 0.7;
}

@keyframes sdl01 {
   0% {
      transform: scale(1, 0);
      transform-origin: 0 0;
   }

   50% {
      transform: scale(1, 1);
      transform-origin: 0 0;
   }

   50.1% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
   }

   100% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
   }
}

@media screen and (max-width: 767px) {
   #mv .txt {
      font-size: 16px;
      line-height: 2;
      padding-top: 40px;
   }

   .btn-scroll {
      padding-bottom: 60px;
   }
}

/* -- --*/
#top__problem {
   padding: 90px 0;
   position: relative;
}

#top__problem .wrap {
   background-color: rgba(245, 246, 247, 0.9);
   padding: 75px 95px;
}

#top__problem h2 {
   letter-spacing: 0.04em;
}

#top__problem .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 50px;
}

#top__problem .box dl dt {
   width: 95px;
   margin: 0 auto;
}

#top__problem .box dl dd {
   letter-spacing: 0.04em;
   line-height: 30px;
   padding-top: 20px;
}

#top__problem .arrow {
   padding-top: 65px;
}

#top__problem .catch {
   padding-top: 20px;
}

#top__problem .button {
   padding-top: 40px;
}

#top__problem .button a {
   gap: 5px;
   height: 50px;
   font-weight: 700;
}

#top__problem .button a:before {
   content: '';
   width: 23px;
   height: 18px;
   background: url("../img/common/icon-mail-wh.webp") no-repeat center/100% auto;
   display: block;
}

#top__problem .button a:after {
   display: none;
}

@media screen and (max-width: 767px) {
   #top__problem {
      padding: 120px 20px 80px;
   }

   #top__problem .wrap {
      padding: 60px 20px;
   }

   #top__problem h2 {
      font-size: 28px;
      line-height: 40px;
   }

   #top__problem .box {
      grid-template-columns: 1fr;
      gap: 40px;
      padding-top: 40px;
   }

   #top__problem .catch {
      font-size: 20px;
      line-height: 36px;
      padding-top: 40px;
   }

   #top__problem .button a {
      min-width: inherit;
      font-size: 20px;
   }
}

/* -- --*/
#top__solution {
   background-color: #fff;
   position: relative;
   padding: 180px 0 240px;
}

#top__solution .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 40px;
   padding-top: 60px;
}

#top__solution .box h3 {
   padding-top: 16px;
}

#top__solution .box .txt {
   font-weight: 400;
   padding-top: 16px;
}

@media screen and (max-width: 1023px) {
   #top__solution .box {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 767px) {
   #top__solution {
      padding: 80px 0;
   }

   #top__solution .box {
      grid-template-columns: 1fr;
      padding-top: 40px;
   }

   #top__solution .box h3 {
      font-size: 18px;
   }
}

/* -- --*/
#top__service {
   background-color: #F5F6F7;
   padding: 90px 0 210px;
   position: relative;
}

#top__service .box {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;
   padding-top: 60px;
}

#top__service .box .col {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 20px;
   background-color: #fff;
   padding: 30px;
}

#top__service .box h3 {
   width: 100%;
}

#top__service .box figure {
   width: calc(50% - 20px);
}

#top__service .box .txt {
   width: 50%;
   font-weight: 500;
}

#top__service .button {
   padding-top: 80px;
}

@media screen and (max-width: 1023px) {
   #top__service .box .col {
      flex-direction: column;
      flex-wrap: nowrap;
   }

   #top__service .box .txt,
   #top__service .box figure {
      width: 100%;
   }
}

@media screen and (max-width: 767px) {
   #top__service {
      padding: 80px 0;
   }

   #top__service .box {
      grid-template-columns: 1fr;
      padding-top: 40px;
   }

   #top__service .box .col {
      gap: 16px;
      padding: 20px;
   }

   #top__service .button {
      padding-top: 40px;
   }
}

/* -- --*/
#top__reason {
   background-image: url("../img/index/reason-bg.webp");
   position: relative;
   padding: 120px 0;
}

#top__reason h2 {
   color: #fff;
   padding-bottom: 60px;
}

#top__reason h2 .sub {
   color: #fff;
}

#top__reason .box {
   display: flex;
   align-items: center;
   background-color: #fff;
}

#top__reason .box figure {
   width: 50%;
}

#top__reason .box .col {
   width: 50%;
   padding: 20px;
   box-sizing: border-box;
}

#top__reason .box h3,
#top__reason .box .txt {
   max-width: 400px;
   margin: 0 auto;
}

#top__reason .box .txt {
   padding-top: 20px;
}

#top__reason .box.img-r {
   flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
   #top__reason {
      padding: 80px 0;
   }

   #top__reason h2 {
      padding-bottom: 0;
   }

   #top__reason .box {
      flex-direction: column;
      margin-top: 40px;
   }

   #top__reason .box.img-r {
      flex-direction: column;
   }

   #top__reason .box .col,
   #top__reason .box figure {
      width: 100%;
   }

   #top__reason .box h3 {
      font-size: 20px;
   }
}

/* -- --*/
#top__news {
   background-color: #F5F6F7;
   padding-top: 180px;
}

#top__news .news__list {
   padding-top: 60px;
}

#top__news .news__list time {
   font-size: 14px;
}

#top__news .news__list .ttl {
   font-size: 16px;
   line-height: 32px;
}

#top__news .button {
   padding-top: 30px;
   position: relative;
   top: 30px;
}

@media screen and (max-width: 767px) {
   #top__news {
      padding: 80px 0;
   }

   #top__news .news__list {
      gap: 20px;
      padding-top: 40px;
   }

   #top__news .news__list .item {
      border: 0;
   }

   #top__news .news__list figure.no-img a {
      border: 1px solid #769CBF;
   }

   #top__news .news__list .text a {
      padding: 20px;
   }

   #top__news .button {
      padding-top: 40px;
      top: 0;
   }
}

/* -- --*/
#top__voice {
   background-color: #fff;
   padding: 220px 0 180px;
}

#top__voice .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 70px;
}

#top__voice .box .item {
   background-color: #F5F6F7;
   padding: 30px;
}

#top__voice .box figure {
   text-align: center;
}

#top__voice .box figure img {
   max-width: 81px;
}

#top__voice .box figcaption {
   font-weight: 700;
   font-size: 12px;
   line-height: 17px;
   padding-top: 5px;
}

#top__voice .box .txt {
   font-weight: 700;
   padding-top: 20px;
}

@media screen and (max-width: 1023px) {
   #top__voice .box .item {
      padding: 20px;
   }
}

@media screen and (max-width: 767px) {
   #top__voice {
      padding: 80px 0;
   }

   #top__voice .box {
      grid-template-columns: 1fr;
      gap: 20px;
      padding-top: 40px;
   }

   #top__voice .box .item {
      padding: 30px;
   }
}

/* -- --*/
#top__faq {
   background-color: #F5F6F7;
   padding: 120px 0;
   position: relative;
}

#top__faq .box .item {
   background-color: #fff;
   border: 1px solid #2D6DA8;
   margin-top: 60px;
}

#top__faq .box .txt-q {
   display: grid;
   grid-template-columns: 40px 1fr;
   align-items: center;
   gap: 16px;
   position: relative;
   background-color: #2D6DA8;
   color: #fff;
   padding: 13px 60px;
}

#top__faq .box .txt-q:before {
   content: '';
   display: block;
   width: 40px;
   height: 40px;
   background: url("../img/common/icon-q.webp") no-repeat center left/100% auto;
}

#top__faq .box .txt-a {
   display: grid;
   grid-template-columns: 40px 1fr;
   align-items: center;
   gap: 10px;
   padding: 30px 60px;
   position: relative;
   line-height: 36px;
}

#top__faq .box .txt-a:before {
   content: '';
   display: block;
   width: 40px;
   height: 40px;
   background: url("../img/common/icon-a.webp") no-repeat center left/100% auto;
}

#top__faq .button {
   padding-top: 80px;
}

@media screen and (max-width: 1023px) {

   #top__faq .box .txt-q,
   #top__faq .box .txt-a {
      padding-right: 20px;
      padding-left: 20px;
   }
}

@media screen and (max-width: 767px) {
   #top__faq {
      padding: 80px 0;
   }

   #top__faq .box {
      padding-top: 20px;
   }

   #top__faq .box .item {
      margin-top: 20px;
   }

   #top__faq .box .txt-q {
      grid-template-columns: 30px 1fr;
      gap: 10px;
      padding: 10px 20px;
      font-size: 16px;
      line-height: 24px;
   }

   #top__faq .box .txt-q:before {
      width: 30px;
      height: 30px;
   }

   #top__faq .box .txt-a {
      grid-template-columns: 30px 1fr;
      align-items: flex-start;
      gap: 10px;
      padding: 10px 20px;
      font-size: 16px;
      line-height: 28px;
   }

   #top__faq .box .txt-a:before {
      width: 30px;
      height: 30px;
   }
}

/*=============================================
 * 不動産売却について
*=============================================*/
[id*='about__sec'] {
   padding-top: 180px;
}

[id*='about__sec'] h2 {
   border-bottom: 3px solid #2D6DA8;
   padding-bottom: 10px;
}

[id*='about__sec'] .desc {
   line-height: 48px;
   padding-top: 20px;
}

[id*='about__sec'] .block {
   background-color: #F5F6F7;
   margin-top: 30px;
   padding: 60px;
}

[id*='about__sec'] .block .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 30px;
}

[id*='about__sec'] .block .box .col {
   background-color: #fff;
   padding: 35px 25px;
}

[id*='about__sec'] .block .box h4 {
   text-align: center;
}

[id*='about__sec'] .block .box figure {
   height: 100px;
   text-align: center;
   padding-top: 15px;
}

[id*='about__sec'] .block .box figure img {
   max-width: inherit;
   max-height: 100%;
}

[id*='about__sec'] .block .box .txt {
   font-weight: 500;
   line-height: 36px;
   padding-top: 20px;
}

[id*='about__sec'] .note {
   display: grid;
   grid-template-columns: 82px 1fr;
   line-height: 48px;
   padding-top: 40px;
}

[id*='about__sec'] .box-cta {
   max-width: 1040px;
   background-color: #2D6DA8;
   color: #fff;
   margin: 180px auto 0;
   padding: 40px 40px;
   box-sizing: border-box;
}

[id*='about__sec'] .box-cta .sub {
   line-height: 36px;
   padding-top: 20px;
}

[id*='about__sec'] .box-cta .button {
   padding-top: 40px;
}

[id*='about__sec'] .box-cta .button a {
   background-color: #F8C625;
   color: #060F17;
}

[id*='about__sec'] .box-cta .button a:after {
   background-image: url("../img/common/arrow-right.webp");
}

[id*='about__sec'] .box-cta .button a:hover {
   opacity: 0.5;
}

#about__sec2 .block .box {
   grid-template-columns: repeat(2, 1fr);
}

#about__sec3 {
   padding-bottom: 180px;
}

@media screen and (max-width: 1200px) {
   [id*='about__sec'] .block {
      padding: 60px 30px;
   }

   [id*='about__sec'] .box-cta {
      padding: 60px 20px;
   }
}

@media screen and (max-width: 1023px) {
   [id*='about__sec'] .block .box {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 767px) {
   [id*='about__sec'] {
      padding-top: 80px;
   }

   [id*='about__sec'] .desc {
      font-size: 15px;
      line-height: 30px;
      padding-top: 20px;
   }

   [id*='about__sec'] .block {
      border-radius: 0;
      margin: 30px -20px 0;
      padding: 40px 20px;
   }

   [id*='about__sec'] .block h3 {
      font-size: 24px;
      line-height: 35px;
   }

   [id*='about__sec'] .block .box {
      grid-template-columns: 1fr;
      gap: 20px;
      padding-top: 40px;
   }

   [id*='about__sec'] .block .box .txt {
      line-height: 32px;
   }

   [id*='about__sec'] .note {
      grid-template-columns: 1fr;
      font-weight: 500;
      font-size: 15px;
      line-height: 30px;
      padding: 40px 25px 0;
   }

   [id*='about__sec'] .note span {
      font-weight: 700;
   }

   [id*='about__sec'] .box-cta {
      margin-top: 80px;
      padding: 30px 30px;
      text-align: left;
   }

   [id*='about__sec'] .box-cta .in {
      max-width: 225px;
      margin: 0 auto;
   }

   [id*='about__sec'] .box-cta h3 {
      text-align: left;
      font-size: 24px;
      line-height: 35px;
   }

   [id*='about__sec'] .box-cta .sub {
      font-size: 14px;
      line-height: 24px;
   }

   [id*='about__sec'] .box-cta .button {
      padding-top: 20px;
   }

   [id*='about__sec'] .box-cta .button a {
      gap: 10px;
      min-width: 100%;
      padding: 0 25px;
   }

   #about__sec1 {
      padding-top: 40px;
   }

   #about__sec2 .block .box {
      grid-template-columns: 1fr;
   }

   #about__sec3 {
      padding-bottom: 120px;
   }
}

/*=============================================
 * ご相談の流れ
*=============================================*/
#flow__sec1,
#flow__sec2 {
   padding-top: 120px;
}

#flow__sec1 h2,
#flow__sec2 h2 {
   text-indent: -26px;
}

#flow__sec1 h2 span,
#flow__sec2 h2 span {
   display: block;
   padding-bottom: 10px;
}

#flow__sec1 h2+h3,
#flow__sec2 h2+h3 {
   padding-top: 20px;
}

#flow__sec1 .desc,
#flow__sec2 .desc {
   padding-top: 40px;
}

#flow__sec1 .flow-list,
#flow__sec2 .flow-list {
   background-color: #2D6DA8;
   color: #fff;
   margin-top: 20px;
   padding: 45px 45px;
}

#flow__sec1 .js-scrollable,
#flow__sec2 .js-scrollable {
   padding-top: 40px;
}

#flow__sec1 .js-scrollable table,
#flow__sec2 .js-scrollable table {
   width: 100%;
   min-width: 1160px;
   border-collapse: separate;
}

#flow__sec1 .js-scrollable table th,
#flow__sec1 .js-scrollable table td,
#flow__sec2 .js-scrollable table th,
#flow__sec2 .js-scrollable table td {
   padding: 16px 20px;
   text-align: left;
   vertical-align: middle;
   border: 1px solid #769CBF;
}

#flow__sec1 .js-scrollable table thead th,
#flow__sec2 .js-scrollable table thead th {
   background-color: #2D6DA8;
   color: #fff;
}

#flow__sec1 .js-scrollable table thead th:first-child,
#flow__sec2 .js-scrollable table thead th:first-child {
   width: 20%;
}

#flow__sec1 .js-scrollable table thead th:last-child,
#flow__sec2 .js-scrollable table thead th:last-child {
   width: 31%;
}

#flow__sec1 .js-scrollable table tbody td small,
#flow__sec2 .js-scrollable table tbody td small {
   font-size: 15px;
}

#flow__sec1 .box-points,
#flow__sec2 .box-points {
   border: 3px solid #2D6DA8;
   margin-top: 40px;
   padding: 40px 55px;
}

#flow__sec1 .box-points ul,
#flow__sec2 .box-points ul {
   line-height: 30px;
   padding-top: 30px;
}

#flow__sec1 .box-points ul li,
#flow__sec2 .box-points ul li {
   background: url("../img/common/icon-checked.png") no-repeat top left/30px auto;
   padding-left: 40px;
}

#flow__sec1 .box-points ul li:not(:last-child),
#flow__sec2 .box-points ul li:not(:last-child) {
   padding-bottom: 20px;
}

#flow__sec1 .benefits,
#flow__sec2 .benefits {
   background-color: #F5F6F7;
   margin-top: 40px;
   padding: 50px 60px;
}

#flow__sec1 .benefits .box,
#flow__sec2 .benefits .box {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;
   padding-top: 40px;
}

#flow__sec1 .benefits .box .col,
#flow__sec2 .benefits .box .col {
   background-color: #fff;
   padding: 50px;
}

#flow__sec1 .benefits .box h4,
#flow__sec2 .benefits .box h4 {
   display: grid;
   grid-template-columns: 32px 1fr;
   align-items: center;
   gap: 10px;
}

#flow__sec1 .benefits .box h4 .no,
#flow__sec2 .benefits .box h4 .no {
   width: 32px;
   height: 32px;
   background-color: #2D6DA8;
   color: #fff;
   border-radius: 50%;
   font-weight: 700;
   font-size: 23px;
   line-height: 32px;
   letter-spacing: 0;
   text-align: center;
}

#flow__sec1 .benefits .box .txt,
#flow__sec2 .benefits .box .txt {
   padding-top: 20px;
}

#flow__sec1 hr,
#flow__sec2 hr {
   border-bottom: 2px solid #769CBF;
   margin-top: 120px;
}

@media screen and (max-width: 1023px) {

   #flow__sec1 .benefits .box .txt br.pc,
   #flow__sec2 .benefits .box .txt br.pc {
      display: none;
   }
}

@media screen and (max-width: 767px) {

   #flow__sec1,
   #flow__sec2 {
      padding-top: 50px;
   }

   #flow__sec1 h2,
   #flow__sec2 h2 {
      text-indent: -17px;
   }

   #flow__sec1 h3.h-28,
   #flow__sec2 h3.h-28 {
      font-size: 24px;
      line-height: 35px;
   }

   #flow__sec1 .desc,
   #flow__sec2 .desc {
      font-size: 15px;
      line-height: 30px;
      padding-top: 20px;
   }

   #flow__sec1 .flow-list,
   #flow__sec2 .flow-list {
      border-radius: 0;
      margin: 20px -20px 0;
      padding: 36px 15px 60px;
      position: relative;
   }

   #flow__sec1 .flow-list h3,
   #flow__sec2 .flow-list h3 {
      font-size: 28px;
      line-height: 40px;
      padding-bottom: 40px;
   }

   #flow__sec1 .flow-list .slider_sp,
   #flow__sec2 .flow-list .slider_sp {
      width: 175px;
      margin: 0 auto;
      text-align: center;
      position: static;
   }

   #flow__sec1 .flow-list .slider_sp .slick-arrow,
   #flow__sec2 .flow-list .slider_sp .slick-arrow {
      background-color: transparent;
      width: 0;
      height: 0;
      border-width: 30px 0;
      border-color: transparent;
      border-style: solid;
      position: absolute;
      top: 58%;
      transform: translateY(-50%);
      z-index: 1;
      font-size: 0;
   }

   #flow__sec1 .flow-list .slider_sp .slick-arrow.slick-disabled,
   #flow__sec2 .flow-list .slider_sp .slick-arrow.slick-disabled {
      opacity: 0.7;
   }

   #flow__sec1 .flow-list .slider_sp .slick-prev,
   #flow__sec2 .flow-list .slider_sp .slick-prev {
      left: 15px;
      border-right-width: 24px;
      border-right-color: #F8C625;
   }

   #flow__sec1 .flow-list .slider_sp .slick-next,
   #flow__sec2 .flow-list .slider_sp .slick-next {
      right: 15px;
      border-left-width: 24px;
      border-left-color: #F8C625;
   }

   #flow__sec1 .flow-list .slider_sp .slick-list,
   #flow__sec2 .flow-list .slider_sp .slick-list {
      margin: 0 -10px;
   }

   #flow__sec1 .flow-list .slider_sp .item,
   #flow__sec2 .flow-list .slider_sp .item {
      margin: 0 10px;
   }

   #flow__sec1 .flow-list .slider_sp .item .no,
   #flow__sec2 .flow-list .slider_sp .item .no {
      font-size: 18px;
   }

   #flow__sec1 .flow-list .slider_sp .item .no span,
   #flow__sec2 .flow-list .slider_sp .item .no span {
      font-size: 36px;
   }

   #flow__sec1 .flow-list .slider_sp .item figure,
   #flow__sec2 .flow-list .slider_sp .item figure {
      padding-top: 10px;
   }

   #flow__sec1 .flow-list .slider_sp .item .ttl,
   #flow__sec2 .flow-list .slider_sp .item .ttl {
      padding-top: 5px;
   }

   #flow__sec1 .box-points,
   #flow__sec2 .box-points {
      margin-top: 20px;
      padding: 30px 16px;
   }

   #flow__sec1 .box-points h3,
   #flow__sec2 .box-points h3 {
      font-size: 24px;
      line-height: 35px;
   }

   #flow__sec1 .box-points ul,
   #flow__sec2 .box-points ul {
      font-size: 15px;
      line-height: 30px;
      padding-top: 20px;
   }

   #flow__sec1 .box-points ul li,
   #flow__sec2 .box-points ul li {
      background-size: 20px auto;
      background-position: top 6px left;
      padding-left: 25px;
   }

   #flow__sec1 .benefits,
   #flow__sec2 .benefits {
      margin: 20px -20px 0;
      padding: 40px 20px;
   }

   #flow__sec1 .benefits .box,
   #flow__sec2 .benefits .box {
      grid-template-columns: 1fr;
      gap: 20px;
   }

   #flow__sec1 .benefits .box .col,
   #flow__sec2 .benefits .box .col {
      padding: 30px;
   }

   #flow__sec1 .benefits .box h4,
   #flow__sec2 .benefits .box h4 {
      grid-template-columns: 28px 1fr;
      align-items: flex-start;
      gap: 5px;
      font-size: 20px;
      line-height: 30px;
   }

   #flow__sec1 .benefits .box h4 .no,
   #flow__sec2 .benefits .box h4 .no {
      width: 28px;
      height: 28px;
      font-size: 22px;
      line-height: 28px;
   }

   #flow__sec1 .benefits .box .txt,
   #flow__sec2 .benefits .box .txt {
      font-size: 15px;
      line-height: 30px;
   }

   #flow__sec1 hr,
   #flow__sec2 hr {
      margin-top: 80px;
      margin-bottom: 30px;
   }
}

@media screen and (min-width: 768px) {

   #flow__sec1 .flow-list .slider_sp,
   #flow__sec2 .flow-list .slider_sp {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 10px;
      padding-top: 40px;
      text-align: center;
   }

   #flow__sec1 .flow-list .slider_sp .item,
   #flow__sec2 .flow-list .slider_sp .item {
      width: 174px;
      position: relative;
   }

   #flow__sec1 .flow-list .slider_sp .item:not(:last-child),
   #flow__sec2 .flow-list .slider_sp .item:not(:last-child) {
      padding-right: 40px;
   }

   #flow__sec1 .flow-list .slider_sp .item:not(:last-child):after,
   #flow__sec2 .flow-list .slider_sp .item:not(:last-child):after {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-width: 30px 0 30px 24px;
      border-color: transparent transparent transparent #F8C625;
      border-style: solid;
      position: absolute;
      top: calc(55% - 30px);
      right: 0;
   }

   #flow__sec1 .flow-list .slider_sp .ttl,
   #flow__sec2 .flow-list .slider_sp .ttl {
      padding-top: 5px;
   }

   #flow__sec2 .flow-list .slider_sp {
      gap: 10px;
   }

   #flow__sec2 .flow-list .slider_sp .item:not(:last-child) {
      padding-right: 40px;
   }
}

@media screen and (min-width: 1201px) {
   #flow__sec2 .flow-list .slider_sp {
      gap: 35px;
   }

   #flow__sec2 .flow-list .slider_sp .item:not(:last-child) {
      padding-right: 65px;
   }
}

/* -- --*/
#flow__sec3 {
   padding: 120px 0;
}

#flow__sec3 .js-scrollable {
   padding-top: 60px;
}

#flow__sec3 .js-scrollable table {
   width: 100%;
   min-width: 1160px;
   border-collapse: separate;
}

#flow__sec3 .js-scrollable table th,
#flow__sec3 .js-scrollable table td {
   padding: 25px 20px;
   text-align: center;
   border: 1px solid #769CBF;
}

#flow__sec3 .js-scrollable table thead th {
   background-color: #2D6DA8;
   color: #fff;
}

#flow__sec3 .js-scrollable table tbody th {
   background-color: #E3E5E8;
   text-align: left;
}

@media screen and (max-width: 767px) {
   #flow__sec3 {
      padding: 50px 0 80px;
   }

   #flow__sec3 .js-scrollable {
      padding-top: 40px;
   }
}

/*=============================================
 * 会社概要
*=============================================*/
#company__message {
   padding: 120px 0;
}

#company__message .box {
   /*display: grid;
   grid-template-columns: 340px 1fr;
   align-items: center;
   gap: 40px;*/
   padding-top: 60px;
}

#company__message .box figure {
   display: none;
}

#company__message .box .txt {
   line-height: 36px;
}

#company__message .box .txt p+p {
   padding-top: 40px;
}

@media screen and (max-width: 1023px) {
   #company__message .box {
      grid-template-columns: 1fr;
   }

   #company__message .box figure {
      width: 340px;
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   #company__message {
      padding: 45px 0 85px;
   }

   #company__message h2 {
      text-align: center;
   }

   #company__message .box {
      gap: 20px;
      padding-top: 40px;
   }

   #company__message .box figure {
      width: 100%;
   }

   #company__message .box .txt {
      font-size: 16px;
   }
}

/* -- -- */
#company__staff {
   display: none;
   padding-bottom: 180px;
}

#company__staff .box {
   display: grid;
   grid-template-columns: 366px 1fr;
   gap: 40px;
   padding-top: 60px;
}

#company__staff .box figure img {
   border-radius: 20px;
}

#company__staff .box .name {
   font-size: 14px;
}

#company__staff .box .txt {
   padding-top: 40px;
}

#company__staff .box .txt p+p {
   padding-top: 40px;
}

@media screen and (max-width: 1023px) {
   #company__staff .box {
      grid-template-columns: 1fr;
   }

   #company__staff .box figure {
      width: 366px;
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   #company__staff {
      padding-bottom: 85px;
   }

   #company__staff h2 {
      text-align: center;
   }

   #company__staff .box {
      gap: 20px;
      padding-top: 40px;
   }

   #company__staff .box figure {
      width: 100%;
   }

   #company__staff .box .name span {
      font-size: 28px;
      line-height: 36px;
   }

   #company__staff .box .txt {
      font-size: 16px;
      line-height: 32px;
      padding-top: 20px;
   }
}

/* -- -- */
#company__profile {
   padding-bottom: 180px;
}

#company__profile .tb-info {
   padding-top: 60px;
}

#company__profile .tb-info dl {
   display: table;
   width: 100%;
}

#company__profile .tb-info dl dt,
#company__profile .tb-info dl dd {
   display: table-cell;
   vertical-align: middle;
   padding: 25px 20px;
   box-sizing: border-box;
   border: 1px solid #25271F;
}

#company__profile .tb-info dl dt {
   width: 30%;
   background-color: #E3E5E8;
}

@media screen and (max-width: 767px) {
   #company__profile {
      padding-bottom: 85px;
   }

   #company__profile h2 {
      text-align: center;
   }

   #company__profile .tb-info {
      font-size: 16px;
      line-height: 36px;
      padding-top: 40px;
   }

   #company__profile .tb-info dl dt,
   #company__profile .tb-info dl dd {
      padding: 21px 20px;
   }

   #company__profile .tb-info dl dt {
      width: 39%;
   }

   #company__profile .tb-info dl dd {
      padding-right: 10px;
      padding-left: 10px;
   }

   #company__profile .tb-info dl:first-child dt {
      border-top-left-radius: 10px;
   }

   #company__profile .tb-info dl:first-child dd {
      border-top-right-radius: 10px;
   }

   #company__profile .tb-info dl:last-child dt {
      border-bottom-left-radius: 10px;
   }

   #company__profile .tb-info dl:last-child dd {
      border-bottom-right-radius: 10px;
   }
}

/* -- -- */
#company__access {
   background-color: #F5F6F7;
   padding: 80px 0 180px;
}

#company__access .gmap {
   height: 710px;
   min-height: inherit;
   margin-top: 60px;
}

#company__access .gmap iframe {
   display: block;
   width: 100%;
   height: 100%;
}

#company__access .box {
   display: flex;
   flex-wrap: wrap;
   gap: 20px 60px;
   background-color: #fff;
   margin-top: 40px;
   padding: 40px 120px;
}

#company__access .box h3 {
   width: 100%;
}

#company__access .box .col-l,
#company__access .box .col-r {
   width: calc(50% - 30px);
}

#company__access .box .col-l dl+dl {
   padding-top: 10px;
}

#company__access .box .col-l dl dd {
   padding-top: 5px;
}

#company__access .box .col-r dl+dl {
   padding-top: 20px;
}

#company__access .box .col-r dl dd {
   line-height: 36px;
   padding-top: 10px;
}

@media screen and (max-width: 1200px) {
   #company__access .box {
      gap: 20px;
      padding: 40px;
   }

   #company__access .box .col-l,
   #company__access .box .col-r {
      width: calc(50% - 10px);
   }
}

@media screen and (max-width: 1023px) {
   #company__access .wrap {
      padding: 0;
   }
}

@media screen and (max-width: 767px) {
   #company__access {
      padding: 35px 0 120px;
   }

   #company__access .wrap {
      padding: 0 10px;
   }

   #company__access .gmap {
      height: 245px;
      border-radius: 0;
      margin-top: 45px;
   }

   #company__access .box {
      gap: 20px;
      border-radius: 10px;
      margin: 20px 10px 0;
      padding: 30px 30px;
   }

   #company__access .box h3 {
      font-size: 24px;
      line-height: 36px;
   }

   #company__access .box .col-l,
   #company__access .box .col-r {
      width: 100%;
   }

   #company__access .box .col-l {
      font-size: 16px;
      line-height: 20px;
   }

   #company__access .box .col-l dl+dl {
      padding-top: 15px;
   }

   #company__access .box .col-r {
      padding-top: 20px;
   }

   #company__access .box .col-r dl+dl {
      padding-top: 20px;
   }

   #company__access .box .col-r dl dt {
      font-size: 18px;
      line-height: 36px;
   }

   #company__access .box .col-r dl dd {
      font-size: 16px;
      line-height: 32px;
      padding-top: 10px;
   }
}

/*=============================================
 * お問合せ
*=============================================*/
#contact__other {
   background-color: #F5F6F7;
   padding: 120px 0 60px;
}

#contact__other .wrap {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;
}

#contact__other .col {
   background-color: #fff;
   padding: 60px 30px;
}

#contact__other h3 img {
   display: block;
   max-width: 108px;
   margin: 0 auto 10px;
}

#contact__other .number,
#contact__other h4 {
   padding-top: 20px;
}

#contact__other .time,
#contact__other .txt {
   padding-top: 5px;
}

#contact__other .note {
   padding-top: 20px;
}

#contact__other .button {
   padding-top: 30px;
}

#contact__other .button a {
   justify-content: center;
   gap: 10px;
}

#contact__other .button a:after {
   display: none;
}

#contact__other .button a[href^="tel:"]:before {
   content: '';
   width: 20px;
   height: 25px;
   background: url("../img/common/icon-tel.png") no-repeat center top/100% auto;
   display: block;
}

#contact__other .button a[href="#contact__form"]:before {
   content: '';
   width: 23px;
   height: 18px;
   background: url("../img/common/icon-mail-wh.webp") no-repeat center top/100% auto;
   display: block;
}

@media screen and (max-width: 1200px) {
   #contact__other .col {
      padding: 60px 20px;
   }

   #contact__other .note {
      font-size: 14px;
   }
}

@media screen and (max-width: 1023px) {
   #contact__other .wrap {
      grid-template-columns: 560px;
      justify-content: center;
   }
}

@media screen and (max-width: 767px) {
   #contact__other {
      margin-top: 70px;
      padding: 120px 0 40px;
   }

   #contact__other .wrap {
      grid-template-columns: 100%;
   }

   #contact__other .col {
      padding: 30px 20px;
   }

   #contact__other h3 {
      font-size: 24px;
      line-height: 35px;
   }

   #contact__other h3 img {
      max-width: 75px;
   }

   #contact__other h4,
   #contact__other .number {
      font-size: 28px;
      line-height: 40px;
      padding-top: 20px;
   }

   #contact__other .txt,
   #contact__other .time {
      font-size: 16px;
      line-height: 32px;
      padding-top: 10px;
   }

   #contact__other .txt {
      text-align: left;
   }

   #contact__other .note {
      max-width: max-content;
      text-align: left;
      line-height: 28px;
      text-indent: -16px;
      padding-left: 16px;
      margin: 0 auto;
   }

   #contact__other .button {
      padding-top: 40px;
   }

   #contact__other .button a {
      min-width: inherit;
      padding: 0 40px;
   }
}

/* -- -- */
#contact__form {
   padding: 120px 0 180px;
}

#contact__form h2 {
   padding-bottom: 60px;
}

#contact__form .required {
   display: inline-block;
   background-color: #E75F59;
   color: #fff;
   width: 31px;
   font-weight: 700;
   font-size: 10px;
   line-height: 16px;
   border-radius: 2px;
   text-align: center;
}

#contact__form .form-wrap {
   max-width: 1040px;
   margin: 0 auto;
   padding: 60px 30px 70px;
   box-sizing: border-box;
   background-color: #F5F6F7;
}

#contact__form .form-group {
   max-width: 850px;
   background-color: #fff;
   box-shadow: 0 0 10px rgba(37, 39, 31, 0.16);
   margin: 0 auto;
   padding: 60px 60px 70px;
   box-sizing: border-box;
}

#contact__form .form-group+.form-group {
   margin-top: 60px;
}

#contact__form .form-group-1 {
   max-width: 730px;
   background-color: #fff;
   border: 3px solid #2D6DA8;
   padding: 40px 85px 50px;
   margin: 60px auto 0;
   box-sizing: border-box;
}

#contact__form .form-row {
   padding-top: 40px;
}

#contact__form .form-row .caption {
   display: flex;
   align-items: center;
   gap: 5px;
   font-weight: 700;
   font-size: 18px;
   line-height: 26px;
}

#contact__form .form-row .input {
   padding-top: 15px;
}

#contact__form .form-row:has(.wpcf7-radio) .caption {
   border-bottom: 1px solid #25271F;
   padding-bottom: 5px;
}

#contact__form .form-pp {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   width: 360px;
   margin: 0 auto;
   font-weight: 700;
   font-size: 18px;
}

#contact__form .form-pp .wpcf7-checkbox {
   grid-template-columns: 1fr;
}

#contact__form .form-pp .required {
   position: relative;
   top: 10px;
}

#contact__form .form-note {
   width: 360px;
   color: #8B8D8F;
   margin: 0 auto;
   padding-top: 20px;
}

#contact__form .form-note p {
   font-weight: 700;
   font-size: 14px;
   padding-left: 28px;
   position: relative;
}

#contact__form .form-note p:not(:last-child) {
   padding-bottom: 10px;
}

#contact__form .form-note p:before {
   content: '※';
   position: absolute;
   top: 0;
   left: 0;
}

#contact__form .form-note .required {
   position: relative;
   top: -1px;
   margin-right: 5px;
}

#contact__form .form-btn {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 40px;
   padding-top: 40px;
}

#contact__form .form-btn input,
#contact__form .form-btn a {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
   cursor: pointer;
}

#contact__form .form-btn p {
   display: flex;
   justify-content: center;
   align-items: center;
   background-color: #2D6DA8;
   color: #fff;
   width: 260px;
   height: 80px;
   box-sizing: border-box;
   font-weight: 700;
   font-size: 20px;
   line-height: 30px;
   text-align: center;
   border-radius: 50px;
   transition: all 0.3s;
   position: relative;
}

#contact__form .form-btn p:hover {
   background-color: #E3E5E8;
   color: #2D6DA8;
}

#contact__form .form-btn .btn-reset {
   background-color: #E3E5E8;
   color: #2D6DA8;
}

#contact__form .form-btn .btn-reset:hover {
   opacity: 0.7;
}

#contact__form .form-btn .btn-back {
   background-color: #E3E5E8;
   color: #769CBF;
}

#contact__form .form-btn .btn-back:hover {
   opacity: 0.7;
}

#contact__form .form-btn .wpcf7-spinner {
   display: none;
}

#contact__form.confirm .form-btn {
   padding-top: 0;
}

.thanks .txt p+p {
   padding-top: 30px;
}

.thanks .button {
   padding-top: 60px;
}

@media screen and (max-width: 767px) {
   #contact__form {
      padding: 85px 0 0;
   }

   #contact__form .wrap {
      padding: 0;
   }

   #contact__form h2 {
      font-size: 28px;
      line-height: 1.5;
      padding-bottom: 45px;
   }

   #contact__form .form-wrap {
      border-radius: 0;
      padding: 30px 20px 160px;
   }

   #contact__form .form-group {
      padding: 40px 15px;
   }

   #contact__form .form-group+.form-group {
      margin-top: 40px;
   }

   #contact__form .form-group h3 {
      font-size: 24px;
      line-height: 36px;
   }

   #contact__form .form-row .caption {
      font-size: 16px;
      line-height: 32px;
   }

   #contact__form .form-row .input {
      padding-top: 10px;
   }

   #contact__form .form-group-1 {
      padding: 40px 20px;
   }

   #contact__form .form-pp {
      display: block;
      width: 235px;
      position: relative;
   }

   #contact__form .form-pp .wpcf7-checkbox .wpcf7-list-item-label {
      align-items: flex-start;
   }

   #contact__form .form-pp .wpcf7-checkbox .wpcf7-list-item-label:before,
   #contact__form .form-pp .wpcf7-checkbox .wpcf7-list-item-label:after {
      margin: 0;
      position: relative;
      top: 9px;
   }

   #contact__form .form-pp .required {
      position: absolute;
      top: auto;
      bottom: 5px;
      left: 120px;
   }

   #contact__form .form-note {
      width: 250px;
      font-size: 14px;
      line-height: 28px;
      padding-top: 40px;
   }

   #contact__form .form-btn {
      flex-direction: column;
      gap: 20px;
      padding-top: 40px;
   }

   .thanks .txt {
      text-align: justify;
      font-size: 14px;
   }

   .thanks .txt p+p {
      padding-top: 20px;
   }

   .thanks .button {
      padding-top: 40px;
   }
}

/*=============================================
 * プライバシーポリシー
*=============================================*/
.page-id-166 #kv .h2 {
   padding-top: 74px;
}

#privacy {
   padding: 120px 0;
}

#privacy p+p {
   padding-top: 40px;
}

@media screen and (max-width: 767px) {
   .page-id-166 #kv .h2 {
      font-size: 28px;
      padding-top: 0;
   }

   #privacy {
      padding: 50px 0;
   }

   #privacy p+p {
      padding-top: 20px;
   }
}

/*=============================================
 * Post type
*=============================================*/
.wp-pagenavi {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 20px;
   padding-top: 60px;
   font-family: "Noto Serif JP", serif;
   font-style: normal;
}

.wp-pagenavi .pages {
   display: none;
}

.wp-pagenavi span,
.wp-pagenavi a:not(.previouspostslink, .nextpostslink) {
   display: block;
   width: 48px;
   text-align: center;
   font-weight: 700;
   font-size: 28px;
   line-height: 40px;
   letter-spacing: 0;
   box-sizing: border-box;
   background-color: #F5F6F7;
   padding: 3px 0 5px;
}

.wp-pagenavi a:not(.previouspostslink, .nextpostslink):hover {
   background-color: #F8C625;
   color: #fff;
   opacity: 1;
}

.wp-pagenavi .current {
   background-color: #F8C625;
   color: #fff;
   pointer-events: none;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
   display: block;
   width: 0;
   height: 0;
   border-width: 20px 0;
   border-color: transparent;
   border-style: solid;
   font-size: 0;
}

.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
   opacity: 1;
}

.wp-pagenavi .previouspostslink {
   border-right-width: 20px;
   border-right-color: #2D6DA8;
}

.wp-pagenavi .previouspostslink:hover {
   border-right-color: #F8C625;
}

.wp-pagenavi .nextpostslink {
   border-left-width: 20px;
   border-left-color: #2D6DA8;
}

.wp-pagenavi .nextpostslink:hover {
   border-left-color: #F8C625;
}

@media screen and (max-width: 767px) {
   .wp-pagenavi {
      padding-top: 50px;
   }
}

/* -- -- */
.sidebar {
   max-width: 1040px;
   background-color: #F5F6F7;
   margin: 0 auto;
   padding: 25px;
   box-sizing: border-box;
}

.sidebar h3 {
   text-align: center;
   padding-bottom: 15px;
}

.sidebar ul {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   gap: 40px;
}

.sidebar ul a {
   display: block;
   background-color: #324353;
   color: #fff;
   border-radius: 50px;
   padding: 0px 15px 1px;
}

.sidebar ul a:hover,
.sidebar ul a.current {
   background-color: #ccc !important;
   color: #25271F;
   opacity: 1;
}

@media screen and (max-width: 1023px) {
   .sidebar .cate ul {
      gap: 20px;
   }
}

@media screen and (max-width: 767px) {
   .sidebar {
      padding: 40px 20px;
   }

   .sidebar h3 {
      padding-bottom: 20px;
   }

   .sidebar .cate ul {
      display: grid;
      grid-template-rows: repeat(3, 1fr);
      grid-auto-flow: column;
      justify-content: inherit;
      gap: 20px;
   }

   .sidebar .cate ul a {
      display: inline-block;
   }
}

/* -- -- */
.news__list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 40px;
}

.news__list .item {
   background-color: #fff;
   overflow: hidden;
   border: 1px solid #769CBF;
}

.news__list figure a {
   display: block;
   padding-top: 56.4%;
   position: relative;
}

.news__list figure a img {
   position: absolute;
   top: 0;
   left: 0;
}

.news__list figure.no-img a {
   border-bottom: 1px solid #769CBF;
}

.news__list .text a {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   position: relative;
   padding: 20px 40px;
}

.news__list time {
   font-weight: 700;
   font-size: 12px;
   line-height: 20px;
}

.news__list .cat {
   color: #fff;
   font-weight: 700;
   font-size: 12px;
   line-height: 21px;
   text-align: center;
   padding: 0 10px;
   border-radius: 20px;
}

.news__list .ttl {
   width: 100%;
   font-weight: 700;
   font-size: 20px;
   line-height: 34px;
}

.news__list .ttl span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

@media screen and (max-width: 1200px) {
   .news__list {
      gap: 20px;
   }

   .news__list .text a {
      padding: 20px;
   }
}

@media screen and (max-width: 767px) {
   .news__list {
      grid-template-columns: 1fr;
      gap: 40px;
   }

   .news__list figure a {
      padding-top: 66.66%;
   }

   .news__list .text a {
      padding: 20px 40px;
   }
}

/* -- -- */
.pt-archive {
   padding: 120px 0 180px;
}

.pt-archive .news__list {
   padding-top: 40px;
}

@media screen and (max-width: 767px) {
   .pt-archive {
      padding: 80px 0 120px;
   }
}

/*=============================================
 * Post Detail
 *=============================================*/
.pt-details-kv {
   display: flex;
   align-items: center;
   min-height: 214px;
   background-color: #2D6DA8;
   color: #fff;
   padding: 20px 0;
}

.pt-details-kv .in {
   max-width: max-content;
   margin: 0 auto;
}

.pt-details-kv .time {
   display: block;
   margin-bottom: -5px;
}

.pt-details-kv h1 {
   font-weight: 700;
   font-size: 48px;
   line-height: 70px;
}

.pt-details {
   padding: 120px 0 180px;
}

.pt-details-time {
   display: block;
   color: #707070;
   font-weight: 500;
   font-size: 15px;
   line-height: 20px;
   border-bottom: 2px solid #ccc;
   padding: 10px 0;
}

.pt-details-cate {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   font-size: 14px;
   line-height: 20px;
}

.pt-details-cate a {
   display: block;
   min-width: 65px;
   background-color: #F8C625;
   border: 1px solid #24271F;
   border-radius: 2px;
   text-align: center;
   padding: 3px 10px;
}

.pt-details-cate a:hover {
   background-color: #24271F;
   color: #fff;
   opacity: 1;
}

.pt-details-title {
   padding-top: 5px;
}

.pt-details-content {
   font-weight: 400;
   letter-spacing: 0.05em;
   line-height: 28px;
}

.pt-details-content h2 {
   font-family: "Noto Serif JP", sans-serif;
   font-weight: 700;
   font-size: 36px;
   letter-spacing: 0;
   line-height: 52px;
   margin: 60px 0 30px;
   padding: 0;
}

.pt-details-content h3 {
   font-family: "Noto Serif JP", sans-serif;
   font-weight: 700;
   font-size: 24px;
   line-height: 35px;
   border-left: 6px solid #2D6DA8;
   margin: 40px 0px 20px;
   padding: 0 0 0 8px;
   box-sizing: border-box;
}

.pt-details-content h4 {
   font-family: "Noto Serif JP", sans-serif;
   font-weight: 700;
   font-size: 20px;
   line-height: 30px;
   border-bottom: 1px solid #2D6DA8;
   margin-top: 40px;
   margin-bottom: 20px;
   padding-bottom: 8px;
}

.pt-details-content h1:first-child,
.pt-details-content h2:first-child,
.pt-details-content h3:first-child,
.pt-details-content h4:first-child,
.pt-details-content h5:first-child,
.pt-details-content h6:first-child {
   margin-top: 0;
}

.pt-details-content h2+h3,
.pt-details-content h2+h4,
.pt-details-content h3+h4 {
   margin-top: 0;
}

.pt-details-content mark {
   background-color: #FFF6A8;
   color: #333;
}

.pt-details-content p img {
   display: inline-block;
   vertical-align: top;
   margin-right: 10px;
}

.pt-details-content p img.aligncenter {
   display: block;
   margin: 0 auto;
}

.pt-details-content p img.alignright {
   display: block;
   margin-left: auto;
}

.pt-details-content p img:last-child {
   margin-right: 0;
}

.pt-details-btn {
   display: grid;
   grid-template-columns: 20px auto 20px;
   justify-content: center;
   align-items: center;
   gap: 20px;
   text-align: center;
   padding-top: 80px;
}

.pt-details-btn .back a {
   width: 100%;
}

.pt-details-btn .prev a,
.pt-details-btn .next a {
   display: block;
   width: 0;
   height: 0;
   border-width: 20px 0;
   border-color: transparent;
   border-style: solid;
   font-size: 0;
}

.pt-details-btn .prev a:hover,
.pt-details-btn .next a:hover {
   opacity: 1;
}

.pt-details-btn .prev a {
   border-right-width: 20px;
   border-right-color: #2D6DA8;
}

.pt-details-btn .prev a:hover {
   border-right-color: #F8C625;
}

.pt-details-btn .next a {
   border-left-width: 20px;
   border-left-color: #2D6DA8;
}

.pt-details-btn .next a:hover {
   border-left-color: #F8C625;
}

.pt-details-btn .button a {
   background-color: #fff;
   border: 2px solid #2D6DA8;
   color: #2D6DA8;
   min-width: inherit;
   height: 80px;
}

.pt-details-btn .button a:after {
   display: none;
}

.pt-details-btn .button a:hover {
   background-color: #2D6DA8;
   color: #fff;
}

.pt-details #ez-toc-container {
   min-width: 480px;
   max-width: 100%;
   background-color: #fff;
   border: 2px solid #2D6DA8;
   border-top: 0;
   margin: 0;
   padding: 0;
   border-radius: 0;
}

.pt-details #ez-toc-container .ez-toc-title-container {
   background-color: #2D6DA8;
   color: #fff;
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0;
   line-height: 30px;
   text-align: center;
   position: relative;
   padding: 13px 20px 12px;
   box-sizing: border-box;
}

.pt-details #ez-toc-container .ez-toc-title {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 2px;
   color: #fff;
   font-size: inherit;
   position: relative;
}

.pt-details #ez-toc-container .ez-toc-title:before {
   content: '';
   width: 16px;
   height: 11px;
   background: url("../img/common/toc-icon.png") no-repeat center top/100% auto;
   display: block;
   position: relative;
   top: 2px;
}

.pt-details #ez-toc-container .ez-toc-title-toggle {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

.pt-details #ez-toc-container .ez-toc-title-toggle a {
   width: 100%;
   height: 100%;
   padding: 0;
   margin: 0;
   opacity: 0;
}

.pt-details #ez-toc-container nav {
   font-weight: 700;
   font-size: 16px;
   line-height: 24px;
   padding: 40px 50px 60px;
}

.pt-details #ez-toc-container nav a {
   color: inherit;
   font-size: inherit;
}

.pt-details #ez-toc-container nav a:before {
   color: #25271F;
   margin-right: 5px;
}

.pt-details #ez-toc-container nav ul,
.pt-details #ez-toc-container nav li {
   font-size: inherit;
   line-height: inherit;
}

.pt-details #ez-toc-container nav .ez-toc-list li+li {
   padding-top: 20px;
}

.pt-details #ez-toc-container nav .ez-toc-list>li>a {
   font-weight: 700;
   color: inherit;
   position: relative;
   padding-left: 0;
}

.pt-details #ez-toc-container nav .ez-toc-list>li>a:after {
   content: '';
   border-width: 6px 0 6px 8px;
   border-color: transparent transparent transparent #000;
   border-style: solid;
   position: absolute;
   top: 6px;
   left: 0;
   display: none;
}

.pt-details #ez-toc-container nav .ez-toc-list>li>ul {
   padding-top: 10px;
}

.pt-details #ez-toc-container nav .ez-toc-list>li>ul a {
   font-weight: 500;
   color: inherit;
}

.pt-details #ez-toc-container nav .ez-toc-list>li>ul a:before {
   content: counter(item) ". ";
}

@media screen and (max-width: 1200px) {
   .pt-details-content p img {
      display: block;
      margin: 0 auto 15px;
   }

   .pt-details-content p img:last-child {
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   .pt-details-kv {
      min-height: 110px;
   }

   .pt-details-kv time {
      font-size: 14px;
      line-height: 20px;
   }

   .pt-details-kv h1 {
      font-size: 20px;
      line-height: 30px;
   }

   .pt-details {
      padding: 80px 0 120px;
   }

   .pt-details-title {
      font-size: 20px;
   }

   .pt-details-content h2 {
      font-size: 32px;
      line-height: 46px;
      margin: 40px 0 20px;
   }

   .pt-details-content h3 {
      font-size: 20px;
      line-height: 30px;
      margin: 25px 0 15px;
   }

   .pt-details-content h4 {
      font-size: 18px;
      line-height: 26px;
      margin: 25px 0 15px;
   }

   .pt-details-content p img {
      display: block;
      margin: 0 auto 15px;
   }

   .pt-details-content p img.alignright {
      margin: 0 auto 15px;
   }

   .pt-details-content p img:last-child {
      margin: 0 auto !important;
   }

   .pt-details-btn {
      padding-top: 60px;
   }

   .pt-details #ez-toc-container {
      min-width: 100%;
   }

   .pt-details #ez-toc-container nav {
      padding: 20px 30px;
   }

   .pt-details #ez-toc-container nav a:before {
      margin-right: 5px;
   }

   .pt-details #ez-toc-container nav .ez-toc-list>li>a {
      padding-left: 12px;
   }

   .pt-details #ez-toc-container nav .ez-toc-list>li>a:after {
      top: 4px;
   }

   .pt-details #ez-toc-container nav .ez-toc-list>li>ul {
      margin-left: 28px;
   }
}

.pt-details-gallery {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 10px;
   margin: 0 20px;
   padding-top: 30px;
}

.pt-details-gallery .tab-content {
   width: 100%;
}

.pt-details-gallery .tab-content li {
   width: 100%;
   padding-top: 66.6%;
   position: relative;
}

.pt-details-gallery .tab-content li img {
   display: block;
   max-height: 100%;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.pt-details-gallery .tab-link {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   width: 100%;
}

.pt-details-gallery .tab-link li {
   width: calc(25% - 8px);
   padding-top: calc(25% - 8px);
   position: relative;
   transition: all 0.2s;
}

.pt-details-gallery .tab-link li:after {
   content: '';
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.5);
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
   transition: all 0.2s;
}

.pt-details-gallery .tab-link li img {
   width: 100%;
   height: 100%;
   max-width: inherit;
   object-fit: cover;
   position: absolute;
   top: 0;
   left: 0;
}

.pt-details-gallery .tab-link li.active:after {
   opacity: 1;
}

.pt-details-gallery .tab-link li:hover {
   opacity: 0.7;
}

@media screen and (max-width: 767px) {
   .pt-details-gallery {
      margin: 0 10px;
   }
}