@charset "utf-8";

@import url("css/reset.css");
@import url("css/common.css");
@import url("css/layout.css?20201109");
@import url("css/page.css");
@import url("css/font-awesome.css");
@import url("css/buttons.css");

/* メインビジュアル調整 2021 */

.js-carousel {
  position: relative;
  overflow: hidden;
}

.js-carousel__slide {
  position: relative;
}

.js-carousel__item {
  width: 100%;
}

.js-carousel--fade .js-carousel__slide {
  overflow: hidden;
}

.js-carousel--fade .js-carousel__item {
  position: absolute;
  -webkit-transition-property: opacity, visibility;
  -o-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-timing-function: linear, step-end;
  -o-transition-timing-function: linear, step-end;
  transition-timing-function: linear, step-end;
}

.js-carousel--fade .js-carousel__item.is-show {
  -webkit-transition-duration: 0s, 0s !important;
  -o-transition-duration: 0s, 0s !important;
  transition-duration: 0s, 0s !important;
}

.js-carousel--horizontal {
  -webkit-transition: -webkit-transform 0s ease-in-out;
  transition: -webkit-transform 0s ease-in-out;
  -o-transition: transform 0s ease-in-out;
  transition: transform 0s ease-in-out;
  transition: transform 0s ease-in-out, -webkit-transform 0s ease-in-out;
}

.js-carousel--horizontal .js-carousel__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.js-carousel--horizontal .js-carousel__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
}

.js-carousel__pager,
.js-carousel__prev,
.js-carousel__next {
  font-size: 0;
}

.js-carousel__pager {
  display: table;
  table-layout: fixed;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  padding-left: 1px;
  padding-right: 1px;
}

.js-carousel__pager > li {
  display: table-cell;
  width: 100%;
}

.js-carousel__pager > li > a {
  display: block;
  cursor: pointer;
  width: 100%;
  height: 30px;
  background-color: rgba(255, 255, 255, 0.5);
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
  border-top: 22px solid transparent;
  border-bottom: 3px solid transparent;
  background-clip: padding-box;
}

.js-carousel__pager > li > a:hover {
  background-color: #fff;
}

.js-carousel__pager > li.is-current > a {
  background-color: #fff;
}

.js-carousel__prev,
.js-carousel__next {
  display: block;
  position: absolute;
  top: 0;
  width: 15%;
  min-width: 50px;
  height: 100%;
  z-index: 4;
  overflow: hidden;
  cursor: pointer;
}

.js-carousel__prev::before,
.js-carousel__next::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  border-left: 4px solid rgba(255, 255, 255, 0.5);
  border-bottom: 4px solid rgba(255, 255, 255, 0.5);
}

.js-carousel__prev:hover::before,
.js-carousel__next:hover::before {
  border-left-color: #fff;
  border-bottom-color: #fff;
}

.js-carousel__prev {
  left: 0;
}

.js-carousel__prev::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.js-carousel__next {
  right: 0;
}

.js-carousel__next::before {
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.js-carousel__stop {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  position: absolute;
  color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 2px 5px;
  top: 10px;
  right: 10px;
  z-index: 6;
  cursor: pointer;
  text-decoration: none;
}

.js-carousel__stop:hover {
  color: #fff;
  border-color: #fff;
  text-decoration: none;
}

.main-visual,
.main-visual::before,
.main-visual::after,
.main-visual *,
.main-visual *::before,
.main-visual *::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.main-visual {
  position: relative;
  overflow: hidden;
  height: 500px;
}

.main-visual__content,
.main-visual__slide-item,
.main-visual__slide {
  position: absolute;
  height: 100%;
  width: 100%;
}

@media (max-width: 991px) {
  .main-visual {
    height: 250px;
  }
}

.main-visual__text {
  position: absolute;
  width: 1040px;
  margin-left: -520px;
  padding-left: 20px;
  padding-right: 20px;
  left: 50%;
  top: 50%;
  -webkit-transform: translateY(-70%);
  -ms-transform: translateY(-70%);
  transform: translateY(-70%);
  z-index: 2;
}

@media (max-width: 1040px) {
  .main-visual__text {
    width: 100%;
    margin-left: 0;
    left: 0;
  }
}

.main-visual__text-h1 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 55px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 15px;
  color: #383838;
}

.main-visual__slide .main-visual__text-h1 {
  letter-spacing: -0.05em;
}
.main-visual__text-h1 br {
  display: none;
}

.main-visual__slide .main-visual__text-p {
  letter-spacing: -0.05em;
}

