@charset "utf-8";

/* toggle-nav [upd]
------------------------------------------------ */
@media only screen and (min-width:1000px){
#global-nav>li>a {font-size: 1.4rem;}
.toggle-nav .third-nav>li>a {font-size: 1.4rem;}
.toggle-nav .fourth-nav>li>a {font-size: 1.4rem;}
.toggle-nav .second-nav>li>a {display: none;}
.toggle-nav .third-nav>li {width: 33%;}
.toggle-nav .third-nav>li:has(>ul) {width: 100%; padding-bottom: 30px;}
.toggle-nav .third-nav .js-toggle-sp>a {pointer-events: none;user-focus: none;padding-left: 0px;font-weight: bold;}
.toggle-nav .third-nav .js-toggle-sp>a::before {display: none;}
.toggle-nav .fourth-nav>li {width: 25%; float: left;}
.toggle-nav .fourth-nav>li>a:hover:hover, .toggle-nav .fourth-nav>li>a:hover:active, .toggle-nav .fourth-nav>li>a:hover:focus, .toggle-nav .fourth-nav>li>a:active:hover, .toggle-nav .fourth-nav>li>a:active:active, .toggle-nav .fourth-nav>li>a:active:focus, .toggle-nav .fourth-nav>li>a:focus:hover, .toggle-nav .fourth-nav>li>a:focus:active, .toggle-nav .fourth-nav>li>a:focus:focus {text-decoration: underline;}
}

/* .tab-d .tab-list-d-wrapper.tab-d-news
 * newsのタブコンテンツの幅調整（未使用）
------------------------------------------------ */
/*
@media only screen and (min-width: 768px) {
  .tab-d .tab-list-d-wrapper.tab-d-news{
    min-width:100px;
    max-width:100px;
  }
}
*/

/* .tab-d.tab-200
 * tab-dのリストの幅調整
------------------------------------------------ */
.tab-d.tab-200 .lists {
  max-width: 201px;
  min-width: 201px;
}
.tab-d.tab-200 .tab-list-d-wrapper{
  width:100%;
  height:100%;
  padding:16px 0;
  min-width:200px
}
@media only screen and (max-width: 767px) {
  .tab-d.tab-200 .lists {
    max-width: inherit; /* SP版では最大幅をリセット */
    min-width: inherit; /* SP版では最小幅をリセット */
  }
}

/* .tab-b .tab-list-b.tab-b-news>li
 * タブコンテンツの幅調整
------------------------------------------------ */
.tab-b .tab-list-b.tab-b-news>li{
  min-width:85px;
}

/* news-content
------------------------------------------------ */
.news-content {
  display: flex;
  align-items: flex-start;
}

.news-content .date {
  flex-basis: 150px;
  flex-shrink: 0;
  flex-grow: 0;
  margin-right: 10px;
  white-space: nowrap;
  box-sizing: border-box;
}

/* ニュース本文 */
.news-content .news-text {
  flex-grow: 1;
}

/* .c-lyt-contact-a .c-list-contact-a li.p-type-mail .customer
 * お問い合わせフォーム用
------------------------------------- */
.c-lyt-contact-a .c-list-contact-a li.p-type-mail .customer {
  margin-left: -34px;
  text-align: center;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px){
  .c-lyt-contact-a .c-list-contact-a li.p-type-mail .customer {
    margin-left: -34px;
  }
}

/* type-form2
 * お問い合わせフォーム用
------------------------------------------------ */
.type-form2 {
  position: relative;
  padding-left: 30px;
  display: flex;
  align-items: flex-start;
  white-space: normal;
  margin: 10px 0;
  max-width: 300px;
  font-size: 1.2em;
  font-weight: bold;
  color: #a30b1a;
}

