@charset "utf-8";

:root{
  /* --page-main-inner: min(100% - var(--side-padding) * 2, 120rem); */
  --page-main-inner: var(--main-inner);
  --page-side-padding: var(--side-padding);
  --page-header-height: 10rem;
  --page-text-size: 1.5rem;
}
.l-contact-cta{
  margin-top: 16rem;
}
body .l-main--page{
  display: grid;
  grid-template-areas: 
    ". mv mv ."
    ". index contents .";
  grid-template-columns: calc(var(--side-margin) + var(--page-side-padding)) 29rem 1fr calc(var(--side-margin) + var(--page-side-padding));
  gap: 0;
  align-items: flex-start;
  margin: 0 auto;
  padding-top: calc(var(--page-header-height) + 3rem);
  position: relative;
}
body .l-main--fullwidth{
  grid-template-areas: 
    ". mv mv ."
    "contents contents contents contents";
}

.p-page__mv{
  grid-area: mv;
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: min-content;
  align-content: center;
  justify-content: flex-start;
  height: 37.5rem;
  padding-bottom: 5.1rem;
  position: static;
}
.p-page__mv::before{
  content: "";
  width: 100%;
  aspect-ratio: 2280 / 758;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -5;
  background-image:
    linear-gradient(to top, rgb(248 248 248 / 1.0) 0%, rgb(248 248 248 / 0) 100%),
    url(../images/common/pages-bg_pc.png); 
  background-repeat: no-repeat;
  background-position: center, bottom 0% left 50%;
  background-size: contain;
}
.p-page__title{
  margin-top: 0.5rem;
}
.p-page__title-en{
  padding-left: 0.3rem;
}
.p-page__title-parent{
  margin-top: 0.8rem;
}
.p-page__mv--child{
  padding-bottom: 8.3rem;
}
.p-page__mv--child .p-page__title,
.p-page__title--pnf{
  margin-top: 0.5rem;
  font-size: 5rem;
  line-height: 1.2;
  letter-spacing: 0.025em;
  font-weight: var(--font-weight-black);
}
.p-page__mv--child .p-page__title-sub{
  margin-top: 0.1rem;
  font-size: 2rem;
  font-weight: var(--font-weight-black);
  line-height: 1.3;
  letter-spacing: 0.025em;
}

.l-main--page .l-side-index{
  grid-area: index;
  margin-top: 1.5rem;
  margin-right: 7rem;
  position: sticky;
  top: calc(var(--page-header-height) + 8.6rem);
  left: 0;
  z-index: 5;
}
.l-side-index__list{
  margin-top: 2rem;
  counter-reset: side-index-list;
}
.l-side-index__item{
  color: #AEB7C4;
  font-size: 1.4rem;
  line-height: 1.571;
  letter-spacing: 0.05em;
  counter-increment: side-index-list;
}
.l-side-index__item.is-current{
  color: var(--color-text);
}
.l-side-index__item + .l-side-index__item{
  margin-top: 1.5rem;
}
.l-side-index__item a{
  display: inline-grid;
  grid-template-columns: auto 1fr;
  position: relative;
  color: currentColor;
}
.l-side-index__item a::before{
  content: counter(side-index-list, decimal-leading-zero)".";
  display: inline-block;
  padding-right: 0.5rem;
}

.l-contents{
  grid-area: contents;
  padding-top: 1.5rem;
}

body .p-page__inner--fullwidth{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 0 var(--page-side-padding);
}


@media screen and (max-width: 768px){
  :root{
    --page-main-inner: calc(100% - 6rem);
    --page-side-padding: 2.5rem;
    --page-header-height: 8.9rem;
  }
  .l-contact-cta{
    margin-top: 10rem;
  }
  body .l-main--page:not(.l-main--fullwidth){
    grid-template-areas: 
    ". mv ."
    ". contents .";
    grid-template-columns: var(--side-margin) var(--page-main-inner) var(--side-margin);
    padding-top: var(--page-header-height);
  }
  body .l-main--fullwidth{
    grid-template-columns: var(--side-margin) 1fr var(--side-margin);
    grid-template-areas: 
      ". mv ."
      "contents contents contents";
    padding-top: var(--page-header-height);
  }
  body .p-page__inner--fullwidth{
    
    width: 100%;
    padding-right: var(--side-margin);
    padding-left: var(--side-margin);
  }
  .p-page__mv{
    height: 21.3rem;
    padding-bottom: 0.9rem;
  }
  .p-page__mv::before{
    aspect-ratio: none;
    height: 30rem;
    background-image: linear-gradient(to top, rgb(248 248 248 / 1.0) 0%, rgb(248 248 248 / 0) 56.8%),
      url(../images/common/pages-bg_sp.png);
    background-size: cover;
  }
  .p-page__mv img{
    display: block;
    width: auto;
    height: 100%;
  }
  .p-page__mv--child{
    padding-bottom: 3.4rem;
  }
  .p-page__title-en{
    height: 1.2rem;
    padding-left: 0.2rem;
  }
  .p-page__title-parent{
    height: 1.8rem;
    margin-top: 0.5rem;
  }
  .p-page__title{
    height: 2.9rem;
    margin-top: 0.2rem;
  }
  .p-page__title-parent + .p-page__title{
    margin-top: 0.5rem;
  }
  .p-page__mv--child .p-page__title,
  .p-page__title--pnf{
    height: auto;
    font-size: 3rem;
    letter-spacing: 0.05em;
  }
  .p-page__mv--child .p-page__title-en{
    height: 1rem;
  }
  .p-page__mv--child .p-page__title-sub{
    font-size: 1.6rem;
    line-height: 1.625;
  }

  .l-main--page .l-side-index{
    display: none;
  }
  
}

/* 記事共通パーツ */
.l-contents h2{
  margin-top: 10rem;
  margin-bottom: 3.5rem;
  padding: 1.2rem 1rem;
  position: relative;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
}
.l-contents h2:first-child{
  margin-top: 0;
}
.l-contents h2::before,
.l-contents h2::after{
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  z-index: 0;
  background-image: var(--gradient-blue);
}
.l-contents h2::before{
  top: 0;
}
.l-contents h2::after{
  bottom: 0;
}
.l-contents h3{
  padding-bottom: 0.4rem;
  padding-left: 1rem;
  border-left: 0.5rem solid var(--color-gradient-deepblue);
  font-size: 1.8rem;
  line-height: 1.444;
  letter-spacing: 0.05em;
}

/* コンテンツのマージン設定 */
.l-contents :where(.entry-content) > :where(div, h3, p, ul, h4){
  margin-right: 1rem;
  margin-left: 1rem;
}
.l-contents :where(.entry-content, .p-page__inner--fullwidth) > :where(div, p, ul) + :where(div, p, ul),
.p-page__column-text p + p{
  margin-top: 3rem;
}
.l-contents :where(.entry-content, .p-page__inner--fullwidth) > :where(h3) + :where(p){
  margin-top: 1.5rem;
}
.l-contents :where(.entry-content, .p-page__inner--fullwidth) > :where(h3) + :where(div, ul){
  margin-top: 2rem;
}
.l-contents :where(.entry-content, .p-page__inner--fullwidth) > p,
.l-contents .p-page__column-text p {
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 2.133;
}
.l-contents :where(h2) + h3{
  margin-top: 3rem;
}
.l-contents :where(p, div) + h3{
  margin-top: 6rem;
}

/* 2列構成など */
.p-page__column-container--caption-fullwidth {
  flex-wrap: wrap;
}
.p-page__column-container{
  align-items: flex-end;
}
.p-page__column-caption,
.p-page__image-caption{
  margin-bottom: 1rem;
  padding-left: 1.8rem;
  position: relative;
  font-size: 1.4rem;
  line-height: 1.428;
  letter-spacing: 0.05em;
}
.p-page__column-caption::before,
.p-page__image-caption::before{
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  top: 0.7rem;
  left: 0;
  z-index: 0;
  background-color: #96B8E4;
  border-radius: 0.2rem;
}
.p-page__column-caption--fullwidth{
  flex-basis: 100%;
}
.p-page__column-caption--fullwidth + :where(div){
  margin-top: 0;
}
.p-page__column img{
    max-width: 100%;
    height: auto;
}
.p-page__column-container--paragraph{
  column-gap: 3rem;
}
.p-page__column:has( + .p-page__column-text){
  flex-shrink: 0;
  align-self: flex-start;
}
.p-page__column-text{
  flex-grow: 1;
  align-self: flex-start;
}
.p-page__column-text > p:first-of-type{
  margin-top: -0.5em;
}