@media (max-width: 991px) {
  .main-visual__text-h1 {
    margin-bottom: 10px;
  }
  .main-visual__slide .main-visual__text-h1 {
    font-size: 45px;
  }
  .main-visual__slide .main-visual__text {
    -webkit-transform: translateY(-60%);
    -ms-transform: translateY(-60%);
    transform: translateY(-60%);
  }
}

.main-visual__text-p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #005caf;
  text-shadow: 0 0 8px #fff;
}

@media (max-width: 767px) {
  .main-visual__text-h1 {
    font-size: 8vw;
    margin-bottom: 1vw;
  }
  .main-visual__text-h1 br {
    display: inline;
  }
  .main-visual__slide .main-visual__text-h1 {
    font-size: 8vw;
  }
  .main-visual__text-p {
    font-size: 3.25vw;
  }
}

.main-visual__image {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
}

@media (max-width: 991px) {
  .main-visual__image {
    background-size: 1000px auto;
  }

  .main-visual__content .main-visual__image {
    background-position: 50% 40%;
  }
}

.js-carousel {
  height: 100%;
}
.carousel {
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
  height: 100%;
}
.js-carousel.is-loaded .carousel {
  opacity: 1;
}

/* ヘッダーの新しい処理 */

.new-header,
.new-header::before,
.new-header::after,
.new-header *,
.new-header *::before,
.new-header *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.new-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  float: right;
  margin-top: 10px;
}

.new-header__item {
  position: relative;
  font-size: 16px;
  margin-bottom: -20px;
}

.new-header__link {
  display: block;
  padding: 20px;
  text-decoration: none;
  -webkit-transition: opacity 0.05s ease-in-out;
  -o-transition: opacity 0.05s ease-in-out;
  transition: opacity 0.05s ease-in-out;
}

.new-header__link:hover {
  text-decoration: none;
}

.new-header__item:last-child .new-header__link {
  padding-right: 0;
}

.new-header__text {
  display: inline-block;
}

.new-header__text::before {
  content: "";
  position: absolute;
  background-color: #d0e1ee;
  width: 1px;
  height: 18px;
  left: 0;
  top: 50%;
  margin-top: -9px;
}

.new-header__item:first-child .new-header__text::before {
  display: none;
}

.new-header__item.has-children::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  left: 50%;
  margin-left: -4px;
  bottom: 10px;
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  -o-transition: transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
}

.new-header__item.has-children:hover::before {
  -webkit-transform: rotate(45deg) translate(3px, 3px) scale(0.8);
  -ms-transform: rotate(45deg) translate(3px, 3px) scale(0.8);
  transform: rotate(45deg) translate(3px, 3px) scale(0.8);
}

.new-header__item:hover .new-header__link {
  opacity: 0.7;
}

.new-header__item:hover .new-header__text {
  text-decoration: underline;
}

.new-header-child-outer {
  position: absolute;
  visibility: hidden;
  min-width: 100%;
  white-space: nowrap;
  padding: 15px 20px;
  opacity: 0;
  top: 100%;
  left: 0;
  background-color: #fff;
  color: #333;
  font-size: 13px;
  z-index: 10;
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
  -webkit-transition: visibility 0s step-start 0.25s, opacity 0.25s ease-in-out;
  -o-transition: visibility 0s step-start 0.25s, opacity 0.25s ease-in-out;
  transition: visibility 0s step-start 0.25s, opacity 0.25s ease-in-out;
}

.new-header__item:hover .new-header-child-outer {
  opacity: 1;
  visibility: visible;
  -webkit-transition: visibility 0.25s step-start 0s, opacity 0.25s ease-in-out;
  -o-transition: visibility 0.25s step-start 0s, opacity 0.25s ease-in-out;
  transition: visibility 0.25s step-start 0s, opacity 0.25s ease-in-out;
}

.new-header-child-outer a {
  color: inherit;
}

.new-header-child__item:not(:last-child) {
  margin-bottom: 10px;
}

.new-header-child__label {
  position: relative;
  display: inline-block;
  font-size: 12px;
  position: relative;
  padding-right: 10px;
}

.new-header-child__label::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 1px solid #999;
  border-top: 1px solid #999;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -3px;
}

.new-header-grandchild {
  padding-left: 1em;
  margin-top: 6px;
}

.new-header-grandchild__item:not(:last-child) {
  margin-bottom: 3px;
}

/* スマホメニュー */
.new-menu,
.new-menu::before,
.new-menu::after,
.new-menu *,
.new-menu *::before,
.new-menu *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.new-menu {
  padding-top: 10px;
}

.new-menu__item {
  position: relative;
  border-bottom: 1px #eff3f7 solid;
}