.type-form2::before {
  display: block;
  content: "";
  width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("/solutions/common/images/icon/icon_form_tcm283-5248093_tcm283-2750236-32.gif");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.type-form2_txt {
  flex-grow: 1;
}

.type-form2.align-center {
  align-items: center;
}

.type-form.align-center::before {
  top: 50%;
  transform: translateY(-50%);
}

/* lf-hero-a.hero-small
 * 小さいヒーローエリア
------------------------------------------------ */
.lf-hero-a.hero-small {
  height: 200px !important;
  max-height: 200px !important;
  min-height: 200px !important;
}

@media only screen and (max-width: 767px) {
  .lf-hero-a.hero-small {
    height: 200px !important;
    max-height: 200px !important;
    min-height: 200px !important;
  }
}

.lf-hero-a.hero-small .lf-hero-contents {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-left: calc((100% - 1264px) / 2 + 10px);
}

.lf-hero-a.hero-small .lf-hero-contents-inner {
  width: 100%;
}

@media only screen and (max-width:1280px) {
  .lf-hero-a.hero-small .lf-hero-contents {
    padding-left: 8px;
  }
  .lf-hero-a.hero-small .lf-hero-contents-inner {
    width: 100%;
    margin-right: calc(275vw*100/1280);
  }
}

@media only screen and (max-width:767px) {
  .lf-hero-a.hero-small .lf-hero-contents {
    justify-content: center;
    padding-left: 16px;
    padding-right: 16px;
  }
  .lf-hero-a.hero-small .lf-hero-contents-inner {
    margin-right: 0;
    width: auto;
  }
}

.lf-hero-a .lf-hero-contents .lf-hero-contents-inner .sub-title {
  font-size: 2.0rem;
}

.lf-hero-a .lf-hero-contents .lf-hero-contents-inner .sub-title_btm {
  font-size: 1.4rem;
  margin-top: 16px;
}

.lf-hero-a.hero-small .lf-hero-contents-inner .main-title {
    font-size: 3.5rem;
}

@media screen and (max-width: 1280px) {
.lf-hero-a.hero-small .lf-hero-contents-inner .main-title {
    font-size: 3.5rem;
  }
}

@media screen and (max-width: 767px) {
  .lf-hero-a .lf-hero-contents .lf-hero-contents-inner .sub-title {
    font-size: 2.0rem;
  }
  .lf-hero-a .lf-hero-contents .lf-hero-contents-inner .sub-title_btm {
    font-size: 1.4rem;
  }
  .lf-hero-a.hero-small .lf-hero-contents-inner .main-title {
    font-size: 3.5rem;
  }
}

@media only screen and (max-width: 1000px) {
  .main-contents .js-nav-fixed+.section .section-inner{
    margin-top:56px !important;
  }
}

/* ヒーローエリアの背景図
------------------------------------------------ */
.lf-hero-a.lf-mg-rd2 .lf-hero-contents {background-image: url(/solutions/common/images/infinity/lf-bgg-rd-mg.png); background-position: bottom;}
.lf-hero-a.lf-bl-cy2 .lf-hero-contents {background-image: url(/solutions/common/images/infinity/lf-bgg-bl-cy.png); background-position: bottom;}
.lf-hero-a.lf-dg-lg2 .lf-hero-contents {background-image: url(/solutions/common/images/infinity/lf-bgg-dg-lg.png);}
.lf-hero-a.lf-cy-bl2 .lf-hero-contents {background-image: url(/solutions/common/images/infinity/lf-bgg-cy-bl.png); background-position: bottom;}
.lf-hero-a.lf-cy-bl2 .lf-hero-contents {background-image: url(/solutions/common/images/infinity/lf-bgg-cy-bl.png); background-position: bottom;}
.lf-hero-a.sb-h8_t1  .lf-hero-contents {background-image: url(/solutions/common/images/infinity/FJ_SB_H8_T1_RGB.png); background-position: bottom;}
.lf-hero-a.sb-h9_t1  .lf-hero-contents {background-image: url(/solutions/common/images/infinity/FJ_SB_H9_T1_RGB.png); background-position: bottom;}

/* list-a2
 * 中点のリスト
------------------------------------------------ */
.list-a2 {
  padding-left: 20px;
}

.list-a2 + *:not([class^="hdg-"]):not([class*=" hdg-"]){
  margin-top: 34px;
}

@media only screen and (max-width: 480px) {
  .list-a2 + *:not([class^="hdg-"]):not([class*=" hdg-"]){
    margin-top: 28px;
  }
}

.list-a2 + p,
.list-a2 + [class^=list-],
.list-a2 + [class*=" list-"] {
  margin-top: 28px !important;
}

.list-a2 > li + li {
  margin-top: 12px;
}

.list-a2 > li > ul,
.list-a2 > li > ol,
.list-a2 > li > .item > ul,
.list-a2 > li > .item > ol,
.list-a2 > li > p + *,
.list-a2 > li > p + [class^=list-],
.list-a2 > li > p + [class*=" list-"] {
  margin-top: 12px !important;
}

.list-a2[class*=diff-col]{
  display: flex;
  flex-wrap: wrap;
  margin-left: -40px;
  margin-bottom: -12px;
  padding-left: 0;
  flex-grow: 1;
}

@media only screen and (max-width: 767px) {
  .list-a2[class*=diff-col]{
    display: block;
    margin-left: 0;
  }
}

.list-a2[class*=diff-col]>li{
  margin-top: 0;
  margin-bottom: 12px;
  padding-left: 40px;
}

@media only screen and (max-width: 767px) {
  .list-a2[class*=diff-col]>li{
    padding-left: 0;
  }
}

.list-a2.diff-col2>li{
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .list-a2.diff-col2>li{
    width: 100%;
  }
}

.list-a2.diff-col3>li{
  width: 33.33333%;
}

@media only screen and (max-width: 767px) {
  .list-a2.diff-col3>li{
    width: 100%;
  }
}

.list-a2.diff-col4>li{
  width: 25%;
}

@media only screen and (max-width: 767px) {
  .list-a2.diff-col4>li{
    width: 100%;
  }
}

.list-a2 > li{
  position: relative;
  padding-left: 24px;
}

.list-a2 > li:before{
  display: block;
  position: absolute;
  content: "・";
  color: #6d6e70;
  left: 0;
  top: 0.1em;
  font-size: 1.2em;
  line-height: 1;
}

@media only screen and (max-width: 480px) {
  .list-a2 > li:before{
    top: 0em;
  }
}

.list-a2[class*=diff-col]>li{
  padding-left: 57px;
}

@media only screen and (max-width: 767px) {
  .list-a2[class*=diff-col]>li{
    padding-left: 17px;
  }
}

.list-a2[class*=diff-col]>li:before{
  left: 40px;
}

@media only screen and (max-width: 767px) {
  .list-a2[class*=diff-col]>li:before{
    left: 0;
  }
}

/* responsive styles */
@media only screen and (max-width: 767px) {
  .list-a2 {
    padding-left: 0;
  }
}

/* list-error-a2
 * 太字効果削除
------------------------------------------------ */
.list-error-a2{
  padding-left: 20px;
}

.list-error-a2 + *:not([class^="hdg-"]):not([class*=" hdg-"]){
  margin-top: 34px;
}

@media only screen and (max-width: 480px) {
  .list-error-a2 + *:not([class^="hdg-"]):not([class*=" hdg-"]){
    margin-top: 28px;
  }
}

.list-error-a2 + p,
.list-error-a2 + [class^=list-],
.list-error-a2 + [class*=" list-"] {
  margin-top: 28px !important;
}

.list-error-a2 > li + li {
  margin-top: 12px;
}

.list-error-a2 > li > ul,
.list-error-a2 > li > ol,
.list-error-a2 > li > .item > ul,
.list-error-a2 > li > .item > ol,
.list-error-a2 > li > p + *,
.list-error-a2 > li > p + [class^=list-],
.list-error-a2 > li > p + [class*=" list-"] {
  margin-top: 12px !important;
}

.list-error-a2 > li{
  color: #000;
  position: relative;
  padding-left: 36px;
}

.list-error-a2 > li::before{
  display: block;
  position: absolute;
  content: "";
  background-position: -56px 0;
  width: 20px;
  height: 20px;
  left: 0;
  top: .25em;
  background-image:url(/solutions/common/images/icon/sprite2.png);
}

@media only screen and (max-width: 480px) {
  .list-error-a2 > li::before{
    top: .1em;
  }
}

/* Responsive adjustments for overall padding */
@media only screen and (max-width: 767px) {
  .list-error-a2 {
    padding-left: 0;
  }
}

/* list-news-a.text-decoration
 * aタグに下線を表示
------------------------------------------------ */
.list-news-a.text-decoration a {
    text-decoration: underline;
}

.list-news-a.text-decoration a:hover,
.list-news-a.text-decoration a:active,
.list-news-a.text-decoration a:focus {
  color: #000;
  text-decoration: underline;
}

.list-news-a.diff-hover.text-decoration a:hover,
.list-news-a.diff-hover.text-decoration a:active,
.list-news-a.diff-hover.text-decoration a:focus {
    background: #efefef;
}

/*
 * list-a, list-order-a, list-a2 に tight クラスが付与された場合に、行間をつめる
------------------------------------------------ */
.list-a.tight > li,
.list-order-a.tight > li,
.list-link-a.tight > li,
.list-a2.tight > li {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.6;
}

/* tight クラスが適用された場合、各項目間のマージンを調整 (隣接セレクタ) */
.list-a.tight > li + li,
.list-order-a.tight > li + li,
.list-link-a.tight > li + li,
.list-a2.tight > li + li {
  margin-top: 0;
}

/* <li>内部の要素のマージン調整 */
.list-a.tight > li > *,
.list-a.tight > li > p,
.list-a.tight > li > ul,
.list-a.tight > li > ol,
.list-order-a.tight > li > *,
.list-order-a.tight > li > p,
.list-order-a.tight > li > ul,
.list-order-a.tight > li > ol,
.list-link-a.tight > li > *,
.list-link-a.tight > li > p,
.list-link-a.tight > li > ul,
.list-link-a.tight > li > ol,
.list-a2.tight > li > *,
.list-a2.tight > li > p,
.list-a2.tight > li > ul,
.list-a2.tight > li > ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* 箇条書きマークの垂直位置調整 */
.list-a.tight > li:before,
.list-order-a.tight > li::before,
.list-link-a.tight > li::before,
.list-a2.tight > li:before {
  /* 各リストのデフォルトのtop値を考慮し、ここでは標準的な調整値 */
  top: 0.5em;
}

/*
 * 個別調整
 */

.list-order-a.tight > li > .item {
  padding-top: 0;
  padding-bottom: 0;
}

.list-order-a.tight > li::before {
  vertical-align: top;
}

.list-a2.tight > li {
  padding-left: 24px;
}

.list-a2.tight > li:before {
  top: 0.1em;
}

.list-a2.tight[class*=diff-col] > li {
  padding-left: 57px;
}

@media only screen and (max-width: 767px) {
  .list-a2.tight[class*=diff-col] > li {
    padding-left: 0;
  }
}

.list-a2.tight[class*=diff-col] > li:before {
  left: 40px;
}

@media only screen and (max-width: 767px) {
  .list-a2.tight[class*=diff-col] > li:before {
    left: 0;
  }
}

/* list-a2 の responsive styles */
@media only screen and (max-width: 767px) {
  .list-a2.tight {
    padding-left: 0;
  }
  .list-a2.tight > li {
    padding-left: 24px;
  }
}

/* u-icon_pdf-l
 * リストの接頭を左端に配置
------------------------------------------------ */
.u-icon_pdf-l {
  text-indent: -26px;
  padding-left: 26px;
  position: relative;
  list-style: none;
}

.u-icon_pdf-l::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 16px;
  background: url(/solutions/common/images/icon/icon-pdf-01.png) no-repeat;
  margin-right: 10px;
  margin-left: 2px;
  vertical-align: middle;

  /* アイコンを要素の左端に配置 */
  /* position: absolute; */
  left: 0;
  /* top: 50%;
  transform: translateY(-50%); */
  top: 1px;
  transform: none;
  margin-top: 0;
}

