@charset "utf-8";

/* -------------------------------------------------------------

メインビジュアル 
------------------------------------------------------------------ */

/* 箱 */
.top-swiper {
  aspect-ratio: 1780/840;

/* 45px = スクロールの青いところの長さ */
  height: calc(100vh - var(--header-height) - 45px);
  margin: 0 0 120px 7.29166666667%;
  position: relative;
  width: calc(100% - 7.29166666667%);
}

.swiper__top1 {
  background-image: url(/wp-content/themes/airliquide_re/images/top/mainimg_h2.png), url(/wp-content/themes/airliquide_re/images/top/mainimg_bkDot.png), url(/wp-content/themes/airliquide_re/images/top/mainimg.webp);
}
.swiper__top2 {
  background-image: url(/wp-content/themes/airliquide_re/images/top/mainimg_h2.png), url(/wp-content/themes/airliquide_re/images/top/mainimg_bkDot.png), url(/wp-content/themes/airliquide_re/images/top/top2.webp);
}


@media screen and (max-width:1279px) {
  .top-swiper {
    display: flex;
    height: calc(812px - 100px);

/* headerの高さを引く */
    justify-content: center;
    margin: 0;
    margin-bottom: 60px;
    padding: 0;
    width: 100%;
  }
}



/* テキストエリア */
.top-swiper .textarea {
  display: flex;
  flex-flow: column;
  height: 100%;
  justify-content: center;
  left: 0;
  padding: 0 0 0 8.5%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
}

.top-swiper .textarea p.text01 {
  color: #fff;
  font-size: 125px;
  line-height: 1;
  margin: 0;
}
.top-swiper .textarea p.text02 {
  background-color: #fff;
  border-radius: 8px;
  color: #66799a;
  font-family: "Noto Serif JP", serif;
  font-size: 29px;
  line-height: 1.2;
  margin: 30px 0 0 0;
  padding: 10px 0 10px 15px;
  width: 55%;
}

@media screen and (max-width:1535px),print {
  .top-swiper .textarea p.text02 {
    font-size: clamp(20px,1.51vw,29px);
    margin-top: 1.56vw;
    width: 50%;
  }
}
@media screen and (max-width:1279px),print {
  .top-swiper .textarea {
    align-items: center;
    height: auto;
    padding: 0;
    width: 78.02vw;
  }
  .top-swiper .textarea {
    bottom: 0;
    height: calc(100% - var(--btn-size));
    left: 0;
    margin-inline: auto;
    right: 0;
    top: 0;
  }
  .top-swiper .textarea p.text02 {
    font-size: 1rem;
    margin-top: 30px;
    max-width: 500px;
    padding: 10px 15px;
    width: 100%;
  }
}

@media screen and (max-width:767px) {
  .top-swiper .textarea p.text01 {
    font-size: 19vw;
  }
}


/* swiper  */

.swiper {
  border-radius: 55px 0 0 55px;
  height: 100%;
  --img-bg-height: 100%;
  --img-bg-width: 100%;
  --scale-rate: 10%;
  width: 100%;
}

.swiper-slide {
  align-items: center;
  background: #fff;
  display: flex;
  font-size: 18px;
  justify-content: center;
  text-align: center;
}

.swiper-slide img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.swiper__img {
  background-position: right top, right top, center;
  background-repeat: no-repeat, repeat, no-repeat;
  background-size: auto, auto, calc(var(--img-bg-width) + var(--scale-rate)) calc(var(--img-bg-height) + var(--scale-rate));
  height: 100%;
  width: 100%;
}


.top-swiper .swiper .swiper-zoom-out .swiper__img {
  -webkit-animation: swiper-zoom-out 13s .4s forwards linear;
          animation: swiper-zoom-out 13s .4s forwards linear;
}

@-webkit-keyframes swiper-zoom-out {
  0% {
    background-size: auto, auto, calc(var(--img-bg-width) + var(--scale-rate)) calc(var(--img-bg-height) + var(--scale-rate));
  }

  100% {
    background-size: auto, auto, var(--img-bg-width) var(--img-bg-height);
  }
}

@keyframes swiper-zoom-out {
  0% {
    background-size: auto, auto, calc(var(--img-bg-width) + var(--scale-rate)) calc(var(--img-bg-height) + var(--scale-rate));
  }

  100% {
    background-size: auto, auto, var(--img-bg-width) var(--img-bg-height);
  }
}