.new-menu__link {
  display: block;
  padding: 21px 50px 21px 40px;
  color: #004ea2;
  font-size: 18px;
  line-height: 1;
  position: relative;
}

.new-menu__link:hover,
.new-menu-child__link:hover,
.new-menu-grandchild__link:hover {
  text-decoration: none;
}

.new-menu__link img {
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -10px;
}

.new-menu__toggle {
  display: block;
  position: absolute;
  width: 50px;
  height: 60px;
  right: 0;
  top: 0;
  overflow: hidden;
}

.new-menu__toggle::before,
.new-menu__toggle::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #004ea2;
}

.new-menu__toggle::before {
  width: 24px;
  height: 2px;
  left: 50%;
  top: 50%;
  margin-left: -12px;
  margin-top: -1px;
}

.new-menu__toggle::after {
  width: 2px;
  height: 24px;
  left: 50%;
  top: 50%;
  margin-top: -12px;
  margin-left: -1px;
}

.new-menu__item.js-toggle.is-open .new-menu__toggle::after {
  display: none;
}

.js-toggle__target {
  display: none;
}

.new-menu-child {
  padding: 0 20px;
}

.new-menu-child__item {
  border-top: 1px #eff3f7 solid;
  padding-top: 5px;
}

.new-menu-child__link {
  display: inline-block;
  font-size: 16px;
  padding: 10px;
}

.new-menu-grandchild {
  padding: 0 15px 10px;
}

.new-menu-grandchild__link {
  display: inline-block;
  font-size: 14px;
  margin-bottom: 5px;
  padding-left: 15px;
  position: relative;
}

.new-menu-child__label {
  display: block;
  font-size: 16px;
  padding: 10px;
}

.new-menu-grandchild__link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 1px solid #004ea2;
  border-top: 1px solid #004ea2;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -3px;
}

/* ヘッダーの新しい処理（rich） */

.rich-header,
.rich-header::before,
.rich-header::after,
.rich-header *,
.rich-header *::before,
.rich-header *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.rich-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  float: right;
  margin-top: 10px;
}

.rich-header__item {
  font-size: 16px;
  margin-bottom: -20px;
  cursor: pointer;
}

.rich-header__link {
  display: block;
  position: relative;
  padding: 20px;
  text-decoration: none;
  -webkit-transition: opacity 0.05s ease-in-out;
  -o-transition: opacity 0.05s ease-in-out;
  transition: opacity 0.05s ease-in-out;
}

.rich-header__link:hover {
  text-decoration: none;
}

.rich-header__item:last-child .rich-header__link {
  padding-right: 0;
}

.rich-header__text {
  display: inline-block;
}

.rich-header__text::before {
  content: "";
  position: absolute;
  background-color: #d0e1ee;
  width: 1px;
  height: 18px;
  left: 0;
  top: 50%;
  margin-top: -9px;
}

.rich-header__item:first-child .rich-header__text::before {
  display: none;
}

.rich-header__item.has-children .rich-header__link::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #4681c8;
  border-right: 2px solid #4681c8;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  left: 50%;
  margin-left: -4px;
  bottom: 12px;
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  -o-transition: transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
}

.rich-header__item.has-children:hover .rich-header__link::before {
  -webkit-transform: rotate(45deg) translate(3px, 3px) scale(0.8);
  -ms-transform: rotate(45deg) translate(3px, 3px) scale(0.8);
  transform: rotate(45deg) translate(3px, 3px) scale(0.8);
}

.rich-header__item .rich-header__link::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #1e53b0;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
}

.rich-header__item:hover .rich-header__link::after {
  opacity: 1;
}

.rich-header__item:hover .rich-header__text {
  text-decoration: none;
}

.rich-header-child-outer {
  position: absolute;
  width: 100vw;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  left: 0;
  background-color: #fff;
  color: #333;
  font-size: 13px;
  z-index: 10;
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
  -webkit-transition: visibility 0s step-start 0.25s, opacity 0.25s ease-in-out;
  -o-transition: visibility 0s step-start 0.25s, opacity 0.25s ease-in-out;
  transition: visibility 0s step-start 0.25s, opacity 0.25s ease-in-out;
}

.rich-header-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 1040px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 20px 10px;
}

.rich-header-child__item {
  width: calc(25% - 30px);
}
.rich-header-child--5div .rich-header-child__item {
  width: calc(20% - 20px);
}

