Theme Name: mitotuu2026
Theme URI:
Author:
Author URI:
Description: 水戸通信工業株式会社 公式サイト用テーマ（2026）
Version: 1.0
*/

/* =========================
   Base
========================= */
@font-face{
  font-family:"DINCondensed";
  src:url("./assets/font/DINCondensed-Bold.woff2") format("woff2"),
      url("./assets/font/DINCondensed-Bold.woff") format("woff");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"DINAlternate";
  src:url("./assets/font/din-alternate/DINAlternate-Bold.woff2") format("woff2"),
      url("./assets/font/din-alternate/DINAlternate-Bold.woff") format("woff");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

.p-footer__tel{
  font-family:"DINAlternate","DINCondensed",Arial,sans-serif;
  font-weight:700;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body{
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.7;
  color: #222;
  background: #fff;
}


img{ max-width: 100%; height: auto; display: block; }
a{ color: inherit; text-decoration: none; }
ul, ol{ margin: 0; padding: 0; list-style: none; }

/* =========================
   Layout
========================= */
.l-main{ padding: 0; }

.l-container {
  width: min(880px, calc(100% - 80px));
  margin: 0 auto;
}

.p-privacy-policy .l-main{
  padding: 40px 0 0;
}

.p-privacy-policy__section:last-child{
  padding-bottom: 24px;
}

.p-footer__contact{
  transform: translateY(140px);
}

@media (max-width: 768px){
  .p-footer__contact{
    transform: translateY(10px);
  }

  .p-footer__body{
    padding-top: 120px;
  }
}

.p-privacy-policy__inner{
  padding-bottom: 0;
}

.p-privacy-policy__section:last-child{
  padding-bottom: 0px;
}

/* =========================
   上へボタン
========================= */

.c-pagetop{
position: fixed;
right: 24px;
bottom: 24px;
z-index: 100;
display: block;
width: 120px;
height: 120px;
background-image: url("./assets/img/common/pagetop.png");
background-repeat: no-repeat;
background-position: center;
background-size: 120px auto;
opacity:0;
pointer-events:none;
transition:opacity .3s;
}

.c-pagetop.is-show{
opacity:1;
pointer-events:auto;
}

@media screen and (max-width: 767px){
  .c-pagetop{
    right: 16px;
    bottom: 16px;
    width: 88px;
    height: 88px;
    background-size: 88px auto;
  }
}

/* =========================
   リンクボタン
========================= */

.c-link-btn{
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
height: 48px;
padding: 0 48px 0 28px;
border-radius: 999px;
background: #156b9c;
text-decoration: none;
position: relative;
width: 220px;
margin: 30px auto 0;
}

.c-link-btn__text{
font-size: 14px;
font-weight: 400;
color: #fff;
}

.c-link-btn__arrow{
position: absolute;
right: 18px;
width: 16px;
height: 16px;
}

.c-link-btn__arrow::before{
content: "";
position: absolute;
top: 3px;
left: 3px;
width: 10px;
height: 10px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
}

/* =========================
   Header
========================= */

.l-header{
  width: 100%;
}

.l-header__inner{
  width: 100%;
  margin: 0;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}

@media (max-width: 767px){
  .l-header__inner{ padding: 0 16px; }
}

.c-logo{
  display: flex;
  align-items: center;
}

.c-logo img{
  height: 36px;
  width: auto;
  display: block;
  object-fit: contain;
}

.l-gnav{ margin-left: auto; }

.l-gnav__list{
  display: flex;
  gap: 24px;
}

.l-gnav__list a{
  color: #156b9c;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.02em;
}

.l-gnav__list a:hover{ opacity: 0.75; }

/* =========================
   Page Hero（About）
========================= */
.p-page-hero--about{
  position: relative;
  height: 160px;
  overflow: hidden;
  background-image: url("./assets/img/about/hero-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center calc(50% + 100px);
  color: #fff;
}

.p-page-hero--about::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 80, 140, 0.6),
    rgba(0, 180, 220, 0.6)
  );
  z-index: 1;
}

.p-page-hero__inner{
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 4px;
  transform: translateY(3px);
}

.p-page-hero__title{
  margin: 0;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.1;
}

.p-page-hero__subtitle{
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  opacity: 0.95;
}

@media (max-width: 767px){
  .p-page-hero--about{
    height: 112px;
    background-size: cover;
    background-position: center 55%;
  }
  .p-page-hero__title{
    font-size: 28px;
    letter-spacing: 0.06em;
  }
  .p-page-hero__subtitle{
    font-size: 11px;
    margin-top: 6px;
  }
}

/* =========================
   Common Section Head（共通）
========================= */
.c-section-head{
  text-align: center;
  margin: 72px 0 48px;
}

.c-section-head__jp{
  margin: 0;
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.2;
}

.c-section-head__en{
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #0b4f8a;
}

@media (max-width: 767px){
  .c-section-head{ margin: 48px 0 28px; }
  .c-section-head__jp{ font-size: 34px; }
}

/* =========================
   About: Greeting（ごあいさつ）
========================= */
.p-about-greeting{
  padding-bottom: 80px;
}

.p-about-greeting__body{
  display: grid;
  grid-template-columns: 4fr 5fr;
  gap: 48px;
  align-items: start;
}

.p-about-greeting__photo{
  width: 65%;
  aspect-ratio: 7 / 8;
  overflow: hidden;
  justify-self: end;
}

.p-about-greeting__photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-about-greeting__lead{
  margin: 0 0 22px;
  font-size: 26px;     /* カンプの青見出し感 */
  font-weight: 800;
  line-height: 1.9;
  color: #156b9c;
}

.p-about-greeting__text p{
  margin: 0;
  font-size: 14px;
  line-height: 2.2;
  color: #222;
}

.p-about-greeting__sign{
  margin-top: 42px;
  text-align: right;
}

.p-about-greeting__sign-role{
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  color: #222;
}