@media screen and (max-width:1279px) {
  .swiper {
    border-radius: 0;
    --img-bg-height: calc(812px - 100px);
    --img-bg-width: 212.9%;
    --scale-rate: 200px;
  }
  .swiper__img {
    background-position: right top,center;
    background-repeat: repeat,no-repeat;
    background-size: auto, calc(var(--img-bg-width) + var(--scale-rate)) calc(var(--img-bg-height) + var(--scale-rate));
  }
  .swiper__top1 {
    background-image: url(/wp-content/themes/airliquide_re/images/top/mainimg_bkDot.png), url(/wp-content/themes/airliquide_re/images/top/mainimg.webp);
  }

  .swiper__top2 {
    background-image: url(/wp-content/themes/airliquide_re/images/top/mainimg_bkDot.png), url(/wp-content/themes/airliquide_re/images/top/top2.webp);
  }
  @-webkit-keyframes swiper-zoom-out {
    0% {
      background-size: auto, calc(var(--img-bg-width) + var(--scale-rate)) calc(var(--img-bg-height) + var(--scale-rate));
    }

    100% {
      background-size: auto, var(--img-bg-width) var(--img-bg-height);
    }
  }
  @keyframes swiper-zoom-out {
    0% {
      background-size: auto, calc(var(--img-bg-width) + var(--scale-rate)) calc(var(--img-bg-height) + var(--scale-rate));
    }

    100% {
      background-size: auto, var(--img-bg-width) var(--img-bg-height);
    }
  }
}
@media screen and (max-width:767px) {
  .swiper__img {
    background-position: right top, center;
  }
}


/* メインビジュアルのinfo */
.top-swiper .newinfo {
  background-color: #fff;
  border-radius: 100px;
  bottom: 30px;
  --btn-size: 90px;
  max-width: 600px;
  position: absolute;
  right: 25px;
  width: calc(100% - 50px);
  z-index: 10;
}
.top-swiper .newinfo .inner {
  align-items: flex-start;
  display: flex;
  flex-flow: column;
  height: var(--btn-size);
  justify-content: center;
  padding: 0 110px 0 40px;
  position: relative;
}
.top-swiper .newinfo .inner p.text01 {
  font-size: 15px;
  line-height: 1.2;
  margin: 0 0 6px 0;
}
.top-swiper .newinfo .inner p.text02 {
  letter-spacing: -.1em;
  line-height: 1.1;
  margin: 2px 0 0 0;
  width: 100%;
}