.p-page__image img{
  max-width: 100%;
  height: auto;
}
.p-page__list{
  display: grid;
  grid-template-columns: 1fr;
  align-items: flex-start;
  row-gap: 0.5rem;
  margin-right: 0;
  margin-left: 0;
  font-size: var(--page-text-size);
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-page__list > li{
  display: grid;
  grid-template-columns: 1em 1fr;
  column-gap: 0.2rem;
  padding-left: 2rem;
}
.p-page__list.p-page__list--bgcolor > li{
  padding: 1.5rem 3rem 1.5rem 2.5rem;
  background-color: #E8ECF2;
}
.p-page__list > li::before{
  content: "\30FB";
}

.p-page__article-link-container{
  width: min(100%, 42rem);
}

/* テーブル表示 */
.p-page-table__container{
  margin-top: 4rem;
}
h3 + .p-page-table__container{
  margin-top: 2rem;
}
.p-page-table__caption{
  margin-bottom: 1rem;
  padding-left: 1.8rem;
  position: relative;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-page-table__caption::before{
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  top: 0.7rem;
  left: 0;
  z-index: 0;
  background-color: #96B8E4;
  border-radius: 0.2rem;
}
.p-page-table{
  background-color: var(--color-white);
  border: 2px solid #AEB7C4;
  border-radius: 0.2rem;
  overflow: hidden;
}
.p-page-table__row{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  border-top: 1px solid #C3D1E1;
}
.p-page-table__row--column2{
  grid-template-columns: 1fr 1fr;
}
.p-page-table__row--column3{
  grid-template-columns: repeat(3, 1fr);
}
.p-page-table__row--first{
  grid-template-rows: max-content 1fr;
  grid-auto-flow: column;
  border-top: none;
}
.p-page-table:has(.p-page-table__row:nth-of-type(2)) .p-page-table__description{
  height: 8rem;
}
.p-page-table__header,
.p-page-table__description{
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  border-left: 1px solid #C3D1E1;
}
.p-page-table__header--first,
.p-page-table__description--first{
  border-left: none;
}
.p-page-table__header{
  display: none;
  padding: 1.4rem 1.3rem;
  text-align: center;
  letter-spacing: 0.05em;
  background-color: #E8ECF2;
}

.p-page-table__header--target{
  background-color: #C3D1E1;
}
.p-page-table__row--first .p-page-table__header{
  display: flex;
}
.p-page-table__description{
  padding: 1.4rem;
  text-align: center;
  letter-spacing: 0.05em;
}
.p-page-table__description--target{
  background-color: #D2DEF0;
}
.p-page-table__result{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  margin-top: 0.5rem;
  color: var(--color-white);
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background-color: #2E6CCA;
  border-radius: 2px;
}
.p-page-table__result-title,
.p-page-table__result-description{
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--font-weight-medium);
}
.p-page-table__result-title{
  padding: 1.8rem;
}
.p-page-table__result-description{
  padding: 1.8rem;
  position: relative;
  z-index: 0;
}
.p-page-table__result-description::before{
  content: "";
  display: block;
  width: 0.1rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background-image: repeating-linear-gradient(to bottom, var(--color-white) 0, var(--color-white) 0.4rem, transparent 0.4rem, transparent 0.6rem );
  background-size: 100% 0.6rem;
}
@media screen and (max-width: 1080px){
  .p-page-table__row,
  .p-page-table:has(.p-page-table__row:nth-of-type(2)) .p-page-table__row--column2,
  .p-page-table:has(.p-page-table__row:nth-of-type(2)) .p-page-table__row--column3{
    grid-template-columns: 14rem 1fr;
    grid-auto-flow: row;
  }
  .p-page-table:not(:has(.p-page-table__row:nth-of-type(2))) .p-page-table__row--column2,
  .p-page-table:not(:has(.p-page-table__row:nth-of-type(2))) .p-page-table__row--column3{
    display: block;
  }
  .p-page-table__header{
    display: flex;
    border-left: none;
  }
  .p-page-table__row .p-page-table__header--first,
  .p-page-table__row--first .p-page-table__header--first{
    display: none;
  }
  .p-page-table__description--first,
  .p-page-table__row--first .p-page-table__description--first{
    grid-column: 1 / span 2;
  }
  .p-page-table__header,
  .p-page-table__description{
    word-break: keep-all;
    overflow-wrap: anywhere;
    border-top: 1px solid #C3D1E1;
  }
  .p-page-table__description{
    padding-right: 2.5rem;
    padding-left: 2.4rem;
    border-left: 1px solid #C3D1E1;
  }
  .p-page-table:has(.p-page-table__row:nth-of-type(2)) .p-page-table__description--first{
    height: auto;
  }
  .p-page-table__description--first{
    border-top: none;
    border-left: none;
  }
  .p-page-table:not(:has(.p-page-table__row:nth-of-type(2))) .p-page-table__description{
    border-left: none;
  }
  .p-page-table__result{
    display: block;
  }
  .p-page-table__result-description::before{
    content: "";
    display: block;
    width: 100%;
    height: 0.1rem;
    background-image: repeating-linear-gradient(to right, var(--color-white) 0, var(--color-white) 0.4rem, transparent 0.4rem, transparent 0.6rem );
    background-size: 0.6rem 100%;
  }
}
@media screen and (max-width: 768px){
  .l-contents h2{
    margin-top: 8rem;
    margin-bottom: 2.6rem;
    font-size: 1.8rem;
  }
  .l-contents :where(.entry-content, .p-page__inner--fullwidth) > :where(div, h3, p, ul, h4){
    margin-right: 0;
    margin-left: 0;
  }
  .p-page__column-container{
    flex-direction: column;
    align-items: center;
  }
  .p-page__column-container--paragraph{
    row-gap: 3rem;
  }
  .p-page__column-container .p-page__column:has( > img){
    align-self: center;
  }
  .p-page__column + .p-page__column:has(.p-page__column-caption){
    margin-top: 1rem;
  }
  .p-page__column img{
    width: 100%;
  }

  .p-page__list > li{
    padding-left: 1rem;
  }

}

/*********************************************
    製品情報 
 *********************************************/
.p-product__overview{
  width: var(--page-main-inner);
  margin-right: auto;
  margin-bottom: 14rem;
  margin-left: auto;
  text-align: center;
}
.p-product__overview > p{
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
}
.p-product__inner{
  width: var(--page-main-inner);
  margin-right: auto;
  margin-left: auto;
}
.p-product__inner .p-product__heading{
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  text-align: center;
}
.p-product__inner .p-product__heading::before,
.p-product__inner .p-product__heading::after{
  display: none;
}
.p-product-detail__contents{
  margin-bottom: 20rem;
}
.p-product-detail__item{
  padding: 8rem var(--page-side-padding);
  border-bottom: 1px solid #AEB7C4;
}
.p-product-detail__item-inner{
  align-items: flex-start;
  justify-content: space-between;
  column-gap: 0;
  padding: 0 2rem;
  margin: 0;
}
.p-product__inner .p-product-detail__body{
  margin-right: 5.5rem;
}
.p-product__inner .p-product-detail__title{
  margin-bottom: 3.6rem;
  padding-left: 2rem;
  font-size: 2.6rem;
  font-weight: var(--font-weight-bold);
  border-left-width: 0.7rem;
}
.p-product-detail__paragraph{
  padding-left: 3.2rem;
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
}

.p-product-service__item{
  padding: 8rem var(--page-side-padding);
}
.p-product-service__item-inner{
  column-gap: 0;
  padding: 0 2rem;
  margin: 0;
  position: relative;
  z-index: 0;
}
.p-product-service__item-inner::after{
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  bottom: -8rem;
  left: 0;
  z-index: 0;
}
.p-product-service .p-product-service__body{
  flex-basis: 50.5rem;
  align-self: flex-start;
  margin-right: auto;
  padding-left: 3.5rem;
  position: relative;
}
.p-product-service .p-product-service__title{
  margin-bottom: 3.6rem;
  padding: 0;
  border-left: none;
}
.p-product-service .p-product-service__title::before{
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.6rem;
  position: absolute;
  top: 0.7rem;
  left: 0;
  z-index: 0;
  background: url(../images/common/box-chevron_dpbl.svg) no-repeat center / contain;
}
.p-product-service .p-product-service__title::after{
  display: none;
}
.p-product-service__body > p{
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
}

a.p-product-service__link{
  align-self: flex-end;
  flex-shrink: 0;
  display: inline-block;
  margin-right: 6rem;
  font-size: 1.6rem;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.1em;
}
.p-product-service__link::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.p-product-service__link-inner{
  display: inline-flex;
  column-gap: 1.5rem;
  align-items: center;
  padding: 1rem 0.5rem;
  position: relative;
}
.p-product-service__link-inner::after{
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 1rem;
  position: relative;
  top: 0.1rem;
  background: url(../images/common/chevron-m_bk.svg) no-repeat center / contain;
}
.p-product-service__img{
  border-radius: 0.2rem;
  overflow: hidden;
}
.p-product .p-product-link{
  display: grid;
  grid-template-columns: [left] 1fr [right] 1fr;
  grid-auto-rows: 20rem;
  gap: 0.1rem;
  width: 100%;
  margin: 0;
  background-color: #AEB7C4;
  border-top: 0.1rem solid #AEB7C4;
  border-bottom: 0.1rem solid #AEB7C4;
}
.p-product-link__item--full-width{
  grid-column: left / span 2;
}

@media (hover: hover){
  .p-product-service__link-inner::before{
    content: "";
    display: block;
    width: 100%;
    height: 0.2rem;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    background: var(--gradient-blue) no-repeat left / cover;
    scale: 0 1;
    opacity: 0;
    transition: scale 200ms ease 0s,
    opacity 200ms ease 0s;
    transform-origin: left center;
  }
  .p-product-service__item-inner:hover .p-product-service__link-inner::before{
    opacity: 1;
    scale: 1 1;
  }
  .p-product-service__img > img{
    display: inline-block;
    scale: 1;
    transition: scale 200ms ease 0s;
  }
  .p-product-service__item-inner:hover .p-product-service__img > img{
    scale: 1.14;
  }
}
@media screen and (max-width: 1200px){
  .p-product__overview{
    text-align: left;
  }
  .p-product__overview > p{
    line-height: 2;
  }
  .p-product__heading{
    height: 3.2rem;
  }
  .p-product__heading > img{
    width: auto;
    height: 100%;
  }
  .p-product-detail__contents{
    margin-bottom: 10rem;
  }
  .p-product-detail__item-inner{
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: 2rem;
    padding-right: 0;
    padding-left: 0;
  }
  .p-product-detail__img{
    align-self: flex-end;
  }
  .p-product-service__item-inner{
    flex-direction: column;
  }
  .p-product-service .p-product-service__body{
    flex-basis: auto;
  }
  a.p-product-service__link{
    margin-right: 0;
    margin-left: auto;
  }
  div.p-product-service__img{
    margin-left: auto;
  }
  .p-product .p-product-link{
    grid-template-columns: 1fr;
  }
  .p-product-link__item--full-width{
    grid-column: 1;
  }
}
@media screen and (max-width: 768px){
  .p-product__overview{
    margin-bottom: 10rem;
  }
  .p-product-detail__item{
    padding: 6rem 0 6.5rem;
  }
  .p-product-detail__contents .p-product-detail__item:first-of-type{
    padding-top: 3.4rem;
  }

  .p-product__inner .p-product-detail__body{
    margin-right: 0;
  }
  .p-product__inner .p-product-detail__title{
    margin-bottom: 3rem;
    font-size: 2.4rem;
  }
  .p-product-detail__paragraph{
    padding-left: 0;
    line-height: 2;
  }
  .p-product-detail__img{
    width: 100%;
  }
  .p-product-detail__img > img{
    width: 100%;
    height: auto;
  }

  .p-product-service .p-product__heading{
    margin-bottom: 6rem;
  }
  .p-product-service__item{
    margin-bottom: 8rem;
    padding: 0;
  }
  .p-product-service__item-inner{
    column-gap: 2rem;
    padding: 0;
  }
  .p-product-service .p-product-service__body{
    margin-bottom: 2rem;
    padding-left: 0;
  }
  .p-product-service .p-product-service__title{
    padding-left: 3.5rem;
  }
  div.p-product-service__img{
    width: 100%;
  }
  .p-product-service__img img{
    width: 100%;
    height: auto;
  }
  .p-product .p-product-link{
    grid-auto-rows: 12.8rem;
  }
}

/*********************************************
    アイテックスの空調方式 
 *********************************************/
.p-unique-method-overview{
  width: var(--page-main-inner);
  margin: 0 auto 6rem;
  font-size: var(--page-text-size);
  text-align: center;
  line-height: 2.133;
}
.p-unique-method-contents{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding-bottom: 4rem;
}
.p-unique-method-contents__item{
  padding: 8rem var(--page-side-padding);
}
.p-unique-method-contents__item-inner{
  column-gap: 0;
  padding: 0 2rem;
  margin: 0;
  position: relative;
  z-index: 0;
}
.p-unique-method-contents__item-inner::after{
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  bottom: -8rem;
  left: 0;
  z-index: 0;
  border-bottom: 1px solid #AEB7C4;
}
hgroup.p-unique-method-contents__title-container{
  margin-right: auto;
  padding-left: 4.4rem;
  position: relative;
}
.p-unique-method-contents__title-container::before{
  content: "";
  display: block;
  width: 1.9rem;
  height: 2.2rem;
  position: absolute;
  top: 1rem;
  left: 0;
  z-index: 0;
  background: url(../images/common/box-chevron_dpbl.svg) no-repeat center / contain;
}
.p-unique-method-contents .p-unique-method-contents__title-ja{
  margin-bottom: 1.2rem;
  padding: 0 0 0 0.5rem;
}
.p-unique-method-contents .p-unique-method-contents__title-ja::before,
.p-unique-method-contents .p-unique-method-contents__title-ja::after{
  display: none;
}

a.p-unique-method-contents__link{
  display: inline-block;
  margin-right: 5.5rem;
  font-size: 1.6rem;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.1em;
}
.p-unique-method-contents__link::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.p-unique-method-contents__link-inner{
  display: inline-flex;
  column-gap: 1.5rem;
  align-items: center;
  padding: 1rem 0.5rem;
  position: relative;
}
.p-unique-method-contents__link-inner::after{
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 1rem;
  position: relative;
  top: 0.1rem;
  background: url(../images/common/chevron-m_bk.svg) no-repeat center / contain;
}
.p-unique-method-contents__img{
  border-radius: 0.2rem;
  overflow: hidden;
}
@media (hover: hover){
  .p-unique-method-contents__link-inner::before{
    content: "";
    display: block;
    width: 100%;
    height: 0.2rem;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    background: var(--gradient-blue) no-repeat left / cover;
    scale: 0 1;
    opacity: 0;
    transition: scale 200ms ease 0s,
    opacity 200ms ease 0s;
    transform-origin: left center;
  }
  .p-unique-method-contents__item-inner:hover .p-unique-method-contents__link-inner::before{
    opacity: 1;
    scale: 1 1;
  }
  .p-unique-method-contents__img > picture{
    display: inline-block;
    scale: 1;
    transition: scale 200ms ease 0s;
  }
  .p-unique-method-contents__item-inner:hover .p-unique-method-contents__img > picture{
    scale: 1.14;
  }
}
@media screen and (max-width: 1200px){
  .p-unique-method-contents__item-inner{
    flex-direction: column;
  }
  a.p-unique-method-contents__link{
    margin-right: 0;
    margin-left: auto;
  }
  div.p-unique-method-contents__img{
    margin-left: auto;
  }
}
@media screen and (max-width: 768px){
  .p-unique-method-contents{
    padding-bottom: 0;
  }
  .p-unique-method-overview{
    margin-bottom: 4rem;
    text-align: left;
  }
  .p-unique-method-contents__item{
    padding: 6.5rem 0 6rem;
  }
  .p-unique-method-contents__item-inner{
    row-gap: 0;
    padding-right: 0;
    padding-left: 0;
  }
  .p-unique-method-contents__item-inner::after{
    bottom: -6rem;
  }
  hgroup.p-unique-method-contents__title-container{
    margin-bottom: 3rem;
    padding-left: 3.5rem;
  }
  .p-unique-method-contents .p-unique-method-contents__title-ja{
    height: 2.4rem;
    margin-bottom: 0.8rem;
    padding-left: 0;
  }
  .p-unique-method-contents__title-en{
    height: 1.2rem;
  }
  .p-unique-method-contents__item--csc .p-unique-method-contents__title-en{
    height: 1.5rem;
  }
  .p-unique-method-contents__title-container::before{
    width: 1.5rem;
    height: 1.6rem;
    top: 0.4rem;
  }
  .p-unique-method-contents__title-ja img,
  .p-unique-method-contents__title-en img{
    display: block;
    height: 100%;
    width: auto;
  }
  a.p-unique-method-contents__link{
    margin-bottom: 1rem;
  }
  div.p-unique-method-contents__img{
    width: 100%;
    margin-left: 0;
  }
  .p-unique-method-contents__img picture,
  .p-unique-method-contents__img img{
    width: 100%;
    height: auto;
  }
}

/*********************************************
    DPC方式空調機の特徴
 *********************************************/
.p-dpc__point-block{
  row-gap: 0;
  padding: 2rem 3rem 3rem;
}
.p-dpc__point-block h4{
  margin-bottom: 1.6rem;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: var(--font-weight-bold);
}
.p-dpc__point-block p{
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px){
  .p-dpc__point-block{
    padding: 3rem var(--side-padding);
  }
  .p-dpc__point-block p{
    line-height: 1.866;
  }
}

/*********************************************
    CSC方式空調機の特徴
 *********************************************/
.p-csc__baloon{
  margin-top: 4rem;
  padding: 2rem 3rem 2rem 2.5rem;
  position: relative;
}
.p-csc__baloon::before{
  content: "";
  display: block;
  width: 2.7rem;
  height: 2.5rem;
  position: absolute;
  bottom: 100%;
  left: 3rem;
  z-index: 5;
  background-color: #E8ECF2;
  mask-image: url(./mask-image/baloon-top.svg);
}
.p-csc__baloon-list{
  font-size: 1.4rem;
  line-height: 1.571;
  letter-spacing: 0.05em;
}
.p-csc__baloon-list li{
  display: grid;
  grid-template-columns: 1em 1fr;
  column-gap: 0.3rem;
}
.p-csc__baloon-list li::before{
  content: "\30FB";
  display: block;
  font-size: inherit;
}
.p-csc__baloon-list li + li{
  margin-top: 0.8rem;
}
@media screen and (max-width: 768px){
  .p-csc__baloon{
    padding: 2rem var(--side-padding);
  }
}


/*********************************************
    恒温恒湿室 
 *********************************************/
.p-thr-slider{
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 3rem;
  padding-right: 1rem;
}
.p-thr-slider__main{
  --this-index: 0;
  width: 100%;
  overflow: hidden;
}
.p-thr-slider__main-track{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 1fr;
  width: 500%;
  transform: translate3d(0, 0, 0);
  translate: calc(var(--this-index) * -20%) 0;
}
.p-thr-slider__main-slide{
  backface-visibility: hidden;
}
.p-thr-slider__main-slide img{
  width: 100%;
  height: auto;
}
.p-thr-slider__thumb{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.p-thr-slider__thumb-track{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  height: 100%;
}
.p-thr-slider__thumb-slide{
  opacity: 0.4;
}
.p-thr-slider__thumb-slide.is-current,
.p-thr-slider__thumb-slide:focus{
  opacity: 1;
  outline: 2px solid var(--color-gradient-deepblue);
  outline-offset: 0.8rem;
}
@media screen and (max-width: 1080px){
  .p-thr-slider{
    grid-template-columns: 1fr;
    padding-right: 0;
  }
  .p-thr-slider__thumb {
    width: 100%;
    margin-top: 1rem;
    padding: 1rem;
    overflow-x: auto;
  }
  .p-thr-slider__thumb-track{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    width: max-content;
  }
}

/*********************************************
    オプションサービス /option/
 *********************************************/
.p-option__inner{
  width: var(--page-main-inner);
  margin-right: auto;
  margin-left: auto;
}
.p-option-lineup__item{
  padding: 8rem var(--page-side-padding);
}
.p-option-lineup__item-inner{
  column-gap: 0;
  padding: 0 2rem;
  margin: 0;
  position: relative;
  z-index: 0;
}
.p-option-lineup__item-inner::after{
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  bottom: -8rem;
  left: 0;
  z-index: 0;
  border-bottom: 1px solid #AEB7C4;
}
.p-option-lineup .p-option-lineup__body{
  flex-basis: 54rem;
  align-self: flex-start;
  margin-right: auto;
  padding-left: 3.5rem;
  position: relative;
}
.p-option-lineup .p-option-lineup__title{
  margin-bottom: 3.6rem;
  padding: 0;
  border-left: none;
}
.p-option-lineup .p-option-lineup__title::before{
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.6rem;
  position: absolute;
  top: 0.7rem;
  left: 0;
  z-index: 0;
  background: url(../images/common/box-chevron_dpbl.svg) no-repeat center / contain;
}
.p-option-lineup .p-option-lineup__title::after{
  display: none;
}
.p-option-lineup__body > p{
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
}

a.p-option-lineup__link{
  align-self: flex-end;
  flex-shrink: 0;
  display: inline-block;
  margin-right: 6rem;
  font-size: 1.6rem;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.1em;
}
.p-option-lineup__link::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.p-option-lineup__link-inner{
  display: inline-flex;
  column-gap: 1.5rem;
  align-items: center;
  padding: 1rem 0.5rem;
  position: relative;
}
.p-option-lineup__link-inner::after{
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 1rem;
  position: relative;
  top: 0.1rem;
  background: url(../images/common/chevron-m_bk.svg) no-repeat center / contain;
}
.p-option-lineup__img{
  border-radius: 0.2rem;
  overflow: hidden;
}

@media (hover: hover){
  .p-option-lineup__link-inner::before{
    content: "";
    display: block;
    width: 100%;
    height: 0.2rem;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    background: var(--gradient-blue) no-repeat left / cover;
    scale: 0 1;
    opacity: 0;
    transition: scale 200ms ease 0s,
    opacity 200ms ease 0s;
    transform-origin: left center;
  }
  .p-option-lineup__item-inner:hover .p-option-lineup__link-inner::before{
    opacity: 1;
    scale: 1 1;
  }
  .p-option-lineup__img > img{
    display: inline-block;
    scale: 1;
    transition: scale 200ms ease 0s;
  }
  .p-option-lineup__item-inner:hover .p-option-lineup__img > img{
    scale: 1.14;
  }
}
@media screen and (max-width: 1200px){
  .p-option-lineup__item-inner{
    flex-direction: column;
  }
  .p-option-lineup .p-option-lineup__body{
    flex-basis: auto;
  }
  a.p-option-lineup__link{
    margin-right: 0;
    margin-left: auto;
  }
  div.p-option-lineup__img{
    margin-left: auto;
  }
}
@media screen and (max-width: 768px){
  .p-option-lineup .p-option__heading{
    margin-bottom: 6rem;
  }
  .p-option-lineup__item{
    margin-bottom: 6.5rem;
    padding: 0;
  }
    .p-option-lineup__item + .p-option-lineup__item{
    padding-top: 6rem;
  }
  .p-option-lineup__item-inner{
    column-gap: 2rem;
    padding: 0;
  }
  .p-option-lineup__item-inner::after{
    bottom: -6.5rem;
  }
  .p-option-lineup .p-option-lineup__body{
    margin-bottom: 2rem;
    padding-left: 0;
  }
  .p-option-lineup .p-option-lineup__title{
    margin-bottom: 2.6rem;
    padding-left: 3.5rem;
  }
  .p-option-lineup .p-option-lineup__title::before{
    top: 0.6rem;
  }
  div.p-option-lineup__img{
    width: 100%;
  }
  .p-option-lineup__img img{
    width: 100%;
    height: auto;
  }
}

/*********************************************
    保守・メンテナンス・修理・改造  /maintenance/ 
 *********************************************/
.p-maintenance-contents{
  width: var(--page-main-inner);
  margin: 0 auto 16rem;
  padding: 0 var(--side-padding);
}
.p-maintenance-contents .p-maintenance-contents__item{
  display: grid;
  grid-template-columns: 1.166fr 1fr;
  column-gap: 8rem;
  align-items: flex-start;
}
.p-maintenance-contents__item + .p-maintenance-contents__item{
  margin-top: 14rem;
}
.p-maintenance-contents .p-maintenance-contents__title{
  margin-bottom: 5.4rem;
  padding: 0;
}
.p-maintenance-contents .p-maintenance-contents__title::before,
.p-maintenance-contents .p-maintenance-contents__title::after{
  display: none;
}
.p-maintenance-contents__body p{
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 2.133;
}
.p-maintenance-contents .p-maintenance-contents__item:nth-of-type(even){
  grid-template-columns: 1fr 1.166fr;
}
.p-maintenance-contents .p-maintenance-contents__item:nth-of-type(even) .p-maintenance-contents__img{
  order: -1;
}
.p-maintenance-contents__img img{
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1200px){
  .p-maintenance-contents__item{
    row-gap: 3.2rem;
  }
  .p-maintenance-contents .p-maintenance-contents__item:nth-of-type(n){
    grid-template-columns: 1fr;
  }
  .p-maintenance-contents .p-maintenance-contents__item:nth-of-type(even) .p-maintenance-contents__img{
    order: initial;
  }
  .p-maintenance-contents__img{
    width: 50%;
    justify-self: flex-end;
  }

}
@media screen and (max-width: 768px){
  .p-maintenance-contents{
    margin-bottom: 8rem;
    padding-right: 0;
    padding-left: 0;
  }

  .p-maintenance-contents__item + .p-maintenance-contents__item {
    margin-top: 10rem;
  }
  .p-maintenance-contents .p-maintenance-contents__item:nth-of-type(n){
    grid-template-columns: 1fr;
  }
  .p-maintenance-contents .p-maintenance-contents__title{
    height: 3.3rem;
    margin-bottom: 2.2rem;
  }
  .p-maintenance-contents__title img {
    width: auto;
    height: 100%;
  }
  .p-maintenance-contents__img{
    width: 100%;
    justify-self: center;
  }

  .p-maintenance .c-banner-link__container--third-party img{
    aspect-ratio: 203 / 60;
    width: auto;
    height: 6rem;
  }
}

/*********************************************
    省エネ  /energy-saving/ 
 *********************************************/
.p-energy-overview__lineup{
  display: flex;
  flex-wrap: wrap;
  column-gap: 4rem;
  row-gap: 6rem;
  container: energyLineup / inline-size;
}

.p-energy-overview__lineup-item{
  flex-basis: calc(51.358% - 2rem);
  position: relative;
}
.p-energy-overview__lineup-item + .p-energy-overview__lineup-item{
  flex-basis: calc(48.641% - 2rem);
}
.p-energy-overview__lineup-item + .p-energy-overview__lineup-item::before{
  content: "";
  display: block;
  width: 0;
  height: calc(100% + 1rem);
  position: absolute;
  top: -0.5rem;
  left: -2rem;
  z-index: 0;
  border-left: 1px solid #AEB7C4;
}
.p-energy-overview__lineup-item img{
  width: 100%;
  height: auto;
}
.p-energy-overview__lineup-title{
  margin-top: 1.5rem;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: 0.05em;
}
.p-energy-overview__lineup-spec{
  margin-top: 0.5rem;
  font-size: var(--page-text-size);
  text-align: center;
  letter-spacing: 0.05em;
}
.p-energy-afterwords__word{
  display: flex;
  column-gap: 1.5rem;
  width: 100%;
  margin: 1rem 0 0;
  padding: 1.8rem 2.8rem 1.5rem;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  background-color: var(--color-white);
  border: 2px solid #C3D1E1;
}
.p-energy-afterwords__word::before{
  flex-shrink: 0;
  align-self: flex-start;
  content: "";
  display: block;
  width: 1.9rem;
  height: 1.9rem;
  position: relative;
  top: 0.3rem;
  z-index: 0;
  background: url(../images/common/icon-search.png) no-repeat top center / contain;
}
@container energyLineup (max-width: 540px){
  .p-energy-overview__lineup-item,
  .p-energy-overview__lineup-item + .p-energy-overview__lineup-item{
    flex-basis: 100%;
  }
  .p-energy-overview__lineup-item + .p-energy-overview__lineup-item::before{
    width: 100%;
    height: 0;
    top: -3rem;
    left: 0;
    border-top: 1px solid #AEB7C4;
    border-left: none;
  }
}
@media screen and (max-width: 768px){
  .p-energy-afterwords__word{
    padding: 1.8rem 2.3rem 1.6rem;
    line-height: 1.466;
  }
  .p-energy-afterwords__word::before{
    top: 0.2rem;
  }
}

/*********************************************
    ショールーム 
 *********************************************/
body.p-showroom{
  --page-inner: min(var(--page-main-inner), 88rem);
  --showroom-side-padding:  min(12%, 12.5rem);
}

.p-showroom .p-showroom-mv__copy,
.p-showroom .p-showroom__heading{
  margin-bottom: 0;
  padding: 0;
  font-size: 1.6rem;
}
.p-showroom .p-showroom-mv__copy::before,
.p-showroom .p-showroom-mv__copy::after,
.p-showroom .p-showroom__heading::before,
.p-showroom .p-showroom__heading::after{
  display: none;
}
body .p-showroom-mv{
  display: grid;
  grid-template-columns: 36rem 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 6rem;
}
body .p-showroom-mv__copy{
  grid-column: 1 / span 2;
  grid-row: 1;
  align-self: flex-start;
  position: relative;
  z-index: 5;
}
.p-showroom-mv__img{
  grid-column: 2;
  grid-row: 1 / span 2;
  margin-top: 2.5rem;
}
.p-showroom-mv__img img{
  width: 100%;
  height: auto;
}
.p-showroom-mv__paragraph{
  align-self: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  font-size: 1.5rem;
  line-height: 2.133;
  letter-spacing: 0.05em;
}

.p-showroom .p-showroom__heading{
  margin-top: 14rem;
  text-align: center;
}
.p-showroom-lineup{
  display: grid;
  grid-template-columns: 1.77fr 1fr;
  grid-template-rows: auto 1fr;
  grid-template-areas: 
    "heading image"
    "list image";
  column-gap: 4rem;
  row-gap: 4rem;
  margin-top: 0;
  padding: 8rem var(--showroom-side-padding);
  border-bottom: 1px solid #AEB7C4;
}
.p-showroom-lineup__img{
  grid-area: image;
}
body .p-showroom-lineup__heading{
  grid-area: heading;
  margin-left: 0;
  padding-left: 2rem;
  font-size: 2.6rem;
  line-height: 1.5;
  font-weight: var(--font-weight-bold);
  border-left-width: 0.7rem;
}
.p-showroom-lineup__list{
  display: grid;
  grid-template-columns: [term] 10.5rem [desc] 1fr;
  grid-auto-rows: max-content;
  column-gap: 1.4rem;
  row-gap: 1.5rem;
  padding-left: 3.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-showroom-lineup__term{
  grid-column: term;
  font-weight: var(--font-weight-medium);
}
.p-showroom-lineup__description{
  grid-column: desc;
  padding-left: 1em;
}
.p-showroom-afterword{
  margin-top: 0;
  padding: 8rem var(--showroom-side-padding) 14rem;
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
}
.p-showroom-afterword p + p{
  margin-top: 3rem;
}

@media screen and (max-width: 1200px){
  body.p-showroom{
    --showroom-side-padding: 4%;
  }
  .p-showroom-mv__img{
    grid-row: 2;
    align-self: flex-start;
  }

  .p-showroom-lineup__img img{
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 768px){
  body.p-showroom{
    --page-inner: 100%;
    --showroom-side-padding: 0;
  }
  body .p-showroom-mv{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr;
    column-gap: 0;
  }
  .p-showroom .p-showroom-mv__copy{
    grid-column: 1;
    grid-row: 1;
    align-self: flex-start;
    width: min(100%, 36rem);
    padding-right: var(--page-side-padding);
  }
  .p-showroom-mv__copy img{
    width: 100%;
    height: auto;
  }
  .p-showroom-mv__img{
    grid-column: 1;
    grid-row: 2;
    margin-top: -2rem;
    padding-left: var(--page-side-padding);
  }
  .p-showroom-mv__paragraph{
    align-self: flex-start;
    margin-top: 5rem;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 2;
  }

  .p-showroom .p-showroom__heading{
    height: 3.5rem;
    margin-top: 10rem;
  }
  .p-showroom__heading img{
    width: auto;
    height: 100%;
  }
  .p-showroom-lineup{
    grid-template-columns: 1fr;
    grid-template-rows: max-content auto 1fr;
    grid-template-areas: 
      "heading"
      "list"
      "image";
    row-gap: 0;
    padding: 6rem 0;
  }
  .p-showroom-lineup__img{
    margin-top: 1.6rem;
  }
  body .p-showroom-lineup__heading{
    margin-bottom: 3rem;
    font-size: 2.4rem;
    line-height: 1.25;
  }
  .p-showroom-lineup__list{
    grid-template-columns: [term] auto [desc] 1fr;
    grid-auto-rows: max-content;
    column-gap: 0.4rem;
    row-gap: 0.6rem;
    padding-left: 0;
    line-height: 1.875;
  }
  .p-showroom-afterword{
    padding-top: 6rem;
    padding-bottom: 8rem;
  }
}

/*********************************************
    レンタル /rental/
 *********************************************/
body .p-rental-cta{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
  column-gap: 5rem;
  row-gap: 3rem;
  margin-right: 2rem;
  margin-left: 2rem;
}
.p-rental-cta__mail-title{
  display: block;
  margin-bottom: 2.5rem;
  text-align: center;
}
.p-rental-cta__mail-link-container{
  width: 100%;
}
.p-rental-cta__mail-link{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 10rem;
  padding-right: var(--page-side-padding);
  padding-left: var(--page-side-padding);
  position: relative;
  color: var(--color-white);
  text-align: center;
  line-height: 1.5;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
  background-image: var(--gradient-blue);
  border-radius: 0.2rem;
}
.p-rental-cta__mail-link::before,
.p-rental-cta__mail-link::after{
  content: "";
  display: block;
  position: absolute;
}
.p-rental-cta__mail-link::before{
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: 2px solid var(--color-gradient-deepblue);
  z-index: -5;
  border-radius: 0.2rem;
  background-image: var(--gradient-blue);
  scale: 1;
  transition: scale 300ms ease-out 0s;
}
.p-rental-cta__mail-link:hover{
  background-image: none;
  color: var(--color-gradient-deepblue);
}
.p-rental-cta__mail-link:hover::before{
  scale: 1.117 1.4;
  background-image: none;
}
.p-rental-cta__mail-link::after{
  width: 0.5em;
  height: 1rem;
  top: calc(50% - 0.4rem);
  right: 2.3rem;
  z-index: 0;
  background: url(../images/common/chevron-s_w.svg) no-repeat center / contain;
}
.p-rental-cta__mail-link:hover::after{
  background-image: url(../images/common/chevron-s_bl.svg);
}
.p-rental-cta__mail-inner{
  white-space: pre-wrap;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.p-rental-cta__box--tel{
  padding: 3rem 4rem;
  text-align: center;
  background-color: var(--color-white);
  box-shadow: 0px 5px 15px rgb(0 0 0 / 0.15);
}
.p-rental-cta__tel-title{
  display: block;
  margin-bottom: 1.5rem;
  text-align: center;
}
.p-rental-cta__tel-number{
  display: inline-block;
  max-width: 30rem;
}
.p-rental-cta__tel-number img{
  max-width: 100%;
  height: auto;
}
.p-rental-cta__tel-reception{
  margin-top: 1rem;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.05em;
}

body .p-rental-price{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
  gap: 1px;
  background-color: #C3D1E1;
  border: 2px solid #AEB7C4;
  border-radius: 0.2rem;
  overflow: hidden;
}
.p-rental-price__box{
  letter-spacing: 0.05em;
  background-color: var(--color-white);
}
.p-rental-price__term{
  padding: 1rem 1.3rem;
  font-size: 1.6rem;
  text-align: center;
  font-weight: var(--font-weight-medium);
  background-color: #E8ECF2;
}
.p-rental-price__description{
  padding: 2.5rem 1.3rem;
  font-size: 1.6rem;
  text-align: center;
}

@media screen and (max-width: 768px){
  body .p-rental-cta{
    grid-template-columns: 1fr;
    row-gap: 2rem;
    margin-right: 0;
    margin-left: 0;
  }
  .p-rental-cta img,
  .p-rental-cta picture{
    display: block;
    width: 100%;
    height: auto;
  }
  .p-rental-cta__mail-link{
    height: 8.8rem;
  }
  .p-rental-cta__mail-link:hover::before{
    scale: 1;
  }
  .p-rental-cta__mail-link::after{
    width: 0.8rem;
    height: 1.4rem;
    top: calc(50% - 0.7rem);
  }
  .p-rental-cta__box--tel{
    padding: 3rem var(--page-side-padding);
  }
  .p-rental-cta__tel-title{
    width: 14.5rem;
    margin: 0 auto 1.2rem;
  }
  .p-rental-cta__tel-number{
    display: block;
    width: min(100%, 25.7rem);
    margin: 0 auto;
  }
  .p-rental-cta__tel-reception{
    margin-top: 1rem;
  }

  .p-rental-price__term{
    padding: 1.3rem var(--page-side-padding);
  }
  .p-rental-price__description{
    padding: 2.5rem var(--page-side-padding);
  }
}

/*********************************************
    納入実績 /performance/
 *********************************************/
.p-performance-list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  gap: 2.5rem 3rem;
  padding-top: 3rem;
  border-top: 1px solid #AEB7C4;
}
.p-performance-list--example{
  padding-top: 0;
  border-top: none;
}

.p-performance-list__item--example{
  color: #AEB7C4;
}
.p-performance-list .p-performance-list__name{
  padding-left: 1.6rem;
  position: relative;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  border-left: none;
}
.p-performance-list .p-performance-list__name::before{
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  position: absolute;
  top: 1.1rem;
  left: 0;
  background-color: var(--color-gradient-deepblue);
}
.p-performance-list .p-performance-list__name--example::before{
  background-color: currentColor;
}

.p-performance-list__detail{
  padding-left: 4rem;
  position: relative;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.733;
}

.p-performance-list__detail::before{
  content: "";
  display: block;
  width: 1rem;
  height: 0.2rem;
  position: absolute;
  top: 1.2rem;
  left: 2rem;
  background-color: currentColor;
}
.p-performance-list .p-performance-list__name--example,
.p-performance-list__detail--example{
  color: inherit;
}

/*********************************************
    技術資料 /library/ 
 *********************************************/
.p-library-index{
  width: var(--main-inner);
  margin: 0 auto;
  padding: 0 var(--side-padding);
}
.p-library-index + .p-library-index{
  margin-top: 10rem;
}

.p-library-index .p-library-index__heading{
  --this-bg-color: var(--color-gradient-lightblue);
  --this-bg: var(--gradient-blue);
  padding: 0 0 1.5rem 1.2rem;
}
.p-library-index .p-library-index__heading::before{
  width: 100%;
  height: 0.8rem;
  top: auto;
  bottom: 0;
  background-color: var(--this-bg-color);
  background-image: var(--this-bg);
  mask-image: url(./mask-image/column-index-heading.svg);
  mask-repeat: no-repeat;
  mask-position: top 0 left 0.5rem;
  mask-size: 7.5rem 0.8rem;
}
.p-library-index .p-library-index__heading::after{
  width: 100%;
  height: 0.3rem;
}

.p-library-index__list{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(41.6rem, 1fr));
  row-gap: 1.2rem;
}

.p-library-index__item{
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  column-gap: 1.5rem;
  padding-left: 1rem;
  position: relative;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.p-library-index__item::before{
  align-self: flex-start;
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.6rem;
  position: relative;
  top: 0.57rem;
  background: url(../images/common/box-chevron_bl.svg) no-repeat center / contain;
}
.p-library-index__item--strong::before{
  background-image: url(../images/common/box-chevron_r.svg);
}
.p-library-index__item a{
  word-break: break-all;
}
.p-library--child .p-library-side{
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1px;
  margin-top: 2.4rem;
  margin-right: 5rem;
  border-top: 1px solid #AEB7C4;
  border-bottom: 1px solid #AEB7C4;
  background-color: #AEB7C4;
}
.p-library-side__link{
  height: 10.3rem;
}
.p-library-side__link--thr{
  background-image: var(--this-overray), url(../images/library/heading/library-side-thr-bg.jpg);
}
.p-library-side__link--etc{
  background-image: var(--this-overray), url(../images/library/heading/library-side-etc-bg.jpg);
}
.p-library-side__link--energy{
  background-image: var(--this-overray), url(../images/library/heading/library-side-energy-bg.jpg);
}
.p-library-side__link-inner{
  column-gap: 2.3rem;
}
.p-library-side__link-inner::after{
  width: 1.5rem;
  height: 2.5rem;
}

.p-library--child .p-page__column-container{
  align-items: flex-start;
}
.p-library--child .l-contents p a{
  color: var(--color-gradient-deepblue);
}

.p-library-back{
  margin-top: 14rem;
  border-top: 1px solid #AEB7C4;
  border-bottom: 1px solid #AEB7C4;
}
.p-library-back .c-banner-link__inner{
  grid-template-columns: 1.7rem 1fr;
}
.p-library-back .c-banner-link__inner::after{
  order: -1;
  rotate: 180deg;
}
@media (hover: hover){
  .p-library-index__item a:hover{
    color: #0050D8;
  }
  .p-library-index__item--strong a:hover{
    color: #ff251f;
  }
}

@media screen and (max-width: 768px){
  .p-library-index{
    padding-right: 0;
    padding-left: 0;
  }
  .p-library-index + .p-library-index{
    margin-top: 8rem;
  }

  .p-library-index__list{
    grid-template-columns: 1fr;
    row-gap: 1.8rem;
  }
  .p-library-index__item{
    padding-left: 0;
    line-height: 1.5;
  }
  .p-library-index__item::before{
    top: 0.5rem;
  }

  .p-library--child .p-library-side{
    display: none;
  }
}

/*********************************************
    会社概要 /company/
 *********************************************/
.p-company-about{
  row-gap: 0;
}
.entry-content:has(.p-company-about){
  container: companyContainer / inline-size;
}
.p-company-about .p-company-about__row{
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  align-items: flex-start;
  column-gap: 6rem;
  width: 100%;
  padding: 3rem;
}
.p-company-about .p-company-about__row:first-of-type{
  padding-top: 0;
}
.p-company-about .p-company-about__row:last-of-type{
  padding-bottom: 0;
}
.p-company-about__row + .p-company-about__row{
  border-top: 1px solid #AEB7C4;
}
.p-company-about__row h3{
  padding: 0;
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 1.6;
  border-left: none;
}
.p-company-about__description{
  row-gap: 1rem;
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 1.6;
}

.p-company .p-company-philosophy__copy{
  font-size: 2.6rem;
  line-height: 1;
}
.p-company .p-company-philosophy__goal-heading{
  margin-top: 3rem;
}
.p-company-philosophy__list{
  padding-left: 2rem;
  font-size: 1.6rem;
}
.p-company-philosophy__list + p{
  line-height: 1.6;
}
.p-company-message{
  column-gap: 4rem;
}
.p-company .p-company-message p{
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.p-company .p-company-message .p-company-message__sign{
  margin-top: 2rem;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
@container companyContainer (max-width: 540px){
  .p-company-about .p-company-about__row{
    grid-template-columns: 1fr;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .p-company-about__description{
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .p-company-message{
    flex-direction: column;
    align-items: center;
    row-gap: 3rem;
  }
}
@media screen and (max-width: 768px){
  .p-company .p-company-philosophy__copy{
    font-size: 2.4rem;
    line-height: 1.333;
  }
  .p-company-philosophy__list{
    padding-left: 0;
  }
  .p-company-philosophy__list + p{
    margin-top: 2rem;
  }
  .p-company .p-company-message p{
    line-height: 1.466;
  }
}

/*********************************************
    求人情報 /recruit/
 *********************************************/
.p-recruit-overview{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 0 var(--side-padding) 7rem;
}
.p-recruit-overview .p-recruit-overview__item{
  display: grid;
  grid-template-columns: 1.166fr 1fr;
  column-gap: 8rem;
  align-items: center;
}
.p-recruit-overview__item + .p-recruit-overview__item{
  margin-top: 10rem;
}
.p-recruit-overview .p-recruit-overview__item:nth-of-type(2){
  grid-template-columns: 1fr 1.166fr;
}
.p-recruit-overview__body{
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
}
.p-recruit-overview__item--2 .p-recruit-overview__image{
  order: -5;
}

.p-recruit-detail{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 7rem var(--side-padding) 0;
}
.p-recruit-detail__list{
  display: grid;
  grid-template-columns: [term] 17.5rem [description] 1fr;
  align-content: center;
  font-size: var(--page-text-size);
  line-height: 1.6;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #AEB7C4;
}
.p-recruit-detail__term,
.p-recruit-detail__description{
  padding: 3rem 3.5rem;
  border-top: 1px solid #AEB7C4;
}
.p-recruit-detail__term{
  grid-column: term;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: var(--font-weight-medium);
  background-color: #E8ECF2;
}
@media screen and (max-width: 1200px){

  .p-recruit-overview__item{
    row-gap: 3.2rem;
  }
  .p-recruit-overview .p-recruit-overview__item:nth-of-type(n){
    grid-template-columns: 1fr;
  }
  .p-recruit-overview__item .p-recruit-overview__image{
    order: initial;
    width: 50%;
    justify-self: flex-end;
  }
}
@media screen and (max-width: 768px){
  .p-recruit-overview{
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 4rem;
  }
  .p-recruit-overview__item + .p-recruit-overview__item{
    margin-top: 6rem;
  }
  .p-recruit-overview__item .p-recruit-overview__image{
    width: 100%;
  }
  .p-recruit-overview__image img{
    width: 100%;
    height: auto;
  }

  .p-recruit-detail{
    padding-top: 4rem;
    padding-right: 0;
    padding-left: 0;
  }
  .p-recruit-detail__list{
    grid-template-columns: 1fr;
    align-content: flex-start;
  }
  .p-recruit-detail__term,
  .p-recruit-detail__description{
    padding: 2rem var(--side-padding);
  }
  .p-recruit-detail__term{
    grid-column: 1;
    justify-content: flex-start;
  }
  .p-recruit-detail__description{
    border-top: none;
  }
}

/*********************************************
    FAQ /faq/
 *********************************************/
.p-faq-contents{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 0 var(--side-padding);
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 2.133;
}
.p-faq-contents__item{
  padding-bottom: 5rem;
  border-bottom: 1px solid #AEB7C4;
}
.p-faq-contents__item + .p-faq-contents__item{
  padding-top: 5rem;
}
.p-faq .p-faq-contents__heading{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 1.5rem;
  margin-bottom: 2.5rem;
  padding: 0 2rem;
  font-size: 1.6rem;
  line-height: 1.5;
}
.p-faq .p-faq-contents__heading::before,
.p-faq .p-faq-contents__heading::after{
  display: none;
}
.p-faq .p-faq-contents__heading::before{
  flex-shrink: 0;
  display: block;
  width: 3rem;
  height: 4.2rem;
  position: static;
  background: url(../images/pages/faq-q.png) no-repeat center / contain;
}
.p-faq-contents__answer{
  padding: 2rem 3rem;
  line-height: 1.733;
}
.p-faq-contents__answer p + p{
  margin-top: 2em;
}
.p-faq-contents__link-container{
  margin-top: 1.5rem;
}
.p-faq-contents__link{
  color: var(--color-gradient-deepblue);
  font-weight: var(--font-weight-bold);
}
.p-faq-contents__link > a{
  padding-right: 2rem;
  position: relative;
}
.p-faq-contents__link > a::after{
  content: "";
  display: block;
  width: 0.6rem;
  height: 1rem;
  position: absolute;
  top: calc(50% - 0.4rem);
  right: 0;
  background: url(../images/common/chevron-s_bl.svg) no-repeat center / contain;
}

@media screen and (max-width: 768px){
  .p-faq-contents{
    padding-right: 0;
    padding-left: 0;
    line-height: 2;
  }
  .p-faq .p-faq-contents__heading{
    align-items: flex-start;
    padding-right: 0;
    padding-left: 0;
  }
  .p-faq .p-faq-contents__heading::before{
    width: 2.5rem;
    height: 3.5rem;
    position: relative;
    top: 0.6rem;
  }
  .p-faq-contents__answer{
    padding: 2.2rem 2.5rem;
  }
}

/*********************************************
    協力業者募集 /partner/
 *********************************************/
.p-partner-contents{
  display: grid;
  grid-template-columns: 1fr 1.122fr;
  grid-template-rows: max-content 1fr;
  grid-template-areas:
    "heading heading"
    "body image";
  column-gap: 8rem;
  width: var(--page-main-inner);
  margin: 0 auto;
  padding-right: var(--side-padding);
  padding-left: var(--side-padding);
}
.p-partner-contents__heading-container{
  grid-area: heading;
  width: min(100%, 72.9rem);
  aspect-ratio: 729 / 90;
  z-index: 5;
}
.p-partner-contents .p-partner-contents__heading{
  margin: 0;
  padding: 0;
}
.p-partner-contents .p-partner-contents__heading::before,
.p-partner-contents .p-partner-contents__heading::after{
  display: none;
}
.p-partner-contents__body{
  grid-area: body;
  margin-top: 9.5rem;
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 2.133;
}
.p-partner-contents__image{
  grid-area: image;
  margin-top: -6.5rem;
  z-index: 0;
}
@media screen and (max-width: 1200px){
  .p-partner-contents{
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: 
      "heading"
      "image"
      "body";
  }
  .p-partner-contents__heading-container img,
  .p-partner-contents__image img{
    width: 100%;
    height: auto;
  }
  .p-partner-contents__image{
    margin-top: -0.9rem;
    padding-left: 25%;
    justify-self: flex-end;
  }
  .p-partner-contents__body{
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px){
  .p-partner-contents{
    padding-right: 0;
    padding-left: 0;
  }

  .p-partner-contents__heading-container{
    width: min(100%, 29rem);
    aspect-ratio: 290 / 159;
    margin-bottom: 0;
  }
  .p-partner-contents__body{
    margin-top: 0;
  }
  .p-partner-contents__image{
    
    margin-bottom: 5rem;
    padding-left: var(--side-padding);
  }

}

/*********************************************
    個人情報保護方針 /privacypolicy/
 *********************************************/
.p-privacy-contents{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 0 var(--side-padding);
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 2.133;
}
.p-privacy-contents .p-privacy-contents__heading{
  margin-top: 6rem;
  margin-bottom: 1.6rem;
  padding-top: 0;
  padding-bottom: 0.4rem;
  padding-left: 1rem;
  border-left: 0.5rem solid var(--color-gradient-deepblue);
  font-size: 1.8rem;
  line-height: 1.444;
  letter-spacing: 0.05em;
  font-weight: var(--font-weight-medium);
}
.p-privacy-contents .p-privacy-contents__heading::before,
.p-privacy-contents .p-privacy-contents__heading::after{
  display: none;
}
.p-privacy-contents__contact{
  margin-top: 1.6rem;
  padding: 2rem 3rem;
  line-height: 1.733;
}
.p-privacy-contents__contact a{
  color: var(--color-gradient-deepblue);
  text-decoration: underline;
  word-break: break-all;
}
@media screen and (max-width: 768px){
  .p-privacy-contents{
    padding-right: 0;
    padding-left: 0;
    line-height: 2;
  }
  .p-privacy-contents__contact{
    padding: 2rem 2.5rem;
  }
}

/*********************************************
    著作権について /copyright/
 *********************************************/
.p-copyright-contents{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 0 var(--side-padding);
  font-size: var(--page-text-size);
  letter-spacing: 0.05em;
  line-height: 2.133;
}
@media screen and (max-width: 768px){
  .p-copyright-contents{
    padding-right: 0;
    padding-left: 0;
    line-height: 2;
  }
}

/*********************************************
    サイトマップ /sitemap/
 *********************************************/
.p-sitemap .p-sitemap-contents{
  container: sitemapContents / inline-size;
  display: grid;
  grid-template-columns: [fullwidth-start] 1fr 1fr [fullwidth-end];
  column-gap: 0;
  row-gap: 3rem;
  align-items: flex-start;
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 0 var(--side-padding);
}
.p-sitemap-contents__list{
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 3rem;
  letter-spacing: 0.05em;
}
.p-sitemap-contents__list--1{
  padding-right: 2rem;
}
.p-sitemap-contents__list-item{
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  column-gap: 1.5rem;
  justify-items: flex-start;
  align-items: flex-start;
  font-size: 2rem;
  line-height: 1.3;
}
.p-sitemap-contents__list-item::before{
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.6rem;
  position: relative;
  top: 0.6rem;
  background: url(../images/common/box-chevron_bl.svg) no-repeat center / contain;
}
.p-sitemap-contents__sub-list{
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 0;
  row-gap: 2rem;
  align-items: flex-start;
  margin-left: -1.3rem;
  letter-spacing: 0.05em;
}
.p-sitemap-contents__sub-item{
  display: grid;
  grid-template-columns: 1.4rem auto;
  column-gap: 1rem;
  justify-items: flex-start;
  font-size: 1.6rem;
  line-height: 1.625;
}
.p-sitemap-contents__sub-item::before{
  content: "";
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  position: relative;
  top: 0.7rem;
  background-color: currentColor;
  mask-image: url(./mask-image/chevron-m_bk.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 0.6rem;
}
.p-sitemap-contents__sub-item > a{
  color: currentColor;
}
.p-sitemap-contents .p-sitemap-contents__sub-item--child{
  color: var(--color-text);
}
@media (hover: hover){
  .p-sitemap-contents__list-item > a:hover,
  .p-sitemap-contents__sub-item:has( > a:hover),
  .p-sitemap-contents__sub-item > a:hover{
    color: var(--color-gradient-deepblue);
  }

}
.p-sitemap-contents__sub-list--parent{
  margin-top: 2rem;
}
.p-sitemap-contents__sub-list--child{
  row-gap: 1rem;
  margin-top: 1.5rem;
}
.p-sitemap-contents__sub-item--child::before{
  width: 0.4rem;
  height: 0.4rem;
  top: 1.1rem;
  left: 0.5rem;
  mask: none;
}
@container sitemapContents (max-width: 960px){
  .p-sitemap-contents__list{
    grid-column: fullwidth;
  }
}
@media screen and (max-width: 768px){
  .p-sitemap .p-sitemap-contents{
    padding-right: 0;
    padding-left: 0;
  }
  .p-sitemap-contents__list--1{
    padding-right: 0;
  }
}

/*********************************************
    お問い合わせ　/contact/
 *********************************************/
 /* 入り口ページ */
.p-contact-overview, .p-contact-info, .p-contact-flow{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding: 0 var(--side-padding);
}
.p-contact .p-contact-enter__heading{
  height: min(3.5vw, 4.2rem);
  margin-bottom: 8rem;
  padding: 0;
  text-align: center;
}
.p-contact .p-contact-enter__heading::before,
.p-contact .p-contact-enter__heading::after{
  display: none;
}
.p-contact-enter__heading img{
  width: auto;
  height: 100%;
}

.p-contact-overview{
  font-size: var(--page-text-size);
  text-align: center;
  line-height: 2.133;
  letter-spacing: 0.05em;
}

.p-contact-info{
  margin-top: 8rem;
}
.p-contact-info + .p-contact-info{
  margin-top: 14rem;
}

.p-contact-info__form-list{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1px;
  background-color: #AEB7C4;
  border-right: 1px solid #AEB7C4;
  border-left: 1px solid #AEB7C4;
}
.p-contact-info__form-item{
  background-color: var(--color-lightgray);
}
.p-contact-info__form-list--column2 .p-contact-info__form-item {
  flex-basis: calc((100% - 1px) / 2);
}
.p-contact-info__form-list--column3 .p-contact-info__form-item{
  flex-basis: calc((100% - 2px) / 3);
}

.p-contact-info__link.p-contact-info__link--inquiry{
  background-image: var(--this-overray), url(../images/pages/contact-inquiry-bg_medium.jpg);
}
.p-contact-info__link.p-contact-info__link--quote{
  background-image: var(--this-overray), url(../images/pages/contact-quote-bg_medium.jpg);
}
.p-contact-info__link.p-contact-info__link--rental-contact{
  background-image: var(--this-overray), url(../images/pages/contact-rental-bg_medium.jpg);
}
.p-contact-info__link--short.p-contact-info__link--inquiry{
  background-image: var(--this-overray), url(../images/pages/contact-inquiry-bg_short.jpg);
}
.p-contact-info__link--short.p-contact-info__link--quote{
  background-image: var(--this-overray), url(../images/pages/contact-quote-bg_short.jpg);
}
.p-contact-info__link--short.p-contact-info__link--rental-contact{
  background-image: var(--this-overray), url(../images/pages/contact-rental-bg_short.jpg);
}

.p-contact-info__phone-list{
  column-gap: 0;
  border-right: 1px solid #AEB7C4;
  border-left: 1px solid #AEB7C4;
}
.p-contact-info__phone-item{
  flex-basis: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 20rem;
}
.p-contact-info__phone-item + .p-contact-info__phone-item{
  border-left: 1px solid #AEB7C4;
}
.p-contact-info__tel-inner{
  position: relative;
}
.p-contact-info__number{
  height: min(3vw, 3.4rem);
  text-align: center;
}
.p-contact-info__number img{
  width: auto;
  height: 100%;
}
.p-contact-info__tel-reception{
  width: 100%;
  position: absolute;
  top: calc(100% + 1.5rem);
  left: 0;
  z-index: 0;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.05em;
}

.p-contact-flow{
  margin-top: 20rem;
}
.p-contact-flow .p-contact-enter__heading{
  margin-bottom: 10rem;
}
.p-contact-flow__list{
  container: contactFlowList / inline-size;
  padding: 0 calc(var(--side-padding) - 0.4rem);
  row-gap: 5rem;
}
.p-contact-flow__item{
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  min-height: 10rem;
}
.p-contact-flow__item .p-contact-flow__item-inner{
  display: grid;
  grid-template-columns: 1fr 1.333fr;
  grid-template-rows: max-content;
  gap: 0;
  align-items: stretch;
  height: 100%;
}
.p-contact-flow__item-heading-container{
  column-gap: 4rem;
  align-items: center;
  padding-right: 4.6rem;
}
.p-contact-flow__heading-image{
  flex-basis: 15rem;
  flex-shrink: 0;
  border-radius: 0.2rem;
  overflow: hidden;
}
.p-contact-flow__heading-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-contact-flow .p-contact-flow__item-heading{
  display: flex;
  align-items: center;
  column-gap: 1.5rem;
  margin-top: 0;
  padding: 0;
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-left: none;
}
.p-contact-flow__heading-number{
  flex-basis: 2.5rem;
  flex-shrink: 0;
  position: relative;
  top: -0.2rem;
}
.p-contact-flow__heading-number img{
  display: block;
}

.p-contact-flow__item-description{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 1.2rem 0 1.2rem 5rem;
  font-size: var(--page-text-size);
  line-height: 1.733;
  letter-spacing: 0.05em;
  font-weight: var(--font-weight-medium);
  border-left: 1px solid #AEB7C4;
}

.p-contact-flow__link-container{
  margin-top: 1.5rem;
}
.p-contact-flow__link{
  color: var(--color-gradient-deepblue);
  font-weight: var(--font-weight-bold);
}
.p-contact-flow__link > a{
  padding-right: 2rem;
  position: relative;
}
.p-contact-flow__link > a::after{
  content: "";
  display: block;
  width: 0.6rem;
  height: 1rem;
  position: absolute;
  top: calc(50% - 0.4rem);
  right: 0;
  background: url(../images/common/chevron-s_bl.svg) no-repeat center / contain;
}

@media screen and (max-width: 1080px) {
  .p-contact-info--form{
    width: 100%;
    padding: 0;
    overflow: hidden;
  }
  :is(.p-contact-info, .p-contact-form__link-container) .p-contact-info__form-list,
  .p-contact-info .p-contact-info__phone-list{
    flex-wrap: wrap;
    border-top: 1px solid #AEB7C4;
    border-right: none;
    border-bottom: 1px solid #AEB7C4;
    border-left: none;
    overflow: hidden;
  }
  :is(.p-contact-info__form-list--column2, .p-contact-info__form-list--column3) .p-contact-info__form-item{
    flex-basis: 100%;
  }

  .p-contact-flow__item .p-contact-flow__item-inner{
    grid-template-columns: 1fr;
    grid-template-rows: min-content max-content;
  }
  .p-contact-flow__item-heading-container{
    column-gap: 3rem;
    padding-right: 0;
    padding-bottom: 2rem;
  }
  .p-contact-flow__heading-image{
    flex-basis: min(8rem, 27.5%);
  }
  .p-contact-flow__item-description{
    padding-top: 2rem;
    padding-left: 0;
    border-top: 1px solid #AEB7C4;
    border-left: none;
  }

  .p-contact-info__phone-item{
    flex-basis: 100%;
  }
  .p-contact-info__phone-item + .p-contact-info__phone-item
  {
    border-top: 1px solid #AEB7C4;
    border-left: none;
  }
}

@media screen and (max-width: 768px){
  .p-contact-overview, .p-contact-info, .p-contact-flow{
    padding-right: 0;
    padding-left: 0;
  }
  .p-contact-overview{
    text-align: left;
    line-height: 2;
  }
  .p-contact-info{
    margin-top: 10rem;
  }
  .p-contact .p-contact-enter__heading{
    height: 8.1rem;
    margin-bottom: 6rem;
  }
  .p-contact-info__link-inner{
    height: 6rem;
  }
  .p-contact-info + .p-contact-info{
    margin-top: 10rem;
  }
  .p-contact-info__phone-item{
    height: 12rem;
  }
  .p-contact-info__number{
    width: 100%;
    height: 2.3rem;
  }
  .p-contact-info__number img{
    width: 100%;
    object-fit: contain;
  }
  .p-contact-flow{
    margin-top: 10rem;
  }
  .p-contact-flow .p-contact-enter__heading{
    height: 12.6rem;
    aspect-ratio: 315 / 126;
  }
  .p-contact-flow .p-contact-enter__heading :is(picture, img){
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p-contact-flow__list{
    row-gap: 4.8rem;
    padding-right: 0;
    padding-left: 0;
  }
  .p-contact-flow__heading-image{
    flex-basis: 8.3rem;
  }
  .p-contact-flow__item-heading-container{
    column-gap: 2rem;
  }
  .p-contact-flow .p-contact-flow__item-heading{
    column-gap: 1rem;
    line-height: 1.3;
  }

}

/* thanksページ */
.p-contact-thanks__inner{
  width: var(--page-main-inner);
  margin: 0 auto;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-contact-thanks__text p + p{
  margin-top: 2.4rem;
}
.p-contact-thanks__link-container{
  margin-top: 9.4rem;
}
.p-contact-thanks__link{
  margin: 0 auto;
  padding: 1.2rem 9.2rem;
  position: relative;
  line-height: 1.5;
  border-radius: 0.2rem;
}
.p-contact-thanks__link .c-chevron::after{
  rotate: 180deg;
  right: auto;
  left: 2.4rem;
}
@media screen and (max-width: 768px){
  .p-contact-thanks__inner{
    text-align: left;
  }
  .p-contact-thanks__link-container{
    margin-top: 7.4rem;
  }
}

/*********************************************
    404
 *********************************************/
.p-pnf-contents{
  width: var(--page-main-inner);
  margin: 0 auto;
  padding-bottom: 10rem;
  font-size: var(--page-text-size);
  line-height: 2.133;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-pnf-contents__link-container{
  margin-bottom: 10rem;
}
.p-pnf-contents__link{
  margin: 0 auto;
  padding: 1.5rem 2.5rem;
  border-radius: 2px;
}
.p-pnf .p-product-link{
  display: grid;
  grid-template-columns: [left] 1fr [right] 1fr;
  grid-auto-rows: 20rem;
  gap: 0.1rem;
  width: 100%;
  margin: 0;
  background-color: #AEB7C4;
  border-top: 0.1rem solid #AEB7C4;
  border-bottom: 0.1rem solid #AEB7C4;
}
@media screen and (max-width: 1200px){
  .p-pnf .p-product-link{
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px){
  .p-pnf-contents{
    padding-bottom: 6rem;
    text-align: left;
  }
  .p-pnf .p-product-link{
    grid-auto-rows: 12.8rem;
  }
}