/* u-icon_form-l
 * リストの接頭を左端に配置
------------------------------------------------ */
.u-icon_form-l {
  text-indent: -26px;
  padding-left: 26px;
  position: relative;
  list-style: none;
}

.u-icon_form-l::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(/solutions/common/images/icon/icon_form_tcm283-5248093_tcm283-2750236-32.gif) no-repeat;
  background-size: 18px 18px;
  margin-right: 8px;
  margin-left: 2px;
  vertical-align: middle;

  /* アイコンを要素の左端に配置 */
  /* position: absolute; */
  left: 0;
  /* top: 50%;
  transform: translateY(-50%); */
  top: 0;
  transform: none;
  margin-top: 0;
}

/* u-icon_mail-l
 * リストの接頭を左端に配置
------------------------------------------------ */
.u-icon_mail-l {
  text-indent: -26px;
  padding-left: 26px;
  position: relative;
  list-style: none;
}

.u-icon_mail-l::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 16px;
  background: url(/solutions/common/images/icon/sprite2.png) no-repeat;
  background-position: -69px -75px;
  margin-right: 10px;
  margin-left: 0;
  vertical-align: middle;

  /* アイコンを要素の左端に配置 */
  /* position: absolute; */
  left: 0;
  /* top: 50%;
  transform: translateY(-50%); */
  top: 1px;
  transform: none;
  margin-top: 0;
}