.top-swiper .newinfo .inner p.text02 a {
  text-decoration: underline;
}
.top-swiper .newinfo .inner p.text02 a,
.top-swiper .newinfo .inner p.text02 .nolink {
  color: inherit;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.top-swiper .newinfo .inner p.text02 a:hover {
  text-decoration: none;
}

.top-swiper .newinfo .inner p.btn {
  border: none;
  display: table;
  height: 90px;
  margin: 0;
  padding: 0;
  position: absolute;
  right: -1px;
  top: 0;
  width: 90px;
}

.top-swiper .newinfo .inner p.btn a {
  background-color: #7aace9;
  border: #7aace9 solid 1px;
  border-radius: 100px;
  color: #fff;
  display: table-cell;
  text-align: center;
  text-decoration: none;
  transition-duration: .3s;
  transition-property: color, background-color;
  vertical-align: middle;
}

.top-swiper .newinfo .inner p.btn a:hover {
  background-color: #fff;
  color: #7aace9;
}

.top-swiper .newinfo .inner p.btn a:hover {
  cursor: pointer;
}

.top-swiper .newinfo .inner p.btn a {
  overflow: hidden;
  position: relative;
}

/*button:before (attr data-hover)*/
.top-swiper .newinfo .inner p.btn a:hover:before {
  opacity: 1;
  top: 50%;
  transform: translateY(-50%);
}

.top-swiper .newinfo .inner p.btn a:before {
  content: attr(data-hover);
  left: 0;
  opacity: 0;
  position: absolute;
  text-transform: uppercase;
  top: 120%;
  transform: translate(0, 0);
  transform: translateY(-120%);
  transition: all .3s ease-in-out;
  width: 100%;
}

/*button div (button text before hover)*/
.top-swiper .newinfo .inner p.btn a:hover span {
  /*opacity: 0;*/
  transform: translate(0, -100px);
}

.top-swiper .newinfo .inner p.btn a span {
  left: 0;
  position: absolute;
  text-transform: uppercase;
  top: 50%;
  transform: translate(0, 0);
  transform: translateY(-50%);

/*font-weight: 800;
  font-size: .8em;*/
  transition: all .3s ease-in-out;
  width: 100%;
}

@media screen and (max-width:1355px),
print {
  .top-swiper .newinfo {
    --btn-size: clamp(80px, 11.79vw, 60px);
  }

  .top-swiper .newinfo .inner p.btn {
    height: var(--btn-size);
    width: var(--btn-size);
  }
}

@media screen and (max-width:1279px),
print {
  .top-swiper .newinfo {
    max-width: initial;
    width: 81.73%;
  }
}

@media screen and (max-width:767px) {
  .top-swiper .newinfo {
    right: 10px;
    width: calc(100% - 68px);
    /* スクロールの文字幅50pxと左右の余白とスクロール文字との間隔 */
  }

  .top-swiper .newinfo .inner {
    padding-inline: 20px calc(var(--btn-size) + 10px);
  }

  .top-swiper .newinfo .inner p.text01 {
    margin: 0;
  }
}




.top-swiper .scroll {
  bottom: 140px;
  color: #fff;
  font-size: 13px;
  left: 40px;
  position: absolute;
  z-index: 10;
}

.top-swiper .scroll:before {
  background-color: #fff;
  content: "";
  height: 135px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 25px;
  width: 1px;
  z-index: 9;
}

.top-swiper .scroll:after {
  background-color: #1175ab;
  content: "";
  height: 180px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 25px;
  width: 1px;
}

@media screen and (max-width:1279px),
print {
  .top-swiper .scroll:after {
    display: none;
  }
}

@media screen and (max-width:767px) {
  .top-swiper .scroll {
    left: 8px;
  }
}




/* 見出し */


.SectionTitle .fontSpartan {
  border-bottom: none;
  font-size: 63px;
  font-weight: 300;
  line-height: 1;
  margin: 0;
  padding: 0;
}
.SectionTitle h3::first-letter {
  color: #79ace9;
}
.SectionTitle h3:after {
  display: none;
}

@media screen and (max-width:767px) {
  .SectionTitle .fontSpartan {
    font-size: max(8.21vw,36px);
  }
}

#TopStation .SectionTitle {
  /*margin: 0 0 50px 140px;
  width: calc(100% - 140px);*/
  margin: 0 0 50px 7.29166666667%;
  padding: 0 0 0 10px;
  width: calc(100% - 7.29166666667%);
}

.SectionTitle--border {
  padding-block: 20px 0;
  position: relative;
}
.SectionTitle--border::before {
  border-top: 3px solid #7aace9;
  content: "";
  display: inline-block;
  left: 0;
  position: absolute;
  top: 0;
  width: 60px;
}


#TopStation .itemBox.left_area,
#TopStation .itemBox.right_area {
  background-color: #7aace9;
  print-color-adjust: exact;
}


/* ずれるレイアウト */
.itemBox {
  padding: 20px 0 0;
}

.itemBox--info {
  padding-block: 0 60px;
}

@media screen and (min-width:1921px) {
  .itemBox.left_area {
    margin-left: calc(-1 *(100% - 50vw) / 2);
    padding-left: calc((100% - 50vw) / 2);
  }

  .itemBox.right_area {
    margin-left: calc((100% - 50vw) / 2);
    width: 100%;
  }
}

@media screen and (min-width:1921px) {
  .container002,
  .section-shift {
    margin-inline: auto;
    max-width: 1920px;
  }
}

/* TOP　ステーション情報のところ レイアウト */
.top-station .itemBox {
  padding-bottom: 20px;
}

@media screen and (max-width:1279px),print {
  .top-station .itemBox {
    padding-bottom: 40px;
  }
}

.top-station .in_shift {
  display: flex;
  --in-shift: 7.41%;
  max-width: 1620px;
  --station-img-width: 55.25%;
}

/* 中の横並び　左右別レイアウト*/
.in_shift.left {
  margin-left: var(--in-shift);
}
.in_shift.right {
  flex-direction: row-reverse;
  margin-right: var(--in-shift);
}
@media screen and (min-width:1921px) {
  .in_shift.left {
    margin-left: 0;
  }
}
@media screen and (max-width:1279px),print {
  .in_shift:is(.left,.right) {
    display: block;
    margin-left: 0;
    overflow: hidden;
  }
  .in_shift.right {
    margin-right: 0;
  }
}