.rich-header__item:hover .rich-header-child-outer {
  opacity: 1;
  visibility: visible;
  -webkit-transition: visibility 0.25s step-start 0s, opacity 0.25s ease-in-out;
  -o-transition: visibility 0.25s step-start 0s, opacity 0.25s ease-in-out;
  transition: visibility 0.25s step-start 0s, opacity 0.25s ease-in-out;
}

.rich-header-child-outer a {
  color: inherit;
}
.rich-header-child__link {
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out;
}
.rich-header-child__link:hover {
  opacity: 0.5;
  text-decoration: none;
}
.rich-header-child__link > img,
.rich-header-child__link > span {
  display: block;
}
.rich-header-child__link > img {
  margin-bottom: 1em;
}
.rich-header-child__link > span {
  font-size: 15px;
  font-weight: bold;
}

.rich-header-child__item {
  margin-bottom: 15px;
}

.rich-header-child__label {
  position: relative;
  display: inline-block;
  font-size: 12px;
  position: relative;
}

.rich-header-grandchild-outer {
  background-color: #f0f3f7;
}

.rich-header-grandchild {
  display: none;
  width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.rich-header-grandchild::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 10px solid transparent;
  border-bottom-color: #f0f3f7;
  position: absolute;
  margin-left: -10px;
  bottom: 100%;
}
.rich-header-grandchild--scene::before {
  left: 37.5%;
}
.rich-header-grandchild--use::before {
  left: 62.5%;
}
.rich-header-grandchild--facility::before {
  left: 87.5%;
}
.rich-header-grandchild__link:hover {
  opacity: 0.5;
}

.rich-header-child__label.is-selected {
  color: #0053a6;
}
.rich-header-child__label:hover,
.rich-header-child__label:focus {
  text-decoration: none;
}

.rich-header-grandchild__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 20px;
}
.rich-header-grandchild__item {
  width: calc(20% - 20px);
  margin-bottom: 20px;
}
.rich-header-grandchild__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  border-radius: 5px;
  position: relative;
  width: 100%;
  padding: 10px 20px;
  height: 100%;
}
.rich-header-grandchild__link:hover {
  text-decoration: none;
}

.rich-header-grandchild__link img {
  display: block;
  width: 32px;
  height: 23px;
}

.rich-header-grandchild__link span {
  display: block;
  width: calc(100% - 32px);
  padding-left: 10px;
}

.rich-header-grandchild__label {
  font-size: 16px;
  font-weight: bold;
  color: #004ea2;
  text-align: center;
  padding-top: 40px;
  padding-bottom: 20px;
}

/* スマホメニュー（rich） */
.rich-menu,
.rich-menu::before,
.rich-menu::after,
.rich-menu *,
.rich-menu *::before,
.rich-menu *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.rich-menu {
  padding-top: 10px;
}

.rich-menu__item {
  position: relative;
  border-bottom: 1px #eff3f7 solid;
}

.rich-menu__link {
  display: block;
  padding: 21px 50px 21px 40px;
  color: #004ea2;
  font-size: 16px;
  line-height: 1;
  position: relative;
}

.rich-menu__link:hover,
.rich-menu-child__link:hover,
.rich-menu-grandchild__link:hover {
  text-decoration: none;
}

.rich-menu__link img {
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -10px;
}

.rich-menu__toggle {
  display: block;
  position: absolute;
  width: 50px;
  height: 60px;
  right: 0;
  top: 0;
  overflow: hidden;
}
.rich-menu__label:focus,
.rich-menu-child__label:focus {
  text-decoration: none;
}
.rich-menu__label::before,
.rich-menu-child__label::before {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  border-left: 2px solid #004ea2;
  border-top: 2px solid #004ea2;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  right: 20px;
  top: 50%;
  margin-top: -4px;
}
.rich-menu-child__label::before {
  border-left-color: #888;
  border-top-color: #888;
}

.rich-menu__item.is-open .rich-menu__label::before,
.rich-menu-child__item.is-open .rich-menu-child__label::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.js-toggle__target,
.js-sub-toggle__target {
  display: none;
}

.rich-menu-child__item {
  border-top: 1px #eff3f7 solid;
}

.rich-menu-child__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  font-size: 16px;
  padding: 10px 10px 10px 0;
  color: #333;
}
.rich-menu-child__label {
  padding: 10px 50px 10px 0;
}
.rich-menu-child__link:hover,
.rich-menu-child__link:focus {
  text-decoration: none;
}
.rich-menu-child__link img,
.rich-menu-child__link span {
  display: block;
}
.rich-menu-child__link img {
  width: 80px;
}
.rich-menu-child__link span {
  width: calc(100% - 80px);
  padding-left: 20px;
}
.rich-menu-grandchild__item {
  border-top: 1px #eff3f7 solid;
}
.rich-menu-grandchild__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 16px;
  position: relative;
  padding: 15px 15px 15px 10px;
  color: #333;
  background-color: #f9fafc;
}
.rich-menu-grandchild__link img,
.rich-menu-grandchild__link span {
  display: block;
}
.rich-menu-grandchild__link img {
  width: 32px;
}
.rich-menu-grandchild__link span {
  width: calc(100% - 32px);
  padding-left: 20px;
}