/* u-icon_arw-l
 * リストの接頭に右向き矢印を左端に配置
------------------------------------------------ */
.u-icon_arw-l {
  padding-left: 8px;
  text-indent: 0;
  position: relative;
  display: block;
}

.u-icon_arw-l::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-right: 16px;
  margin-left: 0px;
  vertical-align: middle;

  /* アイコンを要素の左端に配置 */
  /* position: absolute; */
  left: -8px;
  /* top: 50%;
  transform: translateY(-50%) rotate(45deg); */
  transform: rotate(45deg);
  top: 8px;
  margin-top: 0;
}

/* u-icon_square-l
 * リストの接頭に■を左端に配置
------------------------------------------------ */
.u-icon_square-l {
  padding-left: 17px;
  text-indent: 0;
  position: relative;
  display: block;
}

.u-icon_square-l::before {
  content: "■";
  display: inline-block;
  font-size: 1em;
  line-height: 1;
  color: #333;
  width: auto;
  height: auto;
  margin-right: 8px;
  margin-left: 0;
  vertical-align: middle;

  /* アイコンを要素の左端に配置 */
  position: absolute;
  left: 0px;
  /* top: 50%;
  transform: translateY(-50%); */
  top: 3px;
  margin-top: 0;
}

.u-icon_square-l.list-item {
    list-style: none;
}