@media print {
  .in_shift.left,
  .in_shift.right {
    display: block;
    overflow: visible;
  }
}

@media screen and (max-width:767px) {
  .itemBox.right_area.right_area--noSp {
    border-radius: 0;
    margin-inline: 0;
    width: 100%;
  }
}

/* 画像 */

.top-station .in_shift .photo {
  border-radius: 30px;
  overflow: hidden;
  width: var(--station-img-width);
}
.top-station .in_shift .photo .pic {
  margin: 0;
}

.top-station .in_shift .photo img {
  aspect-ratio: 894 / 584;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

@media print {
  html,
  body {
    height: auto;
  }
  .top-station .in_shift .photo {
    overflow: visible;
  }
  .top-station .in_shift .photo img {
    height: 86mm;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .top-station .in_shift.right img {
    -o-object-position: left;
       object-position: left;
  }
}

@media screen and (min-width:1921px) {
  .top-station .in_shift .photo {
    max-width: 850px;
  }
}

@media screen and (max-width:1279px),print {
  .top-station .in_shift .photo {
    padding-bottom: 0;
    width: calc(120% - 20px);
  }
  .top-station .in_shift.left .photo {
    margin-left: -20%;
  }
  .top-station .in_shift.right .photo {
    margin-left: 20px;
  }
}

/* top ステーション情報　テキストエリア レイアウト */

.top-station .in_shift .textbox {
  padding-inline: 6.79%;
  width: calc(100% - var(--station-img-width));
}

@media screen and (max-width:1279px),print {
  .top-station .in_shift .textbox {
    padding-right: 0;
    width: calc(100% - 20px);
  }
}




#TopStation .itemBox .accordion-title {
  display: inline-block;
  margin: 0;
}

#TopStation .itemBox .accordion-title.open:after {
  opacity: 0;
}
#TopStation .itemBox .accordion-text {
  background-color: #fff;
  border-radius: 10px;
  display: none;
  padding: 10px;
}
#TopStation .itemBox .textbox .textbox__title {
  color: #fff;
  font-size: 28px;
  margin: min(2.6vw,50px) 0 min(3.13vw,60px) 0;
  white-space: nowrap;
}

@media screen and (max-width:1279px),print {
  #TopStation .itemBox .textbox .textbox__title {
    margin-block: 1.2em 1em;
  }
}
@media screen and (max-width:767px) {
  #TopStation .itemBox .textbox .textbox__title {
    font-size: 20px;
  }
}


#TopStation .itemBox .textbox p.add {
  color: #fff;
  display: flex;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 20px 0;
}

#TopStation .itemBox .textbox p.add span.icon {
  display: inline-block;
  margin-right: 5px;
  vertical-align: 2px;
}
#TopStation .itemBox .textbox p.add svg {
  width: 22px;
}
#TopStation .itemBox .textbox p.add svg path {
  fill: #fff;
}

/* 電話番号ボタン */
#TopStation .itemBox .textbox p.tel {
  margin: 0 0 10px 0;
  max-width: 400px;
}
#TopStation .itemBox .textbox p.tel svg {
  margin-right: 5px;
  width: 20px;
}
#TopStation .itemBox .textbox p.tel svg path {
  fill: #fff;
}
#TopStation .itemBox .textbox p.tel a {
  align-content: center;
  border: #fff solid 1px;
  border-radius: 100px;
  color: #fff;
  display: block;
  flex-wrap: wrap;
  font-size: 28px;
  font-weight: 500;
  height: 55px;
  justify-content: center;
  pointer-events: none;
  text-align: center;
  text-decoration: none;
}
#TopStation .itemBox .textbox p.tel a:hover {
  background-color: #fff;
  color: #7aace9;
}
#TopStation .itemBox .textbox p.tel a:hover svg path {
  fill: #7aace9;
}

@media screen and (max-width:767px) {
  #TopStation .itemBox .textbox p.tel a {
    font-size: 20px;
    line-height: 55px;
  }
}

@media screen and (max-width:590px) {
  #TopStation .itemBox .textbox p.tel a {
    pointer-events: initial;
  }
  #TopStation .itemBox .textbox .add.add-atsuta-address {
    /* 1行のときだと余白が少なくなって電話番号と被ってしまうため調整 */
    margin-bottom: 30px;
  }
}

/* カレンダー */