/* フッターの調整 */
.footerlink > ul > li + li {
  padding-left: 15px;
  margin-left: 15px;
}

.ftlink a {
  font-size: 13px;
}

.footerbtn a {
  font-size: 11px;
}

.footerbtn a span {
  font-size: 18px !important;
}

.footerbox > .inner {
  overflow: hidden;
}

.topgeneralarea .topgeneralr a {
  min-width: 280px;
}

.rich-header-child::after {
  content: "";
  display: block;
  width: calc(25% - 30px);
}

/* 2022.04 ヘッダー・フッター差し替え*/
.rich-header .rich-header__text {
  color: #0053a6;
}

.rich-header-grandchild--theme .rich-header-grandchild__item {
  width: calc(50% - 10px);
}

.rich-header-grandchild--theme .rich-header-grandchild__icon {
  display: inline-block;
  width: 32px;
  padding-left: 0;
}

.rich-header-grandchild--theme .rich-header-grandchild__icon img {
  width: 70%;
  height: auto;
  margin: 0 auto;
}

.rich-header-child-outer .rich-header-child {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.rich-header-child-outer .rich-header-child__item {
  margin-right: 30px;
}

.rich-header-child-outer .rich-header-child__item:nth-child(4n) {
  margin-right: 0;
}

#header .headerpc .headerlang .langbtn a {
  padding: 10px 48px;
}

.rich-menu-grandchild--theme .rich-menu-grandchild__icon {
  display: inline-block;
  width: 32px;
  padding-left: 0;
}

.rich-menu-grandchild--theme .rich-menu-grandchild__icon img {
  width: 60%;
  height: auto;
  margin: 0 auto;
}

.ftlink .ftlink a,
.ftlink .ftlinkin a {
  font-size: 13px;
}

.ftlink .ftlink a.txt--bold,
.ftlink .ftlinkin a.txt--bold {
  font-size: 16px;
}

.ftlink .ftlink p,
.ftlink .ftlinkin p {
  margin-bottom: 5px;
}

.ftlink .ftlink span,
.ftlink .ftlinkin span {
  font-size: 14px;
}

.ftlink .txt--bold {
  font-size: 13px;
}

.hlg01 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.hlg01--01 {
  width: 26%;
}

.hlg01--02 {
  width: 52%;
}

.hlg01--03 {
  width: 22%;
}

.ftlinkbox > li + li {
  padding-left: 50px;
}

.footerlink > ul > li + li {
  margin-left: 0;
}

.footer-sns__Wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 303px;
  background-color: #fff;
}

.footerspbox {
  padding-top: 80px;
}

.footerlinksp02 ul.item-w100 li {
  width: 100%;
  padding-left: 0;
}

#footer .ftlink a:hover {
  text-decoration: underline;
}

.secTxt {
  font-size: 16px;
  line-height: 1.875;
}

.secTxt--sm {
  font-size: 14px;
  line-height: 1.71429;
}

.color--blue {
  color: #0053a6;
}

.color--white {
  color: #fff;
}

.txt--bold {
  font-weight: 700;
}

.txt--fz16 {
  font-size: 16px !important;
}

.rich-header-child-outer {
  display: none;
  position: absolute;
  width: 100vw;
  overflow: hidden;
  visibility: visible;
  opacity: 1;
}

.footerbtn3 {
  background: url(../../images/ico_ftlink03.svg) 18px center no-repeat #fff;
  border: 1px solid #e5e5e5;
}

.footerbtn3 a {
  color: #014fa3;
}

.footerbtn3.footerbtn:before {
  color: #014fa3;
}

.rich-header-child-wrapper {
  position: relative;
  width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.rich-header-banner {
  position: absolute;
  bottom: 60px;
  right: 50px;
  width: 303px;
}

.rich-header-banner .footerbtn {
  margin: 0;
}

.rich-menu-child--product .rich-menu-child__item:last-child {
  border-bottom: 1px solid #eff3f7;
}

.footerbox .footer-sns__Wrapper {
  width: 626px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.footerbox .footer-sns__block {
  width: 303px;
}