.p-about-greeting__sign-name{
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.p-about + .p-footer{
  margin-top: -340px;
}

@media (max-width: 767px){
  .p-about-greeting{
    padding-bottom: 56px;
  }

  .p-about-greeting__body{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .p-about-greeting__photo{
    width: min(320px, 100%);
    margin: 0 auto;
    justify-self: center;
  }

  .p-about-greeting__content{
    text-align: left;
  }

  .p-about-greeting__lead{
    text-align: center;
  }

  .p-about-greeting__text{
    text-align: left;
  }

  .p-about-greeting__lead{
    font-size: 20px;
    line-height: 1.8;
  }

  .p-about-greeting__text p{
    margin: 0 0 18px;
  }

  .p-about-greeting__text p:last-child{
    margin-bottom: 0;
  }

  .p-about-greeting__sign{
    text-align: right;
  }
}

.p-about-philosophy__body{
  display: grid;
  grid-template-columns: 5fr 4fr;
  gap: 42px;
  align-items: center;
}

.p-about-philosophy__caption{
  position: absolute;
  bottom: -28px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 12px;
}

.p-about-philosophy__text{
  font-size: 14px;
  line-height: 2;
}

.p-about-philosophy__text p{
  margin: 0 0 18px;
}

.p-about-philosophy__text p:last-child{
  margin-bottom: 0;
}

.p-about-philosophy{
  position: relative;
  padding: 80px 0;
}

.p-about-philosophy::before{
  content: "";
  position: absolute;
  inset: 0;
  background: #f8f8f8;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  z-index: -1;
}

@media (max-width: 767px){

  .p-about-philosophy{
    padding: 64px 0;
  }

  .p-about-philosophy__body{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .p-about-philosophy__text{
    order: 1;
    text-align: left;
    font-size:12px;
    line-height:2;
  }

  .p-about-philosophy__photo{
    order: 2;
    width: min(320px, 100%);
    margin: 0 auto;
  }

  .p-about-philosophy__text p{
    margin: 0 0 18px;
  }

  .p-about-philosophy__text p:last-child{
    margin-bottom: 0;
  }

  .p-about-philosophy__caption{
    font-size: 12px;
  }
}

.p-about-philosophy__photo{
  position: relative;
}

.p-company{
  padding: 96px 0;
}

.p-company__body{
  max-width: 880px;
  margin: 0 auto;
}

.p-company__list{
  display: block;
}

.p-company__row{
  display: grid;
  grid-template-columns: 140px 1fr;
  column-gap: 32px;
}

.p-company__row dt,
.p-company__row dd{
  padding: 20px 0;
  border-top: 1px solid #bbb;
}

.p-company__row:last-child dt,
.p-company__row:last-child dd{
  border-bottom: 1px solid #bbb;
}

.p-company__row dt{
  font-size: 13px;
  font-weight: 700;
  color: #156b9c;
  display: flex;
  justify-content: center;
}

@media (max-width: 767px){
  .p-company__row dt{
    font-weight: 800;
  }
}

.p-company__row dd{
  margin: 0;
  font-size: 14px;
  line-height: 2;
  color: #222;
  padding-left: 1em;
}

@media (max-width: 767px){
  .p-company{
    padding: 64px 0;
  }

  .p-company__row{
    grid-template-columns: 1fr;
    row-gap: 8px;
  }

  .p-company__row dt{
    font-size: 12px;
  }
}

.p-company__dt{
  width: 6em;
  text-align: justify;
  text-align-last: justify;
}

@media (max-width: 767px){

  .p-company__row dd{
    text-align: center;
    padding-left: 0;
  }

}

@media (max-width: 767px){
  .p-company__row dd br{
    display: none;
  }

  .p-company__row dd{
  border-top: none;
  padding-top: 0;
}
}


.p-maintenance{
  background: #f3f8fa;
  padding: 72px 0 84px;
}

@media (max-width: 767px){
  .p-maintenance{
    padding: 56px 0 64px;
  }
}

.p-maintenance .c-section-head{
  margin: 0 0 22px;
}

.p-maintenance__lead{
  margin: 0 auto 26px;
  max-width: 520px;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  text-align: center;
  color: #222;
}

.p-maintenance__grid{
  display: grid;
  grid-template-columns: 1fr 360px;
  column-gap: 42px;
  align-items: start;
}

__table{
  width: 80%;
  max-width: 720px;
  margin: 0 auto;
}

.p-maintenance__table table{
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.8;
  color: #222;
}

.p-maintenance__table thead{
  position: relative;
}

.p-maintenance__table thead::before,
.p-maintenance__table thead::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: #bbb;
}

.p-maintenance__table thead::before{
  top: 0;
}

.p-maintenance__table thead::after{
  bottom: 0;
}

.p-maintenance__table thead th{
  padding: 10px 0;
  font-weight: 400;
  color: #156b9c;
  border: none;
}

.p-maintenance__table tbody td{
  padding: 10px 0;
  border-bottom: 1px dashed #b9c8d3;
}

.p-maintenance__table tbody td:first-child{
  font-weight: 400;
}

.p-maintenance__table tbody td:last-child{
  text-align: right;
  font-weight: 400;
}

.p-maintenance__layout{
  position: relative;
  display: grid;
  grid-template-columns: 6fr 4fr;
  column-gap: 42px;
  align-items: start;
}

.p-maintenance__photos{
  position: relative;
  height: 520px;
}

.p-maintenance__photo{
  margin: 0;
}

.p-maintenance__photo img{
  width: 100%;
  height: auto;
  display: block;
}

.p-maintenance__photo--top,
.p-maintenance__photo--mid,
.p-maintenance__photo--bottom{
  position: absolute;
}

.p-maintenance__photo--top{
  top: -270px;
  right: -40px;
  width: 190px;
}

.p-maintenance__photo--mid{
  top: 130px;
  right: 50px;
  width: 280px;
}

.p-maintenance__photo--bottom{
  top: 450px;
  right: -60px;
  width: 350px;
}

@media (max-width: 767px){
  .p-maintenance__layout{
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 32px;
  }

  .p-maintenance__table{
    width: 100%;
    margin: 0 auto;
  }

  .p-maintenance__table td:first-child{
    padding-left: 16px;
  }

  .p-maintenance__table td:last-child{
    padding-right: 16px;
  }

  .p-maintenance__photos{
    position: static;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
  }

  .p-maintenance__photo--mid{
  margin-top: 100px;
}

  .p-maintenance__photo--top,
  .p-maintenance__photo--mid,
  .p-maintenance__photo--bottom{
    position: static;
    top: auto;
    right: auto;
  }

  .p-maintenance__photo{
    margin: 0;
  }

  .p-maintenance__photo--top,
  .p-maintenance__photo--mid,
  .p-maintenance__photo--bottom{
    align-self: center;
  }

  .p-maintenance__photo--top{
    align-self: flex-end;
    width: 40%;
    transform: translate(8px, -8px);
  }

  .p-maintenance__photo--mid{
    width: min(300px, 75%);
  }

  .p-maintenance__photo--bottom{
    align-self: center;
    width: 72%;
  }

  .p-maintenance__photo--bottom.is-inview{
    transform: translateX(120px);
  }

}

.p-maintenance__photo{
  opacity: 0;
  transition: opacity 700ms ease, transform 700ms ease;
  will-change: opacity, transform;
}

.p-maintenance__photo{
  opacity: 0;
  transition: opacity 700ms ease, transform 700ms ease;
  will-change: opacity, transform;
}

.p-maintenance__photo--top{
  transform: translate(24px, -8px);
}

.p-maintenance__photo--mid{
  transform: translateX(-24px);
}

.p-maintenance__photo--bottom{
  transform: translateX(24px);
}

.p-maintenance__photo.is-inview{
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 767px){
  .p-maintenance__photo--top.is-inview{
    transform: translate(8px, -8px);
  }

  .p-maintenance__photo--mid.is-inview{
    transform: translateX(-62px);
  }

  .p-maintenance__photo--bottom.is-inview{
    transform: translateX(90px);
  }
}

@media (prefers-reduced-motion: reduce){
  .p-maintenance__photo{
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.p-maintenance__table th:first-child,
.p-maintenance__table td:first-child{
  width: 70%;
}

.p-maintenance__table th:last-child,
.p-maintenance__table td:last-child{
  width: 50%;
}

.p-maintenance__table th,
.p-maintenance__table td{
  text-align: center;
}

.p-maintenance__table td:first-child{
  text-align: left;
  padding-left: 35px;
}

.p-maintenance__table td:last-child{
  text-align: right;
  padding-right: 50px;
}

.p-maintenance__table-wrap{
  width: 100%;
}

.p-permission{
  padding: 88px 0;
}

.p-permission__rule{
  height: 6px;
  width: 100%;
  background:
    linear-gradient(#156b9c,#156b9c) top/100% 2px no-repeat,
    linear-gradient(#156b9c,#156b9c) bottom/100% 2px no-repeat;
}

.p-permission__rule--top{
  margin: 0 0 56px;
}

.p-permission__rule--bottom{
  margin: 72px 0 0;
}

.p-permission__head{
  text-align: center;
  margin: 0 0 56px;
}

.p-permission__jp{
  margin: 0;
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.p-permission__en{
  margin: 14px 0 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #156b9c;
}

.p-permission__body{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 96px;
  row-gap: 40px;
  max-width: 860px;
  margin: 0 auto;
}

.p-permission__item{
  margin: 0 0 44px;
}

.p-permission__item:last-child{
  margin: 0;
}

.p-permission__line{
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  color: #222;
}

.p-permission__sub{
  margin: 0;
  font-size: 14px;
  line-height: 2;
  color: #222;
}

@media (max-width: 767px){
  .p-permission{
    padding: 64px 0;
  }

  .p-permission__rule--top{
    margin: 0 0 40px;
  }

  .p-permission__rule--bottom{
    margin: 52px 0 0;
  }

  .p-permission__jp{
    font-size: 32px;
    letter-spacing: 0.08em;
  }

  .p-permission__body{
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 28px;
    max-width: 100%;
  }
}

.u-sp-only{
  display: none;
}

@media (max-width: 767px){
  .u-sp-only{
    display: inline;
  }
}

.p-agency{
  background: #f8f8f8;
  padding: 120px 0;
}

.p-agency__inner{
  width: min(880px, calc(100% - 80px));
  margin: 0 auto;
  text-align: center;
}

.c-section-head--dark .c-section-head__jp{
  color: #222;
}

.c-section-head--dark .c-section-head__en{
  color: #156b9c;
}

.p-agency__list{
  margin-top: 64px;
  display: inline-flex;
  flex-direction: column;
  gap: 14px;
  text-align: left;
}

.p-agency__list li{
  position: relative;
  padding-left: 1.2em;
  color: #222;
  font-size: 15px;
  line-height: 1.8;
}

.p-agency__list li::before{
  content: "■";
  position: absolute;
  left: 0;
  top: 0.15em;
  font-size: 0.9em;
}

.c-section-head--white .c-section-head__jp{
  color: #fff;
}

.c-section-head--white .c-section-head__en{
  color: #fff;
  opacity: .9;
}

/*会社案内*/

.p-history{
  background:#2877a4;
  padding:120px 0 0;
  color:#fff;
  overflow:clip;
}

.p-history{
  padding-bottom:0;
}

.p-history::after{
  content:"";
  display:block;
  height:800px;
  margin-bottom:-800px;
}

.p-history__inner{
  width:min(980px, calc(100% - 80px));
  margin:0 auto;
}

.p-history .c-section-head{
  margin:0 0 56px;
}

.p-history__timeline{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:0;
  row-gap:88px;
  padding-top:90px;
  margin-bottom:-1340px;
  --history-line-top:54px;
  --history-line-bottom:1800px;
}

.p-history__end{
  grid-column:1 / -1;
  grid-row:10;
  margin-top:120px;
  text-align:center;
  position:relative;
  z-index:2;
  transform:translateY(-1300px);
}

.p-history__line{
  position:absolute;
  left:50%;
  top:var(--history-line-top);
  bottom:var(--history-line-bottom);
  width:2px;
  background:rgba(255,255,255,.95);
  transform:translateX(-50%);
}

.p-history__line::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.95);
  transform-origin:top center;
  transform:scaleY(0);
  transition:transform 1.35s cubic-bezier(.22,1,.36,1);
}

.p-history[data-history-active="true"] .p-history__line::after{
  transform:scaleY(1);
}

.p-history__item{
  position:relative;
  width:100%;
  z-index:2;
}

.p-history__item::before{
  content:"";
  position:absolute;
  top:28px;
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid #fff;
  background:#2877a4;
}

.p-history__item--left::before{
  right:-6px;
}

.p-history__item--right::before{
  left:-6px;
}

.p-history__item::after{
  content:"";
  position:absolute;
  top:32px;
  width:110px;
  height:1px;
  background:repeating-linear-gradient(
    to right,
    #fff 0px,
    #fff 2px,
    transparent 2px,
    transparent 4px
  );
}

.p-history__item--left::after{
  right:10px;
}

.p-history__item--right::after{
  left:10px;
}

.p-history__year{
  margin:0 0 18px;
  font-family:"DIN Condensed","DINCondensed",sans-serif;
  font-weight:700;
  font-size:58px;
  letter-spacing:.02em;
  line-height:1;
  transform:translateY(8px);
}

.p-history__text{
  margin:0 0 18px;
  font-size:12px;
  line-height:2;
  opacity:.95;
}

.p-history__photo{
  margin:0;
  width:100%;
  overflow:hidden;
}

.p-history__photo img{
  width:100%;
  height:auto;
  display:block;
}

.p-history__item--left{
  grid-column:1;
  padding-right:134px;
}

.p-history__item--right{
  grid-column:2;
  padding-left:134px;
}

.p-history__content{
  width:320px;
}

.p-history__item--left .p-history__content{
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}

.p-history__item--right .p-history__content{
  margin-right:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.p-history__item--left .p-history__year{
  display:block;
  width:fit-content;
  margin:0 0 18px;
  text-align:right;
}

.p-history__item--right .p-history__year{
  display:block;
  width:fit-content;
  margin:0 0 18px;
  text-align:left;
}

.p-history__item--left .p-history__text,
.p-history__item--right .p-history__text{
  width:100%;
  text-align:left;
}

.p-history__item--left .p-history__photo,
.p-history__item--right .p-history__photo{
  width:100%;
}

.p-history__item--1966{
  grid-column:2;
  grid-row:1;
}

.p-history__item--1971{
  grid-column:1;
  grid-row:2;
  transform:translateY(-200px);
}

.p-history__item--1983{
  grid-column:2;
  grid-row:3;
  transform:translateY(-500px);
}

.p-history__item--1986{
  grid-column:1;
  grid-row:4;
  transform:translateY(-680px);
}

.p-history__item--1996{
  grid-column:2;
  grid-row:5;
  transform:translateY(-740px);
}

.p-history__item--1997{
  grid-column:1;
  grid-row:6;
  transform:translateY(-820px);
}

.p-history__item--2010{
  grid-column:2;
  grid-row:7;
  transform:translateY(-1020px);
}

.p-history__item--2016{
  grid-column:1;
  grid-row:8;
  transform:translateY(-1340px);
}

.p-history__item--2023{
  grid-column:2;
  grid-row:9;
  transform:translateY(-1280px);
}

.p-history__item--1971 .p-history__text{
  transform:translateX(142px);
}

.p-history__item--1971 .p-history__photo{
  transform:translateX(60px);
}

.p-history__item--1986 .p-history__text{
  transform:translateX(170px);
}

.p-history__item--1997 .p-history__text{
  transform:translateX(164px);
}

.p-history__item--2016 .p-history__text{
  transform:translateX(178px);
}

.p-history__mark{
  position:absolute;
  left:50%;
  width:56px;
  transform:translateX(-50%);
  z-index:20;
}

.p-history__mark img{
  width:100%;
  height:auto;
  display:block;
}

.p-history__mark--top{
  top:0;
}

.p-history__mark--bottom{
  top:calc(100% - var(--history-line-bottom) + 20px);
  bottom:auto;
}

.p-history__end-photo{
  margin:0 auto;
  width:min(720px, 100%);
  overflow:hidden;
}

.p-history__end-photo img{
  width:100%;
  height:auto;
  display:block;
}

.p-history__end-text{
  margin:-30px 0 0;
  font-size:36px;
  font-weight:800;
  letter-spacing:.08em;
}

.p-history [data-history-mark]{
  opacity:1;
  filter:none;
  transition:none;
}

.p-history [data-history-item]::before,
.p-history [data-history-item]::after{
  opacity:0;
  transition:opacity .7s ease var(--history-delay,0s);
}

.p-history [data-history-item][data-history-inview="true"]::before,
.p-history [data-history-item][data-history-inview="true"]::after{
  opacity:1;
}

.p-history [data-history-part="year"],
.p-history [data-history-part="text"]{
  opacity:0;
  filter:blur(8px);
}

.p-history [data-history-part="photo"]{
  opacity:0;
  filter:blur(12px);
  clip-path:inset(10% 0 10% 0);
}

.p-history [data-history-item] [data-history-part="year"]{
  transition:opacity .8s ease var(--history-delay,0s), filter .8s ease var(--history-delay,0s);
}

.p-history [data-history-item] [data-history-part="text"]{
  transition:opacity .9s ease calc(var(--history-delay,0s) + .08s), filter .9s ease calc(var(--history-delay,0s) + .08s);
}

.p-history [data-history-item] [data-history-part="photo"]{
  transition:opacity 1.05s ease calc(var(--history-delay,0s) + .16s), filter 1.05s ease calc(var(--history-delay,0s) + .16s), clip-path 1.05s cubic-bezier(.22,1,.36,1) calc(var(--history-delay,0s) + .16s);
}

.p-history [data-history-item][data-history-inview="true"] [data-history-part="year"],
.p-history [data-history-item][data-history-inview="true"] [data-history-part="text"],
.p-history [data-history-item][data-history-inview="true"] [data-history-part="photo"]{
  opacity:1;
  filter:blur(0);
}

.p-history [data-history-item][data-history-inview="true"] [data-history-part="photo"]{
  clip-path:inset(0 0 0 0);
}

.p-history [data-history-end] [data-history-part="photo"],
.p-history [data-history-end] [data-history-part="text"]{
  opacity:0;
  filter:blur(12px);
}

.p-history [data-history-end] [data-history-part="photo"]{
  clip-path:inset(12% 0 12% 0);
  transition:opacity 1.1s ease var(--history-delay,0s), filter 1.1s ease var(--history-delay,0s), clip-path 1.1s cubic-bezier(.22,1,.36,1) var(--history-delay,0s);
}

.p-history [data-history-end] [data-history-part="text"]{
  transition:opacity .9s ease calc(var(--history-delay,0s) + .12s), filter .9s ease calc(var(--history-delay,0s) + .12s);
}

.p-history [data-history-end][data-history-inview="true"] [data-history-part="photo"],
.p-history [data-history-end][data-history-inview="true"] [data-history-part="text"]{
  opacity:1;
  filter:blur(0);
}

.p-history [data-history-end][data-history-inview="true"] [data-history-part="photo"]{
  clip-path:inset(0 0 0 0);
}


@media (max-width: 767px){
  .p-history{
    padding:80px 0 1200px;
    margin-bottom:-620px;
  }

  .p-history__inner{
    width:min(880px, calc(100% - 32px));
  }

  .p-history__timeline{
    grid-template-columns:1fr;
    row-gap:40px;
    padding-top:72px;
    padding-left:18px;
    column-gap:0;
    margin-bottom:0;
    --history-line-top:72px;
    --history-line-bottom:620px;
  }

  .p-history__item{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100%;
    padding-right:0;
    padding-left:0;
    display:block;
  }

  .p-history__item--left,
  .p-history__item--right{
    justify-self:start;
    padding-right:0;
    padding-left:0;
  }

  .p-history__item--left::before,
  .p-history__item--right::before{
    left:-4px;
    right:auto;
  }

  .p-history__item--left::after,
  .p-history__item--right::after{
    left:-4px;
    right:auto;
    width:34px;
  }

  .p-history__content{
    width:100%;
    max-width:420px;
    padding-left:34px;
    box-sizing:border-box;
  }

  .p-history__item--left .p-history__content,
  .p-history__item--right .p-history__content{
    margin-left:0;
    margin-right:0;
    display:block;
    align-items:initial;
  }

  .p-history__item--left .p-history__year,
  .p-history__item--right .p-history__year,
  .p-history__item--left .p-history__text,
  .p-history__item--right .p-history__text{
    text-align:left;
  }

  .p-history__year{
    font-size:56px;
  }

  .p-history__line{
    left:16px;
    transform:none;
  }

  .p-history__line::after{
    transform-origin:top left;
  }

  .p-history__mark{
    width:40px;
    transform:none;
    opacity:1 !important;
    filter:none !important;
    display:block !important;
  }

  .p-history__mark--top{
    left:1px;
    top:16px;
    bottom:auto;
  }

  .p-history__mark--bottom{
    left:-4px;
    top:auto;
    bottom:560px;
  }

  .p-history__end{
    grid-column:1;
    grid-row:auto;
    margin-top:-160px;
    transform:none;
    padding-bottom:180px;
  }

  .p-history__end-photo{
    width:calc(100% + 260px);
    margin-left:-130px;
    transform:translateY(200px);
  }

  .p-history__end-text{
    margin:180px 0 0;
    font-size:28px;
  }

  .p-history__item--1971,
  .p-history__item--1983,
  .p-history__item--1986,
  .p-history__item--1996,
  .p-history__item--1997,
  .p-history__item--2010,
  .p-history__item--2016,
  .p-history__item--2023{
    transform:none;
  }

  .p-history__item--1971 .p-history__text,
  .p-history__item--1971 .p-history__photo,
  .p-history__item--1986 .p-history__text,
  .p-history__item--1997 .p-history__text,
  .p-history__item--2016 .p-history__text{
    transform:none;
  }

  .p-about .p-history{
    padding-bottom:380px;
  }
}


@media (max-width: 767px){
  .p-about + .p-footer{
    margin-top: -620px;
  }
}

.p-footer{
  position: relative;
  margin-top: -20px;
}

.p-footer__contact{
  position: relative;
  z-index: 2;
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 40px;
  transform: translateY(140px);
}

.p-footer__contactInner{
  background: #156b9c;
  border-radius: 7px;
  height: 340px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 64px;
}

.p-footer__contactTitle{
  margin: 0;
  line-height: 1;
  text-align: center;
  font-size: 40px;
  letter-spacing: 0.28em;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
}

.p-footer__contactSub{
  margin: 1px 0 0;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.12em;
  font-weight: 600;
}

.p-footer__contactDivider{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 1px;
  height: 160px;
  background: rgba(255,255,255,0.35);
}

.p-footer__contactLead{
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.p-footer__contactBtn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 300px;
  height: 58px;
  border-radius: 999px;
  background: #fff;
  color: #156b9c;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.p-footer__contactBtnText{
  font-size: 16px;
  font-weight: 400;
}

.p-footer__contactBtnIcon{
  position: relative;
  width: 16px;
  height: 16px;
}

.p-footer__contactBtnIcon::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #156b9c;
  border-right: 1px solid #156b9c;
  transform: translate(-50%,-50%) rotate(45deg);
}

.p-footer__contactBtn:hover{
  filter: brightness(0.98);
}

.p-footer__contactLead--pdf{
margin-top:20px;
}

.p-footer__tel{
  font-family: "DINAlternate", Arial, sans-serif;
  font-size: 52px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #fff;
  text-decoration: none;
  line-height: 1;
}

.p-footer__telNote{
  margin: 0;
  font-size: 16px;
  letter-spacing: 0.06em;
  font-weight: 400;
  opacity: 0.95;
}

.p-footer__contactCol--tel{
  gap: 2px;
  display:flex;
flex-direction:column;
justify-content:center;
}

.p-footer__logo{
  position: relative;
  display: inline-block;
}

.p-footer__logo img{
  width: 320px;
}

.p-footer__body{
  position: relative;
  background: #3f3f3f;
  color: #fff;
  overflow: hidden;
  padding-top: 92px;
}

.p-footer__inner{
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 86px 40px 34px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px 56px;
  align-items: center;
}



.p-footer__company{
  margin: 0 0 14px;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.p-footer__addr{
  position: absolute;
  top: 58%;
  left: 43px;
  transform: translateY(-50%);
  font-size: 10px;
  line-height: 1.8;
}
.p-footer__navList{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.p-footer__navLink{
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.04em;
  opacity: 0.9;
  font-weight: 700;
}

.p-footer__navLink:hover{
  opacity: 1;
}

.p-footer__subLinks{
  grid-column: 2 / 3;
  display: flex;
  justify-content: flex-end;
  gap: 28px;
  margin-top: 18px;
  padding-right: -100px;
  font-weight: 700;
  transform: translateX(100px);
}

.p-footer__subLink{
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.04em;
  opacity: 0.9;
}

.p-footer__subLink:hover{
  opacity: 1;
}

.p-footer__copy{
  margin: 22px 0 0;
  padding: 18px 40px 26px;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.02em;
  opacity: 0.9;
}

.p-footer__contactGrid{
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  align-items: start;
}

.p-footer__contactGrid > .p-footer__contactCol{
  transform: translateX(-20px);
}

.p-footer__contactGrid > .p-footer__contactCol:last-child{
  transform: translateX(40px);
}

.p-footer__contactDivider{
  position: static;
  transform: none;
  width: 1px;
  height: 180px;
  background: rgba(255,255,255,0.35);
  justify-self: center;
  margin-top: 28px;
}

.p-footer__contactCol{
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media (min-width: 1025px){
  .p-footer__contactLead{
    margin-bottom: 14px;
  }
}

@media (max-width: 1024px){
  .p-footer__contactInner{
    height: auto;
    padding: 44px 28px 38px;
  }

  .p-footer__contactGrid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .p-footer__contactDivider{
    width: 100%;
    height: 1px;
    margin-top: 0;
  }

  .p-footer__contactCol{
    min-height: 0;
    transform: none;
  }

  .p-footer__contactGrid{
  margin-top: 30px;
}

  .p-footer__contactGrid > .p-footer__contactCol{
    transform: none;
  }

  .p-footer__contactGrid > .p-footer__contactCol:last-child{
    transform: none;
  }
  .p-footer__contactLead{
  margin-bottom: 10px;
}
.p-footer__inner{
  display: block;
  text-align: center;
}
.p-footer__nav{
  margin-bottom: 20px;
}

  .p-footer__left{
    margin-bottom: 30px;
  }

  .p-footer__navList{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 12px;
    justify-items: center;
  }

  .p-footer__navItem{
    justify-self: center;
  }

 .p-footer__subLinks{
   justify-content: center;
 }
 .p-footer__addr{
  position: static;
  transform: none;
  text-align: center;
  margin-top: 10px;
}
.p-footer__left{
  text-align: center;
}

.p-footer__subLinks{
  transform: none;
  justify-content: center;
  text-align: center;
}
.p-footer__logo{
  position: relative;
  display: inline-block;
}

.p-footer__addr{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% - 20px));
  margin-top: 0;
  width: 100%;
}
}


@media (max-width: 600px){
  .p-footer__contact{
    padding: 0 16px;
  }

  .p-footer__contactInner{
    padding: 36px 20px 32px;
  }

  .p-footer__contactTitle{
    font-size: clamp(28px, 10vw, 40px);
    letter-spacing: 0.12em;
  }

  .p-footer__contactSub{
    font-size: 11px;
  }

  .p-footer__contactBtn{
    width: min(300px, 100%);
  }

  .p-footer__tel{
    font-size: clamp(30px, 12vw, 42px);
  }

  .p-footer__telNote{
    font-size: 14px;
  }

  .p-footer__company{
    font-size: 26px;
  }
}

.c-hamburger{
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.c-hamburger__bars{
  position: relative;
  display: block;
  width: 24px;
  height: 2px;
  margin: 0 auto;
  background: #156b9c;
  border-radius: 999px;
  transition: transform 1000ms cubic-bezier(.2,.8,.2,1), background 200ms ease;
}

.c-hamburger__bars::before,
.c-hamburger__bars::after{
  content: "";
  position: absolute;
  left: 0;
  width: 24px;
  height: 2px;
  background: #156b9c;
  border-radius: 999px;
  transition: transform 300ms cubic-bezier(.2,.8,.2,1), top 300ms cubic-bezier(.2,.8,.2,1), opacity 200ms ease;
}

.c-hamburger__bars::before{ top: -8px; }
.c-hamburger__bars::after{ top: 8px; }

@media (max-width: 1024px){
  .c-hamburger{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    z-index: 5000;
  }

  @media (max-width:1024px){

  .l-gnav{
  position:fixed;
  top:0;
  right:0;
  width:100%;
  height:100vh;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;

  transform:translateX(100%);
  opacity:0;
  pointer-events:none;

  transition:transform .45s ease, opacity .35s ease;
  z-index:3000;
  }

  body.is-gnav-open .l-gnav{
  transform:translateX(0);
  opacity:1;
  pointer-events:auto;
  }

  }

  body.is-gnav-open .l-gnav{
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }

  .l-gnav__list{
  display:flex;
  flex-direction:column;
  gap:28px;
  text-align:center;
  }
  .l-gnav__list a{
  font-size:18px;
  font-weight:600;
  letter-spacing:0.08em;
  color:#156b9c;
  }

  .l-gnav__list li{
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 520ms ease, transform 520ms cubic-bezier(.16,1,.3,1);
  }

  body.is-gnav-open .l-gnav__list li{
    opacity: 1;
    transform: translateY(0);
  }

  body.is-gnav-open .l-gnav__list li:nth-child(1){ transition-delay: 220ms; }
  body.is-gnav-open .l-gnav__list li:nth-child(2){ transition-delay: 300ms; }
  body.is-gnav-open .l-gnav__list li:nth-child(3){ transition-delay: 380ms; }
  body.is-gnav-open .l-gnav__list li:nth-child(4){ transition-delay: 460ms; }
  body.is-gnav-open .l-gnav__list li:nth-child(5){ transition-delay: 540ms; }
  body.is-gnav-open .l-gnav__list li:nth-child(6){ transition-delay: 620ms; }
  body.is-gnav-open .l-gnav__list li:nth-child(7){ transition-delay: 700ms; }

  body.is-gnav-open{
    overflow: hidden;
  }

  body::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(255,255,255,0.12);
    opacity:0;
    pointer-events:none;
    transition:opacity 260ms ease;
    z-index:2500;
  }

  body.is-gnav-open::before{
    opacity:1;
    pointer-events:auto;
  }

  body.is-gnav-open .c-hamburger{
    position: fixed;
    top: 14px;
    right: 16px;
  }

  body.is-gnav-open .c-hamburger__bars{
    background: transparent;
  }

  body.is-gnav-open .c-hamburger__bars::before{
    top: 0;
    transform: rotate(45deg);
  }

  body.is-gnav-open .c-hamburger__bars::after{
    top: 0;
    transform: rotate(-45deg);
  }
}


.p-privacy-policy__inner {
  width: min(100%, 860px);
  margin: 0 auto;
  padding: 0 20px 0;
}

.p-privacy-policy__breadcrumb {
  margin: 24px 0 0;
  font-size: 14px;
}

.p-privacy-policy-mv {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.p-privacy-policy-mv__img {
  width: 100%;
  height: auto;
  display: block;
}

.p-privacy-policy-mv::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(21,107,156,0.55);
  pointer-events: none;
}

.p-privacy-policy-mv__inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 0 16px;
}

.p-privacy-policy-mv__title {
  font-size: 42px;
  font-weight: 700;
  margin: 0;
}

.p-privacy-policy-mv__en {
  margin-top: 12px;
  font-size: 14px;
  letter-spacing: .1em;
}

.p-privacy-policy__body {
  padding-top: 0;
  line-height: 2;
}

.p-privacy-policy__body,
.p-privacy-policy__body * {
  font-weight: 400;
  font-size: 13.5px;
}

.p-privacy-policy__lead {
  text-align: center;
  margin: 0;
  padding: 80px 0 60px;
}

.p-privacy-policy__section {
  position: relative;
  margin: 0;
  padding: 38px 0 38px;
}

.p-privacy-policy__section + .p-privacy-policy__section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: rgba(0,0,0,0.08);
}

.p-privacy-policy__body h2 {
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.5;
  color: #156b9c;
  font-weight: 700;
}

.p-privacy-policy__body p {
  margin: 0;
}

.p-privacy-policy__body p + p {
  margin-top: 12px;
}

.p-privacy-policy__body ul {
  margin: 12px 0 0;
  padding-left: 1.2em;
}

.p-privacy-policy__body li + li {
  margin-top: 6px;
}

.p-privacy-policy__body a {
  color: #156b9c;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.p-privacy-policy__dl {
  margin: 12px 0 0;
}

.p-privacy-policy__dlrow {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.p-privacy-policy__dlrow dt {
  font-weight: 400;
}

@media (max-width: 768px) {
  .p-privacy-policy__inner {
    padding: 0 16px 0;
  }

  .p-privacy-policy__dlrow {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .p-privacy-policy-mv__title {
    font-size: 28px;
  }
}

.p-privacy-policy__body ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  line-height: 2;
}

.p-privacy-policy__body ul li {
  position: relative;
  padding-left: 1em;
  line-height: 2;
  margin: 0;
}

.p-privacy-policy__body ul li::before {
  content: "◯";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1em;
  line-height: 1;
}

.p-privacy-policy__body ul li + li {
  margin-top: 0;
}

.p-privacy-policy__dl{
  margin: 0;
}

.p-privacy-policy__dlrow{
  display: block;
  padding: 0;
  border: 0;
  gap: 0;
}

.p-privacy-policy__dlrow + .p-privacy-policy__dlrow{
  margin-top: 12px;
}

.p-privacy-policy__dlrow dt{
  display: inline;
  margin: 0;
  font-weight: 600;
}

.p-privacy-policy__dlrow dt::after{
  content: "：";
}

.p-privacy-policy__dlrow dd{
  display: inline;
  margin: 0;
}

.p-privacy-policy__dlrow:last-child{
  position: relative;
  padding-bottom: 38px;
}

.p-privacy-policy__dlrow:last-child::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(0,0,0,0.08);
}

#js-pagetop {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;
  opacity: 0;
  transform: translateY(24px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

#js-pagetop.is-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

#js-pagetop a {
  display: block;
}

#js-pagetop img {
  display: block;
  width: 100px;
  height: auto;
}

/*////////////アクセス//////////////*/

.p-access-hero{
  position: relative;
  height: 300px;
  overflow: hidden;
  background-image: url("./assets/img/access/access-hero.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1500px auto;
  color: #fff;
}

.p-access-hero__img{
position: absolute;
top: 50%;
left: 50%;
width: var(--hero-w);
height: var(--hero-h);
transform: translate(-50%, -50%);
display: block;
}

.p-access-hero__inner{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  width: fit-content;
  margin: auto;
  text-align: center;
}

.p-access-hero__title{
  margin: 0;
  font-size: 40px;
  letter-spacing: 0.12em;
  line-height: 1.1;
}

.p-access-hero__sub{
  margin: 6px 0 0;
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 1;
  font-weight: 700;
}

.p-access-content{
  padding: 10px 0;
}

.p-access-content__inner{
  max-width: 880px;
  margin: 0 auto;
  padding: 1px 0 1px;
  width: 100%;
}

.p-access-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.p-access-card__title{
  font-size: 24px;
  margin-bottom: 20px;
  text-align: center;
}

.p-access-card__img{
  width: 100%;
  margin-bottom: 20px;
}

.p-access-card__label{
  color: #156b9c;
  font-size: 14px;
  margin: 20px 0 5px;
  font-weight: 700;
}

.p-access-card__text{
  margin: 0;
  font-size: 14px;
}

.p-access-card__arrow{
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 1024px){
  .p-access-grid{
    grid-template-columns: 1fr;
    gap: 50px;
  }
}

.page-access footer{
  margin-top: -20px;
}

.p-sitemap-hero{
  position: relative;
  height: 220px;
  overflow: hidden;
  background-image: url("./assets/img/sitemap/hero-sitemap.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1470px auto;
  color: #fff;
}

.p-sitemap-hero__inner{
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-sitemap-hero__title{
  margin: 0;
  font-size: 40px;
  letter-spacing: 0.12em;
  line-height: 1.1;
  font-weight: 700;
}

.p-sitemap-hero__sub{
  margin: 10px 0 0;
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 1;
  font-weight: 700;
}

.p-sitemap{
  max-width: 900px;
  margin: 0 auto;
  padding: 10px 24px 10px;
}

.p-sitemap__list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-sitemap__item{
  border-bottom: 1px solid #bfbfbf;
}

.p-sitemap__link{
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 22px 0 12px;
  position: relative;
  color: #1a1a1a;
}

.p-sitemap__label{
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.p-sitemap__item--children{
  padding-bottom: 18px;
}

.p-sitemap__children{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 120px;
  row-gap: 40px;
}

.p-sitemap__child{
  width: 100%;
}

.p-sitemap__childLink{
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 8px 0;
  position: relative;
  color: #1a1a1a;
}

.p-sitemap__link{
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  padding: 20px 0 14px;
  color: #1a1a1a;
}

.p-sitemap__link::before{
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #156b9c;
  border-right: 1px solid #156b9c;
  transform: rotate(45deg);
  flex: 0 0 10px;
}

.p-sitemap__childLink{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  padding: 8px 0;
  color: #1a1a1a;
}

.p-sitemap__childLink::before{
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #156b9c;
  border-right: 1px solid #156b9c;
  transform: rotate(45deg);
  flex: 0 0 8px;
}

.p-sitemap__childLabel{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.p-sitemap__item{
border-bottom: 1px solid #bfbfbf;
}

.p-sitemap__item--children{
border-bottom: 0;
}

.p-sitemap__toggle{
width: 100%;
display: flex;
align-items: center;
gap: 12px;
padding: 20px 0 14px;
background: transparent;
border: 0;
text-align: left;
cursor: pointer;
border-bottom: 1px solid #bfbfbf;
color: #1a1a1a;
}

.p-sitemap__toggle::before{
content: "";
width: 10px;
height: 10px;
border-top: 1px solid #156b9c;
border-right: 1px solid #156b9c;
transform: rotate(45deg);
flex: 0 0 10px;
}

.p-sitemap__children{
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, max-content);
column-gap: 80px;
row-gap: 0;
justify-content: start;
}

.p-sitemap__child{
width: auto;
}

.p-sitemap__childLink{
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
padding: 10px 0;
color: #1a1a1a;
}

.p-sitemap__childLink::before{
content: "";
width: 8px;
height: 8px;
border-top: 1px solid #156b9c;
border-right: 1px solid #156b9c;
transform: rotate(45deg);
flex: 0 0 8px;
}

@media (max-width: 980px){
.p-sitemap__children{
  grid-template-columns: repeat(2, max-content);
  column-gap: 60px;
}
}

@media (max-width: 640px){
.p-sitemap__children{
  grid-template-columns: 1fr;
}
}

@media (max-width: 980px){
  .p-sitemap__child{
    width: calc((100% - 60px) / 2);
  }
}

@media (max-width: 640px){
  .p-sitemap{
    padding: 10px 20px 10px;
  }

  .p-sitemap__label{
    font-size: 16px;
  }

  .p-sitemap__children{
    column-gap: 24px;
  }

  .p-sitemap__child{
    width: 100%;
    min-width: auto;
  }
}

/*=================問い合わせページ===================*/

.p-contact-hero{
  position: relative;
  height: 300px;
  overflow: hidden;
  background-image: url("./assets/img/contact/contact-hero.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1500px auto;
  color: #fff;
}

.p-contact-hero__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.p-contact-hero__title{
  margin: 0;
  font-size: 44px;
  letter-spacing: 0.18em;
  line-height: 1.1;
}

.p-contact-hero__en{
  margin-top: 10px;
  font-size: 12px;
  letter-spacing: 0.22em;
  font-weight: 700;
}

.p-contact{
  padding: 60px 0 120px;
}

.p-contact__inner{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
}

.p-contact__lead{
  text-align: center;
  margin-bottom: 34px;
}

.p-contact__leadMain{
  margin: 0;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
}

.p-contact__leadSub{
  margin: 8px 0 0;
  font-size: 12px;
  letter-spacing: 0.02em;
}

.p-contact__telBox{
  width: 520px;
  max-width: 100%;
  margin: 0 auto 40px;
  background: #f2f2f2;
  padding: 22px 20px;
  text-align: center;
}

.p-contact__telNumber{
  font-family:"DINAlternate","DINCondensed",Arial,sans-serif;
  font-weight:700;
  font-size: 32px;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-contact__telNote{
  margin-top: 8px;
  font-size: 12px;
}

.p-contact__errors{
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid #ddd;
  background: #fff;
}

.p-contact__errorsList{
  margin: 0;
  padding-left: 18px;
}

.p-contact__errorsItem{
  font-size: 13px;
  line-height: 1.6;
}

.p-contact__form{
  border-top: 1px solid #e6e6e6;
}

.p-contact__row{
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid #e6e6e6;
  align-items: center;
}

.p-contact__row--textarea{
  align-items: start;
}

.p-contact__label{
  display: flex;
  align-items: center;
  gap: 12px;
}

.p-contact__labelText{
  font-weight: 700;
  font-size: 14px;
}

.p-contact__req{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 18px;
  border-radius: 2px;
  background: #156b9c;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.p-contact__field{
  position: relative;
}

.p-contact__input{
  width: 100%;
  height: 40px;
  border: 1px solid #dcdcdc;
  border-radius: 2px;
  padding: 0 12px;
  font-size: 14px;
  background: #fff;
}

.p-contact__input--zip{
  width: 220px;
  max-width: 100%;
}

.p-contact__select{
  width: 100%;
  height: 40px;
  border: 1px solid #dcdcdc;
  border-radius: 2px;
  padding: 0 12px;
  font-size: 14px;
  background: #fff;
}

.p-contact__textarea{
  width: 100%;
  height: 140px;
  border: 1px solid #dcdcdc;
  border-radius: 2px;
  padding: 10px 12px;
  font-size: 14px;
  background: #fff;
  resize: vertical;
}

.p-contact__note{
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
}

.p-contact__addrTop{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.p-contact__addrMark{
  font-weight: 700;
  font-size: 14px;
}

.p-contact__privacy{
  margin-top: 22px;
  background: #eaf3fb;
  padding: 18px 18px;
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 18px;
  align-items: center;
}

.p-contact__privacyLeft{
  font-weight: 700;
  color: #156b9c;
  line-height: 1.4;
  font-size: 13px;
}

.p-contact__privacyBox{
  background: #fff;
  border: 1px solid #d7e6f4;
  height: 64px;
  overflow: auto;
  padding: 12px 12px;
}

.p-contact__privacyText{
  font-size: 12px;
  line-height: 1.6;
}

.p-contact__agree{
  text-align: center;
  margin-top: 18px;
}

.p-contact__agreeLabel{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}

.p-contact__agreeCheck{
  width: 16px;
  height: 16px;
}

.p-contact__actions{
  margin-top: 26px;
  display: flex;
  justify-content: center;
  gap: 18px;
  align-items: center;
}

.p-contact__btn{
  width: 320px;
  max-width: 100%;
  height: 56px;
  border-radius: 999px;
  border: 0;
  background: #156b9c;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.p-contact__btn--send{
  background: #156b9c;
}

.p-contact__back{
  border: 0;
  background: transparent;
  color: #156b9c;
  font-weight: 700;
  cursor: pointer;
}

.p-contact__confirmText{
  display: none;
  height: 40px;
  border: 1px solid #dcdcdc;
  border-radius: 2px;
  padding: 0 12px;
  font-size: 14px;
  background: #f7f7f7;
  display: flex;
  align-items: center;
}

.p-contact__thanks{
  text-align: center;
  padding: 80px 0 40px;
}

.p-contact__thanksTitle{
  margin: 0;
  font-size: 22px;
  letter-spacing: 0.08em;
}

.p-contact__thanksText{
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.8;
}

@media (max-width: 768px){
  .p-contact{
    padding: 40px 0 90px;
  }

  .p-contact__inner{
    padding: 0 20px;
  }

  .p-contact__row{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .p-contact__privacy{
    grid-template-columns: 1fr;
  }

  .p-contact__btn{
    width: 100%;
  }

  .p-contact__actions{
    flex-direction: column;
  }
}

.p-contact__confirmVal{
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #111;
}

.p-contact__confirmValText{
  white-space: pre-wrap;
}

.p-contact__form.is-confirm .p-contact__privacy{
  display: none;
}

.p-contact__form.is-confirm .p-contact__agree{
  display: none;
}

.p-contact__form.is-confirm .p-contact__req{
  display: none;
}

.p-contact__thanksActions{
margin-top: 40px;
text-align: center;
}

.p-contact__thanksBtn{
display: inline-block;
padding: 14px 40px;
background: #156b9c;
color: #fff;
font-weight: 600;
border-radius: 999px;
text-decoration: none;
transition: opacity .3s ease;
}

.p-contact__thanksBtn:hover{
opacity: .8;
}

.p-contact__privacyExpand{
margin-top:8px;
background:none;
border:0;
color:#156b9c;
font-size:12px;
cursor:pointer;
}

.p-contact__privacyModal{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

.p-contact__privacyModalInner{
width:800px;
max-width:90%;
height:80%;
background:#fff;
position:relative;
padding:40px;
overflow:auto;
}

.p-contact__privacyModalBody{
font-size:13px;
line-height:1.8;
}

.p-contact__privacyClose{
position:absolute;
top:16px;
right:20px;
border:0;
background:none;
font-size:24px;
cursor:pointer;
}

/*=================問い合わせページ終わり===================*/

/*=================TOP===================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:sans-serif;
}

.l-header__inner{
height:72px;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 32px;
color:#fff;
}

.p-top-hero{
  position: relative;
  height: 100svh;
  overflow: hidden;
background-image: url("./assets/img/top/top-hero.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: 1560px auto;
}

@media (max-width: 1024px){
.p-top-hero{
background-size: 1000px auto;
}
}

@media (max-width: 767px){
.p-top-hero{
background-size: 1100px auto;
}
}

.p-top-hero{
opacity: 0;
animation: heroFade 4s ease forwards;
}

@keyframes heroFade{
0%{
  opacity: 0;
}
100%{
  opacity: 1;
}
}

.page-template-page-top .l-gnav__list a{
display: inline-block;
padding: 6px 14px;
background: rgba(255,255,255,0.35);
border-radius: 999px;
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
transition: background 0.3s ease;
}

.page-template-page-top .l-gnav__list a:hover{
background: rgba(255,255,255,0.55);
}

@media (max-width: 1200px){
.p-top-hero{
  background-size: 1300px auto;
}
}
@media (max-width: 768px){
.p-top-hero{
  background-size: 900px auto;
}
}

body.home.page-id-20 .l-header{
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
background: transparent;
}

body.home.page-id-20 .l-main{
padding-top: 0;
margin-top: 0;
}

@media (max-width:1024px){
  body.home .l-header,
  body.home .l-header__inner{
    background: transparent !important;
    background-color: transparent !important;
  }

  body.home:not(.is-gnav-open) .l-gnav{
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
}

@media (max-width:767px){
  body.home .l-header,
  body.home .l-header__inner{
    background: transparent !important;
    background-color: transparent !important;
  }
}
@media (max-width:767px){

  body.home .l-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  background:transparent !important;
  }

.l-header__inner{
height:80px;
padding:15px 15px 0;
background:transparent !important;
}

.c-logo img{
height:24px;
width:auto;
}

.c-hamburger__bars,
.c-hamburger__bars::before,
.c-hamburger__bars::after{
background:#156b9c;
}

}

/*==============================*/
/*========top-about_us==========*/
/*==============================*/


.p-top-about{
position: relative;
padding: 120px 0;
overflow: hidden;
}

.p-top-about__header{
text-align: center;
margin-bottom: 80px;
}

.p-top-about__ttl{
font-size: 42px;
letter-spacing: 0.2em;
font-weight: 700;
font-family: 'Open Sans', sans-serif;
}

.p-top-about__sub{
font-size: 10px;
margin-top: -10px;
color: #156b9c;
font-weight: 700;
}

.p-top-about__bgText{
position: absolute;
top: 270px;
left: 20px;
font-size: 42px;
font-weight: 700;
font-family: "Open Sans", sans-serif;
color: rgba(21,107,156,0.04);
line-height: 1.5;
letter-spacing: 0.25em;
pointer-events: none;
white-space: nowrap;
}

.p-top-about__inner{
max-width: 1200px;
margin: 0 auto;
padding: 0 40px 0 240px;
display: flex;
align-items: center;
justify-content: center;
gap: 120px;
position: relative;
z-index: 2;
}

.p-top-about__content{
width: 40%;
}

.p-top-about__lead{
font-size: 30px;
line-height: 1.6;
margin-bottom: 30px;
}

.p-top-about__lead span{
color: #156b9c;
}

.p-top-about__text p{
font-size: 15px;
line-height: 2;
margin-bottom: 16px;
}

.p-top-about__image{
width: 50%;
aspect-ratio: 4 / 5;
background-image: url("./assets/img/top/top-about.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

@media (max-width: 1024px){
.p-top-about__inner{
  flex-direction: column;
}

.p-top-about__content,
.p-top-about__image{
  width: 100%;
}

.p-top-about__image{
  height: 400px;
}

.p-top-about__bgText{
  font-size: 80px;
  left: -20px;
}
}

.p-top-about .c-link-btn{
margin: 100px 0 0;
}

/*=================aboutセクション上げ===================*/

.page-template-page-top .p-top-about{
margin-top: -135px;
padding-top: 135px;
}


@media (max-width: 1200px){
.page-template-page-top .p-top-about{
margin-top: -140px;
padding-top: 140px;
}
}

.p-top-about{
position: relative;
overflow: hidden;
}

.p-top-about__bg{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
font-family: "Open Sans", "Noto Sans JP", sans-serif;
font-weight: 700;
font-size: 96px;
letter-spacing: 0.02em;
color: rgba(0,0,0,0.08);
white-space: nowrap;
pointer-events: none;
opacity: 0;
}

.js-reveal-ttl,
.js-reveal-text,
.js-reveal-photo,
.js-reveal-btn{
opacity: 0;
will-change: transform, opacity;
}

.js-reveal-ttl{
transform: translateY(-18px);
}

.js-reveal-text{
transform: translateX(-24px);
}

.js-reveal-photo{
transform: translateX(24px);
}

.js-reveal-btn{
transform: scale(0.92);
}

.p-top-about.is-inview .js-reveal-bg{
animation: aboutBg 1400ms ease forwards;
}

.p-top-about.is-inview .js-reveal-ttl{
animation: aboutTtl 700ms ease forwards;
}

.p-top-about.is-inview .js-reveal-text{
animation: aboutText 700ms ease forwards;
animation-delay: 220ms;
}

.p-top-about.is-inview .js-reveal-photo{
animation: aboutPhoto 700ms ease forwards;
animation-delay: 1200ms;
}

.p-top-about.is-inview .js-reveal-btn{
animation: aboutBtn 700ms cubic-bezier(.2,.9,.2,1.2) forwards;
animation-delay: 520ms;
}

@keyframes aboutBg{
0%{ opacity: 0; }
100%{ opacity: 1; }
}

@keyframes aboutTtl{
0%{ opacity: 0; transform: translateY(-18px); }
100%{ opacity: 1; transform: translateY(0); }
}

@keyframes aboutText{
0%{ opacity: 0; transform: translateX(-24px); }
100%{ opacity: 1; transform: translateX(0); }
}

@keyframes aboutPhoto{
0%{ opacity: 0; transform: translateX(24px); }
100%{ opacity: 1; transform: translateX(0); }
}

@keyframes aboutBtn{
0%{ opacity: 0; transform: scale(0.92); }
60%{ opacity: 1; transform: scale(1.06); }
82%{ opacity: 1; transform: scale(0.98); }
100%{ opacity: 1; transform: scale(1); }
}

@media (max-width: 768px){
.p-top-about__bg{
  font-size: 56px;
}
}

.js-reveal-bg{
opacity: 0;
will-change: opacity;
}


.p-top-topics{
  padding: 100px 0 120px;
  background: #e9f8fd;
}

.p-top-topics__header{
  text-align: center;
  margin-bottom: 70px;
}

.p-top-topics__ttl{
  font-size: 42px;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
}

.p-top-topics__sub{
  font-size: 10px;
  margin-top: -10px;
  color: #156b9c;
  font-weight: 700;
}

.p-top-topics__inner{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
}

.p-top-topics__box{
  background: #fff;
  padding: 48px 80px;
}

.p-top-topics__list{
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(0,0,0,0.25);
}

.p-top-topics__item{
  border-bottom: 1px solid rgba(0,0,0,0.25);
}

.p-top-topics__link{
  display: flex;
  align-items: center;
  gap: 42px;
  padding: 28px 0;
  text-decoration: none;
}

.p-top-topics__date{
  width: 120px;
  flex: 0 0 120px;
  font-size: 14px;
  color: rgba(0,0,0,0.45);
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.p-top-topics__title{
  font-size: 16px;
  color: #111;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.p-top-topics__link:hover .p-top-topics__title{
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.p-top-topics__btn{
  margin: 70px auto 0;
}

.p-top-topics__empty{
  margin: 0;
  padding: 24px 0;
  font-size: 14px;
  color: rgba(0,0,0,0.6);
}

@media (max-width: 1024px){
  .p-top-topics__box{
    padding: 40px 44px;
  }

  .p-top-topics__link{
    gap: 28px;
  }
}

@media (max-width: 768px){
  .p-top-topics{
    padding: 110px 0 100px;
  }

  .p-top-topics__inner{
    padding: 0 20px;
  }

  .p-top-topics__box{
    padding: 26px 22px;
  }

  .p-top-topics__link{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 0;
  }

  .p-top-topics__date{
    width: auto;
    flex: none;
  }

  .p-top-topics__title{
    font-size: 15px;
    line-height: 1.7;
  }
}

.p-top-topics .js-reveal-ttl,
.p-top-topics .js-reveal-box,
.p-top-topics .js-reveal-btn,
.p-top-topics .p-top-topics__item{
  opacity: 0;
  will-change: transform, opacity;
}

.p-top-topics .js-reveal-ttl{
  transform: translateY(-18px);
}

.p-top-topics .js-reveal-box{
  transform: translateY(18px);
}

.p-top-topics .p-top-topics__item{
  transform: translateY(12px);
}

.p-top-topics .js-reveal-btn{
  transform: scale(0.92);
}

.p-top-topics.is-inview .js-reveal-ttl{
  animation: topicsTtl 700ms ease forwards;
}

.p-top-topics.is-inview .js-reveal-box{
  animation: topicsBox 900ms ease forwards;
  animation-delay: 220ms;
}

.p-top-topics.is-inview .p-top-topics__item{
  animation: topicsRow 650ms ease forwards;
}

.p-top-topics.is-inview .p-top-topics__item:nth-child(1){ animation-delay: 420ms; }
.p-top-topics.is-inview .p-top-topics__item:nth-child(2){ animation-delay: 520ms; }
.p-top-topics.is-inview .p-top-topics__item:nth-child(3){ animation-delay: 620ms; }
.p-top-topics.is-inview .p-top-topics__item:nth-child(4){ animation-delay: 720ms; }

.p-top-topics.is-inview .js-reveal-btn{
  animation: topicsBtn 700ms cubic-bezier(.2,.9,.2,1.2) forwards;
  animation-delay: 900ms;
}

@keyframes topicsTtl{
  0%{ opacity: 0; transform: translateY(-18px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@keyframes topicsBox{
  0%{ opacity: 0; transform: translateY(18px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@keyframes topicsRow{
  0%{ opacity: 0; transform: translateY(12px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@keyframes topicsBtn{
  0%{ opacity: 0; transform: scale(0.92); }
  60%{ opacity: 1; transform: scale(1.06); }
  82%{ opacity: 1; transform: scale(0.98); }
  100%{ opacity: 1; transform: scale(1); }
}

.p-top-topics__item{
  display: flex;
  align-items: center;
  gap: 56px;
}

.p-top-topics__date{
  flex: 0 0 160px;
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
  color: #9a9a9a;
  letter-spacing: 0.08em;
}

.p-top-topics__link{
  flex: 1 1 auto;
  display: block;
  text-decoration: none;
  color: #222;
}

/*==============top-company==============*/

.p-top-company{
  position: relative;
  padding: 100px 0 90px;
  background: #f3f8fa;
  overflow: hidden;
}

.p-top-company__header{
  text-align: center;
  margin-bottom: 60px;
}

.p-top-company__ttl{
  font-size: 42px;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
  color: #222;
}

.p-top-company__sub{
  font-size: 10px;
  margin-top: -10px;
  color: #156b9c;
  font-weight: 700;
}

.p-top-company__main{
  margin-bottom: 70px;
}

.p-top-company__mainInner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.p-top-company__mainImage{
  width: 100%;
  aspect-ratio: 1200 / 360;
  background-image: url("./assets/img/top/top-company-main.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}

.p-top-company__body{
  position: relative;
}

.p-top-company__bgText{
  position: absolute;
  left: 0;
  bottom: 28px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 48px;
  letter-spacing: 0.18em;
  line-height: 1.35;
  color: #e6f1f6;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translateY(10px);
}

.p-top-company__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 2;
}

.p-top-company__lead{
  font-size: 34px;
  line-height: 1.45;
  font-weight: 700;
  color: #222;
}

.p-top-company__lead span{
  color: #156b9c;
}

.p-top-company__text p{
  font-size: 14px;
  line-height: 2;
  margin-bottom: 14px;
  color: #222;
}

.p-top-company__content .c-link-btn{
  margin: 28px 0 0;
}

.p-top-company__marquee{
  margin-top: 80px;
  overflow: hidden;
}

.p-top-company__marqueeTrack{
  display: flex;
  width: max-content;
  animation: companyMarquee 120s linear infinite;
  will-change: transform;
}

.p-top-company__marqueeList{
  display: flex;
  gap: 22px;
  padding: 0 22px;
  list-style: none;
}

.p-top-company__marqueeItem{
  flex: 0 0 auto;
  width: 260px;
  aspect-ratio: 260 / 140;
  overflow: hidden;
}

.p-top-company__marqueeItem img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@keyframes companyMarquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce){
  .p-top-company__marqueeTrack{
    animation: none;
  }
}

.js-company-ttl,
.js-company-text,
.js-company-photo,
.js-company-btn,
.js-company-marquee{
  opacity: 0;
  will-change: transform, opacity;
}

.js-company-ttl{
  transform: translateY(-18px);
}

.js-company-text{
  transform: translateX(-24px);
}

.js-company-photo{
  transform: translateY(14px);
}

.js-company-btn{
  transform: scale(0.92);
}

.js-company-marquee{
  transform: translateY(12px);
}

.p-top-company.is-inview .js-company-bg{
  animation: companyBg 1200ms ease forwards;
  animation-delay: 200ms;
}

.p-top-company.is-inview .js-company-ttl{
  animation: companyTtl 700ms ease forwards;
}

.p-top-company.is-inview .js-company-photo{
  animation: companyPhoto 900ms ease forwards;
  animation-delay: 260ms;
}

.p-top-company.is-inview .js-company-text{
  animation: companyText 800ms ease forwards;
  animation-delay: 420ms;
}

.p-top-company.is-inview .js-company-btn{
  animation: companyBtn 700ms cubic-bezier(.2,.9,.2,1.2) forwards;
  animation-delay: 900ms;
}

.p-top-company.is-inview .js-company-marquee{
  animation: companyMarqueeIn 800ms ease forwards;
  animation-delay: 520ms;
}

@keyframes companyBg{
  0%{ opacity: 0; transform: translateY(10px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@keyframes companyTtl{
  0%{ opacity: 0; transform: translateY(-18px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@keyframes companyPhoto{
  0%{ opacity: 0; transform: translateY(14px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@keyframes companyText{
  0%{ opacity: 0; transform: translateX(-24px); }
  100%{ opacity: 1; transform: translateX(0); }
}

@keyframes companyBtn{
  0%{ opacity: 0; transform: scale(0.92); }
  60%{ opacity: 1; transform: scale(1.06); }
  82%{ opacity: 1; transform: scale(0.98); }
  100%{ opacity: 1; transform: scale(1); }
}

@keyframes companyMarqueeIn{
  0%{ opacity: 0; transform: translateY(12px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@media (max-width: 1024px){
  .p-top-company__bgText{
    font-size: 56px;
    left: 20px;
  }

  .p-top-company__inner{
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .p-top-company__content .c-link-btn{
    margin-left: 0;
  }
}

@media (max-width: 768px){
  .p-top-company{
    padding: 110px 0 70px;
  }

  .p-top-company__mainInner{
    padding: 0 20px;
  }

  .p-top-company__bgText{
    font-size: 40px;
    bottom: 10px;
  }

  .p-top-company__marqueeItem{
    width: 210px;
  }

  .p-top-company__leadWrap{
  padding-left: 0;
  margin-top: 0;
  }

  .p-top-company__lead,
  .p-top-company__text{
  text-align: left;
  }
}

.p-top-company__leadWrap{
  margin-top: 20px;
  padding-left: 150px;
}

/*=====================================*/
        /*  top-service   */
/*=====================================*/

.p-top-services{
  position: relative;
  padding: 100px 0;
  background-image: url("./assets/img/top/top-services-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  overflow: hidden;
}

.p-top-services__header{
  text-align: center;
  margin-bottom: 80px;
}

.p-top-services__ttl{
  font-size: 42px;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
}

.p-top-services__sub{
  font-size: 10px;
  margin-top: -10px;
  color: #fff;
  font-weight: 700;
}

.p-top-services__inner{
  width: 100%;
  display: grid;
  grid-template-columns: 40% minmax(400px, 520px);
  gap: 120px;
  align-items: start;
}

.p-top-services__image img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.p-top-services__list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-top-services__item{
  position: relative;
  border-top: 1px solid rgba(255,255,255,0.4);
}

.p-top-services__item:last-child{
  border-bottom: 1px solid rgba(255,255,255,0.4);
}

.p-top-services__toggle{
  width: 100%;
  display: block;
  padding: 40px 72px 40px 0;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  text-align: left;
}

.p-top-services__label{
  display: block;
  font-family: "Noto Sans JP", sans-serif;
}

.p-top-services__line1{
  display: block;
  font-weight: 500;
  font-size: 26px;
  line-height: 1.15;
}

.p-top-services__line2{
  display: block;
  margin-top: 6px;
  font-weight: 500;
  font-size: 26px;
  line-height: 1.15;
  padding-left: 1.3em;
}

.p-top-services__line2:empty{
  display: none;
}

.p-top-services__num{
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
  font-size: 22px;
  opacity: 0.8;
}

.p-top-services__title{
  font-size: 26px;
  font-weight: 500;
  line-height: 1.25;
}

.p-top-services__icon{
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,0.7);
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.p-top-services__icon::before,
.p-top-services__icon::after{
  content: "";
  position: absolute;
  background: rgba(255,255,255,0.7);
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.p-top-services__icon::before{
  width: 12px;
  height: 1px;
}

.p-top-services__icon::after{
  width: 1px;
  height: 12px;
}

.p-top-services__item.is-open .p-top-services__icon::after{
  opacity: 0;
}

.p-top-services__panel{
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 420ms ease, opacity 420ms ease;
  padding-right: 72px;
}


.p-top-services__panel p{
  padding: 1px 0 30px;
  font-size: 14px;
  line-height: 2;
}


.p-top-services__btnWrap{
  text-align: center;
  margin-top: 80px;
}

@media (max-width: 1024px){
  .p-top-services__inner{
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .p-top-services__image{
    max-width: 520px;
    margin: 0 auto;
  }
}

@media (max-width: 768px){
  .p-top-services{
    padding: 110px 0;
  }

  .p-top-services__inner{
    padding: 0 20px;
  }

  .p-top-services__toggle{
    grid-template-columns: 44px 1fr 32px;
    gap: 14px;
    padding: 18px 56px 18px 0;
  }

  .p-top-services__num{
    font-size: 14px;
  }

  .p-top-services__line1,
  .p-top-services__line2{
  font-size: 18px;
}

  .p-top-services__title{
    font-size: 20px;
  }

  .p-top-services__panel p{
    font-size: 13px;
    max-width: 100%;
  }

  .p-top-services__btnWrap{
    margin-top: 56px;
  }
}

.js-services-ttl,
.js-services-photo,
.js-services-content,
.js-services-btn{
  opacity: 0;
  will-change: transform, opacity;
}

.js-services-ttl{
  transform: translateY(-16px);
}

.js-services-photo{
  transform: translateX(-18px);
}

.js-services-content{
  transform: translateX(18px);
}

.js-services-btn{
  transform: scale(0.94);
}

.p-top-services.is-inview .js-services-ttl{
  animation: svTtl 700ms ease forwards;
}

.p-top-services.is-inview .js-services-photo{
  animation: svPhoto 900ms ease forwards;
  animation-delay: 180ms;
}

.p-top-services.is-inview .js-services-content{
  animation: svContent 900ms ease forwards;
  animation-delay: 260ms;
}

.p-top-services.is-inview .js-services-btn{
  animation: svBtn 750ms cubic-bezier(.2,.9,.2,1.2) forwards;
  animation-delay: 700ms;
}

@keyframes svTtl{
  0%{ opacity: 0; transform: translateY(-16px); }
  100%{ opacity: 1; transform: translateY(0); }
}

@keyframes svPhoto{
  0%{ opacity: 0; transform: translateX(-18px); }
  100%{ opacity: 1; transform: translateX(0); }
}

@keyframes svContent{
  0%{ opacity: 0; transform: translateX(18px); }
  100%{ opacity: 1; transform: translateX(0); }
}

@keyframes svBtn{
  0%{ opacity: 0; transform: scale(0.94); }
  60%{ opacity: 1; transform: scale(1.06); }
  82%{ opacity: 1; transform: scale(0.985); }
  100%{ opacity: 1; transform: scale(1); }
}

.p-top-services__panel{
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: height 420ms ease, opacity 320ms ease, transform 420ms ease;
}

.p-top-services__panel p{
  padding-bottom: 24px;
  font-size: 14px;
  line-height: 2;
}

.p-top-services__item.is-open .p-top-services__panel{
  opacity: 1;
  transform: translateY(0);
}

.p-top-services__toggle{
  cursor: pointer;
}

.p-top-services__toggle:focus-visible{
  outline: 2px solid rgba(255,255,255,0.75);
  outline-offset: 4px;
  border-radius: 8px;
}

.p-top-services .c-link-btn{
  background: #fff;
  color: #156b9c !important;
  border: 1px solid #fff;
}

.p-top-services .c-link-btn__text{
  color: #156b9c !important;
}

.p-top-services .c-link-btn__arrow::before{
  border-top: 1px solid #156b9c;
  border-right: 1px solid #156b9c;
}

/* hover時 */
.p-top-services .c-link-btn:hover{
  background: transparent;
  color: #fff !important;
}

.p-top-services .c-link-btn:hover .c-link-btn__text{
  color: #fff !important;
}

.p-top-services .c-link-btn:hover .c-link-btn__arrow::before{
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

/*=====================================*/
        /*  top-blog   */
/*=====================================*/
.p-top-blog{
  padding: 100px 0 120px;
  background: #fff;
  overflow: hidden;
}

.p-top-blog__header{
  text-align: center;
  margin-bottom: 70px;
}

.p-top-blog__ttl{
  font-size: 42px;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
}

.p-top-blog__sub{
  font-size: 10px;
  margin-top: -10px;
  color: #156b9c;
  font-weight: 700;
}

.p-top-blog__slider{
  position: relative;
  width: 100%;
}

.p-top-blog__frame{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
}

.p-top-blog__swiper{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: visible;
}
.p-top-blog__slide{
  width: 360px;
}

.p-top-blog__card{
  display: block;
  text-decoration: none;
  color: #111;
}

.p-top-blog__thumb{
  width: 100%;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-top-blog__date{
  display: block;
  margin-top: 16px;
  font-family: "din-2014", "din-2014-narrow", sans-serif;
  font-weight: 400;
  font-size: 12px;
  color: #111;
}

.p-top-blog__title{
  margin-top: 8px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.p-top-blog__nav{
  position: absolute;
  top: 140px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(40,40,40,0.75);
  border: 0;
  cursor: pointer;
  z-index: 10;
}

.p-top-blog__nav--prev{ left: 18px; }
.p-top-blog__nav--next{ right: 18px; }

.p-top-blog__nav::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%,-50%) rotate(225deg);
}

.p-top-blog__nav--next::before{
  transform: translate(-50%,-50%) rotate(45deg);
}

.p-top-blog__btnWrap{
  text-align: center;
  margin-top: 55px;
}

@media (max-width: 1024px){
  .p-top-blog__nav{ top: 120px; }
  .p-top-blog__slide{ width: 320px; }
}

@media (max-width: 768px){
  .p-top-blog{
    padding: 110px 0 90px;
  }
  .p-top-blog__nav{
    width: 48px;
    height: 48px;
    top: 110px;
  }
  .p-top-blog__slide{
    width: 78vw;
    max-width: 520px;
  }
}

.p-top-blog__swiper .swiper-slide{
  width: 360px;
  flex-shrink: 0;
}

.p-top-blog__swiper .swiper-wrapper{
  align-items: flex-start;
}

@media (max-width: 768px){

  .p-top-blog__swiper{
    width: 100%;
    margin: 0;
    padding: 0 15px;
    overflow: visible;
  }

  .p-top-blog__swiper .swiper-wrapper{
    align-items: stretch;
  }

  .p-top-blog__swiper .swiper-slide{
    width: 85%;
  }

}

/*=========================*/
/*=========recruit=========*/
/*=========================*/

.p-top-recruit{
  padding: 90px 0;
  background-image: url("../mitotuu2026/assets/img/top/top-recruit-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-top-recruit__inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 30px;
}

.p-top-recruit__card{
  width: min(520px, 100%);
  background: #fff;
  padding: 70px 80px 60px;
  margin-left: 40px;
}

.p-top-recruit__ttl{
  text-align: center;
  font-size: 42px;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
}

.p-top-recruit__sub{
  text-align: center;
  font-size: 10px;
  margin-top: -10px;
  color: #156b9c;
  font-weight: 700;
}

.p-top-recruit__text{
  margin-top: 34px;
  font-size: 14px;
  line-height: 2.2;
  color: #111;
}

.p-top-recruit__btn{
  margin-top: 26px;
}

.p-top-recruit .c-link-btn{
  background: #fff;
  color: #156b9c !important;
  border: 1px solid #156b9c;
}

.p-top-recruit .c-link-btn__text{
  color: #156b9c !important;
}

.p-top-recruit .c-link-btn__arrow{
  border-color: #156b9c;
}

.p-top-recruit .c-link-btn__arrow::before{
  border-top: 1px solid #156b9c;
  border-right: 1px solid #156b9c;
}

@media (max-width: 768px){
  .p-top-recruit{
    padding: 70px 0;
  }

  .p-top-recruit__inner{
    padding: 0 18px;
  }

  .p-top-recruit__card{
    padding: 52px 24px 44px;
  }

  .p-top-recruit__ttl{
    font-size: 34px;
  }
}

/*======access======*/

.p-top-access{
  background: #f6f6f6;
  padding: 100px 0 320px;
}

.p-top-access__inner{
  max-width: none;
  width: 100%;
  padding-right: 0;
}

.p-top-access__ttl{
  text-align: center;
  font-size: 42px;
  letter-spacing: 0.2em;
  font-weight: 700;
}

.p-top-access__sub{
  text-align: center;
  font-size: 10px;
  margin-top: -10px;
  color: #156b9c;
  font-weight: 700;
}

.p-top-access__body{
  margin-top: 70px;
  display: flex;
  align-items: flex-start;

  padding-left: 300px;
  gap: 20px;
}

.p-top-access__info{
  width: 320px;
  flex: 0 0 320px;
}

.p-top-access__name{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 18px;
}

.p-top-access__address{
  font-size: 14px;
  line-height: 2;
  margin-bottom: 8px;
}

.p-top-access__tel{
  font-size: 14px;
}

.p-top-access__line{
  margin: 40px 0;
  border: none;
  border-top: 1px solid #ccc;
  width: 100%;
}

.p-top-access__map{
  flex: 1 1 auto;
  margin-right: calc(50% - 50vw);
}

.p-top-access__content{
  padding-right: 80px;
}

.p-top-access__mapWrap{
  width: 100%;
  aspect-ratio: 19 / 9;
  position: relative;
}

.p-top-access__mapCanvas{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/*=========↓↓↓TOPページだけフッターあげる↓↓↓============*/

.page-template-page-top .p-footer{
  margin-top: -360px;
}

@media (max-width: 1200px){
  .page-template-page-top .p-footer{
    margin-top: -200px;
  }
}

@media (max-width: 768px){
  .page-template-page-top .p-footer{
    margin-top: -300px;
  }
}

/*=========↑↑↑TOPページだけフッターあげた↑↑============*/

/*=========各セクションのタイトルフォント合わせ============*/

.p-top-about__ttl,
.p-top-topics__ttl,
.p-top-company__ttl,
.p-top-services__ttl,
.p-top-blog__ttl,
.p-top-recruit__ttl,
.p-top-access__ttl{
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
}

/*=========TOPスマホ版調整============*/

@media (max-width: 768px){
  .p-top-about__inner,
  .p-top-company__inner,
  .p-top-topics__inner,
  .p-top-services__inner,
  .p-top-recruit__inner,
  .p-top-access__inner{
    padding-left: 20px;
    padding-right: 20px;
  }

  .p-top-about__inner{
    padding: 0 20px;
    text-align: center;
    gap: 28px;
  }

  .p-top-about__image{
    background-position: center top;
    background-size: 120% auto;
    aspect-ratio: 16 / 10;
  }

  .p-top-about__content{
    width: 100%;
  }

  .p-top-about__lead,
  .p-top-about__text{
    text-align: center;
  }

  .p-top-about .c-link-btn{
    margin: 28px auto 0;
  }

  .p-top-recruit__card{
    margin: 0 auto;
    width: min(520px, calc(100% - 40px));
    text-align: center;
  }

  .p-top-recruit__text{
    text-align: center;
  }

  .p-top-recruit .c-link-btn{
    margin-left: auto;
    margin-right: auto;
  }

  .p-top-access__body{
    flex-direction: column;
    padding-left: 0;
    gap: 26px;
    align-items: center;
    text-align: center;
  }

  .p-top-access__info{
    width: min(320px, calc(100% - 40px));
    flex: 0 0 auto;
    margin: 0 auto;
  }

  .p-top-access__line{
    margin-left: auto;
    margin-right: auto;
  }

  .p-top-access__map{
    width: min(560px, calc(100% - 40px));
    margin-right: 0;
    margin-left: 0;
    flex: 0 0 auto;
  }

  .p-top-access__mapWrap{
    aspect-ratio: 16 / 9;
  }

  .p-top-access__content{
    padding-right: 0;
  }

  .p-top-blog__frame{
    padding: 0;
  }

  .p-top-blog__swiper{
    width: 100%;
    margin-left: 0;
    padding: 0 15px;
    overflow: visible;
  }

  .p-top-blog__swiper .swiper-slide{
    width: calc(100vw - 30px) !important;
  }

  .p-top-blog__nav{
    display: none;
  }

  .p-top-services__icon{
  width: 26px;
  height: 26px;
  }

  .p-top-topics__item{
  gap: 20px;
}
.p-top-topics__date{
  width: auto;
  flex: 0 0 auto;
}



}

@media (max-width: 768px){

  .p-top-company__inner{
    padding-left: 20px;
    padding-right: 20px;
  }

  .p-top-company__body{
    margin-left: 0;
  }

  .p-top-company__leadWrap{
    padding-left: 0;
    margin-left: 0;
  }

}


@media (max-width: 768px){

  body.page-template-page-top .p-top-about{
    padding: 60px 20px 90px;
    margin: 0;
  }

  body.page-template-page-top .p-top-about__header{
    margin-bottom: 40px;
    text-align: center;
  }

  body.page-template-page-top .p-top-about__inner{
    padding: 0;
    text-align: center;
    gap: 28px;
  }

  body.page-template-page-top .p-top-about__lead,
  body.page-template-page-top .p-top-about__text{
    text-align: center;
  }

  body.page-template-page-top .p-top-about__image{
    background-position: center top;
    background-size: 120% auto;
    aspect-ratio: 16 / 10;
  }

}

body.page-template-page-top .l-main{
  margin-top: -72px;
}

@media (max-width: 768px){
  body.page-template-page-top .l-main{
    margin-top: -100px !important;
  }
}

@media (max-width: 768px){
  body.page-template-page-top .p-top-about{
    margin-top: -130px !important;
  }
}

@media (min-width: 769px){
  body.page-template-page-top .p-top-about{
    margin-top: 0 !important;
    padding-top: 80px !important;
  }
}

/*===================================*/
/*========わたしたちの想い============*/
/*===================================*/
.p-thoughts-hero{
position: relative;
height: 170px;
overflow: hidden;
background-image: url("./assets/img/thoughts/thoughts-hero.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: 1500px auto;
color: #fff;
}

.p-thoughts-hero__inner{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}

.p-thoughts-hero__title{
margin: 0;
text-align: center;
font-size: 40px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
letter-spacing: 0.1em;
}

.p-thoughts-hero__title span{
display: block;
font-size: 10px;
font-family: "Open Sans", sans-serif;
font-weight: 700;
letter-spacing: 0.2em;
}

.p-thoughts-message{
background: #fff;
padding: 100px 0 0;
position: relative;
}

.p-thoughts-message__inner{
width: 1180px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: flex-start;
}

.p-thoughts-message__image{
width: 700px;
position: relative;
z-index: 1;
}

.p-thoughts-message__image img{
width: 100%;
height: auto;
display: block;
}

.p-thoughts-message__catch{
width: 380px;
display: flex;
justify-content: center;
transform: translate(-140px, 20px);
position: relative;
z-index: 3;
}

.p-thoughts-message__vertical{
writing-mode: vertical-rl;
font-size: 26px;
line-height: 1.8;
font-weight: 700;
}

.p-thoughts-message__vertical span{
color: #156b9c;
}

.p-thoughts-message__text{
width: 600px;
margin: -60px auto 0;
background: #fff;
padding: 40px;
font-size: 16px;
line-height: 2;
position: relative;
z-index: 2;
}

.p-thoughts-vision{
background-image: url("./assets/img/thoughts/thoughts-vision-bg.png");
background-repeat: no-repeat;
background-position: center 300px;
background-size: 1500px auto;
margin-top: -200px;
padding-top: 200px;
overflow-x: hidden;
}

.p-thoughts-vision__container{
max-width: 1500px;
width: 100%;
margin: 0 auto;
padding: 0 240px;
box-sizing: border-box;
transform: translateY(-30px);
}

.p-thoughts-vision__photo{
width: 100%;
margin: 0 0 80px;
}

.p-thoughts-vision__photo img{
width: 100%;
height: auto;
display: block;
}

.p-thoughts-vision__inner{
width: 100%;
display: flex;
justify-content: space-between;
align-items: flex-start;
}

.p-thoughts-vision__left{
width: 60%;
}

.p-thoughts-vision__title{
font-size: 34px;
font-weight: 700;
line-height: 1.6;
margin-bottom: 40px;
}

.p-thoughts-vision__title span{
color: #156b9c;
}

.p-thoughts-vision__text{
font-size: 16px;
line-height: 2;
}

.p-thoughts-vision__right{
width: 35%;
text-align: center;
}

.p-thoughts-vision__right img{
width: 100%;
height: auto;
display: block;
margin-bottom: 20px;
}

.p-thoughts-vision__caption{
font-size: 18px;
font-weight: 700;
color: #156b9c;
}

.u-blue{
color: #156b9c;
font-weight: 700;
}

.p-thoughts-vision__features{
display: flex;
justify-content: space-between;
margin-top: 100px;
gap: 60px;
}

.p-thoughts-vision__feature{
width: 48%;
}

.p-thoughts-vision__feature-image{
margin-bottom: 30px;
}

.p-thoughts-vision__feature-image img{
width: 100%;
height: auto;
display: block;
}

.p-thoughts-vision__feature-text{
font-size: 16px;
line-height: 2;
}

/*=============つよみ============*/

.p-thoughts-strengths{
margin-top: 140px;
padding: 120px 0 0;
background-image: url("./assets/img/thoughts/thoughts-strengths-cap.png");
background-repeat: no-repeat;
background-position: center top;
background-size: 1500px auto;
}

.p-thoughts-strengths__inner{
max-width: 1180px;
width: 100%;
margin: 0 auto;
padding: 0;
box-sizing: border-box;
position: relative;
top: -65px;
}

.p-thoughts-strengths__head{
text-align:center;
margin:0 auto 70px;
width:100%;
max-width:900px;
}

.p-thoughts-strengths__title{
margin: 0 0 28px;
font-size: 44px;
font-weight: 700;
letter-spacing: 0.04em;
line-height: 1.2;
}

.p-thoughts-strengths__title span{
color: #156b9c;
}

.p-thoughts-strengths__en{
display: block;
margin-top: 6px;
font-size: 12px;
font-family: "Open Sans", sans-serif;
font-weight: 700;
letter-spacing: 0.2em;
color: #156b9c;
}

.p-thoughts-strengths__lead{
display: inline-block;
margin: 0;
padding-bottom: 18px;
font-size: 20px;
font-weight: 700;
position: relative;
}

.p-thoughts-strengths__lead span{
color: #156b9c;
}

.p-thoughts-strengths__lead:before{
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 1px;
background: #156b9c;
}

.p-thoughts-strengths__lead:after{
content: "";
position: absolute;
left: 50%;
bottom: -10px;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid #156b9c;
}

.p-thoughts-strengths__list{
display: flex;
justify-content: space-between;
margin-bottom: 90px;
}

.p-thoughts-strengths__item{
width: 320px;
text-align: center;
}

.p-thoughts-strengths__icon{
width: 180px;
margin: 0 auto 24px;
}

.p-thoughts-strengths__icon img{
width: 100%;
height: auto;
display: block;
}

.p-thoughts-strengths__text{
margin: 0 auto;
font-size: 14px;
line-height: 2;
text-align: left;
max-width: 160px;
}

.p-thoughts-strengths__bottom{
display: flex;
justify-content: space-between;
align-items: center;
}

.p-thoughts-strengths__bottom-left{
width: 520px;
}

.p-thoughts-strengths__bottom-text{
margin: 0 0 28px;
font-size: 14px;
line-height: 2;
}

.p-thoughts-strengths__bottom-right{
width: 560px;
}

.p-thoughts-strengths__bottom-right img{
width: 100%;
height: auto;
display: block;
}

.p-thoughts-strengths .c-more{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 32px;
border-radius:999px;
background:#156b9c;
text-decoration:none;
position:relative;
}

.p-thoughts-strengths .c-more__text{
color:#fff;
font-size:16px;
padding-right:26px;
font-weight:400;
}

.p-thoughts-strengths .c-more::after{
content:"";
position:absolute;
right:18px;
top:50%;
width:10px;
height:10px;
border-top:1px solid #fff;
border-right:1px solid #fff;
transform:translateY(-50%) rotate(45deg);
}

/*=================================*/
/*=============業務内容=============*/
/*=================================*/

.p-business-hero{
position: relative;
height: 170px;
overflow: hidden;
background-image: url("./assets/img/business/business-hero.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: 1500px auto;
color: #fff;
}

.p-business-hero__inner{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}

.p-business-hero__title{
margin: 0;
text-align: center;
font-size: 40px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
letter-spacing: 0.1em;
}

.p-business-hero__title span{
display: block;
margin-top: 6px;
font-size: 10px;
font-family: "Open Sans", sans-serif;
font-weight: 700;
letter-spacing: 0.2em;
}

.p-business{
background: #156b9c;
padding:0 0 250px;
}

.p-business__inner{
max-width: 1180px;
margin: 0 auto;
padding: 0 100px;
}

.p-business-lead{
padding: 70px 0 40px;
text-align: center;
color: #fff;
}

.p-business-lead__catch{
margin: 0 0 12px;
font-size: 26px;
font-weight: 700;
letter-spacing: 0.08em;
}

.p-business-lead__text{
margin: 0 0 34px;
font-size: 14px;
line-height: 2.1;
}

.p-business-nav__link{
display:block;
}

.p-business-nav__link img{
height:70px;
width:auto;
display:block;
}

.p-business-nav{
margin: 0;
padding: 0;
list-style: none;
display: flex;
justify-content: center;
gap: 28px;
}

.p-business-nav__item{
flex: 0 0 auto;
}

.p-business-nav__link{
display: block;
}

.p-business-nav__link img{
display: block;
height: 70px;
width: auto;
max-width: none;
}

.p-business-service{
position: relative;
background: #fff;
margin-top: 26px;
padding: 0 0 36px;
}

.p-business-service__label{
position: absolute;
top: -0.5px;
left: -15px;
z-index: 2;
}

.p-business-service__label img{
display: block;
height: 40px;
width: auto;
max-width: none;
}

.p-business-service__head{
padding: 54px 60px 18px;
}

.p-business-service__title{
margin: 0;
font-size: 36px;
font-weight: 700;
color: #111;
}

.p-business-service__sub{
margin: 0;
font-size: 11px;
font-weight: 900;
color: #156b9c;
font-family: "Open Sans", sans-serif;
}


.p-business-service__body{
display: grid;
grid-template-columns: 1fr 460px;
gap: 60px;
padding: 34px 60px;
align-items: start;
}

.p-business-service__text{
font-size: 14px;
line-height: 2.2;
color: #111;
}

.p-business-service__text p{
margin: 0;
}

.p-business-service__text p + p{
margin-top: 20px;
}

.p-business-service__image img{
display: block;
width: 100%;
height: auto;
}

.p-business-flow{
padding: 26px 60px 14px;
text-align: center;
}

.p-business-flow__title{
margin: 0 0 20px;
font-size: 18px;
font-weight: 700;
letter-spacing: 0.08em;
color: #111;
display: flex;
align-items: center;
justify-content: center;
gap: 18px;
}

.p-business-flow__title::before,
.p-business-flow__title::after{
content: "";
height: 1px;
background: #cfcfcf;
flex: 1;
}

.p-business-flow__row{
display: flex;
align-items: center;
justify-content: center;
gap: 18px;
}

.p-business-flow__step{
width: 90px;
height: 90px;
border-radius: 999px;
background: #156b9c;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 18px;
font-weight: 700;
line-height: 1.1;
opacity: 0;
transform: scale(0.65);
flex-direction: column;
gap: 1px;
}

.p-business-flow__step span{
font-size: 12px;
font-weight: 400;
}

.p-business-flow__step .small{
font-size: 12px;
font-weight: 700;
line-height: 1;
}

.p-business-flow__arrow{
font-size: 22px;
letter-spacing: 6px;
color: #a8a8a8;
opacity: 0;
transform: translateY(10px);
}

.p-business-flow__arrow::before{
content: ">>>>";
}

.p-business-flow__row.is-active .p-business-flow__step{
animation: poyo 0.85s forwards;
}

.p-business-flow__row.is-active .p-business-flow__arrow{
animation: arrowIn 0.6s forwards;
}

.p-business-flow__row.is-active .p-business-flow__step:nth-of-type(1){ animation-delay: 0s; }
.p-business-flow__row.is-active .p-business-flow__arrow:nth-of-type(2){ animation-delay: 0.12s; }
.p-business-flow__row.is-active .p-business-flow__step:nth-of-type(3){ animation-delay: 0.24s; }
.p-business-flow__row.is-active .p-business-flow__arrow:nth-of-type(4){ animation-delay: 0.36s; }
.p-business-flow__row.is-active .p-business-flow__step:nth-of-type(5){ animation-delay: 0.48s; }
.p-business-flow__row.is-active .p-business-flow__arrow:nth-of-type(6){ animation-delay: 0.60s; }
.p-business-flow__row.is-active .p-business-flow__step:nth-of-type(7){ animation-delay: 0.72s; }

@keyframes poyo{
0%{ opacity: 0; transform: scale(0.65); }
55%{ opacity: 1; transform: scale(1.16); }
75%{ opacity: 1; transform: scale(0.96); }
100%{ opacity: 1; transform: scale(1); }
}

@keyframes arrowIn{
0%{
opacity:0;
transform:translateY(10px);
}
100%{
opacity:1;
transform:translateY(0);
}
}

.p-business-service__foot{
margin: 22px 60px 0;
background: #f0f0f0;
padding: 22px 26px;
}

.p-business-service__footTitle{
margin: 0 0 16px;
font-size: 22px;
font-weight: 700;
color: #111;
display:flex;
align-items:center;
gap:20px;
}

.p-business-service__footTitle::after{
content:"";
flex:1;
height:1px;
background:#bfbfbf;
}

.p-business-service__list{
margin:0;
padding:0;
list-style:none;
display:flex;
flex-wrap:wrap;
gap:14px 2px;
font-size:14px;
line-height:1.8;
color:#111;
}

.p-business-service__list--dot li{
position: relative;
padding-left: 18px;
}

.p-business-service__list--dot li:before{
content: "";
position: absolute;
left: 0;
top: 0.72em;
width: 10px;
height: 10px;
background: #111;
border-radius: 999px;
transform: translateY(-50%);
}

.p-business-service__label img{
height:30px;
width:auto;
display:block;
}

.p-business-flow__step span{
font-size: 12px;
font-weight: 400;
}

.p-business-service__sub{
margin: 0;
font-size: 11px;
font-weight: 900;
color: #156b9c;
font-family: "Open Sans", sans-serif;
position: relative;
padding-bottom: 18px;
}

.p-business-service__sub::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:1px;
background:#d9d9d9;
}

.p-business-service__list li{
position: relative;
padding-left: 14px;
white-space: nowrap;
}

.p-business-service__list li:before{
content:"";
position:absolute;
left:0;
top:0.8em;
width:10px;
height:10px;
background:#111;
border-radius:50%;
transform:translateY(-50%);
}

.p-business-br{
flex-basis: 100%;
height: 0;
}

.p-business-hero__lead{
margin: 0 0 26px;
font-size: 26px;
font-weight: 700;
line-height: 1.5;
}

.p-business-hero__text{
margin: 0 0 30px;
font-size: 13px;
line-height: 2.1;
}

@media (max-width: 768px){

.p-business-nav__card{
width: 100%;
}

.p-business-service{
margin-left:-10px;
margin-right:-10px;
}

.p-business-service__inner{
padding-left:20px;
padding-right:20px;
}

.p-business-hero__lead{
font-size:24px;
line-height:1.4;
font-weight:700;
}

.p-business__inner{
padding: 0 30px;
}

.p-business-hero__text{
margin-top:18px;
margin-bottom:18px;
font-size: 12px
}

.p-business-nav{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.p-business-nav__link img{
width:100%;
height:auto;
}

.p-business-service__title{
font-size:24px;
}


.p-business-service__head{
padding:40px 30px 12px;
}

.p-business-service__body{
grid-template-columns: 1fr;
padding: 20px;
gap: 20px;
}

.p-business-service__image{
order: 2;
}

.p-business-service__text{
order: 1;
margin-bottom: 0;
}

.p-business-service__foot{
margin:16px 20px 0;
padding:16px;
}

.p-business-service__text{
margin-bottom:20px;
}

.p-business-flow__step{
width:56px;
height:56px;
font-size:12px;
line-height:1.1;
}

.p-business-flow__step .small{
font-size:9px;
}

.p-business-flow__arrow::before{
content: ">>";
}

.p-business-flow__arrow{
font-size:14px;
letter-spacing:2px;
}

.p-business-flow__row{
gap:8px;
}

.p-business-flow__step{
width:56px;
height:56px;
flex:0 0 56px;
}

.p-business-service__footTitle{
font-size:16px;
}

.p-business-service__text{
padding:8px;
}

.p-business{
padding:0 0 600px;
}

}

.sp-br{
display:none;
}

@media (max-width:768px){

.sp-br{
display:inline;
}

}


.sp-br{
display:none;
}

@media (max-width:768px){

.sp-br{
display:inline;
}

}

.page-template-page-business footer{
margin-top:-310px;
}

@media (max-width:768px){

.page-template-page-business footer{
margin-top:-600px;
}

}


@media (max-width:1024px) and (min-width:769px){

.p-business-nav__card{
width: 100%;
}

.p-business-service{
margin-left:-10px;
margin-right:-10px;
}

.p-business-service__inner{
padding-left:20px;
padding-right:20px;
}

.p-business-hero__lead{
font-size:24px;
line-height:1.4;
font-weight:700;
}

.p-business__inner{
padding: 0 30px;
}

.p-business-hero__text{
margin-top:18px;
margin-bottom:18px;
font-size: 12px
}

.p-business-nav{
display:flex;
justify-content:center;
gap:28px;
padding:0 20px;
}

.p-business-nav__link img{
width:100%;
height:auto;
}

.p-business-service__title{
font-size:24px;
}


.p-business-service__head{
padding:40px 30px 12px;
}

.p-business-service__body{
grid-template-columns: 1fr;
padding: 20px;
gap: 20px;
}

.p-business-service__image{
order: 2;
}

.p-business-service__text{
order: 1;
margin-bottom: 0;
}

.p-business-service__foot{
margin:16px 20px 0;
padding:16px;
}

.p-business-service__text{
margin-bottom:20px;
}

.p-business-flow__step{
width:56px;
height:56px;
font-size:12px;
line-height:1.1;
}

.p-business-flow__step .small{
font-size:9px;
}

.p-business-flow__arrow::before{
content: ">>";
}

.p-business-flow__arrow{
font-size:14px;
letter-spacing:2px;
}

.p-business-flow__row{
gap:8px;
}

.p-business-flow__step{
width:56px;
height:56px;
flex:0 0 56px;
}

.p-business-service__footTitle{
font-size:16px;
}

.p-business-service__text{
padding:8px;
}

.p-business{
padding:0 0 600px;
}

}

.sp-br{
display:none;
}

@media (max-width:768px){

.sp-br{
display:inline;
}

}


.sp-br{
display:none;
}

@media (max-width:768px){

.sp-br{
display:inline;
}

}

.page-template-page-business footer{
margin-top:-310px;
}

@media (max-width:768px){

.page-template-page-business footer{
margin-top:-600px;
}

}

/*=================採用======================*/

.page-template-page-recruit-php .l-header{
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 50;
background: transparent;
}

.page-template-page-recruit-php .l-header__inner{
background: transparent;
}

.page-template-page-recruit-php .l-gnav__list a{
color: #fff;
}

.page-template-page-recruit-php .c-logo img{
filter: none;
}

.page-template-page-recruit-php .c-hamburger__bars,
.page-template-page-recruit-php .c-hamburger__bars::before,
.page-template-page-recruit-php .c-hamburger__bars::after{
background: #fff;
}

.p-recruit-hero{
position: relative;
height: 620px;
overflow: hidden;
background-image: url("./assets/img/recruit/mv_pc.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: 1500px auto;
}

@media (max-width:1024px){

.p-recruit-hero{
background-image: url("./assets/img/recruit/mv_ipad.jpg");
background-size: cover;
background-position: center;
}

}

.p-recruit-hero__inner{
position: relative;
width: 100%;
height: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 0 30px;
}

.p-recruit-hero__copy{
position: absolute;
left: 3px;
bottom: 100px;
width: 380px;
max-width: 90%;
opacity: 0;
transform: translateY(20px);
transition: opacity 700ms ease, transform 700ms ease;
}

.p-recruit-hero__copy.is-show{
opacity: 1;
transform: translateY(0);
}

@media (max-width:1024px){

.p-recruit-hero__copy{
left: -20px;
}

}

.p-recruit-hero{
position: relative;
height: 620px;
overflow: hidden;
background-image: url("./assets/img/recruit/mv_pc.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: 1500px auto;
}

@media (max-width:1024px){

.p-recruit-hero{
background-image: url("./assets/img/recruit/mv_ipad.jpg");
background-size: cover;
background-position: center;
}

}

@media (max-width:767px){


  .p-recruit-hero{
  height:620px;
  background-image:url("./assets/img/recruit/mv_sp.jpg");
  background-size:100% auto;
  background-position:center bottom;
  overflow: visible;
  }

.p-recruit-hero__inner{
padding: 0 20px;
}

.p-recruit-hero__copy{
left:32px;
top:142px;
bottom:auto;
width:320px;
max-width:calc(100% - 40px);
transform: translateY(20px) scale(0.9);
transform-origin:left top;
}

.p-recruit-hero__copy.is-show{
transform: translateY(0) scale(0.9);
}

.p-recruit-hero__copy{
filter: drop-shadow(0 0 24px rgba(255,255,255,0.85));
}
}

.p-recruit-about{
background: #fff;
padding: 120px 0;
display:flex;
align-items:center;
}

.p-recruit-about__inner{
max-width: 1440px;
margin: 0 auto;
padding: 0 240px;
}

.p-recruit-about__body{
display: flex;
align-items: stretch;
justify-content: center;
gap: 30px;
}

.p-recruit-about__left{
display: flex;
flex-direction: column;
align-items: center;
}

.p-recruit-about__head{
display: flex;
align-items: flex-start;
justify-content: center;
gap: 24px;
margin: 0 0 32px 0;
}

.p-recruit-about__catch{
margin: 0;
font-size: 30px;
font-weight: 700;
letter-spacing: 0em;
line-height: 1.3;
writing-mode: vertical-rl;
text-orientation: mixed;
}

.p-recruit-about__catch span{
display: block;
}

.p-recruit-about__tag{
margin: 6px 0 0 0;
padding: 12px 0;
background: #156b9c;
color: #fff;
font-size: 18px;
font-weight: 400;
letter-spacing: 0.12em;
writing-mode: vertical-rl;
text-orientation: mixed;
}

.p-recruit-about__text{
margin: 0;
font-size: 14px;
line-height: 1.8;
letter-spacing: 0.02em;
color: #111;
max-width: 420px;
align-self: flex-start;
}

.p-recruit-about__right{
width: 380px;
flex-shrink: 1;
height: auto;
}

.p-recruit-about__photo{
display: block;
width: 100%;
height: auto;
}

*

@media (max-width: 1024px){
.p-recruit-about__body{
gap: 50px;
}
.p-recruit-about__right{
width: 460px;
flex: 0 0 460px;
}
.p-recruit-about__catch{
font-size: 34px;
}
}

@media (max-width: 767px){
.p-recruit-about{
padding: 80px 0;
}
.p-recruit-about__inner{
padding: 0 20px;
}
.p-recruit-about__body{
flex-direction: column;
gap: 30px;
}
.p-recruit-about__right{
width: 100%;
flex: none;
}
.p-recruit-about__head{
gap: 18px;
margin: 0 0 22px 0;
}
.p-recruit-about__catch{
font-size: 30px;
}
.p-recruit-about__tag{
font-size: 12px;
padding: 10px 8px;
}
.p-recruit-about__text{
max-width: none;
}
}
.p-recruit-entry{
padding: 0;
}

.p-recruit-entry__grid{
display: grid;
grid-template-columns: 1fr 1fr;
overflow: hidden;
}

.p-recruit-entry__item{
position: relative;
display: flex;
align-items: center;
justify-content: center;
height: 280px;
overflow: hidden;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
text-decoration: none;
box-sizing: border-box;
}

.p-recruit-entry__item::before{
content: "";
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.25);
transition: background 0.4s ease;
z-index: 1;
pointer-events: none;
}

.p-recruit-entry__item::after{
content: "";
position: absolute;
inset: 0;
background: rgba(21, 107, 156, 0);
transition: background 0.4s ease;
z-index: 2;
pointer-events: none;
}

.p-recruit-entry__grid:hover .p-recruit-entry__item::before{
background: rgba(0, 0, 0, 0.45);
}

.p-recruit-entry__grid:hover .p-recruit-entry__item:hover::before{
background: rgba(0, 0, 0, 0);
}

.p-recruit-entry__item:hover::after{
background: rgba(21, 107, 156, 0.72);
}

.p-recruit-entry__label{
position: relative;
z-index: 3;
color: #fff;
font-size: 36px;
font-weight: 700;
letter-spacing: 0.06em;
line-height: 1.2;
transition: transform 0.35s ease;
}

.p-recruit-entry__arrow{
position: absolute;
top: 50%;
right: 80px;
z-index: 3;
width: 20px;
height: 20px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: translateY(-50%) rotate(45deg);
transition: transform 0.35s ease;
}

.p-recruit-entry__item:hover .p-recruit-entry__arrow{
transform: translateY(-50%) translateX(10px) rotate(45deg);
}

@media (max-width: 767px){
.p-recruit-entry__grid{
grid-template-columns: 1fr;
}
.p-recruit-entry__item{
height: 180px;
}
.p-recruit-entry__label{
font-size: 28px;
}
.p-recruit-entry__arrow{
right: 32px;
width: 16px;
height: 16px;
}

}

.p-recruit-interview{
padding: 120px 0 0;
background: #32b5e2;
overflow: hidden;
}

.p-recruit-interview__inner{
max-width: 1440px;
margin: 0 auto;
padding: 0 280px;
}

.p-recruit-interview__heading{
margin: 0 0 70px;
text-align: center;
color: #fff;
}

.p-recruit-interview__title{
margin: 0;
font-size: 42px;
font-weight: 700;
letter-spacing: 0.08em;
line-height: 1.2;
}

.p-recruit-interview__sub{
margin: 8px 0 0;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
line-height: 1;
}

.p-recruit-interview__cards{
display: flex;
justify-content: center;
gap: 0;
}

.p-recruit-interview__card{
display: block;
flex: 0 0 260px;
width: 260px;
min-width: 260px;
text-decoration: none;
color: #fff;
}

.p-recruit-interview__visual{
position: relative;
height: 330px;
overflow: visible;
}

.p-recruit-interview__personMask{
position: relative;
height: 330px;
overflow: hidden;
}

.p-recruit-interview__badge{
position: absolute;
top: 80px;
left: -30px;
width: 130px;
height: 130px;
z-index: 2;
transform: scale(1);
transition: transform 0.45s ease;
}

.p-recruit-interview__badgeSvg{
width: 100%;
height: 100%;
overflow: visible;
transform: rotate(-90deg);
}

.p-recruit-interview__badgeText{
font-size: 13px;
font-weight: 700;
letter-spacing: 0.28em;
fill: #fff;
text-transform: lowercase;
}

.p-recruit-interview__badgeTextTop{
font-size: 22px;
letter-spacing: 0.25em;
fill: #fff;
font-weight: 700;
}

.p-recruit-interview__badgeTextBottom{
font-size: 16px;
letter-spacing: 0.1em;
fill: #fff;
font-weight: 700;
}

.p-recruit-interview__badgeNumber{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 40px;
font-family: "din-condensed", sans-serif;
font-weight: 700;
line-height: 1;
}

.p-recruit-interview__badgeNumber::after{
content: "";
display: block;
width: 20px;
height: 3px;
margin: 1px auto 0;
background: #fff;
}

.p-recruit-interview__person{
position: absolute;
left: 50%;
bottom: -20px;
transform: translateX(-50%) scale(1);
transform-origin: center center;
display: block;
width: 380px;
height: auto;
transition: transform 0.45s ease;
}

.p-recruit-interview__card:nth-child(2) .p-recruit-interview__person{
bottom: -30px;
}

.p-recruit-interview__card:hover .p-recruit-interview__person{
transform: translateX(-50%) scale(1.1);
}

@media (max-width:767px){

.p-recruit-interview__person{
width: 320px;
}

}

.p-recruit-interview__card:hover .p-recruit-interview__badgeSvg{
animation: recruitInterviewRotate 10s linear infinite;
}

.p-recruit-interview__meta{
position: relative;
margin: 18px 0 0;
padding: 22px 58px 0 0;
text-align: right;
}

.p-recruit-interview__meta::after{
content: "";
position: absolute;
top: 22px;
right: 44px;
width: 1px;
height: calc(100% - 22px);
background: #fff;
}

.p-recruit-interview__meta p{
margin: 0;
font-size: 14px;
font-weight: 400;
line-height: 1.45;
}

.p-recruit-interview__gallery{
margin: 92px 0 0;
overflow: hidden;
}

.p-recruit-interview__galleryTrack{
display: flex;
width: max-content;
animation: recruitInterviewGallery 60s linear infinite;
}

.p-recruit-interview__galleryItem{
flex: 0 0 380px;
width: 380px;
margin-right: 18px;
}

.p-recruit-interview__galleryItem img{
display: block;
width: 100%;
height: 257px;
object-fit: cover;
}

@keyframes recruitInterviewRotate{
0%{
transform: rotate(-90deg);
}
100%{
transform: rotate(270deg);
}
}

@keyframes recruitInterviewGallery{
0%{
transform: translateX(0);
}
100%{
transform: translateX(-1592px);
}
}

@media (max-width: 1024px){
.p-recruit-interview{
padding: 90px 0 0;
}
.p-recruit-interview__inner{
padding: 0 280px;
}
.p-recruit-interview__title{
font-size: 42px;
}
.p-recruit-interview__sub{
font-size: 18px;
}
.p-recruit-interview__cards{
gap: 0;
}
.p-recruit-interview__card{
width: 36%;
}
.p-recruit-interview__meta p{
font-size: 14px;
}
}

@media (max-width: 767px){
.p-recruit-interview{
padding: 70px 0 0;
}
.p-recruit-interview__inner{
padding: 0 20px;
}
.p-recruit-interview__title{
font-size: 34px;
}
.p-recruit-interview__sub{
font-size: 14px;
}
.p-recruit-interview__heading{
margin: 0 0 42px;
}
.p-recruit-interview__cards{
display: block;
}
.p-recruit-interview__card{
width: 100%;
margin: 0 0 34px;
}
.p-recruit-interview__meta{
margin: 10px 0 0;
padding: 14px 58px 0 0;
}
.p-recruit-interview__meta::after{
top: 14px;
right: 44px;
height: calc(100% - 14px);
}
.p-recruit-interview__meta p{
font-size: 15px;
}
.p-recruit-interview__gallery{
margin: 50px 0 0;
}
.p-recruit-interview__galleryItem{
flex: 0 0 240px;
width: 240px;
margin-right: 12px;
}
.p-recruit-interview__galleryItem img{
height: 162px;
}
}
.p-recruit-environment{
position: relative;
margin: 120px 0 0;
padding: 85px 0 120px;
background: #ececec;
overflow: visible;
}

.p-recruit-environment::before{
content: "";
position: absolute;
top: 54px;
left: -96px;
width: 310px;
height: 184px;
background: rgba(255, 255, 255, 0.22);
clip-path: polygon(0 0, 28% 0, 18% 100%, 0 100%);
}

.p-recruit-environment::after{
content: "";
position: absolute;
right: -92px;
bottom: 18px;
width: 310px;
height: 184px;
background: rgba(255, 255, 255, 0.22);
clip-path: polygon(82% 0, 100% 0, 100% 100%, 72% 100%);
}

.p-recruit-environment__inner{
max-width: 1440px;
margin: 0 auto;
padding: 0 280px;
}

.p-recruit-environment__panel{
position: relative;
margin-top: -118px;
padding: 48px 52px 36px;
border-radius: 28px;
background: #f7f7f7;
overflow: visible;
}

.p-recruit-environment__title{
margin: 0;
color: #156b9c;
font-size: 42px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.08em;
text-align: center;
}

.p-recruit-environment__row{
display: grid;
grid-template-columns: 1fr 220px;
column-gap: 66px;
align-items: start;
}

.p-recruit-environment__row--01{
margin-top: 42px;
}

.p-recruit-environment__row--02{
margin-top: 34px;
grid-template-columns: 220px 1fr;
}

.p-recruit-environment__row--03{
margin-top: 64px;
grid-template-columns: 1fr 220px;
}

.p-recruit-environment__text{
padding-top: 8px;
}

.p-recruit-environment__lead{
margin: 0;
color: #111;
font-size: 22px;
font-weight: 700;
line-height: 1.55;
letter-spacing: -0.02em;
}

.p-recruit-environment__line{
display: block;
width: 24px;
height: 4px;
margin: 18px 0 14px;
background: #156b9c;
}

.p-recruit-environment__desc{
margin: 0;
color: #111;
font-size: 14px;
font-weight: 400;
line-height: 1.9;
letter-spacing: 0.02em;
}

.p-recruit-environment__image{
display: block;
}

.p-recruit-environment__image img{
display: block;
width: 420px;
max-width: none;
height: auto;
}

.p-recruit-environment__row--01 .p-recruit-environment__image{
transform: translateX(-120px);
}

.p-recruit-environment__row--03 .p-recruit-environment__image{
transform: translateX(-120px);
}

.p-recruit-environment__row--02 .p-recruit-environment__image{
transform: translateX(-100px);
}

.p-recruit-environment__row--02 .p-recruit-environment__text{
margin-left: 60px;
}

.p-recruit-environment__buttonWrap{
margin-top: 48px;
text-align: center;
}

.p-recruit-environment__button{
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 16px;
min-width: 158px;
height: 44px;
padding: 0 48px 0 28px;
border-radius: 9999px;
background: #156b9c;
color: #fff;
font-size: 16px;
font-weight: 400;
text-decoration: none;
}

.p-recruit-environment__button::after{
content: "";
position: absolute;
top: 50%;
right: 20px;
width: 10px;
height: 10px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 1360px){
.p-recruit-environment__inner{
padding: 0 140px;
}
}

@media (max-width: 1024px){
.p-recruit-environment{
margin: 90px 0 0;
padding: 72px 0 100px;
}

.p-recruit-environment__inner{
padding: 0 20px;
}

.p-recruit-environment__panel{
margin-top: -90px;
padding: 40px 32px 32px;
}

.p-recruit-environment__title{
font-size: 34px;
}

.p-recruit-environment__row{
grid-template-columns: 1fr 300px;
column-gap: 40px;
}

.p-recruit-environment__row--02{
grid-template-columns: 300px 1fr;
}

.p-recruit-environment__lead{
font-size: 18px;
}
}

@media (max-width: 767px){
.p-recruit-environment{
margin: 70px 0 0;
padding: 56px 0 80px;
}

.p-recruit-environment__inner{
padding: 0 20px;
}

.p-recruit-environment__panel{
margin-top: -100px;
padding: 28px 20px 28px;
border-radius: 20px;
}

.p-recruit-environment__title{
font-size: 28px;
line-height: 1.5;
}

.p-recruit-environment__row{
display: flex;
flex-direction: column;
}

.p-recruit-environment__row--01{
margin-top: 28px;
}

.p-recruit-environment__row--02,
.p-recruit-environment__row--03{
margin-top: 40px;
}

.p-recruit-environment__text{
padding-top: 0;
}

.p-recruit-environment__lead{
font-size: 17px;
line-height: 1.6;
}

.p-recruit-environment__line{
margin: 14px 0 12px;
}

.p-recruit-environment__desc{
font-size: 13px;
line-height: 1.85;
}

.p-recruit-environment__image{
display: flex;
justify-content: center;
margin-top: 20px;
transform: none;
}

.p-recruit-environment__image img{
display: block;
width: 100%;
max-width: 420px;
height: auto;
margin: 0 auto;
}

.p-recruit-environment__row--01 .p-recruit-environment__image,
.p-recruit-environment__row--02 .p-recruit-environment__image,
.p-recruit-environment__row--03 .p-recruit-environment__image{
transform: none;
}

.p-recruit-environment__row--01 .p-recruit-environment__text,
.p-recruit-environment__row--02 .p-recruit-environment__text,
.p-recruit-environment__row--03 .p-recruit-environment__text{
text-align: left;
margin-left: 0;
}

.p-recruit-environment__row--02 .p-recruit-environment__text{
order: 1;
}

.p-recruit-environment__row--02 .p-recruit-environment__image{
order: 2;
}

.p-recruit-environment__buttonWrap{
margin-top: 34px;
}

.p-recruit-environment__button{
min-width: 144px;
height: 42px;
padding: 0 44px 0 24px;
font-size: 15px;
}

.p-recruit-hero{
background-position: 70% center;
background-size: 120% auto;
}

}

/*=========数字で見るみとつーのこと==========*/
.p-numbers-hero{
position: relative;
z-index: 1;
height: 420px;
overflow: hidden;
background-image: url("./assets/img/numbers/numbers-hero.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: 1500px auto;
padding-top: 120px;
box-sizing: border-box;
color: #fff;
}

.p-numbers-hero__inner{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}

.p-numbers-hero__title{
margin: 0;
font-size: 46px;
font-weight: 700;
}

.p-numbers-hero__title span{
display: block;
font-size: 24px;
margin-bottom: -10px;
}

.l-header--numbers{
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 100;
background: transparent;
}

.l-header--numbers .l-gnav a{
color: #fff;
}

.l-header--numbers .c-logo img{
content: url("./assets/img/common/logo-white.png");
}

.page-template-page-numbers-php .l-main{
background:#f4fcfe;
}

.p-numbers-cards{
padding:120px 40px 140px;
}

.p-numbers-cards__inner{
max-width:780px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
}

.p-numbers-cards__item{
width:100%;
height:auto;
display:block;
}

.js-reveal{
opacity:0;
transform:translateY(40px);
transition:opacity .8s ease, transform .8s ease;
}

.js-reveal.is-inview{
opacity:1;
transform:none;
}

@media (max-width:767px){

.p-numbers-cards__inner{
grid-template-columns:repeat(2,1fr);
gap:20px;
}

.p-numbers-cards{
padding:80px 60px 100px;
}

}

.p-numbers-message{
padding: 120px 20px 160px;
}

.p-numbers-message__inner{
max-width: 1100px;
margin: 0 auto;
text-align: center;
}

.p-numbers-message__title{
margin: 0;
font-size: 32px;
font-weight: 700;
line-height: 1.2;
color: #222;
}

.p-numbers-message__title span{
color: #156b9c;
}

.p-numbers-message__dots{
width: 440px;
max-width: 100%;
margin: 16px auto 0;
border-bottom: 4px dotted #156b9c;
}

.p-numbers-message__values{
display: flex;
justify-content: center;
align-items: center;
gap: 44px;
margin-top: 62px;
}

.p-numbers-message__value{
display: block;
width: 180px;
height: auto;
}

.p-numbers-message__text{
margin-top: 58px;
}

.p-numbers-message__text p{
margin: 0;
font-size: 16px;
font-weight: 500;
line-height: 2.1;
letter-spacing: 0.04em;
color: #222;
}

.js-reveal{
opacity: 0;
transform: translateY(40px);
transition: opacity .8s ease, transform .8s ease;
}

.js-reveal.is-inview{
opacity: 1;
transform: none;
}

@media (max-width: 767px){

.p-numbers-message{
padding: 80px 20px 110px;
}

.p-numbers-message__title{
font-size: 28px;
line-height: 1.5;
}

.p-numbers-message__dots{
width: 240px;
margin-top: 10px;
border-bottom-width: 3px;
}

.p-numbers-message__values{
display:flex;
justify-content:center;
align-items:center;
gap:20px;
margin-top:40px;
}

.p-numbers-message__value{
width:110px;
height:auto;
}

.p-numbers-message__text{
margin-top: 40px;
}

.p-numbers-message__text p{
font-size: 15px;
line-height: 2;
}

}

.p-numbers-benefit{
padding: 20px 20px 160px;
}

.p-numbers-benefit__inner{
max-width: 770px;
margin: 0 auto;
}

.p-numbers-benefit__title{
margin: 0 0 38px;
text-align: center;
font-size: 32px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.08em;
color: #156b9c;
}

.p-numbers-benefit__list{
display: flex;
flex-direction: column;
gap: 0;
}

.p-numbers-benefit__row{
display: grid;
grid-template-columns: 180px 1fr;
column-gap: 12px;
align-items: stretch;
}
.p-numbers-benefit__head{
padding: 24px 12px 24px 12px;
border-top: 1px solid #49a6da;
font-size: 14px;
font-weight: 700;
line-height: 1.5;
letter-spacing: 0.06em;
color: #156b9c;
}

.p-numbers-benefit__body{
padding: 24px 12px 24px 12px;
border-top: 1px solid #49a6da;
font-size: 14px;
font-weight: 500;
line-height: 2;
letter-spacing: 0.04em;
color: #222;
}

.p-numbers-benefit__row:last-child .p-numbers-benefit__head,
.p-numbers-benefit__row:last-child .p-numbers-benefit__body{
border-bottom: 1px solid #49a6da;
}

.p-numbers-benefit__tags{
display: flex;
flex-wrap: wrap;
gap: 6px 14px;
margin: 0;
padding: 0;
list-style: none;
}

.p-numbers-benefit__tags li{
position: relative;
padding-left: 14px;
font-size: 16px;
line-height: 2;
color: #222;
}

.p-numbers-benefit__tags li::before{
content: "";
position: absolute;
top: 12px;
left: 0;
width: 10px;
height: 10px;
border-radius: 50%;
background: #156b9c;
}

.p-numbers-benefit__bullets{
margin: 0;
padding: 0;
list-style: none;
}

.p-numbers-benefit__bullets li{
position: relative;
padding-left: 14px;
font-size: 16px;
line-height: 2.1;
color: #222;
}

.p-numbers-benefit__bullets li::before{
content: "";
position: absolute;
top: 13px;
left: 0;
width: 10px;
height: 10px;
border-radius: 50%;
background: #156b9c;
}

@media (max-width: 767px){

.p-numbers-benefit{
padding: 0 20px 110px;
}

.p-numbers-benefit__inner{
max-width: 100%;
}

.p-numbers-benefit__title{
margin-bottom: 22px;
font-size: 34px;
}

.p-numbers-benefit__row{
grid-template-columns: 1fr;
text-align: center;
}

.p-numbers-benefit__row:first-child{
border-top: 1px solid #49a6da;
}

.p-numbers-benefit__row + .p-numbers-benefit__row{
border-top: 1px solid #49a6da;
}

.p-numbers-benefit__row:last-child{
border-bottom: 1px solid #49a6da;
}

.p-numbers-benefit__head{
border: none;
padding: 20px 10px 8px;
font-size: 18px;
}

.p-numbers-benefit__body{
border: none;
padding: 8px 10px 20px;
font-size: 15px;
line-height: 1.9;
}

.p-numbers-benefit__row:last-child .p-numbers-benefit__head,
.p-numbers-benefit__row:last-child .p-numbers-benefit__body{
border-bottom: none;
}

.p-numbers-benefit__tags{
gap: 4px 12px;
justify-content: center;
}

.p-numbers-benefit__tags li{
font-size: 15px;
line-height: 1.9;
}

.p-numbers-benefit__tags li::before{
top: 10px;
width: 9px;
height: 9px;
}

.p-numbers-benefit__bullets{
display: inline-block;
text-align: left;
}

.p-numbers-benefit__bullets li{
font-size: 15px;
line-height: 1.95;
}

.p-numbers-benefit__bullets li::before{
top: 10px;
width: 9px;
height: 9px;
}

}

.p-numbers-support{
padding: 0 20px 160px;
}

.p-numbers-support__inner{
max-width: 770px;
margin: 0 auto;
}

.p-numbers-support__title{
margin: 0 0 38px;
text-align: center;
font-size: 32px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.08em;
color: #156b9c;
}

.p-numbers-support__list{
display: flex;
flex-direction: column;
gap: 0;
}

.p-numbers-support__row{
display: grid;
grid-template-columns: 180px 1fr;
column-gap: 12px;
align-items: stretch;
}

.p-numbers-support__head{
padding: 24px 12px 24px 12px;
border-top: 1px solid #49a6da;
font-size: 14px;
font-weight: 700;
line-height: 1.5;
letter-spacing: 0.06em;
color: #156b9c;
}

.p-numbers-support__body{
padding: 24px 12px 24px 12px;
border-top: 1px solid #49a6da;
font-size: 14px;
font-weight: 500;
line-height: 2;
letter-spacing: 0.04em;
color: #222;
}

.p-numbers-support__row:last-child .p-numbers-support__head,
.p-numbers-support__row:last-child .p-numbers-support__body{
border-bottom: 1px solid #49a6da;
}

@media (max-width: 767px){

.p-numbers-support{
padding: 0 20px 110px;
}

.p-numbers-support__inner{
max-width: 100%;
}

.p-numbers-support__title{
margin-bottom: 22px;
font-size: 34px;
}

.p-numbers-support__row{
grid-template-columns: 1fr;
text-align: center;
}

.p-numbers-support__row:first-child{
border-top: 1px solid #49a6da;
}

.p-numbers-support__row + .p-numbers-support__row{
border-top: 1px solid #49a6da;
}

.p-numbers-support__row:last-child{
border-bottom: 1px solid #49a6da;
}

.p-numbers-support__head{
border: none;
padding: 20px 10px 8px;
font-size: 18px;
}

.p-numbers-support__body{
border: none;
padding: 8px 10px 20px;
font-size: 15px;
line-height: 1.9;
}

.p-numbers-support__row:last-child .p-numbers-support__head,
.p-numbers-support__row:last-child .p-numbers-support__body{
border-bottom: none;
}

}

.page-template-page-numbers .l-main{
padding-bottom:300px;
}

.page-template-page-numbers .p-footer{
margin-top:-300px;
}



/*====西野さんインタビュー===*/

.page-template-page-interview-nishino-php .l-header,
.page-template-page-interview-sicchi-php .l-header,
.page-template-page-interview-fujieda-php .l-header{
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 50;
background: transparent;
}

.p-interview-hero{
position: relative;
overflow: hidden;
}

.p-interview-hero__bg{
display: block;
line-height: 0;
}

.p-interview-hero__bg img{
display: block;
width: 100%;
height: auto;
}

.p-interview-hero__content{
position: absolute;
top: 50%;
left: 52%;
transform: translateY(-32%);
z-index: 2;
}

.page-template-page-interview-sicchi-php .p-interview-hero__content{
left:18%;
}

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

.page-template-page-interview-sicchi-php .p-interview-hero__content{
left:18px;
top:140px;
}

}

.p-interview-hero__title{
margin: 0;
}

.p-interview-hero__titleLine{
display: block;
width: fit-content;
margin-bottom: 8px;
padding: 8px 10px 10px;
background: #fff;
font-size: 31px;
line-height: 1.3;
font-weight: 700;
letter-spacing: 0.04em;
color: #222;
}

.p-interview-hero__titleLine em{
color: #156b9c;
font-style: normal;
}

.p-interview-hero__meta{
margin-top: 26px;
}

.p-interview-hero__year{
display: block;
width: fit-content;
margin: 0 0 8px;
padding: 6px 8px;
background: #fff;
font-size: 14px;
line-height: 1.2;
font-weight: 700;
color: #222;
}

.p-interview-hero__name{
display: block;
width: fit-content;
position: relative;
margin: 0;
padding: 6px 8px 6px 12px;
background: #fff;
font-size: 14px;
line-height: 1.2;
font-weight: 700;
color: #222;
}

.p-interview-hero__name::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: #156b9c;
}

@media screen and (max-width: 1024px){
  .p-interview-hero__content{
    left: 52%;
    transform: translateY(-30%);
  }

  .p-interview-hero__titleLine{
    font-size: 24px;
    padding: 7px 9px 8px;
  }

  .p-interview-hero__meta{
    margin-top: 18px;
  }

  .p-interview-hero__year,
  .p-interview-hero__name{
    font-size: 13px;
  }
}

@media screen and (max-width: 767px){
  .p-interview-hero__content{
    top: 110px;
    left: 20px;
    right: 20px;
  }

  .p-interview-hero__titleLine{
    font-size: 17px;
    line-height: 1.4;
    padding: 6px 8px 7px;
    margin-bottom: 8px;
  }

  .p-interview-hero__meta{
    margin-top: 14px;
  }

  .p-interview-hero__year,
  .p-interview-hero__name{
    font-size: 14px;
  }

  .p-interview-hero__name{
    padding: 5px 8px 5px 11px;
  }

  .p-interview-hero__name::before{
    width: 3px;
  }
}

.js-interview-fade{
opacity: 0;
transform: scale(1.02);
transition: opacity 1s ease, transform 1s ease;
}

.js-interview-fade.is-visible{
opacity: 1;
transform: scale(1);
}

.js-interview-slide{
opacity: 0;
transform: translateX(-40px);
transition: opacity 0.6s ease, transform 0.6s ease;
transition-delay: var(--delay, 0s);
}

.js-interview-slide.is-visible{
opacity: 1;
transform: translateX(0);
}

.p-interview-intro{
padding:40px 0 32px;
}

.p-interview-intro__content{
flex:0 0 calc((100% - 80px) * 0.45);
min-width:0;
}

.p-interview-intro__image img{
width:100%;
display:block;
}

.p-interview-intro__title span{
color:#156b9c;
}

.p-interview-intro__inner{
display:flex;
gap:80px;
align-items:center;
overflow:visible;
}

.p-interview-intro__image{
flex:0 0 calc((100% - 80px) * 0.6);
min-width:0;
overflow:visible;
}

.p-interview-intro__content{
flex:1;
min-width:0;
}

.p-interview-intro__image img{
width:100%;
display:block;
transform:translateX(-25px);
}

.p-interview-intro__image img{
width:100%;
display:block;
}

.p-interview-intro__content{
flex:0 0 calc((100% - 80px) * 0.45);
}

.p-interview-intro__text{
margin-top:14px;
font-size:14px;
line-height:2;
}

.p-interview-qa__question{
margin-bottom:14px;
}

.p-interview-qa{
padding:32px 0;
}

.p-interview-qa__inner{
display:flex;
gap:80px;
align-items:center;
}

.p-interview-qa__image{
flex:0 0 calc((100% - 80px) * 0.6);
}

.p-interview-qa__content{
flex:0 0 calc((100% - 80px) * 0.4);
}

.p-interview-qa__image img{
width:100%;
display:block;
}

.p-interview-qa--reverse .p-interview-qa__inner{
flex-direction:row-reverse;
}

.p-interview-qa__number{
color:#28bdec;
font-size:26px;
font-weight:700;
margin-bottom:20px;
}

.p-interview-qa-simple__number{
color:#28bdec;
font-size:28px;
font-weight:700;
margin-right:3px;
flex-shrink:0;
}

.p-interview-qa-simple__question{
margin:40px 0 16px;
padding-top:40px;
border-top:2px dotted #d9d9d9;
display:flex;
align-items:center;
gap:12px;
font-size:22px;
font-weight:700;
line-height:1.6;
color:#156b9c;
}

@media screen and (max-width: 767px){
.p-interview-qa-simple__question{
font-size:22px;
line-height:1.6;
color:#156b9c;
}
}

.p-interview-qa-simple__question:first-child{
margin-top:0;
padding-top:0;
border-top:none;
}

.p-interview-container{
padding-left:260px;
padding-right:260px;
box-sizing:border-box;
}

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

.p-interview-container{
padding-left:20px;
padding-right:20px;
}

}

.p-interview-qa-simple{
padding:32px 0 80px;
}

.p-interview-qa-simple__inner{
max-width: 1000px;
}

.p-interview-qa-simple__answer{
margin: 0;
}

@media screen and (max-width: 767px){
  .p-interview-qa-simple{
    padding: 80px 20px;
  }
}

.p-interview-qa-list{
margin-top:40px;
}

.p-interview-qa-item{
padding:32px 0;
border-top:2px dotted #d9d9d9;
}

.p-interview-qa-item:last-child{
border-bottom:2px dotted #d9d9d9;
}

.p-interview-qa-item__title{
margin:0 0 16px;
font-size:22px;
font-weight:700;
color:#156b9c;
line-height:1.6;
}

.p-interview-qa-item__number{
color:#28bdec;
font-size:32px;
margin-right:12px;
font-weight:700;
}

.p-interview-qa-item__text{
margin:0;
font-size:16px;
line-height:2;
color:#333;
}

.p-interview-qa-simple__inner > * + .p-interview-qa-simple__number{
margin-top:40px;
padding-top:40px;
border-top:2px dotted #d9d9d9;
}

.p-interview-intro__image img{
width:100%;
display:block;
transform:scale(1.08);
}

.p-interview-qa-side{
padding:40px 0 80px;
}

.p-interview-qa-side__inner{
display:flex;
gap:80px;
align-items:flex-start;
}

.p-interview-qa-side__content{
flex:0 0 55%;
}

.p-interview-qa-side__image{
flex:0 0 45%;
}

.p-interview-qa-side__image img{
width:75%;
display:block;
}

.p-interview-qa-side{
border-top:2px dotted #d9d9d9;
border-bottom:2px dotted #d9d9d9;
padding:40px 0;
}

.p-interview-qa-side__item + .p-interview-qa-side__item{
margin-top:32px;
padding-top:32px;
border-top:2px dotted #d9d9d9;
}

.p-interview-qa-side__question{
display:flex;
align-items:center;
gap:12px;
margin:0 0 16px;
font-size:22px;
font-weight:700;
color:#156b9c;
}

.p-interview-qa-side__number{
color:#28bdec;
font-size:32px;
font-weight:700;
}

.p-interview-qa-side__answer{
margin:0;
line-height:2;
color:#333;
}

.p-interview-qa__number,
.p-interview-qa-simple__number,
.p-interview-qa-side__number{
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.p-interview-qa__answer,
.p-interview-qa-simple__answer,
.p-interview-qa-side__answer{
font-size:14px;
line-height:1.9;
}

.p-interview-qa-simple__image{
margin-bottom:40px;
}

.p-interview-qa-simple__image img{
width:100%;
display:block;
}

.p-interview-qa-side--left-photo{
padding: 40px 0 32px;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__inner{
display: flex;
gap: 80px;
align-items: flex-start;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__image{
flex: 0 0 calc((100% - 80px) * 0.35);
}

.p-interview-qa-side--left-photo .p-interview-qa-side__content{
flex: 0 0 calc((100% - 80px) * 0.65);
}

.p-interview-qa-side--left-photo .p-interview-qa-side__image img{
width: 100%;
display: block;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__item{
padding: 24px 0;
border-top: 2px dotted #d9d9d9;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__item:last-child{
border-bottom: 2px dotted #d9d9d9;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__question{
display: flex;
align-items: flex-start;
gap: 12px;
margin: 0 0 16px;
font-size: 22px;
font-weight: 700;
line-height: 1.6;
color: #156b9c;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__number{
color: #28bdec;
font-size: 32px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 700;
line-height: 1;
flex-shrink: 0;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__answer{
margin: 0;
font-size: 14px;
line-height: 2;
color: #222;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__item:first-child{
border-top:none;
}

.p-interview-qa-side--left-photo .p-interview-qa-side__item:last-child{
border-bottom:none;
}

.p-interview-schedule{
position: relative;
z-index: 5;
isolation: isolate;
overflow: visible;
padding: 40px 0 10px;
}

.p-interview-schedule__top{
width: 715px;
margin: 0 auto;
position: relative;
z-index: 3;
}

.p-interview-schedule__top img{
display: block;
width: 100%;
height: auto;
}

.p-interview-schedule__board{
position: relative;
z-index: 2;
margin-top: -180px;
padding: 250px 0 80px;
background-image: url("./assets/img/interview/nishino/nishino-schedule-bg.png");
background-repeat: no-repeat;
background-position: center -1020px;
background-size: 2900px auto;
}

.p-interview-schedule__title{
margin: 0 0 38px;
text-align: center;
font-size: 32px;
line-height: 1;
letter-spacing: 0.12em;
font-weight: 700;
font-family: "Open Sans", sans-serif;
color: #fff;
}

.p-interview-schedule__columns{
display: flex;
justify-content: center;
gap: 140px;
}

.p-interview-schedule__column{
position: relative;
width: 265px;
padding-left: 0;
}

.p-interview-schedule__item{
position:relative;
display:grid;
grid-template-columns:58px 24px 1fr;
column-gap:14px;
align-items:start;
height:120px;
}

.p-interview-schedule__item + .p-interview-schedule__item{
margin-top:0;
}

.p-interview-schedule__dot{
position:relative;
width:24px;
height:120px;
}

.p-interview-schedule__dot::before{
content:"";
position:absolute;
top:0;
left:50%;
width:10px;
height:10px;
border-radius:50%;
background:#fff;
transform:translateX(-50%);
}

.p-interview-schedule__dot::after{
content:"";
position:absolute;
top:5px;
left:50%;
width:1px;
height:120px;
background:rgba(255,255,255,0.7);
transform:translateX(-50%);
}

.p-interview-schedule__item:last-child .p-interview-schedule__dot::after{
display:none;
}

.p-interview-schedule__time{
margin: 0;
font-size: 21px;
line-height: 1;
font-weight: 400;
font-family: "Noto Sans JP", sans-serif;
letter-spacing: 0.04em;
color: #fff;
}

.p-interview-schedule__content{
position:relative;
min-width:0;
padding-left:16px;
}

.p-interview-schedule__content::before{
content:"";
position:absolute;
top:4px;
left:-10px;
width:16px;
height:1px;
background:rgba(255,255,255,0.8);
}

.p-interview-schedule__label{
margin:0 0 10px;
font-size:20px;
line-height:1;
font-weight:700;
color:#fff;
}

.p-interview-schedule__desc{
margin:0;
font-size:14px;
line-height:1.5;
font-weight:400;
color:#fff;
}

.p-interview-schedule__desc + .p-interview-schedule__desc{
margin-top:4px;
}

.p-interview-schedule__photos{
display: flex;
justify-content: center;
gap: 34px;
margin-top: -20px;
}

.p-interview-schedule__photoCard{
width: 320px;
}

.p-interview-schedule__photo img{
display: block;
width: 100%;
height: auto;
}

.p-interview-schedule__caption{
margin: 12px 0 0;
padding: 0 5px;
font-size: 14px;
line-height: 1.9;
color: #222;
}

.p-interview-schedule__column:first-child{
margin-top:40px;
}

.sp-only{
display:none;
}


@media screen and (max-width: 1024px){
  .p-interview-schedule__top{
    position: relative;
    z-index: 3;
  }

  .p-interview-schedule__board{
    position: relative;
    z-index: 2;
    margin-top: -60px;
    padding: 140px 0 80px;
    background-image: url("./assets/img/interview/nishino/nishino-schedule-bg.png");
    background-repeat: no-repeat;
    background-position: center -1050px;
    background-size: 2720px auto;
  }

  .p-interview-schedule__columns{
    gap: 60px;
  }

  .p-interview-schedule__photos{
    gap: 20px;
  }

  .p-interview-schedule__photoCard{
    width: calc((100% - 40px) / 3);
  }
}

@media screen and (max-width: 767px){
  .p-interview-schedule{
    position: relative;
    z-index: 5;
    isolation: isolate;
    overflow: visible;
    padding: 24px 0 56px;
  }

  .p-interview-schedule__top{
    position: relative;
    z-index: 3;
  }

  .p-interview-schedule__board{
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding: 100px 0 60px;
    background-image: url("./assets/img/interview/nishino/nishino-schedule-bg.png");
    background-repeat: no-repeat;
    background-position: center -1720px;
    background-size: 4200px auto;
  }

  .p-interview-schedule__title{
    margin-bottom: 4px;
    font-size: 24px;
  }

  .p-interview-schedule__columns{
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .p-interview-schedule__column{
    width: 100%;
    max-width: 280px;
  }

  .p-interview-schedule__item{
    height: 90px;
    grid-template-columns: 58px 24px 1fr;
    column-gap: 12px;
  }

  .p-interview-schedule__item + .p-interview-schedule__item{
    margin-top: 0;
  }

  .p-interview-schedule__dot{
    height: 90px;
  }

  .p-interview-schedule__dot::after{
    top: 5px;
    height: 90px;
  }

  .p-interview-schedule__column:first-child .p-interview-schedule__item:last-child .p-interview-schedule__dot::after{
    display: block;
  }

  .p-interview-schedule__column:last-child .p-interview-schedule__item:last-child .p-interview-schedule__dot::after{
    display: none;
  }

  .p-interview-schedule__time{
    font-size: 18px;
  }

  .p-interview-schedule__label{
    font-size: 18px;
  }

  .p-interview-schedule__desc{
    font-size: 13px;
  }

  .p-interview-schedule__photos{
    flex-direction: column;
    gap: 24px;
    margin-top: 48px;
  }

  .p-interview-schedule__photoCard{
    width: 100%;
  }

  .p-interview-schedule__caption{
    font-size: 13px;
    line-height: 1.8;
    padding: 0 40px;
  }

  .sp-only{
    display: inline;
  }
}

.p-interview-message{
position: relative;
left: 50%;
width: 100vw;
margin-top: -80px;
margin-bottom: -150px;
margin-left: -50vw;
overflow: hidden;
}

.p-interview-message__bg{
display:block;
width:100%;
height:auto;
vertical-align:top;
}

.p-interview-message__content{
position:absolute;
top:59%;
left:50%;
transform:translate(-50%,-50%);
width:1180px;
padding:0 160px;
box-sizing:border-box;
color:#fff;
}

.p-interview-message__title{
position:relative;
display:flex;
align-items:center;
gap:12px;
margin:0 0 20px;
padding-bottom:6px;
font-size:28px;
font-weight:700;
color:#fff;
}

.p-interview-message__title::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:320px;
height:1px;
background:#fff;
}

.p-interview-message__icon{
width:26px;
height:auto;
}

.p-interview-message__text{
margin:0;
font-size:15px;
line-height:2;
color:#fff;
}

@media screen and (max-width: 767px){
  .p-interview-message{
  margin-top:-40px;
  min-height:520px;
  background-image:url("./assets/img/interview/nishino/interview-message-bg-sp.png");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  }

  .p-interview-message__bg{
    display:none;
  }

  .p-interview-message__content{
    position:absolute;
    top:108px;
    left:36px;
    right:36px;
    transform:none;
    width:auto;
    padding:0;
  }

  .p-interview-message__title{
    gap:10px;
    margin:0 0 26px;
    padding-bottom:8px;
    font-size:25px;
    line-height:1.2;
  }

  .p-interview-message__title::after{
    width:100%;
    height:2px;
  }

  .p-interview-message__icon{
    width:24px;
    height:auto;
  }

  .p-interview-message__text{
    font-size:16px;
    line-height:2.1;
  }
}

body{
overflow-x:hidden;
}


.js-message-bg{
opacity:0;
transform:translateY(24px) scale(1.02);
transition:opacity 1s ease, transform 1s ease;
}

.js-message-title{
opacity:0;
transform:translateY(18px);
transition:opacity .7s ease, transform .7s ease;
transition-delay:.15s;
}

.js-message-text{
opacity:0;
transform:translateX(-24px);
transition:opacity .8s ease, transform .8s ease;
transition-delay:.35s;
}

.p-interview-message.is-visible .js-message-bg,
.p-interview-message.is-visible .js-message-title,
.p-interview-message.is-visible .js-message-text{
opacity:1;
}

.p-interview-message.is-visible .js-message-bg{
transform:translateY(0) scale(1);
}

.p-interview-message.is-visible .js-message-title{
transform:translateY(0);
}

.p-interview-message.is-visible .js-message-text{
transform:translateX(0);
}

@media (prefers-reduced-motion: reduce){
.js-message-bg,
.js-message-title,
.js-message-text{
opacity:1;
transform:none;
transition:none;
}
}

/* ===============================
CTA（新卒採用はこちら）
=============================== */
.p-interview-cta{
margin:220px auto;
max-width:900px;
padding:0 20px;
box-sizing:border-box;
}

.p-interview-cta__link{
position:relative;
display:block;
overflow:hidden;
color:#fff;
text-decoration:none;
}

.p-interview-cta__img{
display:block;
width:100%;
height:auto;
position:relative;
z-index:1;
transition:transform .6s ease;
}

.p-interview-cta__overlay{
position:absolute;
inset:0;
z-index:2;
background:rgba(0,0,0,0.35);
transition:background .35s ease;
}

.p-interview-cta__content{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:3;
display:flex;
align-items:center;
justify-content:center;
width:100%;
pointer-events:none;
}

.p-interview-cta__text{
margin:0;
font-size:32px;
font-weight:700;
letter-spacing:.04em;
text-align:center;
}

.p-interview-cta__link::after{
content:"";
position:absolute;
top:50%;
right:60px;
width:16px;
height:16px;
border-top:1.5px solid #fff;
border-right:1.5px solid #fff;
transform:translateY(-50%) rotate(45deg);
transition:transform .3s ease;
z-index:3;
}

.p-interview-cta__link:hover .p-interview-cta__overlay{
background:rgba(21,107,156,0.85);
}

.p-interview-cta__link:hover .p-interview-cta__img{
transform:scale(1.05);
}

.p-interview-cta__link:hover::after{
transform:translate(6px,-50%) rotate(45deg);
}

@media screen and (max-width:767px){
.p-interview-cta{
margin:80px auto;
}

.p-interview-cta__text{
font-size:20px;
}

.p-interview-cta__link::after{
right:22px;
width:14px;
height:14px;
}

.p-interview-cta{
margin-top:160px;
}

}

.page-template-page-interview-nishino-php .p-footer,
.page-template-page-interview-sicchi-php .p-footer,
.page-template-page-interview-fujieda-php .p-footer{
margin-top:-180px;
}

.page-template-page-interview-sicchi-php .p-interview-schedule__board{
background-image: url("./assets/img/interview/sicchi/sicchi-schedule-bg.png");
}

@media screen and (max-width: 767px){
.page-template-page-interview-sicchi-php .p-interview-message{
background-image:url("./assets/img/interview/sicchi/interview-message-bg-sp.png");
}
}


.page-template-page-interview-fujieda-php .p-interview-schedule__board{
background-image: url("./assets/img/interview/fujieda/fujieda-schedule-bg.png");
}

@media screen and (max-width: 767px){
.page-template-page-interview-fujieda-php .p-interview-message{
background-image:url("./assets/img/interview/fujieda/interview-message-bg-sp.png");
}
}


/*新着情報の一覧*/

.p-topics{
position:relative;
overflow:hidden;
margin-bottom:-300px;
}

.p-topics::before{
content:"";
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:1500px;
height:100%;
background-image:url("./assets/img/topics/topics-bg.png");
background-repeat:no-repeat;
background-position:top center;
background-size:1500px auto;
pointer-events:none;
z-index:0;
}

.p-topics-hero{
position:relative;
z-index:1;
padding:92px 20px 0;
}

.p-topics-hero__inner{
max-width:1180px;
margin:0 auto;
}

.p-topics-hero__title{
margin:0;
text-align:center;
font-family:"Open Sans", sans-serif;
font-size:62px;
font-weight:700;
letter-spacing:0.18em;
line-height:1;
color:#000;
}

.p-topics-hero__title span{
display:block;
margin-top:20px;
padding-bottom:24px;
font-family:"Noto Sans JP", sans-serif;
font-size:16px;
font-weight:700;
letter-spacing:0.08em;
line-height:1.5;
color:#156b9c;
position:relative;
}

.p-topics-hero__title span::after{
content:"";
display:block;
width:90px;
height:5px;
margin:18px auto 0;
background:#156b9c;
}

.p-topics-list{
position:relative;
z-index:1;
padding:88px 20px 220px;
}

.p-topics-list__inner{
max-width:1180px;
margin:0 auto;
}

.p-topics-list__items{
max-width:680px;
margin:0 auto;
}

.p-topics-list__item{
position:relative;
display:flex;
align-items:center;
padding:0 84px 23px 0;
margin-bottom:43px;
border-bottom:1px solid #7d7d7d;
text-decoration:none;
color:#000;
}

.p-topics-list__meta{
display:flex;
align-items:center;
gap:16px;
min-width:0;
flex-shrink:0;
}

.p-topics-list__date{
font-family:"Open Sans", sans-serif;
font-size:18px;
font-weight:700;
line-height:1;
letter-spacing:0.02em;
color:#000;
white-space:nowrap;
}

.p-topics-list__label{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:82px;
height:24px;
padding:0 12px;
border-radius:8px;
font-family:"Noto Sans JP", sans-serif;
font-size:12px;
font-weight:700;
line-height:1;
white-space:nowrap;
box-sizing:border-box;
}

.p-topics-list__label.is-news{
background:#d9e5ee;
color:#156b9c;
}

.p-topics-list__label.is-important{
background:#ffd9df;
color:#ff3b57;
}

.p-topics-list__titleWrap{
flex:1;
min-width:0;
padding-left:12px;
}

.p-topics-list__title{
margin:0;
font-family:"Noto Sans JP", sans-serif;
font-size:18px;
font-weight:700;
line-height:1.6;
color:#000;
word-break:break-word;
}

.p-topics-list__arrow{
position:absolute;
top:50%;
right:0;
transform:translateY(-50%);
width:34px;
height:34px;
border-radius:50%;
background:#156b9c;
overflow:hidden;
transition:transform .25s ease;
-webkit-transform:translateY(-50%) translateZ(0);
transform:translateY(-50%) translateZ(0);
will-change:transform;
}

.p-topics-list__arrow::before{
content:"";
position:absolute;
top:50%;
left:50%;
width:8px;
height:8px;
border-top:1px solid #fff;
border-right:1px solid #fff;
transform:translate(-65%,-50%) rotate(45deg);
}

.p-topics-list__arrow::after{
content:"";
position:absolute;
top:0;
left:0;
width:160%;
height:100%;
background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0) 100%);
transform:translateX(-130%) skewX(-20deg);
transition:transform .55s ease;
pointer-events:none;
}

.p-topics-list__item:hover .p-topics-list__arrow{
transform:translateY(-50%) translateY(-2px);
}

.p-topics-list__item:hover .p-topics-list__arrow::after{
transform:translateX(30%) skewX(-20deg);
}

.navigation.pagination{
margin-top:56px;
text-align:center;
}

.navigation.pagination .nav-links{
display:inline-flex;
align-items:center;
gap:6px;
}

.navigation.pagination .page-numbers{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:25px;
height:25px;
padding:0 6px;
border:1px solid #c9c9c9;
background:#fff;
font-family:"Open Sans", sans-serif;
font-size:13px;
font-weight:400;
line-height:1;
color:#666;
text-decoration:none;
box-sizing:border-box;
}

.navigation.pagination .page-numbers.current{
background:#156b9c;
border-color:#156b9c;
color:#fff;
font-weight:700;
}

.navigation.pagination .page-numbers.dots{
border:none;
background:transparent;
min-width:auto;
padding:0 2px;
}

@media screen and (max-width: 767px){
.p-topics::before{
width:1500px;
background-size:1500px auto;
background-position:center top;
}

.p-topics-hero{
padding:72px 20px 0;
}

.p-topics-hero__title{
font-size:42px;
letter-spacing:0.14em;
}

.p-topics-hero__title span{
margin-top:16px;
font-size:13px;
padding-bottom:20px;
}

.p-topics-hero__title span::after{
width:72px;
height:4px;
margin-top:14px;
}

.p-topics-list{
padding:56px 20px 160px;
}

.p-topics-list__items{
max-width:none;
}

.p-topics-list__item{
display:block;
padding:0 56px 18px 0;
margin-bottom:28px;
}

.p-topics-list__meta{
display:block;
}

.p-topics-list__date{
display:block;
font-size:22px;
}

.p-topics-list__label{
margin-top:14px;
min-width:92px;
height:28px;
font-size:12px;
border-radius:8px;
}

.p-topics-list__titleWrap{
padding-left:0;
margin-top:14px;
}

.p-topics-list__title{
font-size:20px;
line-height:1.6;
}

.p-topics-list__arrow{
width:40px;
height:40px;
right:0;
}

.navigation.pagination{
margin-top:44px;
}

.navigation.pagination .nav-links{
gap:4px;
flex-wrap:wrap;
justify-content:center;
}

.navigation.pagination .page-numbers{
min-width:28px;
height:28px;
font-size:12px;
}
}

/*新着情報の投稿ページ*/

.p-topics-single{
position:relative;
overflow:hidden;
background:#fff;
margin-bottom:-300px;
padding-bottom:300px;
}

.p-topics-single::before{
content:"";
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:1500px;
height:100%;
background-image:url("./assets/img/topics/topics-bg.png");
background-repeat:no-repeat;
background-position:top center;
background-size:1500px auto;
pointer-events:none;
z-index:0;
}

.p-topics-single-article{
position:relative;
z-index:1;
padding:96px 20px 220px;
}

.p-topics-single-article__inner{
max-width:1180px;
margin:0 auto;
}

.p-topics-single-article__head{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:40px;
max-width:980px;
margin:0 auto;
}

.p-topics-single-article__title{
margin:0;
padding-top:6px;
font-size:24px;
font-weight:700;
line-height:1.6;
color:#156b9c;
}

.p-topics-single-article__date{
flex-shrink:0;
margin-top:0;
font-family:"din-condensed", sans-serif;
font-size:24px;
font-weight:400;
line-height:1;
color:#000;
}

.p-topics-single-article__body{
max-width:980px;
margin:70px auto 0;
font-size:16px;
font-weight:400;
line-height:2.25;
color:#000;
}

.p-topics-single-article__body > *:first-child{
margin-top:0;
}

.p-topics-single-article__body p{
margin:0 0 2em;
}

.p-topics-single-article__body img{
max-width:100%;
height:auto;
}

.p-topics-single-article__nav{
display:flex;
justify-content:space-between;
align-items:center;
gap:24px;
max-width:980px;
margin:84px auto 0;
}

.p-topics-single-article__navItem{
width:220px;
}

.p-topics-single-article__navItem a{
display:inline-flex;
align-items:center;
gap:16px;
text-decoration:none;
}

.p-topics-single-article__navItem--prev a{
justify-content:flex-start;
}

.p-topics-single-article__navItem--next a{
justify-content:flex-end;
width:100%;
}

.p-topics-single-article__navText{
font-size:11px;
font-weight:700;
line-height:1;
color:#156b9c;
white-space:nowrap;
}

.p-topics-single-article__circle{
position:relative;
display:block;
width:30px;
height:30px;
border-radius:50%;
background:#156b9c;
flex-shrink:0;
overflow:hidden;
transition:transform .25s ease;
-webkit-transform:translateZ(0);
transform:translateZ(0);
will-change:transform;
}

.p-topics-single-article__circle::after{
content:"";
position:absolute;
top:0;
left:0;
width:160%;
height:100%;
background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0) 100%);
transform:translateX(-130%) skewX(-20deg);
transition:transform .55s ease;
pointer-events:none;
}

.p-topics-single-article__navItem a:hover .p-topics-single-article__circle{
transform:translateY(-2px);
}

.p-topics-single-article__navItem a:hover .p-topics-single-article__circle::after{
transform:translateX(30%) skewX(-20deg);
}

.p-topics-single-article__circle::before{
content:"";
position:absolute;
top:50%;
left:50%;
width:7px;
height:7px;
border-top:1px solid #fff;
border-right:1px solid #fff;
}

.p-topics-single-article__circle--prev::before{
transform:translate(-30%,-50%) rotate(-135deg);
}

.p-topics-single-article__circle--next::before{
transform:translate(-70%,-50%) rotate(45deg);
}

.p-topics-single-article__navCenter{
flex:1;
display:flex;
justify-content:center;
}

.p-topics-single-article__backLink{
display:inline-flex;
align-items:center;
justify-content:center;
width:180px;
max-width:100%;
height:48px;
padding:0 40px;
border-radius:999px;
background:#156b9c;
font-size:12px;
font-weight:700;
line-height:1;
color:#fff;
text-decoration:none;
box-sizing:border-box;
position:relative;
overflow:hidden;
transition:transform .25s ease;
-webkit-transform:translateZ(0);
transform:translateZ(0);
will-change:transform;
}

.p-topics-single-article__backLink::before{
content:"";
position:absolute;
top:0;
left:0;
width:140%;
height:100%;
background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0) 100%);
transform:translateX(-120%) skewX(-20deg);
transition:transform .55s ease;
will-change:transform;
pointer-events:none;
}

.p-topics-single-article__backLink:hover{
transform:translateY(-2px) translateZ(0);
}

.p-topics-single-article__backLink:hover::before{
transform:translateX(20%) skewX(-20deg);
}

@media screen and (max-width: 767px){
.p-topics-single{
margin-bottom:-300px;
padding-bottom:300px;
}

.p-topics-single::before{
width:1500px;
background-size:1500px auto;
background-position:center top;
}

.p-topics-single-article{
padding:56px 20px 160px;
}

.p-topics-single-article__head{
display:block;
max-width:none;
}

.p-topics-single-article__title{
padding-top:0;
font-size:22px;
line-height:1.7;
}

.p-topics-single-article__date{
display:block;
margin-top:18px;
font-size:22px;
}

.p-topics-single-article__body{
max-width:none;
margin-top:40px;
font-size:15px;
line-height:2.1;
}

.p-topics-single-article__nav{
display:grid;
grid-template-columns:1fr;
gap:18px;
margin-top:56px;
}

.p-topics-single-article__navItem{
width:auto;
}

.p-topics-single-article__navItem--next a{
justify-content:flex-start;
width:auto;
}

.p-topics-single-article__navCenter{
order:-1;
justify-content:center;
}

.p-topics-single-article__backLink{
width:100%;
max-width:320px;
height:48px;
padding:0 24px;
font-size:16px;
}
}

/*専務ブログ*/
.p-blog-hero{
position:relative;
overflow:hidden;
}

.p-blog-hero__img{
display:block;
width:100%;
height:auto;
}

.p-blog-main{
padding:0 20px 160px;
}

.p-blog-main__inner{
max-width:1180px;
margin:0 auto;
display:flex;
justify-content:center;
gap:95px;
}

.p-blog-main__content{
width:100%;
max-width:508px;
margin-top:-26px;
}

.p-blog-article__label{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:98px;
height:22px;
padding:0 20px;
background:#18b8e8;
font-size:10px;
font-weight:700;
line-height:1;
color:#fff;
box-sizing:border-box;
}

.p-blog-article__date{
display:block;
margin-top:14px;
font-family:"Open Sans", sans-serif;
font-size:14px;
font-weight:400;
line-height:1;
color:#333;
}

.p-blog-article__thumb{
margin-top:18px;
}

.p-blog-article__thumb img{
display:block;
width:100%;
height:auto;
}

.p-blog-article__title{
margin:32px 0 0;
padding:16px 16px 16px 19px;
border-left:5px solid #16b7e8;
background:#d9eaf0;
font-size:21px;
font-weight:700;
line-height:1.4;
color:#222;
}

.p-blog-article__body{
margin-top:42px;
font-size:14px;
font-weight:400;
line-height:2.35;
color:#111;
}

.p-blog-article__body > *:first-child{
margin-top:0;
}

.p-blog-article__body p{
margin:0 0 2em;
}

.p-blog-article__body img{
display:block;
max-width:100%;
height:auto;
}

.p-blog-sidebar{
width:100%;
max-width:265px;
padding-top:83px;
}

.p-blog-sidebar-profile__thumb img{
display:block;
width:153px;
height:auto;
margin:0 auto;
}

.p-blog-sidebar-profile__name{
margin:12px 0 0;
font-size:14px;
font-weight:700;
line-height:1.6;
color:#222;
text-align:center;
}

.p-blog-sidebar-profile__text{
margin:10px 0 0;
font-size:12px;
font-weight:700;
line-height:1.9;
color:#222;
}

.p-blog-sidebar-search{
margin-top:28px;
}

.p-blog-sidebar-search .search-form{
display:flex;
align-items:stretch;
}

.p-blog-sidebar-search .search-field{
width:100%;
height:28px;
padding:0 8px;
border:1px solid #333;
background:#fff;
font-size:12px;
box-sizing:border-box;
}

.p-blog-sidebar-search .search-submit{
width:31px;
height:28px;
border:none;
background:#222;
color:#fff;
font-size:0;
cursor:pointer;
position:relative;
}

.p-blog-sidebar-search .search-submit::before{
content:"";
position:absolute;
top:50%;
left:50%;
width:8px;
height:8px;
border:1px solid #fff;
border-radius:50%;
transform:translate(-55%,-60%);
box-sizing:border-box;
}

.p-blog-sidebar-search .search-submit::after{
content:"";
position:absolute;
top:50%;
left:50%;
width:5px;
height:1px;
background:#fff;
transform:translate(2px,4px) rotate(45deg);
transform-origin:left center;
}

.p-blog-sidebar-block{
margin-top:32px;
}

.p-blog-sidebar-block__title{
margin:0;
padding-bottom:10px;
border-bottom:1px solid #444;
font-size:15px;
font-weight:700;
line-height:1.4;
color:#222;
}

.p-blog-sidebar-block__list{
margin:18px 0 0;
padding:0;
list-style:none;
}

.p-blog-sidebar-block__item{
margin-top:14px;
font-size:12px;
font-weight:700;
line-height:1.8;
}

.p-blog-sidebar-block__item:first-child{
margin-top:0;
}

.p-blog-sidebar-block__item a,
.p-blog-sidebar-block__list li a{
color:#222;
text-decoration:none;
}

.p-blog-sidebar-block__list li{
margin-top:12px;
font-size:12px;
font-weight:700;
line-height:1.8;
}

.p-blog-sidebar-block__list li:first-child{
margin-top:0;
}

.p-blog-sidebar-block__list .children{
margin-top:8px;
padding-left:16px;
}

@media screen and (max-width: 767px){
.p-blog-hero{
height:200px;
background-size:1500px auto;
background-position:center;
}

.p-blog-main{
padding:32px 20px 120px;
}

.p-blog-main__inner{
display:block;
}

.p-blog-main__content{
max-width:none;
margin-top:0;
}

.p-blog-article__date{
margin-top:12px;
font-size:13px;
}

.p-blog-article__thumb{
margin-top:16px;
}

.p-blog-article__title{
margin-top:24px;
padding:14px 14px 14px 16px;
font-size:18px;
}

.p-blog-article__body{
margin-top:28px;
font-size:14px;
line-height:2.1;
}

.p-blog-sidebar{
max-width:none;
padding-top:56px;
}

.p-blog-sidebar-profile__thumb img{
width:153px;
margin:0 auto;
}

.p-blog-sidebar-profile__text{
margin-top:12px;
}

.p-blog-sidebar-search{
margin-top:24px;
}

.p-blog-sidebar-block{
margin-top:28px;
}
}

.p-blog-head{
padding:60px 20px 40px;
text-align:center;
}

.p-blog-head__inner{
max-width:800px;
margin:0 auto;
}

.p-blog-head__sub{
position:relative;
display:inline-block;
padding:0 40px;
color:#222;
line-height:1;
}

.p-blog-head__sub span{
position:relative;
top:12px;
display:inline-block;
padding:0 10px;
font-size:16px;
}

.p-blog-head__sub{
position:relative;
display:inline-block;
padding:0 30px;
font-size:14px;
color:#222;
line-height:1;
}

.p-blog-head__sub span{
margin:0 10px;
}

.p-blog-head__sub::before,
.p-blog-head__sub::after{
content:"";
position:absolute;
top:50%;
width:24px;
height:6px;
background-image:radial-gradient(#333 1px, transparent 1px);
background-size:4px 4px;
background-repeat:repeat-x;
}

.p-blog-head__sub::before{
line-height:1.6;
left:0;
transform:translateY(-50%) rotate(242deg);
transform-origin:right center;
}

.p-blog-head__sub::after{
right:0;
transform:translateY(-50%) rotate(-242deg);
transform-origin:left center;
}

.p-blog-head__title{
margin:16px 0 32px;
font-size:42px;
font-weight:700;
letter-spacing:0.1em;
}

.p-blog-head__tabs{
display:flex;
justify-content:center;
gap:80px;
margin-top:40px;
}

.p-blog-head__tabs span{
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:160px;
padding-bottom:10px;
cursor:pointer;
color:#666;
}

.p-blog-head__tabs span.is-active{
color:#000;
}

.p-blog-head__tabs span::after{
content:"";
position:absolute;
left:50%;
bottom:0;
width:160px;
height:1px;
background:#cfcfcf;
transform:translateX(-50%);
}

.p-blog-head__tabs span.is-active::after{
height:3px;
background:#156b9c;
}

.p-blog-head__tabs span.is-active::before{
content:"";
position:absolute;
left:50%;
bottom:-7px;
transform:translateX(-50%);
border-left:7px solid transparent;
border-right:7px solid transparent;
border-top:7px solid #156b9c;
}

.p-blog-head__tabs span.is-active::before{
content:"";
position:absolute;
left:50%;
bottom:-6px;
transform:translateX(-50%);
border-left:6px solid transparent;
border-right:6px solid transparent;
border-top:6px solid #156b9c;
}

.p-blog-related{
margin-top:86px;
}

.p-blog-related__head{
display:flex;
align-items:center;
gap:26px;
}

.p-blog-related__title{
margin:0;
font-size:15px;
font-weight:400;
line-height:1;
color:#222;
white-space:nowrap;
}

.p-blog-related__head::after{
content:"";
display:block;
flex:1;
height:1px;
background:#a9a9a9;
}

.p-blog-related__items{
margin-top:26px;
border-bottom:1px solid #a9a9a9;
}

.p-blog-related__item + .p-blog-related__item{
border-top:1px solid #a9a9a9;
}

.p-blog-related__link{
display:block;
padding:46px 0 42px;
text-decoration:none;
color:#222;
}

.p-blog-related__date{
display:block;
margin-bottom:14px;
font-family:"Open Sans", sans-serif;
font-size:14px;
font-weight:400;
line-height:1;
color:#333;
}

.p-blog-related__itemTitle{
margin:0;
font-size:14px;
font-weight:400;
line-height:1.5;
color:#222;
}

.p-blog-postnav{
display:flex;
justify-content:space-between;
gap:40px;
margin-top:180px;
}

.p-blog-postnav__prev,
.p-blog-postnav__next{
width:280px;
}

.p-blog-postnav__next{
text-align:right;
}

.p-blog-postnav__link{
display:block;
text-decoration:none;
color:#222;
}

.p-blog-postnav__label{
display:block;
margin-bottom:14px;
font-family:"Open Sans", sans-serif;
font-size:12px;
font-weight:400;
line-height:1;
color:#b3b3b3;
}

.p-blog-postnav__text{
display:block;
font-size:14px;
font-weight:400;
line-height:1.45;
color:#222;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

@media screen and (max-width: 767px){
.p-blog-related{
margin-top:56px;
}

.p-blog-related__head{
gap:16px;
}

.p-blog-related__title{
font-size:14px;
}

.p-blog-related__link{
padding:28px 0 24px;
}

.p-blog-related__date{
margin-bottom:12px;
font-size:13px;
}

.p-blog-related__itemTitle{
font-size:14px;
line-height:1.5;
}

.p-blog-postnav{
display:block;
margin-top:72px;
}

.p-blog-postnav__prev,
.p-blog-postnav__next{
width:auto;
}

.p-blog-postnav__next{
margin-top:32px;
text-align:left;
}

.p-blog-postnav__text{
font-size:14px;
}
}

.js-blog-content{
display:none;
}

.js-blog-content.is-active{
display:block;
}

.p-blog-head__tabs span{
cursor:pointer;
}

.p-blog-head__tabs button{
position:relative;
background:none;
border:none;
padding:0 0 14px;
font-size:20px;
color:#8a8a8a;
cursor:pointer;
}

.p-blog-head__tabs button.is-active{
color:#222;
}


.p-blog-head__tabs button.is-active::after{
content:"";
position:absolute;
left:0;
bottom:-1px;
width:100%;
height:4px;
background:#156b9c;
}

.p-blog-head__tabs button.is-active::before{
content:"";
position:absolute;
left:50%;
transform:translateX(-50%);
bottom:-8px;
border-left:8px solid transparent;
border-right:8px solid transparent;
border-top:8px solid #156b9c;
}

.page-template-page-business-php .p-footer{
  margin-top: -340px;
}

@media screen and (max-width: 767px){
.p-blog-related{
margin-top:56px;
}

@media screen and (max-width: 767px){
.page-template-page-business-php .p-footer{
margin-top:-700px;
}
}

@media screen and (max-width: 767px){
.page-template-page-recruit-php .p-recruit-hero{
transform: translateY(-40px);
}
}