#TopStation .itemBox .textbox .btnCalendar {
  margin: 0 0 10px 0;
  max-width: 400px;
}
#TopStation .itemBox .textbox .btnCalendar svg {
  margin-right: 5px;
  width: 20px;
}
#TopStation .itemBox .textbox .btnCalendar svg path,
#TopStation .itemBox .textbox .btnCalendar svg rect {
  fill: #7aace9;
}
#TopStation .itemBox .textbox .btnCalendar {
  align-content: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: #fff solid 1px;
  border-radius: 100px;
  color: #7aace9;
  cursor: pointer;
  display: block;
  flex-wrap: wrap;
  font-size: 23px;
  font-weight: 500;
  height: 55px;
  justify-content: center;
  line-height: 55px;
  text-align: center;
  width: 100%;
}
#TopStation .itemBox .textbox .btnCalendar:hover {
  background-color: #7aace9;
  color: #fff;
}
#TopStation .itemBox .textbox .btnCalendar:hover svg path,
#TopStation .itemBox .textbox .btnCalendar:hover svg rect {
  fill: #fff;
}

@media screen and (max-width:767px) {
  #TopStation .itemBox .textbox .btnCalendar {
    font-size: 18px;
  }
}
/* more info ボタン */
.itemBox__btn-moreinfo {
  margin-top: min(3.13vw,60px);
}
.btn-moreinfo {
  line-height: 55px;
  max-width: 200px;
  text-align: center;
  text-transform: uppercase;
}
.btn-moreinfo a {
  border: 1px solid #fff;
  border-radius: 100vh;
  color: #fff;
  display: block;
  height: 100%;
  transition: .4s all;
  width: 100%;
}
@media screen and (max-width:767px) {
  .itemBox__btn-moreinfo {
    margin-top: 2em;
  }
}

@media print {
  .itemBox__btn-moreinfo {
    display: none;
  }
}


/* 新着情報 */
.new-info {
  padding-inline: 40px;
}

@media screen and (max-width:767px) {
  .new-info {
    padding-block: 20px;
  }
}


.info-2-col {
  display: flex;
  flex-direction: row-reverse; /* 読み上げ順序の調整のため */
}
.info-2-col__btn-wrap {
  flex-basis: 20%;
  flex-shrink: 0;
}
.info-2-col__tab-wrap {
  flex-basis: 80%;
}

@media screen and (max-width:1279px),print {
  .info-2-col {
    flex-direction: column;
  }
}

/* ------------------------------------
TOP tabボックス 
---------------------------------------*/
.home .tab-box {
  margin: 0 0 0 0;

/* padding: 0 8px 0 8px; */
  padding: 0;
}

/* TOP tab */
.home .navi {
  margin-bottom: 14px;
  margin-top: 0;
  padding: 0;
}

.home .tab-box .navi li {
  float: left;
  list-style: none;
  margin: 0 20px 0 0;
  text-align: center;
  width: 110px;
}

.home .tab-box .navi li a::after {
  background-color: #7aace9;
  border-radius: 50%;
  content: "";
  display: block;
  height: 1rem;
  margin-inline: auto;
  opacity: 0;
  transition: all .2s;
  width: 1rem;
}

.home .tab-box .navi li a[aria-selected="true"]::after,
.home .tab-box .navi li a:hover::after {
  opacity: 1;
}


.home .tab-box .navi li a {
  color: #444;
  display: block;
  font-size: 14px;

/* padding: 11px 0 10px 0; */
  padding: 0;
  text-decoration: none;
}

@media screen and (max-width:1279px),
print {
  .home .navi {
    margin-left: 20px;
  }
}

@media screen and (max-width:767px) {
  .home .tab-box .navi li {
    width: auto;
  }
}


/* TOP tabの中身　*/
.home .tab_box {
  margin: 0;
  /* margin: 0 0 70px 0; */
  padding: 0 0;
}
.home .tab_box + .tab_box {
  /*　初期状態　 */
  display: none;
}

.infoBlock {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.infoBlock__info {
  display: inline-flex;
  gap: 1.5rem;
  line-height: 1.1;
  position: relative;
}


@media screen and (max-width:1279px),print {
  .infoBlock__info {
    display: flex;
  }
}

.info-2-col__btn {
  margin-top: 40px;
}
.btn-more-small {
  line-height: 2.5em;
  max-width: 7.5em;
  text-align: center;
  text-transform: uppercase;
}
.btn-more-small a {
  border: 1px solid #000;
  border-radius: 100vh;
  color: inherit;
  display: block;
  height: 100%;
  width: 100%;
}
@media screen and (max-width:1279px),print {
  .btn-more-small {
    line-height: 45px;
    margin-inline: auto;
    max-width: 150px;
  }
}


/* -----------------------------------------------------------
TOP 会社概要
------------------------------------------------------------------- */
.gaiyo-2-col {
  display: flex;
  justify-content: space-between;
}
.gaiyo-2-col__body {
  /* 70px */
  flex-basis: 41.1vw;
  padding-inline: 3.65vw;
}

.gaiyo__title {
  font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
  font-weight: bold;
  line-height: 1.8;
  margin-block: 0;
  padding-bottom: 0;
}

.gaiyo__title::after {
  display: none;
}

.gaiyo__text {
  font-size: 20px;
  margin-top: 4.17vw;
  padding-right: 24px;
}

.gaiyo__text p {
  line-height: 2;
}

.gaiyo-2-col__image {
  flex-basis: 49.17vw;
  flex-shrink: 0;
}

.gaiyo__btn {
  margin-top: 40px;
}

@media screen and (max-width:1279px) {
  .gaiyo-2-col {
    flex-direction: column-reverse;
  }
  .gaiyo-2-col__body,
  .gaiyo-2-col__image {
    flex-basis: 100%;
  }
  .gaiyo-2-col__body {
    padding-inline: 24px;
  }
  .gaiyo__text {
    font-size: 16px;
    margin-top: 40px;
    padding-right: 0;
  }
  .gaiyo__btn {
    margin-inline: 0;
  }
}

@media print {
  /* 印刷時はボタンを消す */
  .gaiyo__btn,
  .info-2-col__btn {
    display: none;
  }
}


/*--------------------------------------------------------------
関連情報
---------------------------------------------------------*/

.itemBox__related {
  margin-left: var(--site-shift-vw);
  padding-inline: 2.6vw 6.25vw;
}
.itemBox__related p {
  margin-bottom: 0;
}

.related__4-col {
  -moz-column-gap: 40px;
       column-gap: 40px;
  display: grid;
  grid-template-columns: repeat(4,calc((100% - 120px) / 4 ));
  margin-top: 2.92vw;
}
.related__4-col a {
  color: inherit;
  text-decoration: underline;
}
.related__4-col a:hover {
  text-decoration: none;
}
.related-card__thumb {
  aspect-ratio: 300 / 190;
}
.related-card__thumb img {
  border: 1px solid #ddd;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.related-card__text {
  margin-top: 6px;
}
.related-card[target="_blank"] .related-card__caption::after {
  background-image: url("../images/common/icon_blank.webp");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 20px;
  margin-left: 1em;
  vertical-align: bottom;
  width: 20px;
}

@media screen and (max-width:1279px) {
  .related__4-col {
    grid-template-columns: repeat(2,calc((100% - 40px) / 2));
    row-gap: 20px;
  }
}

@media screen and (max-width:767px) {
  .itemBox__related {
    margin-left: 0;
    padding-inline: var(--site-shift-vw);
  }
}
@media screen and (max-width:590px) {
  .related-card[target="_blank"] .related-card__caption::after{
    margin-left: 0.2em;
    background-position: center;
    width: 1em;
  }
}
@media screen and (min-width:1921px) {
  .itemBox__related {
    margin-left: 0;
  }
}

/*-----------------------------------------------------------
リンクリスト
--------------------------------------------------------------*/
.top_link_list {
  margin-bottom: 8.06vw;
  margin-top: 12.1vw;
}
.link_list__warp {
  display: flex;
  gap: 50px;
  margin-inline: 2.6vw var(--site-shift-vw);
  max-width: 1440px;
}
.link_list__link img {
  width: 100%;
}

@media screen and (max-width:1279px) {
  .top_link_list {
    margin-bottom: 10vw;
  }
  .link_list__warp {
    flex-wrap: wrap;
    gap: 20px;
  }
  .link_list__link {
    max-width: calc((100% - 60px) / 4);
  }
}

@media screen and (max-width:767px) {
  .link_list__link {
    max-width: calc((100% - 40px) / 3);
  }
  .top_link_list .itemBox {
    margin-bottom: 0;
  }
  .link_list__warp {
    margin-inline: 0 calc(var(--site-shift-vw) * 2);
  }
}
@media screen and (max-width:590px) {
  .link_list__link {
    max-width: calc((100% - 20px) / 2);
  }
}
