@charset "UTF-8";
/*===============================================

common

=================================================*/
*, *:before, *:after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
  line-height: 1.6;
}

body {
  color: #080618;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

[type=button], [type=reset], [type=submit], button {
  border: 0;
  background: none;
  padding: 0;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.btn__boxstyle {
  max-width: 250px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 50px 0 0;
  gap: 50px;
  padding: 2px;
  border-radius: 3px;
  border: 1px solid #BBBBBB;
  background-color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  color: #080618;
}
.btn__boxstyle .icon__box-arrow, .btn__boxstyle .icon__box-window {
  position: relative;
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 3px;
  background-color: #080618;
  overflow: hidden;
}
.btn__boxstyle .icon__box-arrow::after, .btn__boxstyle .icon__box-arrow::before, .btn__boxstyle .icon__box-window::after, .btn__boxstyle .icon__box-window::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 16px;
  height: 10px;
  background-image: url(../images/icon-arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  transition: 0.3s;
}
.btn__boxstyle .icon__box-arrow::before, .btn__boxstyle .icon__box-window::before {
  left: -150%;
  background-image: url(../images/icon-arrow-right-black.svg);
}
.btn__boxstyle .icon__box-window::after {
  width: 14px;
  height: 14px;
  background-image: url(../images/icon-window-white.svg);
  background-size: 12px;
}
.btn__boxstyle .icon__box-window::before {
  display: none;
}
.btn__boxstyle:hover {
  color: #fff;
  background-color: #080618;
}
.btn__boxstyle:hover .icon__box-arrow {
  background-color: #fff;
}
.btn__boxstyle:hover .icon__box-arrow::after {
  left: 150%;
}
.btn__boxstyle:hover .icon__box-arrow::before {
  left: 50%;
}
.btn__boxstyle:hover .icon__box-window {
  background-color: #fff;
}
.btn__boxstyle:hover .icon__box-window::after {
  background-image: url(../images/icon-window-black.svg);
}
.btn__boxstyle.btn__backpage {
  justify-content: flex-start;
}
.btn__boxstyle.btn__backpage .icon__box-arrow::after, .btn__boxstyle.btn__backpage .icon__box-arrow::before {
  background-image: url(../images/icon-arrow-left.svg);
}
.btn__boxstyle.btn__backpage .icon__box-arrow::before {
  left: 150%;
  background-image: url(../images/icon-arrow-left-black.svg);
}
.btn__boxstyle.btn__backpage:hover .icon__box-arrow::after {
  left: -150%;
}
.btn__boxstyle.btn__backpage:hover .icon__box-arrow::before {
  left: 50%;
}

:focus {
  outline: none !important;
  box-shadow: none !important;
}

*:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Remove the clear “×” icon in Chrome/Safari */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
  -webkit-appearance: none;
}

/* Remove clear icon in Edge/IE */
input[type=search]::-ms-clear,
input[type=search]::-ms-reveal {
  display: none;
}

/* Chrome, Safari, Opera */
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

/* Edge */
input[type=search]::-ms-clear {
  display: none;
}

input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-width: 20px;
  width: 20px;
  height: 20px;
  border: 1px solid #BBBBBB;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  background-color: #fff;
}

input[type=checkbox]:checked::after {
  content: "";
  background-image: url(../images/icon/icon-check.svg);
  background-repeat: no-repeat;
  min-width: 15px;
  width: 15px;
  height: 11px;
  font-size: 16px;
  color: #004097;
  position: absolute;
  left: 2px;
  top: 3px;
}

/* PC〜768までの画面両サイドの余白 */
@media screen and (min-width: 768px) {
  .side__padding {
    padding-right: 15px;
    padding-left: 15px;
  }
}
/*===============================================

header

=================================================*/
.nav {
  font-size: 0.9375rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  color: #fff;
}
.nav .nav__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 30px;
}
.nav .nav__inner .nav__logo {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 900px) {
  .nav .nav__inner .nav__logo {
    max-width: 143px;
    width: 100%;
  }
}
.nav .nav__inner .nav__logo .nav__logo-defa {
  display: block;
}
.nav .nav__inner .nav__logo .nav__logo-blue {
  display: none;
}
.nav .nav__inner.sc_blur {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(10px);
}
@media screen and (max-width: 900px) {
  .nav .nav__inner {
    position: relative;
    justify-content: center;
    padding: 20px 5px;
  }
}
.nav .nav__menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
}
.nav .nav__menu .nav__menu-list {
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 20px;
}
.nav .nav__menu .nav__menu-list > li {
  padding-bottom: 18px;
}
@media screen and (max-width: 900px) {
  .nav .nav__menu .nav__menu-list {
    display: none;
  }
}
.nav .nav__menu .nav__menu-list a {
  transition: 0.3s;
  color: #fff;
}
.nav .nav__menu .nav__menu-sub {
  position: absolute;
  top: 45px;
  right: -30px;
  z-index: 5;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
  border-radius: 3px;
  transition: 0.3s;
  overflow: hidden;
  height: 0px;
  background-color: #fff;
}
@media screen and (max-width: 1200px) {
  .nav .nav__menu .nav__menu-sub {
    width: 78vw;
  }
}
.nav .nav__menu .nav__menu-sub a {
  color: #080618;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate {
  width: 146px;
  margin-right: 80px;
}
@media screen and (max-width: 1200px) {
  .nav .nav__menu .nav__menu-sub .nav__menu-cate {
    margin-right: 5vw;
  }
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate p {
  color: #080618;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 25px;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate a {
  position: relative;
  display: inline-block;
  padding-right: 15px;
  background-image: url(../images/icon-arrow-red.svg);
  background-size: 5px 10px;
  background-repeat: no-repeat;
  background-position: center right 0;
  transition: 0.3s;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate a:hover {
  padding-right: 25px;
  color: #E50211;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate a:hover::after {
  width: 100%;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate span {
  display: block;
  width: 100%;
  height: 1px;
  margin: 45px 0 25px;
  background-color: #B5B6B7;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate .nav__menu-bnr {
  margin: 35px 0 0;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate .nav__menu-bnr a {
  padding: 0;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate .nav__menu-bnr a::after {
  display: none;
}
.nav .nav__menu .nav__menu-sub .nav__menu-cate .nav__menu-bnr a:hover {
  opacity: 0.6;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li {
  position: relative;
  width: 288px;
  background-image: url(../images/icon-arrow-red.svg);
  background-size: 5px 10px;
  background-repeat: no-repeat;
  background-position: center right 15px;
  transition: 0.3s;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li a {
  padding: 5px 15px;
  display: block;
  width: 100%;
  height: 100%;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li:hover {
  background-color: #F2F2F2;
  background-position: center right 5px;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li:hover::after {
  width: 100%;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li:hover a {
  color: #E50211;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li.active-hover {
  background-color: #F2F2F2;
  background-position: center right 5px;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li.active-hover a {
  color: #E50211;
}
.nav .nav__menu .nav__menu-sub .nav__menu-inner li.active-hover::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box {
  width: 256px;
  max-height: 78vh;
  height: -moz-max-content;
  height: max-content;
  overflow-y: scroll;
  padding-bottom: 60px;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3 {
  display: none;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3.fedein_menu {
  display: block;
  opacity: 1;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3 li {
  position: relative;
  width: 100%;
  background-image: url(../images/icon-arrow-red.svg);
  background-size: 5px 10px;
  background-repeat: no-repeat;
  background-position: center right 15px;
  transition: 0.3s;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3 li a {
  padding: 5px 25px 5px 15px;
  display: block;
  width: 100%;
  height: 100%;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3 li::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3 li:hover {
  background-position: center right 5px;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3 li:hover::after {
  width: 100%;
}
.nav .nav__menu .nav__menu-sub .nav__f3-box .nav__menu-f3 li:hover a {
  color: #E50211;
}
.nav .nav__menu .nav__menu-item > a {
  font-weight: 600;
}
.nav .nav__menu .nav__menu-item.nav__products > a, .nav .nav__menu .nav__menu-item.nav__company > a {
  padding-right: 15px;
  background-image: url(../images/icon-arrow-white.svg);
  background-repeat: no-repeat;
  background-size: 9px;
  background-position: top 10px right;
}
.nav .nav__menu .nav__menu-item.nav__products::after, .nav .nav__menu .nav__menu-item.nav__company::after {
  content: "";
  display: block;
  width: 100%;
  min-height: 100vh;
  height: -webkit-fill-available;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 4;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
@media screen and (min-width: 900px) {
  .nav .nav__menu .nav__menu-item.nav__products .nav__f3-box {
    width: 360px;
    min-height: 56vh;
    height: -webkit-fill-available;
    overflow-y: hidden;
  }
  .nav .nav__menu .nav__menu-item.nav__company .nav__f3-box {
    overflow-y: hidden;
  }
}
.nav .nav__menu .nav__menu-item:hover > a {
  color: #C7CBCB !important;
  position: relative;
  z-index: 5;
}
.nav .nav__menu .nav__menu-item:hover.nav__products::after, .nav .nav__menu .nav__menu-item:hover.nav__company::after {
  visibility: visible;
  opacity: 1;
}
.nav .nav__menu .nav__menu-item:hover > .nav__menu-sub {
  padding: 35px 65px 18px 55px;
}
@media screen and (max-width: 1200px) {
  .nav .nav__menu .nav__menu-item:hover > .nav__menu-sub {
    padding: 25px 25px 18px 25px;
  }
}
.nav .nav__menu .nav__menu-item:hover.nav__products > .nav__menu-sub {
  max-height: 78vh;
  height: -moz-fit-content;
  height: fit-content;
  overflow-y: hidden;
}
.nav .nav__menu .nav__menu-item:hover.nav__company > .nav__menu-sub {
  height: 240px;
}
.nav .nav__menu .nav__middle-menu {
  /* Bottom Search Button */
  /* Modal Wrapper */
  /* Modal Content */
  /* Close Button */
  /* Style the search form */
}
@media screen and (max-width: 900px) {
  .nav .nav__menu .nav__middle-menu {
    display: none;
  }
}
.nav .nav__menu .nav__middle-menu .middle-top-menu {
  display: flex;
  gap: 11px;
  margin-bottom: 13px;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .search-form {
  position: relative;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .search-form form {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .search-form form input {
  width: 100%;
  padding: 3px 5px;
  border: none;
  background-color: #727272;
  color: #fff;
  font-size: 14px;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .search-form form input::-moz-placeholder {
  color: #ffffff;
  opacity: 0.4;
  font-size: 14px;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .search-form form input::placeholder {
  color: #ffffff;
  opacity: 0.4;
  font-size: 14px;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .search-form form button {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .gt-wrap {
  display: flex;
  gap: 5px;
  align-items: center;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .gt-wrap .earth-icon {
  background-image: url(../images/icon/icon-earth.svg);
  background-size: 17px;
  background-repeat: no-repeat;
  background-position: center;
  width: 20px;
  height: 20px;
}
.nav .nav__menu .nav__middle-menu .middle-top-menu .gt-wrap .google-translate-section-pc {
  display: flex;
  gap: 10px;
  align-items: center;
}
.nav .nav__menu .nav__middle-menu .search-modal-button {
  color: #fff;
  font-size: 16px;
  border: none;
  cursor: pointer;
}
.nav .nav__menu .nav__middle-menu .search-modal-button img ::after {
  content: "|";
  margin-left: 10px;
}
.nav .nav__menu .nav__middle-menu .search-modal {
  display: none;
  position: fixed;
  z-index: 9998;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.75);
}
.nav .nav__menu .nav__middle-menu .search-modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 30px;
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  position: relative;
}
.nav .nav__menu .nav__middle-menu .close-search-modal {
  position: absolute;
  top: 10px;
  right: 14px;
  background: transparent;
  border: none;
  font-size: 28px;
  cursor: pointer;
}
.nav .nav__menu .nav__middle-menu .search-modal input[type=search] {
  width: 80%;
  padding: 10px;
  margin-right: 5px;
  font-size: 16px;
}
.nav .nav__menu .nav__middle-menu .search-modal input[type=submit] {
  padding: 10px 16px;
  font-size: 16px;
  background-color: #333;
  color: #fff;
  border: none;
  cursor: pointer;
}
.nav .nav__contact-btn {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 900px) {
  .nav .nav__contact-btn {
    display: none;
  }
}
.nav .nav__contact-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  padding: 25px 20px 25px 50px;
  font-family: "Oswald", sans-serif;
  color: #fff;
  background-image: linear-gradient(130deg, rgb(6, 0, 159) 10%, rgb(204, 20, 119) 90%);
  transition: 0.3s;
  position: relative;
  z-index: 1;
}
.nav .nav__contact-btn a div {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nav .nav__contact-btn a div span {
  position: relative;
  z-index: 1;
}
.nav .nav__contact-btn a div span:first-child {
  font-size: 1.375rem;
}
.nav .nav__contact-btn a div span:last-child {
  font-size: 0.625rem;
  font-weight: 400;
}
.nav .nav__contact-btn a .icon__box-arrow {
  position: relative;
  z-index: 2;
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 3px;
  overflow: hidden;
}
.nav .nav__contact-btn a .icon__box-arrow::after, .nav .nav__contact-btn a .icon__box-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 15px;
  height: 15px;
  background-image: url(../images/icon-contact-link-big.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px;
  transition: 0.3s;
}
.nav .nav__contact-btn a .icon__box-arrow::before {
  left: -150%;
}
.nav .nav__contact-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(130deg, rgb(204, 20, 119) 10%, rgb(6, 0, 159) 90%);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 0;
}
.nav .nav__contact-btn:hover::before {
  opacity: 1;
}
.nav .nav__contact-btn:hover .icon__box-arrow::after {
  left: 150%;
}
.nav .nav__contact-btn:hover .icon__box-arrow::before {
  left: 50%;
}

.nav.nav--light .middle-top-menu {
  color: #080618;
}
.nav.nav--light .middle-top-menu a {
  color: #080618;
}
.nav.nav--light .middle-top-menu select {
  color: #080618;
}
.nav.nav--light .nav__menu .nav__menu-list a {
  color: #080618;
}
.nav.nav--light .nav__menu .nav__menu-list select {
  color: #080618;
}
.nav.nav--light .nav__menu .nav__middle-menu .middle-top-menu .earth-icon {
  background-image: url(../images/icon/icon-earth-black.svg);
}
.nav.nav--light .nav__menu .nav__menu-list a {
  color: #080618;
}
.nav.nav--light .nav__menu .nav__menu-item.nav__products > a, .nav.nav--light .nav__menu .nav__menu-item.nav__company > a {
  background-image: url(../images/icon-arrow-black.svg);
}
.nav.nav--light .nav__logo .nav__logo-defa {
  display: none;
}
.nav.nav--light .nav__logo .nav__logo-blue {
  display: block;
}
@media screen and (max-width: 900px) {
  .nav .nav__hamburger {
    background-color: #080618;
  }
}

.nav__hamburger {
  display: none;
}

.nav__menu-sp {
  display: none;
}

@media screen and (max-width: 900px) {
  .nav__hamburger {
    cursor: pointer;
    position: absolute;
    top: 15px;
    right: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 1px solid #616B7B;
    z-index: 5;
  }
  .nav__hamburger div {
    position: relative;
    width: 20px;
    height: 8px;
  }
  .nav__hamburger div span {
    display: block;
    width: 20px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    transition: 0.3s;
  }
  .nav__hamburger div span:first-child {
    top: 0;
  }
  .nav__hamburger div span:last-child {
    bottom: 0;
  }
  .nav__hamburger.menu__open span:first-child {
    top: 4px;
    transform: rotate(45deg);
  }
  .nav__hamburger.menu__open span:last-child {
    bottom: 3px;
    transform: rotate(-45deg);
  }
  .nav__menu-sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 0 0 30px;
    overflow: scroll;
    background-color: #080618;
  }
  .nav__menu-sp > ul {
    padding: 100px 15px 45px;
  }
  .nav__menu-sp > ul li {
    border-bottom: 1px solid #616B7B;
  }
  .nav__menu-sp > ul li a {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    display: block;
    padding: 20px 12px;
  }
  .nav__menu-sp > ul li ol {
    display: none;
    border-top: 1px solid #616B7B;
    padding: 20px 35px;
  }
  .nav__menu-sp > ul li ol li {
    border-bottom: 0;
  }
  .nav__menu-sp > ul li ol li:not(:first-child) {
    margin-top: 15px;
  }
  .nav__menu-sp > ul li ol li a {
    font-weight: 400;
    padding: 0 0 0;
  }
  .nav__menu-sp > ul li.header__ac {
    position: relative;
  }
  .nav__menu-sp > ul li.header__ac .header__ac-icon {
    cursor: pointer;
    display: block;
    width: 60px;
    height: 65px;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url(../images/header_accordion_icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
    transition: 0.3s;
  }
  .nav__menu-sp > ul li.header__ac .header__ac-icon.ac__open {
    transform: rotate(180deg);
  }
}
@media screen and (max-width: 900px) and (max-width: 900px) {
  .nav__menu-sp button.close-search-modal {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  .nav__menu-sp .nav__contact-btn {
    display: block;
    max-width: 94%;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 0;
  }
  .nav__menu-sp .nav__contact-btn a {
    padding: 15px 20px 15px 50px;
  }
}
/*===============================================

main

=================================================*/
main {
  padding-top: 100px;
}

/*===============================================

container css

=================================================*/
.container_900 {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

.container_920 {
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
}

.container_1080 {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}

.container_1200 {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.container_1240 {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
}

#js-pagetop {
  cursor: pointer;
  z-index: 5;
  transition: 0.3s;
  opacity: 0;
  position: fixed;
  right: 90px;
  bottom: 20px;
  width: 50px;
  height: 80px;
  border: 1px solid #fff;
  background-color: #080618;
  border-radius: 50px;
}
#js-pagetop a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%;
  height: 100%;
  font-size: 0.875rem;
  color: #fff;
  font-family: "Oswald", sans-serif;
}
@media screen and (max-width: 768px) {
  #js-pagetop a {
    font-size: 0.75rem;
  }
}
#js-pagetop a .pagetop__arrow {
  display: block;
  position: relative;
  width: 12px;
  height: 21px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #js-pagetop a .pagetop__arrow {
    width: 8px;
    height: 12px;
  }
}
#js-pagetop a .pagetop__arrow::after, #js-pagetop a .pagetop__arrow::before {
  display: block;
  content: "";
  width: 12px;
  height: 21px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  transition: 0.2s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  #js-pagetop a .pagetop__arrow::after, #js-pagetop a .pagetop__arrow::before {
    width: 8px;
    height: 12px;
  }
}
#js-pagetop a .pagetop__arrow::after {
  background-image: url(../images/icon-arrow-up-white.svg);
}
#js-pagetop a .pagetop__arrow::before {
  top: 150%;
  background-image: url(../images/icon-arrow-up-black.svg);
}
#js-pagetop:hover {
  border-color: #080618;
  background-color: #fff;
}
#js-pagetop:hover a {
  color: #080618;
}
#js-pagetop:hover a .pagetop__arrow::after {
  top: -100%;
}
#js-pagetop:hover a .pagetop__arrow::before {
  top: 50%;
}
#js-pagetop.is-show {
  opacity: 1;
  pointer-events: auto;
}
#js-pagetop.is-pagetop {
  position: absolute;
  top: -50px;
  bottom: auto;
}
@media screen and (max-width: 768px) {
  #js-pagetop {
    right: 15px;
    bottom: 20px;
    width: 38px;
    height: 60px;
  }
  #js-pagetop.is-pagetop {
    top: -25px;
  }
}

/*===============================================

footer

=================================================*/
.footer {
  position: relative;
  z-index: 1;
  color: #fff;
  background-color: #080618;
}
.footer .footer__inder {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 100px;
}
@media screen and (max-width: 900px) {
  .footer .footer__inder {
    display: block;
    padding: 50px 0 0;
  }
}
.footer .footer__inder .footer__logo-box {
  margin-right: 160px;
}
.footer .footer__inder .footer__logo-box p:nth-child(2) {
  margin: 35px 0 0;
  font-weight: 700;
}
.footer .footer__inder .footer__logo-box p:nth-child(3) {
  margin: 10px 0 0;
  font-size: 0.875rem;
}
.footer .footer__inder .footer__logo-box div a {
  display: block;
}
.footer .footer__inder .footer__logo-box div a:first-child {
  max-width: 30px;
  margin: 15px 0 0;
}
.footer .footer__inder .footer__logo-box div a:last-child {
  margin: 50px 0 0;
  max-width: 108px;
  width: 100%;
}
@media (max-width: 1040px) {
  .footer .footer__inder .footer__logo-box {
    margin-right: 0;
  }
}
@media screen and (max-width: 900px) {
  .footer .footer__inder .footer__logo-box {
    text-align: center;
    margin: 0 0 40px;
  }
  .footer .footer__inder .footer__logo-box > a {
    display: block;
    margin: 0 auto;
    max-width: 150px;
    width: 100%;
  }
  .footer .footer__inder .footer__logo-box > div {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    margin: 20px 0 0;
  }
  .footer .footer__inder .footer__logo-box > div a img {
    width: 100%;
  }
  .footer .footer__inder .footer__logo-box > div a:first-child {
    max-width: 42px;
    width: 100%;
    margin: 0 0 0;
  }
  .footer .footer__inder .footer__logo-box > div a:last-child {
    max-width: 50px;
    width: 100%;
    margin: 0 0 0;
  }
}
.footer .footer__inder ul:nth-child(2) {
  min-width: 70px;
}
.footer .footer__inder ul:nth-child(3) {
  min-width: 220px;
}
.footer .footer__inder ul:nth-child(4) {
  min-width: 145px;
}
.footer .footer__inder ul li:not(:first-child) {
  margin: 20px 0 0;
}
.footer .footer__inder ul li a {
  position: relative;
  color: #fff;
  transition: 0.3s;
}
.footer .footer__inder ul li a::after {
  display: block;
  content: "";
  width: 0;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.footer .footer__inder ul li a:hover {
  opacity: 0.7;
}
.footer .footer__inder ul li a:hover::after {
  width: 100%;
}
.footer .footer__inder ul li ol {
  margin: 15px 0 0;
}
.footer .footer__inder ul li ol li {
  font-size: 0.875rem;
}
.footer .footer__inder ul li ol li:not(:first-child) {
  margin: 8px 0 0;
}
.footer .footer__inder ul li ol li a {
  color: #616B7B;
}
.footer .footer__inder ul li ol li a:hover {
  opacity: 1;
  color: #fff;
}
@media screen and (max-width: 900px) {
  .footer .footer__inder ul li {
    border-top: 1px solid #616B7B;
  }
  .footer .footer__inder ul li:not(:first-child) {
    margin: 0 0 0;
  }
  .footer .footer__inder ul li a {
    padding: 20px 0 20px 30px;
    display: block;
  }
  .footer .footer__inder ul li ol {
    display: none;
    margin: 0 0 0;
    padding: 0 40px 30px;
  }
  .footer .footer__inder ul li ol li {
    border-top: 0;
  }
  .footer .footer__inder ul li ol li:not(:first-child) {
    margin: 0 0 0;
  }
  .footer .footer__inder ul li ol li a {
    padding: 20px 0 0;
  }
  .footer .footer__inder ul li.footer__ac {
    position: relative;
  }
  .footer .footer__inder ul li.footer__ac .footer__ac-icon {
    cursor: pointer;
    display: block;
    width: 60px;
    height: 65px;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url(../images/footer_accordion_icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
    transition: 0.3s;
  }
  .footer .footer__inder ul li.footer__ac .footer__ac-icon.ac__open {
    transform: rotate(180deg);
  }
}
.footer .copyright {
  border-top: 1px solid #616B7B;
  padding: 30px 0;
}
.footer .copyright div {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.footer .copyright div a {
  color: #fff;
  font-size: 0.75rem;
}
.footer .copyright div p {
  font-size: 0.625rem;
  font-family: "Oswald", sans-serif;
}
@media screen and (max-width: 900px) {
  .footer .copyright div {
    flex-direction: column;
  }
  .footer .copyright a {
    padding: 0 0 0 15px;
  }
  .footer .copyright p {
    margin: 30px 0 0;
    text-align: center;
  }
}

/*===============================================

parts：support-btn / contact

=================================================*/
.support-btn__parts {
  width: 100%;
  margin: 0 auto;
  padding: 0 0 100px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .support-btn__parts {
    padding: 0 15px 40px;
  }
}
.support-btn__parts ul {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .support-btn__parts ul {
    flex-direction: column;
    gap: 10px;
  }
}
.support-btn__parts ul li {
  max-width: 530px;
  width: 100%;
  border-radius: 3px;
  border: 1px solid #080618;
  background-color: #fff;
  background-image: url(../images/bg-spring.svg);
  background-repeat: no-repeat;
  background-position: center right 40px;
  background-size: 193px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .support-btn__parts ul li {
    max-width: 100%;
    background-size: 130px 205px;
    background-position: center right 10px;
  }
}
.support-btn__parts ul li a {
  padding: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #080618;
  transition: 0.3s;
}
.support-btn__parts ul li a p:first-child {
  font-family: "Oswald", sans-serif;
  font-size: 3.125rem;
  line-height: 1.2;
}
.support-btn__parts ul li a .icon__box-arrow {
  position: relative;
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 3px;
  background-color: #080618;
  overflow: hidden;
}
.support-btn__parts ul li a .icon__box-arrow::after, .support-btn__parts ul li a .icon__box-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 16px;
  height: 10px;
  background-image: url(../images/icon-arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  transition: 0.3s;
}
.support-btn__parts ul li a .icon__box-arrow::before {
  background-image: url(../images/icon-arrow-right-black.svg);
  left: -150%;
}
.support-btn__parts ul li a:hover .icon__box-arrow {
  background-color: #fff;
}
.support-btn__parts ul li a:hover .icon__box-arrow::after {
  left: 150%;
}
.support-btn__parts ul li a:hover .icon__box-arrow::before {
  left: 50%;
}
@media screen and (max-width: 768px) {
  .support-btn__parts ul li a {
    padding: 20px;
  }
  .support-btn__parts ul li a p {
    font-size: 0.875rem;
  }
  .support-btn__parts ul li a p:first-child {
    font-size: 2.5rem;
  }
  .support-btn__parts ul li a .icon__box-arrow {
    width: 44px;
    height: 44px;
  }
}
.support-btn__parts ul li:hover {
  background-color: #E5ECF7;
  background-image: url(../images/bg-spring-hover.svg);
}
.support-btn__parts ul.layout___1column {
  max-width: 1080px;
  width: 100%;
  margin: 30px auto 0;
}
.support-btn__parts ul.layout___1column li {
  position: relative;
  max-width: 100%;
  background-image: url(../images/bg-btn-calendar.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius: 3px;
  overflow: hidden;
}
.support-btn__parts ul.layout___1column li::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  transition: 0.3s;
}
.support-btn__parts ul.layout___1column li a {
  position: relative;
  z-index: 1;
}
.support-btn__parts ul.layout___1column li a div p:nth-child(3) {
  max-width: 820px;
  margin: 25px 0 0;
}
.support-btn__parts ul.layout___1column li:hover::after {
  background-color: rgba(220, 230, 247, 0.7);
}
@media screen and (max-width: 768px) {
  .support-btn__parts ul.layout___1column {
    margin: 25px auto 0;
  }
  .support-btn__parts ul.layout___1column li a {
    flex-direction: column;
  }
  .support-btn__parts ul.layout___1column li a .icon__box-arrow {
    margin-right: 5px;
    margin-left: auto;
  }
}

.contact__parts {
  margin: 0 0 0;
}

.contact__parts-inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 100px 0 120px;
  background-image: url(../images/parts-contact-bg-pc.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .contact__parts-inner {
    padding: 45px 0 55px;
    flex-direction: column;
  }
}
.contact__parts-inner::after, .contact__parts-inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.contact__parts-inner::after {
  opacity: 1;
  background-image: linear-gradient(90deg, rgba(6, 0, 159, 0.8) 10%, rgba(204, 20, 119, 0.8) 90%);
}
.contact__parts-inner::before {
  opacity: 0;
  background-image: linear-gradient(90deg, rgba(204, 20, 119, 0.8) 10%, rgba(6, 0, 159, 0.8) 90%);
}
.contact__parts-inner:hover::after {
  opacity: 0;
}
.contact__parts-inner:hover::before {
  opacity: 1;
}
.contact__parts-inner .contact__parts-text {
  max-width: 980px;
  width: 100%;
  color: #fff;
  text-align: center;
  transition: 0.3s;
  position: relative;
  z-index: 2;
}
.contact__parts-inner .contact__parts-text h2 {
  font-family: "Oswald", sans-serif;
  font-size: 6.25rem;
  margin: 0 0 -10px;
}
.contact__parts-inner .contact__parts-text p {
  font-weight: 700;
}
.contact__parts-inner .contact__parts-text p:last-child {
  font-weight: 400;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .contact__parts-inner .contact__parts-text {
    order: 2;
  }
  .contact__parts-inner .contact__parts-text h2 {
    font-size: 4rem;
  }
  .contact__parts-inner .contact__parts-text p {
    font-size: 1rem;
  }
  .contact__parts-inner .contact__parts-text p:last-child {
    max-width: 305px;
    width: 100%;
    margin: 30px auto 0;
    font-size: 0.875rem;
  }
}
.contact__parts-inner .icon__box-arrow {
  position: relative;
  z-index: 2;
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 3px;
  overflow: hidden;
}
.contact__parts-inner .icon__box-arrow::after, .contact__parts-inner .icon__box-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 33px;
  height: 33px;
  background-image: url(../images/icon-contact-link-big.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 33px;
  transition: 0.3s;
}
.contact__parts-inner .icon__box-arrow::before {
  left: -150%;
}
@media screen and (max-width: 768px) {
  .contact__parts-inner .icon__box-arrow {
    order: 1;
    width: 25px;
    height: 25px;
  }
  .contact__parts-inner .icon__box-arrow::after, .contact__parts-inner .icon__box-arrow::before {
    width: 25px;
    height: 25px;
    background-size: 25px;
  }
}
.contact__parts-inner:hover .icon__box-arrow::after {
  left: 150%;
}
.contact__parts-inner:hover .icon__box-arrow::before {
  left: 50%;
}

.customer__btn-download {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
.customer__btn-download .btn__boxstyle {
  max-width: 290px;
  width: 100%;
  gap: 30px;
  padding-left: 15px;
  border: 1px solid #080618;
  background-color: #080618;
  color: #fff;
}
.customer__btn-download .btn__boxstyle .icon__box-download {
  position: relative;
  width: 46px;
  height: 46px;
  border-radius: 3px;
  overflow: hidden;
  background-image: url(../images/icon_download_box.svg);
  background-repeat: no-repeat;
  background-position: bottom 15px center;
  background-size: 23px;
  background-color: #616B7B;
  transition: 0.2s;
}
.customer__btn-download .btn__boxstyle .icon__box-download::after, .customer__btn-download .btn__boxstyle .icon__box-download::before {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background-image: url(../images/icon-arrow-down.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
}
.customer__btn-download .btn__boxstyle .icon__box-download::after {
  top: -60px;
}
.customer__btn-download .btn__boxstyle .icon__box-download::before {
  top: 10px;
}
.customer__btn-download .btn__boxstyle:hover {
  color: #080618;
  background-color: #fff;
}
.customer__btn-download .btn__boxstyle:hover .icon__box-download {
  background-color: #080618;
}
.customer__btn-download .btn__boxstyle:hover .icon__box-download::before {
  top: 60px;
}
.customer__btn-download .btn__boxstyle:hover .icon__box-download::after {
  top: 10px;
}
@media screen and (max-width: 768px) {
  .customer__btn-download {
    margin: 40px 0 0;
    gap: 30px;
    flex-direction: column;
  }
  .customer__btn-download .btn__boxstyle {
    margin: 0 auto 0;
    gap: 25px;
  }
}

.customer__btn-open {
  display: flex;
  align-items: center;
  gap: 40px;
}
.customer__btn-open .btn__boxstyle {
  max-width: 290px;
  width: 100%;
  gap: 30px;
  padding-left: 14px;
  border: 1px solid #080618;
  background-color: #080618;
  color: #fff;
}
.customer__btn-open .btn__boxstyle .icon__box-download {
  position: relative;
  width: 46px;
  height: 46px;
  border-radius: 3px;
  overflow: hidden;
  background-image: url(../images/icon-window-white.svg);
  background-repeat: no-repeat;
  background-position: bottom 17px center;
  background-size: 13px;
  background-color: #616B7B;
  transition: 0.2s;
}
.customer__btn-open .btn__boxstyle .icon__box-download::after, .customer__btn-open .btn__boxstyle .icon__box-download::before {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
}
.customer__btn-open .btn__boxstyle .icon__box-download::after {
  top: -60px;
}
.customer__btn-open .btn__boxstyle .icon__box-download::before {
  top: 10px;
}
.customer__btn-open .btn__boxstyle:hover {
  color: #080618;
  background-color: #fff;
}
.customer__btn-open .btn__boxstyle:hover .icon__box-download {
  background-color: #080618;
}
.customer__btn-open .btn__boxstyle:hover .icon__box-download::before {
  top: 60px;
}
.customer__btn-open .btn__boxstyle:hover .icon__box-download::after {
  top: 10px;
}
@media screen and (max-width: 768px) {
  .customer__btn-open {
    margin: 40px 0 0;
    gap: 30px;
    flex-direction: column;
  }
  .customer__btn-open .btn__boxstyle {
    margin: 0 auto 0;
    gap: 25px;
  }
}

.customer__btn-open.btn-center {
  justify-content: center;
}

/* Hide Google Translate top bar iframe */
.goog-te-banner-frame .skiptranslate iframe {
  visibility: hidden !important;
}

/* Prevent top space caused by bar */
body {
  top: 0 !important;
  position: static !important;
}

/* Hide bottom branding */
.goog-logo-link,
.goog-te-gadget,
.goog-te-combo {
  display: none !important;
}

.middle-top-menu select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center right 20px;
  background-size: 20px;
  border: none;
  cursor: pointer;
  color: #fff;
  font-size: 1rem;
  padding: 0 20px 0 0;
}
.middle-top-menu select option {
  color: #080618;
}
.middle-top-menu .select-with-icon {
  position: relative;
  display: inline-block;
}
.middle-top-menu .select-icon {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  pointer-events: none;
}
.middle-top-menu .google-language-selector {
  padding-left: 36px; /* space for icon */
  height: 36px;
  font-size: 14px;
}
.middle-top-menu a {
  color: #fff;
}
@media screen and (max-width: 900px) {
  .middle-top-menu {
    padding: 0 15px 25px;
  }
  .middle-top-menu .google-translate-section-sp {
    width: 100%;
    height: 48px;
    background-color: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
  }
  .middle-top-menu .google-translate-section-sp .gt-wrap {
    width: 100%;
    height: 100%;
    padding-left: 10px;
  }
  .middle-top-menu select {
    color: #080618;
    width: 100%;
    height: 100%;
    padding: 0;
  }
  .middle-top-menu label {
    width: 100%;
    display: block;
  }
  .middle-top-menu label input {
    display: block;
    width: 100%;
    height: 48px;
    padding: 0 40px 0 10px;
    background-image: url(../images/icon/icon-lens_bk.svg);
    background-repeat: no-repeat;
    background-position: center right;
    border: 0;
  }
  .middle-top-menu .search-form {
    position: relative;
    margin-top: 20px;
  }
  .middle-top-menu .search-form .search-submit {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    opacity: 0 !important;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 40px;
    height: 100%;
  }
}

/*===============================================

sp common padding

=================================================*/
.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 1025px) {
  .p15 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  .p15 {
    padding: 0 15px;
  }
}

@media screen and (max-width: 768px) {
  .p30 {
    padding: 0 30px;
  }
}

/*===============================================

parts：tag

=================================================*/
.tag {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.tag__item {
  border-radius: 2px;
  background: #54515E;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-box: trim-both cap alphabetic;
  padding: 8px 10px 8px 26px;
  position: relative;
}
.tag__item::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #E50211;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
.tag__item--new::before {
  background: #E50211;
}
.tag__item--featured::before {
  background: #004097;
}
@media screen and (max-width: 768px) {
  .tag {
    gap: 3px;
  }
}

/*===============================================

parts：btn

=================================================*/
.btn__link {
  min-width: 250px;
  height: 50px;
  border-radius: 5px;
  border: 1px solid #bbb;
  background: #fff;
  color: #080618;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  padding: 1px 70px 1px 20px;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
.btn__link::before {
  content: "";
  width: 46px;
  height: 46px;
  border-radius: 3px;
  background: url("../images/icon-arrow-right.svg") no-repeat 50% 50% #080618;
  background-size: 16px auto;
  position: absolute;
  top: 50%;
  left: calc(100% - 47px);
  transform: translateY(-50%);
  transition: 0.3s;
}
.btn__link:hover {
  padding: 1px 20px 1px 70px;
}
.btn__link:hover::before {
  left: 1px;
}
.btn__link[target=_blank]::before {
  background-image: url("../images/icon-window.svg");
  background-size: 12px auto;
}
.btn__link-label {
  text-align: left;
}
.branch__maplink {
  margin: 24px 0 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .branch__maplink {
    margin: 5px 0 0;
  }
}
.branch__maplink a {
  display: inline-block;
  color: #080618;
  position: relative;
  border-bottom: 1px solid #080618;
  background-image: url(../images/company/office/icon-arrow-red.svg);
  background-repeat: no-repeat;
  background-position: center right 0px;
  background-size: 7px;
  padding: 0 14px 0 0;
}
.branch__maplink a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
.branch__maplink a:hover {
  color: #E50211;
}
.branch__maplink a:hover::after {
  width: 100%;
}

/*===============================================

parts：accordion

=================================================*/
.js__accordion + .accordion__contents {
  display: none;
}

@media screen and (min-width: 769px) {
  .js__accordion-sp {
    display: none;
  }
  .js__accordion-sp + .accordion__contents {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .js__accordion-sp + .accordion__contents {
    display: none;
  }
}

/*===============================================

parts：skiptranslate

=================================================*/
.skiptranslate {
  display: none !important;
}

/*===============================================

parts：notranslate

=================================================*/
.notranslate {
  translate: no;
}

.breadcrumb {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto 100px;
  padding: 20px 10px;
  font-size: small;
  color: #616B7B;
}
@media screen and (max-width: 900px) {
  .breadcrumb {
    margin: 0 auto 20px;
    padding: 0 15px;
  }
}
.breadcrumb a {
  position: relative;
  color: #616B7B;
}
.breadcrumb a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #616B7B;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.breadcrumb a:hover::after {
  width: 100%;
}
.breadcrumb .breadcrumb__top {
  font-family: "Oswald", sans-serif;
}

/*===============================================

parts：relation contents

=================================================*/
.relation__contents {
  max-width: 1080px;
  margin: 50px auto 0;
}
@media screen and (max-width: 900px) {
  .relation__contents {
    padding: 0 15px;
  }
}
.relation__contents h3 {
  color: #004097;
  font-size: 1.5625rem;
  font-weight: 700;
}
.relation__contents ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 15px 4%;
  margin: 10px 0 0;
}
.relation__contents ul li {
  width: 48%;
}
@media screen and (max-width: 900px) {
  .relation__contents ul li {
    width: 100%;
  }
}
.relation__contents ul li a {
  color: #080618;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px 0;
  border-bottom: 1px solid #B5B6B7;
  position: relative;
}
.relation__contents ul li a .icon__box-arrow {
  position: relative;
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 3px;
  background-color: #004097;
  overflow: hidden;
  transition: 0.3s;
}
.relation__contents ul li a .icon__box-arrow::after, .relation__contents ul li a .icon__box-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 16px;
  height: 10px;
  background-image: url(../images/icon-arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  transition: 0.3s;
}
.relation__contents ul li a .icon__box-arrow::before {
  left: -150%;
}
.relation__contents ul li a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
.relation__contents ul li a:hover .icon__box-arrow {
  background-color: #E50211;
}
.relation__contents ul li a:hover .icon__box-arrow::before {
  left: 50%;
}
.relation__contents ul li a:hover .icon__box-arrow::after {
  left: 150%;
}
.relation__contents ul li a:hover::after {
  width: 100%;
}

/*===============================================

parts：title

=================================================*/
.title__container {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0; /* 画面外に最初あるように調整 */
}

.title__line {
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 5px;
  background-color: transparent;
}
.title__line .title__text {
  position: absolute;
  left: 0;
  line-height: 1;
  color: #fff;
  opacity: 0;
  clip-path: inset(0 100% 0 0); /* 左から右へマスク状態 */
  transition: clip-path 0.6s ease-out, opacity 0.2s;
  z-index: 2;
}
.title__line.title__en .title__text {
  top: -5px;
  font-family: "Oswald", sans-serif;
  font-size: 4.375rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .title__line.title__en .title__text {
    top: -2.5px;
    font-size: 3rem;
  }
}
.title__line.title__jp .title__text {
  top: 3px;
  font-size: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .title__line.title__jp .title__text {
    font-size: 0.875rem;
  }
}
.title__line .bg-mask {
  background-color: #000010;
  width: 0%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.title__line.title__animation .bg-mask {
  animation: bgExpand 0.6s forwards ease-out;
}

.title__line.title__animation .title__text {
  animation: textReveal 0.6s forwards ease-out;
  animation-delay: 0.7s;
}

@keyframes bgExpand {
  to {
    width: 100%;
  }
}
@keyframes textReveal {
  0% {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  100% {
    clip-path: inset(0 0% 0 0);
    opacity: 1;
  }
}
/**下層ページのタイトル**/
.product__only .title__line, .company__only .title__line, .report__only .title__line, .support__only .title__line, .serection__only .title__line, .policy__only .title__line {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .product__only .title__line, .company__only .title__line, .report__only .title__line, .support__only .title__line, .serection__only .title__line, .policy__only .title__line {
    width: 232px;
  }
}
.product__only .title__line.title__en, .company__only .title__line.title__en, .report__only .title__line.title__en, .support__only .title__line.title__en, .serection__only .title__line.title__en, .policy__only .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .product__only .title__line.title__en, .company__only .title__line.title__en, .report__only .title__line.title__en, .support__only .title__line.title__en, .serection__only .title__line.title__en, .policy__only .title__line.title__en {
    height: 48px;
  }
}
.product__only .title__line.title__jp, .company__only .title__line.title__jp, .report__only .title__line.title__jp, .support__only .title__line.title__jp, .serection__only .title__line.title__jp, .policy__only .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .product__only .title__line.title__jp, .company__only .title__line.title__jp, .report__only .title__line.title__jp, .support__only .title__line.title__jp, .serection__only .title__line.title__jp, .policy__only .title__line.title__jp {
    height: 22px;
  }
}

@media screen and (max-width: 768px) {
  .report__only .title__line {
    width: 178px;
  }
}
/*===============================================

parts：YouTube modal

=================================================*/
.modal-open {
  display: block;
  width: 100%;
  height: 150px;
  border-radius: 3px;
  color: #fff;
  border: 1px solid #616B7B;
  background-color: #080618;
}
@media screen and (max-width: 900px) {
  .modal-open {
    height: auto;
  }
}
.modal-open iframe {
  width: 100%;
  height: 148px;
  pointer-events: none;
  border-radius: 3px;
}
@media screen and (max-width: 900px) {
  .modal-open iframe {
    height: 208px;
  }
}
@media screen and (max-width: 490px) {
  .modal-open iframe {
    height: 156px;
  }
}

.yutb_modal {
  display: none;
  position: fixed;
  z-index: 9990; /* これでも十分最前面 */
  padding: 30px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.9);
}
.yutb_modal .modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  border: 1px solid #666666;
  background: #fff;
  padding: 0;
  width: 90%;
  max-width: 800px;
  z-index: 9991;
}
.yutb_modal .modal-content #modal-close {
  position: absolute;
  top: 5px;
  right: -42px;
  font-size: 30px;
  cursor: pointer;
  color: #ffffff;
  z-index: 9992;
}
@media screen and (max-width: 768px) {
  .yutb_modal .modal-content #modal-close {
    top: -65px;
    right: -2px;
  }
}
.yutb_modal .modal-content .video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.yutb_modal .modal-content .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sc_fede, .lord_fede {
  transform: translateY(100px);
  opacity: 0;
  transition: opacity 1s ease, transform 0.6s ease;
}

.sc_fede.sc_fedein, .sc_fede.lord_fede {
  transform: translateY(0px);
  opacity: 1;
}

/* Your own tel/fax links */
a[href^=tel], a[href^=fax] {
  text-decoration: none;
  color: inherit;
}

/* iOS auto-detected phone/fax/email/date/address links */
/* Universal fix for iOS auto-detected links */
a[x-apple-data-detectors],
a[x-apple-data-detectors-type],
a[data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: inherit !important;
  border-bottom: none !important;
}

.zoom-box {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: all-scroll;
}

.zoom-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  background: #fff;
}

.zoom-overlay {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-size: 0 0;
  opacity: 0;
  transition: opacity 0.15s;
  pointer-events: none;
}

/* Images inside Gutenberg editor */
.wp-block-image .alignleft,
.content__detail .alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
}

.wp-block-image .alignright,
.content__detail .alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
}

.wp-block-image .aligncenter,
.content__detail .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 65px;
  height: 40px;
  align-items: center;
}
.pagination a,
.pagination span {
  height: 48px;
  width: 48px;
  color: #004097;
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .pagination a,
  .pagination span {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }
}
.pagination span.disabled {
  pointer-events: none;
  color: #616B7B;
}
@media screen and (max-width: 768px) {
  .pagination a.next, .pagination a.prev {
    font-size: 1.25rem;
  }
}
.pagination .current {
  background: #004097;
  pointer-events: none;
  color: #fff;
  border-radius: 3px;
}

.pre-next-nav {
  display: flex;
  width: 510px;
  margin: 0px auto 30px;
  padding: 0 15px;
  justify-content: space-between;
  clear: both;
}
@media screen and (max-width: 768px) {
  .pre-next-nav {
    width: 100%;
    margin: 40px auto 30px;
  }
}
.pre-next-nav a {
  color: #080618;
  display: flex;
  align-items: center;
  gap: 10px;
}
.pre-next-nav a span {
  color: #004097;
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  display: block;
  width: 8px;
  height: 15px;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  transition: 0.3s;
}
.pre-next-nav a.prev-link span {
  background-image: url(../images/icon-arrow-left-blue.svg);
}
.pre-next-nav a.next-link span {
  background-image: url(../images/icon-arrow-right-blue.svg);
}
.pre-next-nav a:hover {
  text-decoration: underline;
}
.pre-next-nav a:hover.prev-link span {
  background-image: url(../images/icon-arrow-left-red.svg);
}
.pre-next-nav a:hover.next-link span {
  background-image: url(../images/icon-arrow-right-red.svg);
}
.pre-next-nav .only-next {
  margin-left: auto;
}

.events__wrap .title__line {
  width: 230px;
}
@media screen and (max-width: 768px) {
  .events__wrap .title__line {
    width: 143px;
  }
}
.events__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .events__wrap .title__line.title__en {
    height: 48px;
  }
}
.events__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .events__wrap .title__line.title__jp {
    height: 22px;
  }
}
.events__wrap .title__line .bg-mask {
  background-color: #004097;
}

.modal {
  display: none;
  position: fixed;
  z-index: 9990;
  padding: 30px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.9);
}
.modal #modal-close {
  position: fixed;
  top: 15px;
  right: 20px;
  font-size: 30px;
  cursor: pointer;
  color: #fff;
  z-index: 9992;
}
.modal .modal-content {
  max-width: 880px;
  width: 100%;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .modal .modal-content {
    max-width: 92%;
  }
}

.top__contents {
  overflow-x: hidden;
  /*===============================================

  重要なお知らせ

  ================================================*/
  /*===============================================

  システムのテクニカルサプライヤー

  ================================================*/
  /*===============================================

  PICK UP

  ================================================*/
  /*===============================================

  PICK UP

  ================================================*/
  /*===============================================

  自動車整備工場をご検討のお客様へ

  ================================================*/
  /*===============================================

  NEWS

  ================================================*/
  /*===============================================

  REPORT

  ================================================*/
  /*===============================================

  COMPANY

  ================================================*/
  /*===============================================

  RECRUIT

  ================================================*/
  /*===============================================

  YouTube

  ================================================*/
}
.top__contents .main__wrap {
  color: #fff;
  position: relative;
  z-index: 1;
  background-image: linear-gradient(1deg, rgb(8, 6, 24) 98%, rgba(35, 102, 247, 0) 99%);
}
.top__contents .important__notice {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 30px 30px 15px;
  border: 2px solid #E50211;
  z-index: 10;
  position: relative;
}
.top__contents .important__notice h2 {
  position: relative;
  padding: 0 0 0 15px;
}
.top__contents .important__notice h2::after {
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E50211;
  position: absolute;
  top: 10px;
  left: 0;
}
.top__contents .important__notice ul {
  max-width: 92%;
  width: 100%;
  margin: 15px auto 0;
}
.top__contents .important__notice ul li:not(:first-child) a {
  border-top: 1px solid #616B7B;
}
.top__contents .important__notice ul li a {
  position: relative;
  padding: 15px 0 15px;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 30px;
  background-image: url(../images/icon-arrow-gray.svg);
  background-repeat: no-repeat;
  background-position: center right 15px;
  background-size: 6px;
  opacity: 1;
  transition: 0.3s;
}
.top__contents .important__notice ul li a:hover {
  opacity: 0.5;
  background-position: center right 0;
}
.top__contents .important__notice ul li a .notice__timetext {
  font-family: "Oswald", sans-serif;
}
@media screen and (max-width: 900px) {
  .top__contents .important__notice {
    max-width: 92%;
    padding: 20px;
  }
  .top__contents .important__notice ul {
    max-width: 100%;
  }
  .top__contents .important__notice ul li a {
    flex-direction: column;
    gap: 5px;
  }
  .top__contents .important__notice ul li a p {
    font-size: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    padding-right: 30px;
  }
}
.top__contents .technical-supplier__wrap {
  width: 100%;
  overflow-x: clip;
  position: relative;
  margin: 200px 0 0;
}
.top__contents .technical-supplier__wrap::after {
  display: block;
  content: "";
  width: 1300px;
  height: 1300px;
  background-image: url(../images/top/gradation.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: -60px;
  left: -400px;
}
@media screen and (max-width: 900px) {
  .top__contents .technical-supplier__wrap {
    margin: 100px 0 0;
    padding: 0 15px;
  }
  .top__contents .technical-supplier__wrap::after {
    width: 500px;
    height: 500px;
    top: -110px;
    left: 40px;
  }
}
.top__contents .technical-supplier__inner {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.top__contents .technical-supplier__inner h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 400;
}
@media screen and (max-width: 1250px) {
  .top__contents .technical-supplier__inner h2 {
    font-size: 2.625rem;
  }
}
.top__contents .technical-supplier__inner p {
  max-width: 530px;
  width: 100%;
  margin: 50px 0 0;
  font-size: 1rem;
  line-height: 3.12;
}
.top__contents .technical-supplier__inner > div:first-child {
  max-width: 664px;
  width: 664px;
}
.top__contents .technical-supplier__inner > div:last-child {
  max-width: 35%;
  width: 100%;
  margin-right: -100px;
}
@media screen and (min-width: 1250px) {
  .top__contents .technical-supplier__inner > div:first-child {
    max-width: 48%;
    width: 100%;
  }
  .top__contents .technical-supplier__inner > div:last-child {
    max-width: 664px;
    margin-right: -150px;
  }
}
@media screen and (max-width: 900px) {
  .top__contents .technical-supplier__inner {
    flex-direction: column;
  }
  .top__contents .technical-supplier__inner h2 {
    font-size: 2rem;
  }
  .top__contents .technical-supplier__inner p {
    line-height: 1.625;
    margin: 30px 0 0;
  }
  .top__contents .technical-supplier__inner > div:first-child {
    max-width: 100%;
    width: 100%;
  }
  .top__contents .technical-supplier__inner > div:last-child {
    max-width: 70%;
    width: 100%;
    margin-right: -360px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .technical-supplier__inner > div:last-child {
    max-width: 100%;
    margin-right: -130px;
  }
}
.top__contents .support-btn__parts {
  background-color: #080618;
}
.top__contents .pickup__wrap .title__line {
  width: 300px;
}
.top__contents .pickup__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .title__line.title__en {
    height: 48px;
  }
}
.top__contents .pickup__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .title__line.title__jp {
    height: 22px;
  }
}
.top__contents .product__wrap .title__line {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .top__contents .product__wrap .title__line {
    width: 232px;
  }
}
.top__contents .product__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .top__contents .product__wrap .title__line.title__en {
    height: 48px;
  }
}
.top__contents .product__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .top__contents .product__wrap .title__line.title__jp {
    height: 22px;
  }
}
.top__contents .news__wrap .title__line {
  width: 230px;
}
@media screen and (max-width: 768px) {
  .top__contents .news__wrap .title__line {
    width: 143px;
  }
}
.top__contents .news__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .top__contents .news__wrap .title__line.title__en {
    height: 48px;
  }
}
.top__contents .news__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .top__contents .news__wrap .title__line.title__jp {
    height: 22px;
  }
}
.top__contents .news__wrap .title__line .bg-mask {
  background-color: #004097;
}
.top__contents .report__wrap .title__line {
  width: 280px;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .title__line {
    width: 178px;
  }
}
.top__contents .report__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .title__line.title__en {
    height: 48px;
  }
}
.top__contents .report__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .title__line.title__jp {
    height: 22px;
  }
}
.top__contents .report__wrap .title__line .title__text {
  color: #004097;
}
.top__contents .report__wrap .title__line .bg-mask {
  background-color: #fff;
}
.top__contents .company__wrap .title__line {
  width: 336px;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .title__line {
    width: 215px;
  }
}
.top__contents .company__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .title__line.title__en {
    height: 48px;
  }
}
.top__contents .company__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .title__line.title__jp {
    height: 22px;
  }
}
.top__contents .recruit__wrap .title__line {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__wrap .title__line {
    width: 190px;
  }
}
.top__contents .recruit__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__wrap .title__line.title__en {
    height: 48px;
  }
}
.top__contents .recruit__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__wrap .title__line.title__jp {
    height: 22px;
  }
}
.top__contents .movie__wrap .title__line {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .title__line {
    width: 220px;
  }
}
.top__contents .movie__wrap .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .title__line.title__en {
    height: 48px;
  }
}
.top__contents .movie__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .title__line.title__jp {
    height: 22px;
  }
}
.top__contents .pickup__wrap {
  margin: 175px 0 0;
  padding: 0 0 200px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap {
    position: relative;
    margin: 85px 0 0;
    padding: 0 0 150px;
  }
  .top__contents .pickup__wrap::after {
    display: block;
    content: "";
    background-image: url(../images/top/gradation.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    bottom: 70px;
    left: -250px;
    width: 500px;
    height: 500px;
  }
}
.top__contents .pickup__wrap .pickup__inner {
  width: 100%;
  margin: 0 auto 0 0;
  padding: 0 0 0 110px;
}
@media screen and (max-width: 900px) {
  .top__contents .pickup__wrap .pickup__inner {
    padding: 0 0 0 55px;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .pickup__inner {
    padding: 0 0 0 0;
    margin: 0 auto 0 15px;
  }
}
.top__contents .pickup__wrap .swiper {
  margin: 50px 0 0;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .swiper {
    margin: 40px 0 0;
    padding: 0;
  }
}
.top__contents .pickup__wrap .swiper-slide {
  position: relative;
  height: 490px;
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .swiper-slide {
    height: 460px;
  }
}
.top__contents .pickup__wrap .swiper-slide::after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(170deg, #2B53FF 30%, #A84FE5 50%, #FF39A4 50%);
  transform: translate3d(0px, 0px, 0px) scale(0.95);
  transition: 0.3s;
  border-radius: inherit;
  filter: blur(7px);
  opacity: 0;
  transition: 0.6s;
}
.top__contents .pickup__wrap .swiper-slide:hover::after {
  transform: translate3d(1px, 1px, 1px) scale(1);
  opacity: 1;
}
.top__contents .pickup__wrap .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 30px;
  border-radius: 3px;
  color: #fff;
  border: 1px solid #616B7B;
  background-color: #080618;
}
.top__contents .pickup__wrap .swiper-slide a > div:first-child {
  min-height: 246px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top__contents .pickup__wrap .swiper-slide a > div:first-child img {
  max-width: 246px;
  width: 100%;
  height: auto;
  background-size: cover;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .swiper-slide a {
    padding: 20px;
  }
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text {
  margin: 15px 0 0;
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text span {
  display: inline-block;
  padding: 3px 10px 3px 25px;
  border-radius: 2px;
  background-color: #616B7B;
  position: relative;
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text span::after {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #87878a;
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text span.new__product::after {
  background-color: #E50211;
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text span.featured::after {
  background-color: #004097;
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text span.event__guide::after {
  background-color: #E0FF00;
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text h3 {
  font-size: 1rem;
  font-weight: 700;
  margin: 5px 0 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
.top__contents .pickup__wrap .swiper-slide .pickup__slide-text p {
  font-size: 0.875rem;
  font-weight: 400;
  margin: 5px 0 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
.top__contents .pickup__wrap .swiper__option {
  margin: 50px 0 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 18px;
}
@media screen and (max-width: 900px) {
  .top__contents .pickup__wrap .swiper__option {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .swiper__option {
    margin: 30px 0 0;
    gap: 0;
  }
}
.top__contents .pickup__wrap .swiper-scrollbar {
  border-radius: 2px;
  max-width: 75vw;
  width: 100%;
  height: 4px;
  margin-right: 2vw;
  background-color: #393846;
}
@media screen and (max-width: 900px) {
  .top__contents .pickup__wrap .swiper-scrollbar {
    max-width: 90vw;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .swiper-scrollbar {
    max-width: 92%;
    margin-right: 0;
  }
}
.top__contents .pickup__wrap .swiper-scrollbar .swiper-scrollbar-drag {
  border-radius: 2px;
  height: 100%;
  background-image: linear-gradient(130deg, rgb(6, 0, 159) 10%, rgb(204, 20, 119) 90%);
}
.top__contents .pickup__wrap .swiper-button-prev, .top__contents .pickup__wrap .swiper-button-next {
  cursor: pointer;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .swiper-button-prev, .top__contents .pickup__wrap .swiper-button-next {
    display: none;
  }
}
.top__contents .pickup__wrap .swiper-button-prev::after, .top__contents .pickup__wrap .swiper-button-next::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.top__contents .pickup__wrap .swiper-button-prev::after {
  width: 10.5px;
  height: 7px;
  background-image: url(../images/swiper_prev_icon.svg);
}
.top__contents .pickup__wrap .swiper-button-next::after {
  width: 10.5px;
  height: 7px;
  background-image: url(../images/swiper_next_icon.svg);
}
@media screen and (max-width: 768px) {
  .top__contents .pickup__wrap .swiper-control {
    display: none;
  }
}
.top__contents .pickup__wrap .swiper-control button {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
}
.top__contents .pickup__wrap .swiper-control button::after {
  content: "";
  display: block;
  width: 5px;
  height: 10px;
  background-image: url(../images/swiper_stop_icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top__contents .pickup__wrap .swiper-control button.play__start::after {
  width: 8px;
  background-image: url(../images/swiper_start_icon.svg);
}
.top__contents .product__wrap {
  padding: 200px 0;
  background-color: #616B7B;
  position: relative;
  /*
  &::after,&::before{
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    background-repeat: repeat-y;
    background-size: 20px 2655px;
    background-position: top left;
    position: absolute;
    top: 0;
    @include mq(sp){
      width: 10px;
      background-size: 10px 1325px;
    }
  }
  &::after{
    left: 0;
    background-image: url(../images/top/left_ruler.svg);
  }
  &::before{
    right: 0;
    background-image: url(../images/top/right_ruler.svg);
  }*/
}
@media screen and (max-width: 768px) {
  .top__contents .product__wrap {
    padding: 100px 15px 75px;
  }
}
.top__contents .product__wrap .product__inner {
  max-width: 87%;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .top__contents .product__wrap .product__inner {
    max-width: 100%;
  }
}
.top__contents .product__wrap .product__list {
  margin: 50px 0 0;
}
.top__contents .product__wrap .product__list ul {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}
.top__contents .product__wrap .product__list ul li {
  width: 33.33%;
}
.top__contents .product__wrap .product__list ul li a {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  padding: 30px 30px 45px;
  border: 0.5px solid #616B7B;
  background-color: #fff;
  transition: 0.6s;
}
.top__contents .product__wrap .product__list ul li a::after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background-image: url(../images/top/product_list_triangle.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  bottom: 5px;
  right: 5px;
  transition: 0.3s;
}
.top__contents .product__wrap .product__list ul li a p {
  color: #080618;
  margin: 30px 0 0;
  font-size: 1.25rem;
  text-align: center;
  line-height: 1.2;
  font-weight: 700;
  transition: 0.3s;
}
.top__contents .product__wrap .product__list ul li a:hover {
  background-color: #080618;
}
.top__contents .product__wrap .product__list ul li a:hover p {
  color: #E0FF00;
}
.top__contents .product__wrap .product__list ul li a:hover::after {
  background-image: url(../images/top/product_list_triangle_hover.svg);
}
.top__contents .product__wrap .product__list ul li a img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .top__contents .product__wrap .product__list {
    margin: 40px 0 0;
  }
  .top__contents .product__wrap .product__list ul li {
    width: 49.9%;
  }
  .top__contents .product__wrap .product__list ul li a {
    padding: 15px 15px 35px;
  }
  .top__contents .product__wrap .product__list ul li a::after {
    width: 20px;
    height: 20px;
  }
  .top__contents .product__wrap .product__list ul li a p {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.top__contents .product__wrap .banner__catalog {
  max-width: 1080px;
  width: 100%;
  display: block;
  margin: 60px auto 0;
  transition: 0.3s;
}
.top__contents .product__wrap .banner__catalog:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .top__contents .product__wrap .banner__catalog {
    margin: 35px auto 0;
  }
}
.top__contents .customer__wrap {
  padding: 0 0 200px;
  background-image: url(../images/top/customer_bg.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  background-color: #E5ECF7;
}
@media screen and (max-width: 900px) {
  .top__contents .customer__wrap {
    padding: 0 0 80px;
  }
}
.top__contents .customer__wrap .customer__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 10px;
  background-image: linear-gradient(130deg, rgb(6, 0, 159) 10%, rgb(204, 20, 119) 90%);
}
.top__contents .customer__wrap .customer__inner .customer__grada {
  position: relative;
  padding: 110px 5px;
  background-color: #fff;
  border-radius: 30px;
}
.top__contents .customer__wrap .customer__inner h3 {
  color: #080618;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: 3rem;
}
.top__contents .customer__wrap .customer__inner p {
  color: #080618;
  font-size: 1rem;
  line-height: 3.125;
  max-width: 800px;
  width: 100%;
  margin: 50px auto 0;
}
.top__contents .customer__wrap .customer__inner .customer__chara {
  width: 68px;
  position: absolute;
  bottom: -10px;
  right: 60px;
}
@media screen and (max-width: 900px) {
  .top__contents .customer__wrap .customer__inner .customer__grada {
    padding: 50px 25px 100px;
  }
  .top__contents .customer__wrap .customer__inner .customer__grada h3 {
    font-size: 2rem;
  }
  .top__contents .customer__wrap .customer__inner .customer__grada p {
    line-height: 1.625;
    margin: 30px auto 0;
  }
  .top__contents .customer__wrap .customer__inner .customer__grada .customer__chara {
    width: 43px;
    bottom: 0px;
    right: inherit;
    left: 50%;
    transform: translateX(-50%);
  }
}
.top__contents .news__wrap {
  padding: 0 15px 145px;
  background-color: #E5ECF7;
}
@media screen and (max-width: 900px) {
  .top__contents .news__wrap {
    padding: 0 15px 115px;
  }
}
.top__contents .news__wrap .news__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
.top__contents .news__wrap .news-filter {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
  margin: -30px 0 30px;
}
.top__contents .news__wrap .news-filter li button {
  color: #A0B8DA;
  font-size: 1rem;
  font-weight: 400;
}
.top__contents .news__wrap .news-filter li button.news-filter_active {
  color: #004097;
  font-weight: 700;
  border-bottom: 1px solid #004097;
}
@media screen and (max-width: 900px) {
  .top__contents .news__wrap .news-filter {
    display: none;
  }
}
.top__contents .news__wrap .news-list li a {
  position: relative;
  padding: 30px 15px;
  display: block;
  border-bottom: 1px solid #004097;
  background-image: url(../images/icon-arrow-noraml-right.svg);
  background-repeat: no-repeat;
  background-position: center right 15px;
  background-size: 8px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .top__contents .news__wrap .news-list li a {
    padding: 20px 30px 20px 0px;
  }
}
.top__contents .news__wrap .news-list li a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 1s;
}
.top__contents .news__wrap .news-list li a p {
  font-size: 1rem;
}
.top__contents .news__wrap .news-list li a .news-date {
  display: inline-block;
  color: #004097;
  font-family: "Oswald", sans-serif;
  margin-right: 10px;
}
.top__contents .news__wrap .news-list li a .news-category {
  display: inline-block;
  padding: 2px 13px;
  border-radius: 15px;
  font-size: 0.6875rem;
  color: #004097;
  background-color: #fff;
  transition: 0.3s;
}
.top__contents .news__wrap .news-list li a .news-title {
  display: inline-block;
  width: 100%;
  color: #080618;
  margin: 15px 0 0;
}
@media screen and (max-width: 768px) {
  .top__contents .news__wrap .news-list li a .news-title {
    margin: 10px 0 0;
  }
}
.top__contents .news__wrap .news-list li a .news-title span {
  position: relative;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
.top__contents .news__wrap .news-list li a:hover {
  background-position: center right 5px;
  background-color: #fff;
  background-image: url(../images/icon-arrow-noraml-right-red.svg);
}
.top__contents .news__wrap .news-list li a:hover::after {
  width: 100%;
}
.top__contents .news__wrap .news-list li a:hover .news-category {
  color: #fff;
  background-color: #004097;
}
.top__contents .news__wrap .news-list li.news-item_pdf a .news-title span::after {
  content: "PDF";
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 0.75rem;
  padding: 2px 10px;
  border-radius: 3px;
  margin-left: 15px;
  color: #fff;
  background-color: #004097;
  transition: 0.3s;
}
.top__contents .news__wrap .news-list li.news-item_pdf a:hover .news-title span::after {
  color: #004097;
  background-color: #E5ECF7;
}
.top__contents .news__wrap .btn__boxstyle {
  margin-right: 0;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .top__contents .news__wrap .btn__boxstyle {
    margin-right: auto;
    margin-top: 40px;
  }
}
.top__contents .report__wrap {
  position: relative;
  padding: 200px 0 170px;
  background-image: url(../images/top/shopreport_bg.png), linear-gradient(73deg, rgb(3, 97, 150) 15%, rgb(16, 77, 162) 90%);
  background-repeat: no-repeat, no-repeat;
  background-size: 1503px, cover;
  background-position: top -630px right -400px, center;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .top__contents .report__wrap {
    padding: 200px 15px 170px;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap {
    padding: 100px 15px;
    background-size: 1100px, cover;
    background-position: top -390px right -320px, center;
  }
}
.top__contents .report__wrap .report__bgtext {
  font-size: 13.3125rem;
  font-family: "Oswald", sans-serif;
  color: #fff;
  opacity: 0.1;
  position: absolute;
  top: 230px;
  left: 0;
}
.top__contents .report__wrap .report__bgtext p {
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .report__bgtext {
    top: 170px;
    font-size: 4.8125rem;
  }
}
.top__contents .report__wrap .report__readtext {
  font-size: 1.6875rem;
  font-weight: 700;
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .report__readtext {
    margin: 35px 0 0;
    font-size: 1.25rem;
  }
}
.top__contents .report__wrap .report__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto 0;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .report__inner {
    margin: 0 auto 0;
  }
}
.top__contents .report__wrap .swiper__report {
  margin: 40px 0 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper__report {
    margin: 35px 0 0;
    padding: 0;
  }
}
.top__contents .report__wrap .swiper-slide {
  position: relative;
}
.top__contents .report__wrap .swiper-slide a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 70px;
  width: 100%;
  height: 100%;
  padding: 10px 30px 10px 10px;
  border-radius: 3px;
  color: #fff;
  background-color: #fff;
  position: relative;
}
.top__contents .report__wrap .swiper-slide a::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background-image: url(../images/triangle-shopreport.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  bottom: 5px;
  right: 5px;
  transition: 0.3s;
}
.top__contents .report__wrap .swiper-slide a .report__slide-img {
  max-width: 505px;
  width: 100%;
  overflow: hidden;
}
.top__contents .report__wrap .swiper-slide a .report__slide-img img {
  transform: scale(1);
  transition: 5s;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper-slide a .report__slide-img {
    height: 176px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.top__contents .report__wrap .swiper-slide a:hover::after {
  background-image: url(../images/triangle-shopreport-red.svg);
}
.top__contents .report__wrap .swiper-slide a:hover .report__slide-img img {
  transform: scale(1.2);
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper-slide a {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    padding: 10px 10px 20px;
  }
  .top__contents .report__wrap .swiper-slide a::after {
    width: 20px;
    height: 20px;
  }
}
.top__contents .report__wrap .swiper-slide .pickup__slide-text {
  margin: 15px 0 0;
  max-width: 415px;
  width: 100%;
}
.top__contents .report__wrap .swiper-slide .pickup__slide-text h3 {
  color: #004097;
  font-size: 1.625rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
.top__contents .report__wrap .swiper-slide .pickup__slide-text p {
  color: #080618;
  font-size: 0.875rem;
  font-weight: 400;
  margin: 5px 0 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 4;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper-slide .pickup__slide-text {
    margin: 0 0 0;
  }
  .top__contents .report__wrap .swiper-slide .pickup__slide-text h3 {
    font-size: 1rem;
  }
}
.top__contents .report__wrap .swiper__option {
  margin: 50px 0 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 18px;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper__option {
    margin: 30px 0 0;
    gap: 0;
  }
}
.top__contents .report__wrap .swiper-scrollbar {
  border-radius: 2px;
  max-width: 875px;
  width: 100%;
  height: 4px;
  margin-right: 50px;
  background-color: #D9D9D9;
}
.top__contents .report__wrap .swiper-scrollbar .swiper-scrollbar-drag {
  border-radius: 2px;
  height: 100%;
  background-image: linear-gradient(130deg, rgb(6, 0, 159) 10%, rgb(204, 20, 119) 90%);
}
@media screen and (max-width: 900px) {
  .top__contents .report__wrap .swiper-scrollbar {
    max-width: 550px;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper-scrollbar {
    max-width: 100%;
    margin-right: 0;
  }
}
.top__contents .report__wrap .swiper-button-prev, .top__contents .report__wrap .swiper-button-next {
  cursor: pointer;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper-button-prev, .top__contents .report__wrap .swiper-button-next {
    display: none;
  }
}
.top__contents .report__wrap .swiper-button-prev::after, .top__contents .report__wrap .swiper-button-next::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.top__contents .report__wrap .swiper-button-prev::after {
  width: 10.5px;
  height: 7px;
  background-image: url(../images/swiper_prev_icon.svg);
}
.top__contents .report__wrap .swiper-button-next::after {
  width: 10.5px;
  height: 7px;
  background-image: url(../images/swiper_next_icon.svg);
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .swiper-control {
    display: none;
  }
}
.top__contents .report__wrap .swiper-control button {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
}
.top__contents .report__wrap .swiper-control button::after {
  content: "";
  display: block;
  width: 5px;
  height: 10px;
  background-image: url(../images/swiper_stop_icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top__contents .report__wrap .swiper-control button.play__start::after {
  width: 8px;
  background-image: url(../images/swiper_start_icon.svg);
}
.top__contents .report__wrap .btn__boxstyle-wrap {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
.top__contents .report__wrap .btn__boxstyle-wrap .btn__boxstyle {
  margin-right: 0;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .top__contents .report__wrap .btn__boxstyle-wrap .btn__boxstyle {
    margin-right: auto;
  }
}
.top__contents .company__wrap {
  padding: 200px 0;
  background-image: url(../images/top/company_bg_pc.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap {
    padding: 100px 0;
  }
}
.top__contents .company__wrap .company__inner {
  max-width: 87%;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 100px;
}
.top__contents .company__wrap .company__inner .title__container {
  max-width: 56%;
}
.top__contents .company__wrap .company__inner .company__image-wrap {
  max-width: 38%;
}
.top__contents .company__wrap .company__inner > div:last-child {
  border-radius: 3px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .company__inner {
    max-width: 100%;
    flex-direction: column;
    gap: 0;
  }
  .top__contents .company__wrap .company__inner .title__container {
    display: contents;
  }
  .top__contents .company__wrap .company__inner .title__container .title__en {
    order: 1;
    margin-left: 15px;
  }
  .top__contents .company__wrap .company__inner .title__container .title__jp {
    order: 2;
    margin-left: 15px;
  }
  .top__contents .company__wrap .company__inner .company__image-wrap {
    max-width: 100%;
  }
  .top__contents .company__wrap .company__inner > div:last-child {
    border-radius: 0;
    order: 3;
    margin: 40px 0 0 auto;
    padding: 0 0 0 35px;
  }
}
.top__contents .company__wrap .company__inner .company__copy-wrap {
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .company__inner .company__copy-wrap {
    order: 4;
    margin: 40px 0 0;
    padding: 0 15px;
  }
  .top__contents .company__wrap .company__inner .company__copy-wrap .btn__boxstyle {
    margin: 30px auto 0;
  }
}
.top__contents .company__wrap .company__inner .company__copy-wrap p {
  font-size: 1rem;
  line-height: 3.125;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .company__inner .company__copy-wrap p {
    line-height: 1.625;
  }
}
.top__contents .company__wrap .company__inner .company__contents {
  max-width: 530px;
  margin: 50px 0 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 15px 4%;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .company__inner .company__contents {
    margin: 40px auto 0;
    max-width: 305px;
    flex-direction: column;
    gap: 0;
  }
}
.top__contents .company__wrap .company__inner .company__contents li {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .company__inner .company__contents li {
    width: 100%;
  }
}
.top__contents .company__wrap .company__inner .company__contents li a {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px 0;
  border-bottom: 1px solid #fff;
  position: relative;
}
.top__contents .company__wrap .company__inner .company__contents li a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
.top__contents .company__wrap .company__inner .company__contents li a .icon__box-arrow {
  position: relative;
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 3px;
  background-color: #004097;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top__contents .company__wrap .company__inner .company__contents li a .icon__box-arrow {
    width: 44px;
    height: 44px;
  }
}
.top__contents .company__wrap .company__inner .company__contents li a .icon__box-arrow::after, .top__contents .company__wrap .company__inner .company__contents li a .icon__box-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 16px;
  height: 10px;
  background-image: url(../images/icon-arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  transition: 0.3s;
}
.top__contents .company__wrap .company__inner .company__contents li a .icon__box-arrow::before {
  left: -150%;
}
.top__contents .company__wrap .company__inner .company__contents li a:hover .icon__box-arrow {
  background-color: #E50211;
}
.top__contents .company__wrap .company__inner .company__contents li a:hover .icon__box-arrow::after {
  left: 150%;
}
.top__contents .company__wrap .company__inner .company__contents li a:hover .icon__box-arrow::before {
  left: 50%;
}
.top__contents .company__wrap .company__inner .company__contents li a:hover::after {
  width: 100%;
}
.top__contents .recruit__wrap {
  position: relative;
  padding: 170px 0 0;
  overflow: hidden;
}
.top__contents .recruit__wrap .recruit__bg {
  position: absolute;
  top: -350px;
  right: -300px;
  max-width: 1300px;
  width: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__wrap .recruit__bg {
    top: -10px;
    right: -50px;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__wrap {
    padding: 100px 0 250px;
  }
}
.top__contents .recruit__inner {
  position: relative;
  z-index: 1;
  max-width: 87%;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 540px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 100px;
}
.top__contents .recruit__inner .title__container {
  max-width: 56%;
}
.top__contents .recruit__inner .recruit__image-wrap {
  max-width: 38%;
}
.top__contents .recruit__inner > div:nth-child(2) {
  border-radius: 3px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__inner {
    max-width: 100%;
    flex-direction: column;
    padding: 0 0 100px;
    gap: 0;
  }
  .top__contents .recruit__inner > div:nth-child(2) {
    border-radius: 0;
    order: 3;
    margin: 30px 0 0 auto;
    padding: 0 0 0 35px;
  }
  .top__contents .recruit__inner .title__container {
    display: contents;
  }
  .top__contents .recruit__inner .title__container .title__en {
    order: 1;
    margin-left: 15px;
  }
  .top__contents .recruit__inner .title__container .title__jp {
    order: 2;
    margin-left: 15px;
  }
  .top__contents .recruit__inner .recruit__image-wrap {
    max-width: 100%;
  }
}
.top__contents .recruit__inner .title__container {
  position: relative;
  z-index: 1;
}
.top__contents .recruit__inner .recruit__copy-wrap {
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__inner .recruit__copy-wrap {
    padding: 0 15px;
    margin: 50px 0 0;
    order: 4;
  }
}
.top__contents .recruit__inner .recruit__copy-wrap p {
  font-size: 1rem;
  line-height: 3.125;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__inner .recruit__copy-wrap p {
    line-height: 1.625;
  }
}
.top__contents .recruit__inner .btn__boxstyle {
  border: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__inner .btn__boxstyle {
    margin: 30px auto 0;
  }
}
.top__contents .recruit__inner .recruit__animation {
  position: absolute;
  bottom: 0;
  left: 90px;
  max-width: 382px;
  width: 100%;
  height: 790px;
  background-image: url(../images/top/recruit_anima_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
@media screen and (max-width: 900px) {
  .top__contents .recruit__inner .recruit__animation {
    left: 300px;
    max-width: 252px;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .recruit__inner .recruit__animation {
    bottom: -250px;
    left: inherit;
    right: -5px;
    max-width: 150px;
    height: 320px;
  }
}
.top__contents .recruit__inner .recruit__animation > div {
  max-width: 110px;
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: floatUpDown 6s ease-in-out infinite;
}
@keyframes floatUpDown {
  0% {
    transform: translate(-50%, -100%);
  }
  50% {
    transform: translate(-50%, 20%);
  }
  100% {
    transform: translate(-50%, -100%);
  }
}
.top__contents .movie__wrap {
  margin: -360px 0 0;
  padding: 0 0 200px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap {
    margin: -260px 0 0;
    padding: 120px 0 150px;
  }
  .top__contents .movie__wrap::after {
    display: block;
    content: "";
    background-image: url(../images/top/gradation.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    width: 500px;
    height: 500px;
    top: -60px;
    left: inherit;
    right: 70px;
  }
}
.top__contents .movie__wrap .movie__inner {
  width: 100%;
  margin: 0 auto 0;
  padding: 0 0 0 115px;
}
@media screen and (max-width: 1200px) {
  .top__contents .movie__wrap .movie__inner {
    padding: 0 0 0 55px;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .movie__inner {
    padding: 0 0 0 0;
    margin: 0 auto 0 15px;
  }
}
.top__contents .movie__wrap .swiper__movie {
  margin: 50px 0 0;
  padding: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .swiper__movie {
    margin: 40px 0 0;
    padding: 0;
  }
}
.top__contents .movie__wrap .swiper-slide {
  position: relative;
  height: 100%;
}
.top__contents .movie__wrap .swiper-slide::after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(170deg, #2B53FF 30%, #A84FE5 50%, #FF39A4 50%);
  transform: translate3d(0px, 0px, 0px) scale(0.95);
  transition: 0.3s;
  border-radius: inherit;
  filter: blur(7px);
  opacity: 0;
  transition: 0.6s;
}
.top__contents .movie__wrap .swiper-slide:hover::after {
  transform: translate3d(1px, 1px, 1px) scale(1);
  opacity: 1;
}
.top__contents .movie__wrap .swiper-slide .pickup__slide-text {
  margin: 15px 0 0;
}
.top__contents .movie__wrap .swiper-slide .pickup__slide-text p {
  overflow: hidden; /* 溢れた部分を隠す */
  text-overflow: ellipsis; /* 溢れた部分を「...」にする */
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 400;
  margin: 5px 0 0;
}
.top__contents .movie__wrap .swiper__option {
  margin: 50px 0 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 18px;
}
@media screen and (max-width: 900px) {
  .top__contents .movie__wrap .swiper__option {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .swiper__option {
    margin: 30px 0 0;
    gap: 0;
  }
}
.top__contents .movie__wrap .swiper-scrollbar {
  border-radius: 2px;
  max-width: 75vw;
  width: 100%;
  height: 4px;
  margin-right: 2vw;
  background-color: #393846;
}
@media screen and (max-width: 900px) {
  .top__contents .movie__wrap .swiper-scrollbar {
    max-width: 90vw;
  }
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .swiper-scrollbar {
    max-width: 92%;
    margin-right: 0;
  }
}
.top__contents .movie__wrap .swiper-scrollbar .swiper-scrollbar-drag {
  border-radius: 2px;
  height: 100%;
  background-image: linear-gradient(130deg, rgb(6, 0, 159) 10%, rgb(204, 20, 119) 90%);
}
.top__contents .movie__wrap .swiper-button-prev, .top__contents .movie__wrap .swiper-button-next {
  cursor: pointer;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .swiper-button-prev, .top__contents .movie__wrap .swiper-button-next {
    display: none;
  }
}
.top__contents .movie__wrap .swiper-button-prev::after, .top__contents .movie__wrap .swiper-button-next::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.top__contents .movie__wrap .swiper-button-prev::after {
  width: 10.5px;
  height: 7px;
  background-image: url(../images/swiper_prev_icon.svg);
}
.top__contents .movie__wrap .swiper-button-next::after {
  width: 10.5px;
  height: 7px;
  background-image: url(../images/swiper_next_icon.svg);
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .swiper-control {
    display: none;
  }
}
.top__contents .movie__wrap .swiper-control button {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
}
.top__contents .movie__wrap .swiper-control button::after {
  content: "";
  display: block;
  width: 5px;
  height: 10px;
  background-image: url(../images/swiper_stop_icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top__contents .movie__wrap .swiper-control button.play__start::after {
  width: 8px;
  background-image: url(../images/swiper_start_icon.svg);
}
.top__contents .movie__wrap .modal-open {
  height: auto;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .top__contents .movie__wrap .modal-open {
    padding: 15px;
  }
}
.top__contents .movie__wrap .iframe__wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* (9 ÷ 16) × 100 = 56.25% */
  height: 0;
  overflow: hidden;
}
.top__contents .movie__wrap .iframe__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*===============================================

PRODUCTS / 製品案内

=================================================*/
#page-products .breadcrumb {
  color: #fff;
}
#page-products .breadcrumb a {
  color: #fff;
}
#page-products .breadcrumb a::after {
  background-color: #fff;
}
#page-products {
  background: #616B7B;
  padding-top: 102px;
}
#page-products > :last-child {
  margin-bottom: 0 !important;
}
#page-products .content__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page-products .content__inner {
    max-width: none;
    padding: 0 15px;
  }
}
#page-products .content__inner > :last-child {
  margin-bottom: 0 !important;
}
#page-products .aside {
  padding: 184px 0 0;
}
#page-products .aside__inner > :last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  #page-products {
    padding-top: 95px;
  }
  #page-products .aside {
    padding: 150px 0 0;
  }
}
#page-products .content__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  #page-products .content__list {
    margin-top: 40px;
  }
}
#page-products .content__list > li {
  width: 50%;
  border: 1px solid #080618;
  background: #fff;
  padding: 30px;
}
#page-products .content__list > li > :last-child {
  margin-bottom: 0 !important;
}
#page-products .content__list-head {
  color: #080618;
  text-align: center;
  margin: 0 0 20px;
  display: block;
  transition: 0.3s;
}
#page-products .content__list-head:hover .img img {
  transform: scale(1.1);
}
#page-products .content__list-head:hover .txt {
  color: #E50211;
  text-decoration: underline;
}
#page-products .content__list-head .img {
  width: 100%;
  height: 350px;
  margin: 0 0 20px;
  transition: inherit;
  overflow: hidden;
}
#page-products .content__list-head .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
#page-products .content__list-head .txt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0 15px 0 0;
  position: relative;
  display: inline-block;
  transition: inherit;
}
#page-products .content__list-head .txt::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #E50211;
  border-right: 2px solid #E50211;
  position: absolute;
  top: 50%;
  right: -1px;
  transform: translateY(-50%) rotate(45deg);
}
#page-products .content__list-body {
  border-top: 1px solid rgba(97, 107, 123, 0.3);
  padding: 20px 0 0;
}
#page-products .content__list-body > :last-child {
  margin-bottom: 0 !important;
}
#page-products .content__list-sublist {
  font-size: 0.875rem;
  margin: -9px 0 0;
}
#page-products .content__list-sublist > li {
  margin: 9px 20px 0 0;
  display: inline-block;
}
#page-products .content__list-sublist > li:last-child {
  margin-right: 0;
}
#page-products .content__list-sublist > li > a {
  color: #080618;
  text-decoration: underline;
  line-height: 1.2;
  padding: 0 15px 0 0;
  position: relative;
  display: inline-block;
  transition: 0.3s;
}
#page-products .content__list-sublist > li > a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #E50211;
  border-right: 1px solid #E50211;
  position: absolute;
  top: 50%;
  right: -1px;
  transform: translateY(-50%) rotate(45deg);
}
#page-products .content__list-sublist > li > a:hover {
  color: #E50211;
}
@media screen and (max-width: 768px) {
  #page-products .content__list {
    display: block;
  }
  #page-products .content__list > li {
    width: 100%;
    border: 0;
    padding: 0;
    position: relative;
  }
  #page-products .content__list-head {
    border: 1px solid #080618;
    text-align: left;
    padding: 15px;
    margin: 0;
    display: flex;
    align-items: center;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  #page-products .content__list-head .img {
    width: 96px;
    height: 70px;
    margin: 0;
  }
  #page-products .content__list-head .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
  #page-products .content__list-head .txt {
    width: calc(100% - 106px);
  }
  #page-products .content__list-head .txt::before {
    right: 3px;
  }
  #page-products .content__list-body {
    border: 0;
    background: #F2F2F2;
    padding: 0;
  }
  #page-products .content__list-sublist {
    border-left: 1px solid #B5B6B7;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
  }
  #page-products .content__list-sublist > li {
    width: 50%;
    border-right: 1px solid #B5B6B7;
    border-bottom: 1px solid #B5B6B7;
    line-height: 1.5;
    margin: 0;
  }
  #page-products .content__list-sublist > li > a {
    min-height: 100px;
    text-decoration: none;
    padding: 15px 30px 15px 15px;
    display: flex;
    align-items: center;
  }
  #page-products .content__list-sublist > li > a::before {
    right: 15px;
  }
  #page-products .content__list-accordion-trigger {
    width: 45px;
    min-height: 99px;
    background: #fff;
    position: absolute;
    top: 1px;
    right: 1px;
  }
  #page-products .content__list-accordion-trigger::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #E50211;
    border-right: 2px solid #E50211;
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%) rotate(135deg);
    transition: 0.3s;
  }
  #page-products .content__list-accordion-trigger .accordion__txt {
    font-size: 0;
    opacity: 0;
    position: relative;
    z-index: -100;
  }
  #page-products .content__list-accordion-trigger.is__open::before {
    transform: translateY(-50%) rotate(-45deg);
  }
}
#page-products .banner__catalog {
  max-width: 1080px;
  width: 100%;
  display: block;
  margin: 60px auto 0;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  #page-products .banner__catalog {
    max-width: 92%;
    margin: 20px auto 0;
  }
}

/*===============================================

category_name / 製品一覧

=================================================*/
#page-products-category .breadcrumb {
  color: #fff;
}
#page-products-category .breadcrumb a {
  color: #fff;
}
#page-products-category {
  background: #616B7B;
  padding-top: 102px;
}
#page-products-category > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category .content__inner {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
@media screen and (max-width: 768px) {
  #page-products-category .content__inner {
    max-width: none;
    padding: 0 15px;
  }
}
#page-products-category .content__inner > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category .content__inner > .content__primary {
  width: 927px;
}
#page-products-category .content__inner > .content__subnav {
  min-width: 263px;
  width: 263px;
  position: sticky;
  top: 120px;
}
#page-products-category .content__inner > .content__subnav .content__subnav-list .is__active {
  z-index: 10;
}
#page-products-category .aside {
  padding: 225px 0 0;
}
#page-products-category .aside__inner > :last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  #page-products-category {
    padding-top: 60px;
  }
  #page-products-category .content__inner {
    display: block;
  }
  #page-products-category .content__inner > .content__primary {
    width: auto;
  }
  #page-products-category .content__inner > .content__subnav {
    width: auto;
  }
  #page-products-category .aside {
    padding: 150px 0 0;
  }
}
#page-products-category .content__primary {
  position: relative;
}
#page-products-category .content__primary > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category .content__category {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
  visibility: hidden;
  pointer-events: none;
  display: none;
}
#page-products-category .content__category > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category .content__category.is__active {
  position: static;
  z-index: 0;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  display: block;
  scroll-margin-top: 100px;
}
#page-products-category .content__category-title {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 40px;
}
#page-products-category .content__category-menu {
  margin: 0 0 145px;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 50px;
       column-gap: 50px;
  row-gap: 40px;
}
#page-products-category .content__category-menu > li {
  width: 248px;
}
#page-products-category .content__category-menu > li a {
  min-height: 47px;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 40px 0 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  transition: 0.3s;
}
#page-products-category .content__category-menu > li a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) rotate(135deg);
}
#page-products-category .content__category-menu > li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  #page-products-category .content__category-title {
    font-size: 1.6875rem;
    margin: 0 0 20px;
  }
  #page-products-category .content__category-menu {
    margin: 0 0 110px;
    display: block;
  }
  #page-products-category .content__category-menu > li {
    width: 100%;
    margin: 0 0 15px;
  }
  #page-products-category .content__category-menu > li:last-child {
    margin-bottom: 0;
  }
  #page-products-category .content__category-menu > li a {
    min-height: auto;
    padding: 16px 40px 16px 0;
  }
}
#page-products-category .content__detail {
  margin: 0 0 72px;
}
#page-products-category .content__detail > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category .content__detail-title {
  color: #fff;
  font-size: 1.3125rem;
  font-weight: 700;
  margin: 0 0 25px;
}
#page-products-category .content__detail-itemlist {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 14px;
       column-gap: 14px;
  row-gap: 70px;
}
#page-products-category .content__detail-itemlist > li a {
  color: #fff;
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  align-items: flex-start;
  transition: 0.3s;
}
#page-products-category .content__detail-itemlist > li a:hover .content__detail-itemlist-head .name {
  text-decoration: underline;
}
#page-products-category .content__detail-itemlist > li a:hover .content__detail-itemlist-img img {
  transform: scale(1.1);
}
#page-products-category .content__detail-itemlist-description {
  line-height: 1.5;
}
#page-products-category .content__detail-itemlist-head {
  margin: 0 0 5px;
}
#page-products-category .content__detail-itemlist-head .tag {
  margin: 0 0 10px;
}
#page-products-category .content__detail-itemlist-head .name {
  font-size: 1rem;
  font-weight: 700;
  text-align: justify;
  word-break: break-all;
}
#page-products-category .content__detail-itemlist-body {
  font-size: 0.875rem;
  font-weight: 400;
  text-align: justify;
  word-break: break-all;
}
#page-products-category .content__detail-itemlist-img {
  width: 100%;
  padding: 0 0 100%;
  margin: 0 0 12px;
  position: relative;
  overflow: hidden;
  background-color: #fff;
}
#page-products-category .content__detail-itemlist-img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  #page-products-category .content__detail {
    margin: 0 0 80px;
  }
  #page-products-category .content__detail-title {
    font-size: 1.1875rem;
  }
  #page-products-category .content__detail-itemlist {
    display: block;
  }
  #page-products-category .content__detail-itemlist > li {
    margin: 0 0 35px;
  }
  #page-products-category .content__detail-itemlist > li:last-child {
    margin-bottom: 0;
  }
  #page-products-category .content__detail-itemlist > li a {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  #page-products-category .content__detail-itemlist-description {
    width: calc(100% - 140px);
  }
  #page-products-category .content__detail-itemlist-head .tag {
    margin: 0 0 4px;
  }
  #page-products-category .content__detail-itemlist-img {
    width: 123px;
    height: 123px;
    padding: 0;
    margin: 0 17px 0 0;
  }
  #page-products-category .content__detail-itemlist-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
}
#page-products-category .content__subnav {
  background: #fff;
  padding: 9px 0;
}
#page-products-category .content__subnav > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category .content__subnav-list > li {
  position: relative;
}
#page-products-category .content__subnav-list-head {
  color: #080618;
  padding: 10px 25px 10px 15px;
  position: relative;
  display: flex;
  align-items: center;
  -moz-column-gap: 14px;
       column-gap: 14px;
  transition: 0.3s;
}
#page-products-category .content__subnav-list-head::before, #page-products-category .content__subnav-list-head::after {
  content: "";
  position: absolute;
}
#page-products-category .content__subnav-list-head::before {
  width: 8px;
  height: 8px;
  border-top: 2px solid #E50211;
  border-right: 2px solid #E50211;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) rotate(45deg);
}
#page-products-category .content__subnav-list-head:hover {
  background: #F2F2F2;
}
#page-products-category .content__subnav-list-head .img {
  width: 71px;
  height: 52px;
  margin: 0;
  transition: inherit;
}
#page-products-category .content__subnav-list-head .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
#page-products-category .content__subnav-list-head .txt {
  width: calc(100% - 85px);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  transition: inherit;
}
#page-products-category .content__subnav-list-head.is__current {
  color: #E50211;
  font-weight: 700;
}
#page-products-category .content__subnav-list-head.is__current::after {
  width: 3px;
  height: 100%;
  background: #E50211;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#page-products-category .content__subnav-list-body {
  width: 305px;
  padding: 0 0 0 10px;
  position: absolute;
  top: 20px;
  left: 100%;
  z-index: -1;
  opacity: 0;
  display: none;
  transition: 0.3s;
}
#page-products-category .content__subnav-list-body > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category .content__subnav-list-body.is__active {
  top: 0;
  z-index: 0;
  opacity: 1;
  display: block;
}
#page-products-category .content__subnav-list-sublist {
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 0.875rem;
  font-weight: 400;
  padding: 20px;
}
#page-products-category .content__subnav-list-sublist > li {
  text-align: justify;
  word-break: break-all;
  line-height: 1.5;
  margin: 0 0 9px;
}
#page-products-category .content__subnav-list-sublist > li:last-child {
  margin-bottom: 0;
}
#page-products-category .content__subnav-list-sublist > li a {
  color: #080618;
  padding: 0 0 0 16px;
  position: relative;
  display: inline-block;
  transition: 0.3s;
}
#page-products-category .content__subnav-list-sublist > li a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #E50211;
  border-right: 2px solid #E50211;
  position: absolute;
  top: 0.5em;
  left: 0;
  transform: rotate(45deg);
}
#page-products-category .content__subnav-list-sublist > li a:hover {
  color: #E50211;
  text-decoration: underline;
}
#page-products-category .content__subnav .banner__catalog {
  position: absolute;
  bottom: -180px;
  left: 0;
}
@media screen and (max-width: 768px) {
  #page-products-category .content__subnav {
    display: none;
  }
}

/*===============================================

products_name / 製品詳細

=================================================*/
#page-products-category-detail .btn__boxstyle {
  gap: 20px;
  margin: 50px 0;
}
#page-products-category-detail .btn__335 {
  max-width: 335px;
}
#page-products-category-detail {
  background: #E5ECF7;
  padding-top: 102px;
  overflow: hidden;
}
#page-products-category-detail > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category-detail .content__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .content__inner {
    max-width: none;
    padding: 0 15px;
  }
}
#page-products-category-detail .content__inner > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category-detail .aside {
  padding: 184px 0 0;
}
#page-products-category-detail .aside__inner > :last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail {
    padding-top: 95px;
  }
  #page-products-category-detail .aside {
    padding: 150px 0 0;
  }
}
#page-products-category-detail .detail__hdg--lv1 {
  margin: 0 0 100px;
}
#page-products-category-detail .detail__hdg--lv1-txt {
  font-size: 2.625rem;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .detail__hdg--lv1 {
    margin: 0 0 40px;
  }
  #page-products-category-detail .detail__hdg--lv1 .tag {
    margin: 0 0 3px;
  }
  #page-products-category-detail .detail__hdg--lv1-txt {
    font-size: 1.6875rem;
  }
}
#page-products-category-detail .detail__hdg--lv2 {
  color: #004097;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 20px;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .detail__hdg--lv2 {
    font-size: 1.25rem;
    margin: 0 0 30px;
  }
}
#page-products-category-detail .detail__section {
  margin: 97px 0 60px;
}
#page-products-category-detail .detail__section > :last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .detail__section {
    margin: 0 0 70px;
  }
}
#page-products-category-detail .detail__summary {
  margin: 0 0 90px;
  display: flex;
  justify-content: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
  /*white-space: pre-wrap;*/
}
#page-products-category-detail .detail__summary-img {
  width: 40%;
  flex: 1;
}
#page-products-category-detail .detail__summary-contents {
  width: 55%;
}
#page-products-category-detail .detail__summary-contents > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category-detail .detail__summary-gallery img {
  width: 100%;
}
#page-products-category-detail .detail__summary-gallery.swiper {
  margin: 0 0 33px;
}
#page-products-category-detail .detail__summary-gallery.swiper .swiper-wrapper .swiper-slide {
  padding: 0 0 100%;
  position: relative;
}
#page-products-category-detail .detail__summary-gallery.swiper .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  background: #fff;
}
#page-products-category-detail .detail__summary-gallery--thumb.swiper .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  gap: 16px;
}
#page-products-category-detail .detail__summary-gallery--thumb.swiper .swiper-wrapper .swiper-slide {
  width: 72px;
  height: 72px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
#page-products-category-detail .detail__summary-gallery--thumb.swiper .swiper-wrapper .swiper-slide::before {
  content: "";
  width: 100%;
  height: 100%;
  border: 2px solid transparent;
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
#page-products-category-detail .detail__summary-gallery--thumb.swiper .swiper-wrapper .swiper-slide.swiper-slide-thumb-active::before {
  border-color: #004097;
  background-color: rgba(255, 255, 255, 0);
}
#page-products-category-detail .detail__summary-gallery--thumb.swiper .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background: #fff;
}
#page-products-category-detail .detail__summary-lead {
  margin: 0 0 25px;
}
#page-products-category-detail .detail__summary-lead-label {
  color: #004097;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: justify;
  word-break: break-all;
}
#page-products-category-detail .detail__summary-txt {
  text-align: justify;
  word-break: break-all;
  margin: 0 0 50px;
}
#page-products-category-detail .detail__summary-txt em {
  display: block;
  margin: 0 0 15px;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .detail__summary {
    margin: 0 0 130px;
    display: block;
  }
  #page-products-category-detail .detail__summary-img {
    width: 100%;
    margin: 0 0 40px;
  }
  #page-products-category-detail .detail__summary-contents {
    width: 100%;
  }
  #page-products-category-detail .detail__summary-contents .btn {
    text-align: center;
  }
  #page-products-category-detail .detail__summary-gallery.swiper {
    margin: 0 0 23px;
  }
  #page-products-category-detail .detail__summary-gallery--thumb.swiper .swiper-wrapper {
    gap: 10px;
  }
  #page-products-category-detail .detail__summary-gallery--thumb.swiper .swiper-wrapper .swiper-slide {
    width: 48px;
    height: 48px;
  }
  #page-products-category-detail .detail__summary-lead {
    margin: 0 0 15px;
  }
  #page-products-category-detail .detail__summary-lead-label {
    font-size: 1.125rem;
  }
  #page-products-category-detail .detail__summary-txt {
    margin: 0 0 60px;
  }
}
#page-products-category-detail .detail__link-list {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 28px;
       column-gap: 28px;
  row-gap: 14px;
}
#page-products-category-detail .detail__link-list > li {
  width: calc(50% - 15px);
}
#page-products-category-detail .detail__link-list > li > a,
#page-products-category-detail .detail__link-list > li > a.icon-link {
  min-height: 37px;
  border: 1px solid #B5B6B7;
  border-radius: 5px;
  color: #080618;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  padding: 10px 20px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  overflow: hidden;
  transition: color 0.3s;
}
#page-products-category-detail .detail__link-list > li > a::before,
#page-products-category-detail .detail__link-list > li > a.icon-link::before {
  content: "";
  position: absolute;
  width: 35px;
  height: 35px;
  border-radius: 3px;
  background: url("../images/icon-window-black.svg") no-repeat 50% 50%;
  background-size: 13px auto;
  right: 0;
  z-index: 3;
  transition: background-image 0.3s;
}
#page-products-category-detail .detail__link-list > li > a::after,
#page-products-category-detail .detail__link-list > li > a.icon-link::after {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  transition: width 0.3s;
}
#page-products-category-detail .detail__link-list > li > a span,
#page-products-category-detail .detail__link-list > li > a.icon-link span {
  position: relative;
  z-index: 3;
  transition: color 0.3s;
  padding: 0 8px;
}
#page-products-category-detail .detail__link-list > li > a:hover,
#page-products-category-detail .detail__link-list > li > a.icon-link:hover {
  color: #fff;
  background: #080618;
}
#page-products-category-detail .detail__link-list > li > a:hover::before,
#page-products-category-detail .detail__link-list > li > a.icon-link:hover::before {
  background-image: url("../images/icon-window-white.svg");
}
#page-products-category-detail .detail__link-list > li > a:hover[target=_blank]::before,
#page-products-category-detail .detail__link-list > li > a.icon-link:hover[target=_blank]::before {
  background-size: 14px auto;
}
#page-products-category-detail .detail__link-list > li > a[target=_blank]::before,
#page-products-category-detail .detail__link-list > li > a.icon-link[target=_blank]::before {
  background-size: 14px auto;
}
#page-products-category-detail .detail__link-list > li > a.icon-download::before {
  background-image: url("../images/icon/icon-download.svg");
}
#page-products-category-detail .detail__link-list > li > a.icon-download:hover::before {
  background-image: url("../images/icon/icon-download-wt.svg");
}
#page-products-category-detail .detail__link-list > li > a.icon-download:hover[target=_blank]::before {
  background-size: 15px auto;
}
@media screen and (max-width: 1060px) {
  #page-products-category-detail .detail__link-list > li > a,
  #page-products-category-detail .detail__link-list > li > a.icon-link,
  #page-products-category-detail .detail__link-list > li > a.icon-download {
    min-height: 70px;
    line-height: 1.7;
  }
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .detail__link-list {
    display: block;
  }
  #page-products-category-detail .detail__link-list > li {
    width: 85%;
    margin: 0 auto 20px;
  }
  #page-products-category-detail .detail__link-list > li:last-child {
    margin-bottom: 0;
  }
  #page-products-category-detail .detail__link-list > li > a {
    min-height: 54px;
    font-size: 0.875rem;
    font-weight: 500;
  }
}
#page-products-category-detail .detail__movie-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
#page-products-category-detail .detail__movie-list > li {
  padding: 30px;
  width: 330px;
  background-color: #fff;
}
#page-products-category-detail .detail__movie-list-link {
  border-radius: 3px;
  border: 1px solid #A9B1BC;
  background: #fff;
  color: #080618;
  text-decoration: none;
  padding: 30px;
  display: block;
}
#page-products-category-detail .detail__movie-list-link > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category-detail .detail__movie-list-link:hover {
  color: #E50211;
}
#page-products-category-detail .detail__movie-list-link:hover .detail__movie-list-txt {
  text-decoration: underline;
}
#page-products-category-detail .detail__movie-list-iframe {
  height: 0;
  padding: 0 0 56.25%;
  margin: 0 0 30px;
  position: relative;
  overflow: hidden;
}
#page-products-category-detail .detail__movie-list-iframe iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
#page-products-category-detail .detail__movie-list-txt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: justify;
  word-break: break-all;
  margin: 25px 0 0;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .detail__movie-list {
    display: block;
  }
  #page-products-category-detail .detail__movie-list > li {
    width: 100%;
    margin: 0 0 20px;
  }
  #page-products-category-detail .detail__movie-list > li:last-child {
    margin-bottom: 0;
  }
  #page-products-category-detail .detail__movie-list-link {
    padding: 20px;
  }
  #page-products-category-detail .detail__movie-list-iframe {
    margin: 0 0 20px;
  }
}
#page-products-category-detail .detail__box {
  background: #fff;
  padding: 40px;
  margin: 0 0 60px;
}
#page-products-category-detail .detail__box > :last-child {
  margin-bottom: 0 !important;
}
#page-products-category-detail .detail__box .btn__link {
  border-color: #080618;
}
#page-products-category-detail .detail__box--contact {
  text-align: center;
}
#page-products-category-detail .detail__box--contact p {
  margin: 0 0 30px;
}
#page-products-category-detail .detail__box--contact .btn__boxstyle {
  margin: 25px auto 0;
}
@media screen and (max-width: 768px) {
  #page-products-category-detail .detail__box {
    padding: 25px 20px 40px;
  }
  #page-products-category-detail .detail__box--contact p {
    text-align: justify;
    word-break: break-all;
  }
}

/*===============================================

company / 会社案内

=================================================*/
#page-company {
  background-color: #080618;
  color: #fff;
}
#page-company .breadcrumb {
  color: #fff;
}
#page-company .breadcrumb a {
  color: #fff;
}
#page-company .title__container {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}
#page-company .company__read {
  max-width: 1080px;
  width: 96%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page-company .company__read {
    width: 92%;
  }
}
#page-company .company__read p {
  font-size: 1rem;
  line-height: 2.5;
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__read p {
    line-height: 1.625;
  }
}
#page-company .company__read ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
  margin: 80px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__read ul {
    margin: 45px 0 0;
  }
}
#page-company .company__read ul li {
  max-width: 192px;
  width: 100%;
}
#page-company .company__read ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 0 0 15px;
  border-bottom: 1px solid #fff;
  color: #fff;
  background-image: url(../images/icon-arrow-white.svg);
  background-repeat: no-repeat;
  background-position: top 10px right 15px;
  background-size: 12px;
  transition: 0.3s;
}
#page-company .company__read ul li a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  #page-company .company__read ul li a {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 900px) {
  #page-company .company__read ul {
    flex-direction: column;
  }
  #page-company .company__read ul li {
    max-width: 100%;
  }
}
#page-company .content__inner {
  width: 100%;
  margin: 0 auto 60px;
}
@media screen and (max-width: 768px) {
  #page-company .content__inner {
    background-image: url(../images/company/gradation.png);
    background-repeat: no-repeat;
    background-size: 790px 790px;
    background-position: top -40px left -350px;
    padding: 200px 0 0 0;
    margin-top: -190px;
  }
}
#page-company .company__main {
  padding: 170px 15px 0;
  position: relative;
  background-image: url(../images/company/gradation.png), url(../images/company/gradation.png), url(../images/company/gradation.png);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 1300px 1300px, 1300px 1300px, 1300px 1300px;
  background-position: top -150px left -580px, top 1600px right -580px, bottom 150px left -800px;
}
@media screen and (max-width: 768px) {
  #page-company .company__main {
    padding: 120px 0 0;
    background-size: 790px 790px, 790px 790px, 790px 790px;
    background-position: top -150px left -100%, top 2210px right -390px, bottom 150px left -570px;
  }
}
#page-company .company__main h3 {
  font-size: 2.125rem;
  font-weight: 700;
  background-color: #080618;
  width: 295px;
}
@media screen and (max-width: 768px) {
  #page-company .company__main h3 {
    font-size: 1.75rem;
    width: 225px;
  }
}
#page-company .company__main h4 {
  font-size: 1.5625rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #page-company .company__main h4 {
    font-size: 1.25rem;
  }
}
#page-company .company__main .company__policy {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media screen and (max-width: 900px) {
  #page-company .company__main .company__policy {
    flex-direction: column;
  }
}
#page-company .company__main .company__policy > div:first-child {
  max-width: 40vw;
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 900px) {
  #page-company .company__main .company__policy > div:first-child {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__policy > div:first-child {
    padding: 0 15px;
  }
}
#page-company .company__main .company__policy > div:last-child {
  max-width: 666px;
  width: 100%;
  position: absolute;
  top: 520px;
  right: 0;
}
@media screen and (max-width: 900px) {
  #page-company .company__main .company__policy > div:last-child {
    position: inherit;
    top: inherit;
    right: inherit;
    margin: -60px 0 0;
  }
}
#page-company .company__main .company__policy .company__policy-box {
  margin: 45px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__policy .company__policy-box {
    margin: 25px 0 0;
  }
}
#page-company .company__main .company__policy .company__policy-box:not(:nth-child(1)) {
  margin: 100px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__policy .company__policy-box:not(:nth-child(1)) {
    margin: 45px 0 0;
  }
}
#page-company .company__main .company__policy .company__policy-box span {
  position: relative;
  font-size: 1.125rem;
  line-height: 1;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__policy .company__policy-box span {
    font-size: 1rem;
    padding-left: 15px;
  }
}
#page-company .company__main .company__policy .company__policy-box span::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #E50211;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-radius: 50%;
}
#page-company .company__main .company__policy .company__policy-box p {
  font-size: 1rem;
  line-height: 2.5;
  margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__policy .company__policy-box p {
    line-height: 1.75;
    margin: 15px 0 0;
  }
}
#page-company .company__main .company__message {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 84px;
  max-width: 1080px;
  width: 100%;
  margin: 250px auto 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__message {
    margin: 120px auto 0;
  }
}
#page-company .company__main .company__message h4 {
  margin: 66px 0 0;
  line-height: 2;
}
@media screen and (max-width: 900px) {
  #page-company .company__main .company__message {
    flex-direction: column;
    gap: 20px;
  }
  #page-company .company__main .company__message h4 {
    margin: 0 0 0;
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__message {
    padding: 0 15px;
  }
  #page-company .company__main .company__message h4 {
    font-size: 1.125rem;
    line-height: 1.778;
  }
}
#page-company .company__main .company__message > div {
  width: 100%;
}
#page-company .company__main .company__message > div:first-child {
  max-width: 670px;
}
#page-company .company__main .company__message > div:last-child {
  max-width: 326px;
  padding: 100px 0 0;
}
#page-company .company__main .company__message > div:last-child p {
  font-size: 1.25rem;
  margin: 10px 0 0;
  text-align: center;
}
#page-company .company__main .company__message > div:last-child p span {
  font-size: 0.9375rem;
}
@media screen and (max-width: 900px) {
  #page-company .company__main .company__message > div:first-child {
    display: contents;
  }
  #page-company .company__main .company__message > div:first-child h3 {
    order: 1;
  }
  #page-company .company__main .company__message > div:first-child > div {
    display: contents;
  }
  #page-company .company__main .company__message > div:last-child {
    max-width: 100%;
    padding: 0 0 0;
    order: 3;
  }
}
#page-company .company__main .company__message .company__message-txt {
  margin: 72px 0 0;
}
@media screen and (max-width: 900px) {
  #page-company .company__main .company__message .company__message-txt {
    margin: 0 0 0;
    order: 4;
  }
}
@media screen and (max-width: 900px) {
  #page-company .company__main .company__message .company__message-txt p:not(:nth-child(1)) {
    margin: 30px 0 0;
  }
}
#page-company .company__main .company__overview {
  max-width: 1080px;
  width: 100%;
  margin: 140px auto 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__overview {
    padding: 0 15px;
  }
}
#page-company .company__main .company__overview ul {
  margin: 35px 0 0;
}
#page-company .company__main .company__overview ul li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 40px;
  padding: 25px 0;
  border-top: 1px solid #616B7B;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__overview ul li {
    flex-direction: column;
    gap: 10px;
  }
}
#page-company .company__main .company__overview ul li:last-child {
  border-bottom: 1px solid #616B7B;
}
#page-company .company__main .company__overview ul li > div:first-child {
  min-width: 140px;
}
#page-company .company__main .company__overview ul li > div:nth-child(2) {
  width: 330px;
}
#page-company .company__main .company__overview ul li > div:nth-child(2) p {
  line-height: 2;
}
#page-company .company__main .company__overview ul li > div:nth-child(3) {
  width: 425px;
}
#page-company .company__main .company__overview ul li > div:nth-child(3) img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__overview ul li > div:first-child {
    width: 100%;
  }
  #page-company .company__main .company__overview ul li > div:nth-child(2) {
    width: 100%;
  }
  #page-company .company__main .company__overview ul li > div:nth-child(3) {
    width: 100%;
  }
  #page-company .company__main .company__overview ul li > div:nth-child(3) img {
    margin: 20px 0 0;
  }
}
#page-company .company__main .company__overview ul li.list__3column > div:nth-child(3) {
  margin-right: 0;
  margin-left: auto;
}
#page-company .company__main .company__overview ul li.list__2column-full > div:nth-child(2) {
  width: 915px;
}
#page-company .company__main .company__overview ul li.list__2column-full > div:nth-child(2):nth-child(2) {
  width: 100%;
}
#page-company .company__main .company__overview ul li a {
  color: #fff;
  position: relative;
  display: inline-block;
  background-image: url(../images/icon-arrow-gray.svg);
  background-repeat: no-repeat;
  background-size: 7px;
  background-position: center right;
  padding-right: 15px;
  margin: 10px 0 0;
  border-bottom: 1px solid #fff;
}
#page-company .company__main .company__overview ul li a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
#page-company .company__main .company__overview ul li a:hover::after {
  width: 100%;
}
#page-company .company__main .company__overview .branch__maplink a {
  color: #fff;
  background-image: url(../images/icon-arrow-gray.svg);
}
@media screen and (max-width: 768px) {
  #page-company .company__main .company__overview .branch__maplink a {
    margin: 0 0 0;
  }
}
#page-company .company__main .company__overview .branch__maplink a::after {
  background-color: #E50211;
}
#page-company .company__history {
  margin: 184px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__history {
    margin: 95px 0 0;
    padding: 0 15px;
  }
}
#page-company .company__history .history__wrap {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding-left: 80px;
  background-image: url(../images/company/company_history_bg.png);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 1088px 140px;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__wrap {
    padding-left: 0;
    background-image: none;
  }
}
#page-company .company__history .history__wrap .history__tab {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
  margin: 55px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__wrap .history__tab {
    gap: 20px;
    margin: 25px 0 0;
  }
}
#page-company .company__history .history__wrap .history__tab button {
  color: #84838C;
  font-size: 1rem;
  position: relative;
}
#page-company .company__history .history__wrap .history__tab button::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
#page-company .company__history .history__wrap .history__tab button:hover::after, #page-company .company__history .history__wrap .history__tab button.tab__active::after {
  width: 100%;
}
#page-company .company__history .history__wrap .history__tab button.tab__active {
  color: #fff;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__wrap .history__tab button {
    font-size: 0.9375rem;
  }
}
#page-company .company__history .history__list {
  margin: 40px 0 0;
}
#page-company .company__history .history__box {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0 0 60px;
  color: #B5B4BA;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__box {
    flex-wrap: wrap;
    gap: 10px 0;
    padding: 0 0 30px;
  }
}
#page-company .company__history .history__box .history__year {
  width: 86px;
}
#page-company .company__history .history__box .history__year p {
  font-family: "Oswald", sans-serif;
  font-size: 1.6875rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__box .history__year {
    width: 100%;
  }
  #page-company .company__history .history__box .history__year p {
    font-size: 1.375rem;
  }
}
#page-company .company__history .history__box .history__month {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 40px;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__box .history__month {
    justify-content: flex-end;
    width: 64px;
    gap: 10px;
  }
}
#page-company .company__history .history__box .history__month::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background-color: #B5B4BA;
  position: absolute;
  top: 8px;
  left: 119px;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__box .history__month::after {
    top: 40px;
    left: 57px;
  }
}
#page-company .company__history .history__box .history__month p {
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__box .history__month p {
    font-size: 1.125rem;
  }
}
#page-company .company__history .history__box .history__month .history__point {
  display: block;
  width: 13px;
  height: 13px;
  background-color: #E0FF00;
  border-radius: 50%;
  position: relative;
  z-index: 1;
}
#page-company .company__history .history__box:last-child {
  padding: 0 0 0;
}
#page-company .company__history .history__box:last-child .history__month::after {
  display: none;
}
#page-company .company__history .history__box .history__title {
  margin-left: 40px;
}
#page-company .company__history .history__box .history__title img {
  margin: 15px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__history .history__box .history__title {
    width: 260px;
    margin-left: 20px;
  }
  #page-company .company__history .history__box .history__title p {
    font-size: 1rem;
  }
}
#page-company .company__phil {
  margin: 150px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .company__phil {
    margin: 125px 0 0;
  }
}
#page-company .philosophy__wrap {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page-company .philosophy__wrap {
    padding: 0 15px 50px;
  }
}
#page-company .philosophy__wrap .philosophy__box {
  margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .philosophy__wrap .philosophy__box {
    margin: 30px 0 0;
  }
}
#page-company .philosophy__wrap .philosophy__box:last-child {
  margin: 85px 0 0;
}
@media screen and (max-width: 768px) {
  #page-company .philosophy__wrap .philosophy__box:last-child {
    margin: 45px 0 0;
  }
}
#page-company .philosophy__wrap .philosophy__box p {
  color: #B5B4BA;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #page-company .philosophy__wrap .philosophy__box p {
    font-size: 1.0625rem;
  }
}
#page-company .philosophy__wrap .philosophy__box h4 {
  font-size: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #page-company .philosophy__wrap .philosophy__box h4 {
    font-size: 1.375rem;
    margin: 5px 0 0;
  }
}
#page-company .philosophy__wrap .philosophy__box img {
  max-width: 609px;
  width: 100%;
  margin: 0 auto;
}
#page-company .relation__contents {
  margin-bottom: 185px;
}
#page-company .relation__contents h3 {
  color: #fff;
}
#page-company .relation__contents ul li a {
  color: #fff;
}

/*===============================================

company / 支店・営業所

=================================================*/
#page-office .map__contents {
  max-width: 77%;
  width: 100%;
}
#page-office .map__contents h2 {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #page-office .map__contents h2 {
    font-size: 1.6875rem;
  }
}
#page-office .map__contents .office__sp {
  display: none;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents {
    max-width: 100%;
  }
  #page-office .map__contents .office__sp {
    display: block;
  }
  #page-office .map__contents .office__training-link {
    text-align: right;
    margin: 40px 0 0;
  }
  #page-office .map__contents .office__training-link a {
    font-size: 0.875rem;
    color: #080618;
    text-decoration: underline;
    background-image: url(../images/icon-arrow-noraml-right-red.svg);
    background-repeat: no-repeat;
    background-size: 6px;
    background-position: center right;
    padding-right: 15px;
  }
  #page-office .map__contents .office__select-wrap {
    margin: 35px 0 0;
  }
  #page-office .map__contents .office__select-wrap select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-radius: 0;
    width: 100%;
    height: 48px;
    color: #616B7B;
    padding: 10px 12px;
    border: 1px solid #616B7B;
    background-image: url(../images/icon-arrow-black.svg);
    background-repeat: no-repeat;
    background-position: center right 20px;
  }
}
#page-office .map__contents > p {
  font-size: 1.125rem;
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  #page-office .map__contents > p {
    font-size: 1rem;
    margin: 25px 0 0;
  }
}
#page-office .map__contents .customer__btn-download {
  justify-content: flex-start;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .customer__btn-download {
    margin-bottom: 50px;
  }
}
#page-office .map__contents .map__wrap {
  position: relative;
  max-width: 617px;
  width: 100%;
  margin-left: 40px;
  margin-bottom: 240px;
}
@media screen and (max-width: 1080px) {
  #page-office .map__contents .map__wrap {
    transform: scale(0.9);
    margin-left: -12vw;
  }
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .map__wrap {
    display: none;
  }
}
#page-office .map__contents .branch__box {
  position: absolute;
  width: 168px;
}
#page-office .map__contents .branch__box h3 {
  width: 85%;
  font-size: 1rem;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 0;
  border-radius: 3px;
}
#page-office .map__contents .branch__box.branch__sapporo {
  top: 0;
  right: -200px;
}
#page-office .map__contents .branch__box.branch__sapporo h3 {
  background-color: #014096;
}
#page-office .map__contents .branch__box.branch__sapporo .branch__list {
  justify-content: center;
}
#page-office .map__contents .branch__box.branch__sendai {
  top: 120px;
  right: -130px;
}
#page-office .map__contents .branch__box.branch__sendai h3 {
  background-color: #8CB200;
}
#page-office .map__contents .branch__box.branch__kanto {
  bottom: 80px;
  right: -130px;
}
#page-office .map__contents .branch__box.branch__kanto h3 {
  background-color: #CBB723;
}
#page-office .map__contents .branch__box.branch__tokyo {
  bottom: -30px;
  right: 30px;
}
#page-office .map__contents .branch__box.branch__tokyo h3 {
  background-color: #DD7C08;
}
#page-office .map__contents .branch__box.branch__tokyo .branch__list {
  align-items: center;
  flex-direction: column;
}
#page-office .map__contents .branch__box.branch__tokyo .branch__list a {
  width: 60%;
}
#page-office .map__contents .branch__box.branch__nagoya {
  top: 140px;
  left: 280px;
}
#page-office .map__contents .branch__box.branch__nagoya h3 {
  background-color: #1C7939;
}
#page-office .map__contents .branch__box.branch__osaka {
  bottom: -130px;
  left: 260px;
}
#page-office .map__contents .branch__box.branch__osaka h3 {
  background-color: #A58A75;
}
#page-office .map__contents .branch__box.branch__hiroshima {
  top: 180px;
  left: 90px;
}
#page-office .map__contents .branch__box.branch__hiroshima h3 {
  background-color: #683F8C;
}
#page-office .map__contents .branch__box.branch__fukuoka {
  bottom: -100px;
  left: 10px;
}
@media screen and (max-width: 1080px) {
  #page-office .map__contents .branch__box.branch__fukuoka {
    bottom: -160px;
    left: 70px;
  }
}
#page-office .map__contents .branch__box.branch__fukuoka h3 {
  background-color: #CB4282;
}
#page-office .map__contents .branch__box .branch__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 10px 0 0;
}
#page-office .map__contents .branch__box .branch__list a {
  position: relative;
  display: block;
  width: 50%;
  color: #080618;
  font-size: 0.9375rem;
  background-image: url(../images/company/office/icon-arrow-red.svg);
  background-repeat: no-repeat;
  background-size: 7px;
  background-position: center right 12px;
  transition: 0.3s;
}
#page-office .map__contents .branch__box .branch__list a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
#page-office .map__contents .branch__box .branch__list a:hover {
  color: #E50211;
}
#page-office .map__contents .branch__box .branch__list a:hover::after {
  width: 85%;
}
#page-office .map__contents .branch__list-wrap {
  display: none;
  padding: 0 0 0;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .branch__list-wrap {
    padding: 30px 0 0;
  }
}
#page-office .map__contents .branch__list-wrap h3 {
  font-size: 1.625rem;
  font-weight: 700;
  color: #004097;
  margin: 0 0 20px;
}
@media screen and (max-width: 768px) {
  #page-office .map__contents .branch__list-wrap h3 {
    font-size: 1.4375rem;
    margin: 0 0 15px;
  }
}
#page-office .map__contents .branch__list-wrap .branch__list-box h4 {
  position: relative;
  padding: 10px 42px;
  font-size: 1.125rem;
  font-weight: 700;
  background-color: #CEE5F7;
}
#page-office .map__contents .branch__list-wrap .branch__list-box h4::after {
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  background-color: #004097;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #page-office .map__contents .branch__list-wrap .branch__list-box h4 {
    padding: 5px 30px;
    font-size: 1rem;
  }
  #page-office .map__contents .branch__list-wrap .branch__list-box h4::after {
    left: 14px;
  }
}
#page-office .map__contents .branch__list-wrap .branch__list-flex {
  padding: 30px 20px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 32px;
  border-bottom: 1px solid #616B7B;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .branch__list-wrap .branch__list-flex {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  #page-office .map__contents .branch__list-wrap .branch__list-flex {
    padding: 20px 0 30px;
    gap: 20px;
    border-bottom: 1px solid #616B7B;
  }
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__main {
  width: 100%;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__main p {
  font-size: 1.25rem;
  margin: 0 0 15px;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .branch__list-wrap .branch__list-flex .branch__main {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-office .map__contents .branch__list-wrap .branch__list-flex .branch__main p {
    margin: 0 0 0px;
  }
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__address {
  max-width: 228px;
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 47px;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .branch__list-wrap .branch__list-flex .branch__address {
    max-width: 100%;
    margin-top: 10px;
  }
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area {
  margin-top: 47px;
  max-width: 215px;
  width: 100%;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area {
    max-width: 95%;
  }
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area h5 {
  font-size: 1rem;
  font-weight: 400;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 0;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area ul li {
  border: 1px solid #BBBBBB;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area ul li a {
  color: #080618;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0 12px;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area > a {
  display: inline-block;
  color: #080618;
  margin: 15px 0 0;
  font-size: 14px;
  position: relative;
  border-bottom: 1px solid #080618;
  background-image: url(../images/company/office/icon-arrow-red.svg);
  background-repeat: no-repeat;
  background-position: center right 0px;
  background-size: 7px;
  padding: 0 14px 0 0;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area > a::after {
  display: block;
  content: "";
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area > a:hover {
  color: #E50211;
}
#page-office .map__contents .branch__list-wrap .branch__list-flex .branch__area > a:hover::after {
  width: 100%;
}
#page-office .map__contents .branch__list-wrap .branch__list-top {
  margin: 0 0 60px;
}
#page-office .map__contents .branch__list-wrap .branch__list-top .branch__list-flex {
  border-bottom: 0;
}
#page-office .map__contents .branch__list-wrap .branch__list-top .branch__main {
  max-width: 325px;
}
@media screen and (max-width: 900px) {
  #page-office .map__contents .branch__list-wrap .branch__list-top .branch__main {
    max-width: 100%;
  }
  #page-office .map__contents .branch__list-wrap .branch__list-top .branch__address, #page-office .map__contents .branch__list-wrap .branch__list-top .branch__area {
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  #page-office .map__contents .branch__list-wrap .branch__list-top .branch__list-flex {
    padding: 20px 0 0;
    border-bottom: 0;
  }
  #page-office .map__contents .branch__list-wrap .branch__list-top .branch__main p {
    margin: 0 0 15px;
  }
}
#page-office .relation__contents {
  margin-top: 280px;
}
@media screen and (max-width: 900px) {
  #page-office .relation__contents {
    margin-top: 50px;
  }
}

.company__parts-style {
  background: #E5ECF7;
  padding-top: 94px;
}
.company__parts-style > :last-child {
  margin-bottom: 0 !important;
}
.company__parts-style .content__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
@media screen and (max-width: 900px) {
  .company__parts-style .content__inner {
    padding: 0 15px;
  }
}
.company__parts-style .content__inner > .content__primary {
  width: 927px;
}
.company__parts-style .content__inner > .content__subnav {
  min-width: 200px;
  width: 200px;
  position: sticky;
  top: 100px;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 900px) {
  .company__parts-style .content__inner > .content__subnav {
    display: none;
  }
}
.company__parts-style .aside {
  padding: 184px 0 0;
}
.company__parts-style .aside__inner > :last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  .company__parts-style {
    padding-top: 87px;
  }
  .company__parts-style .content__inner {
    display: block;
  }
  .company__parts-style .content__inner > .content__primary {
    width: auto;
  }
  .company__parts-style .content__inner > .content__subnav {
    width: auto;
  }
  .company__parts-style .aside {
    padding: 150px 0 0;
  }
}
.company__parts-style .content__subnav {
  background: #fff;
  padding: 9px 0;
}
.company__parts-style .content__subnav > :last-child {
  margin-bottom: 0 !important;
}
.company__parts-style .content__subnav-list > li {
  position: relative;
}
.company__parts-style .content__subnav-list > li.page__active::after {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background-color: #E50211;
  position: absolute;
  bottom: 0;
  left: 0;
}
.company__parts-style .content__subnav-list > li.page__active .content__subnav-list-head .txt {
  color: #E50211;
}
.company__parts-style .content__subnav-list-head {
  color: #080618;
  padding: 25px 25px 25px 15px;
  position: relative;
  display: flex;
  align-items: center;
  -moz-column-gap: 14px;
       column-gap: 14px;
  transition: 0.3s;
}
.company__parts-style .content__subnav-list-head::before, .company__parts-style .content__subnav-list-head::after {
  content: "";
  position: absolute;
}
.company__parts-style .content__subnav-list-head::before {
  width: 8px;
  height: 8px;
  border-top: 2px solid #E50211;
  border-right: 2px solid #E50211;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) rotate(45deg);
}
.company__parts-style .content__subnav-list-head:hover {
  background: #F2F2F2;
}
.company__parts-style .content__subnav-list-head .img {
  width: 71px;
  height: 52px;
  margin: 0;
  transition: inherit;
}
.company__parts-style .content__subnav-list-head .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.company__parts-style .content__subnav-list-head .txt {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  transition: inherit;
}
.company__parts-style .content__subnav-list-head.is__current {
  color: #E50211;
  font-weight: 700;
}
.company__parts-style .content__subnav-list-head.is__current::after {
  width: 3px;
  height: 100%;
  background: #E50211;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.company__parts-style .content__subnav-list-body {
  width: 305px;
  padding: 0 0 0 10px;
  position: absolute;
  top: 20px;
  left: 100%;
  z-index: -1;
  opacity: 0;
  transition: 0.3s;
}
.company__parts-style .content__subnav-list-body > :last-child {
  margin-bottom: 0 !important;
}
.company__parts-style .content__subnav-list-body.is__active {
  top: 0;
  z-index: 0;
  opacity: 1;
}
.company__parts-style .content__subnav-list-sublist {
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 0.875rem;
  font-weight: 400;
  padding: 20px;
}
.company__parts-style .content__subnav-list-sublist > li {
  text-align: justify;
  word-break: break-all;
  line-height: 1.5;
  margin: 0 0 9px;
}
.company__parts-style .content__subnav-list-sublist > li:last-child {
  margin-bottom: 0;
}
.company__parts-style .content__subnav-list-sublist > li a {
  color: #080618;
  padding: 0 0 0 16px;
  position: relative;
  display: inline-block;
  transition: 0.3s;
}
.company__parts-style .content__subnav-list-sublist > li a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #E50211;
  border-right: 2px solid #E50211;
  position: absolute;
  top: 0.5em;
  left: 0;
  transform: rotate(45deg);
}
.company__parts-style .content__subnav-list-sublist > li a:hover {
  color: #E50211;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .company__parts-style .content__subnav {
    display: none;
  }
}

/*===============================================

training center / トレーニングセンター

=================================================*/
#page-t-center .list__contents {
  max-width: 77%;
  width: 100%;
}
#page-t-center .list__contents .office__sp {
  display: none;
}
#page-t-center .list__contents h2 {
  font-size: 2rem;
  font-weight: 700;
}
#page-t-center .list__contents h3 {
  font-size: 1.25rem;
  font-weight: 500;
}
#page-t-center .list__contents ul {
  margin: 60px 0 0;
}
@media screen and (max-width: 900px) {
  #page-t-center .list__contents {
    max-width: 100%;
  }
  #page-t-center .list__contents .office__sp {
    display: block;
  }
  #page-t-center .list__contents .office__training-link {
    text-align: right;
    margin: 40px 0 0;
  }
  #page-t-center .list__contents .office__training-link a {
    font-size: 0.875rem;
    color: #080618;
    text-decoration: underline;
    background-image: url(../images/icon-arrow-noraml-right-red.svg);
    background-repeat: no-repeat;
    background-size: 6px;
    background-position: center right;
    padding-right: 15px;
  }
  #page-t-center .list__contents h2 {
    font-size: 1.6875rem;
  }
  #page-t-center .list__contents h3 {
    font-size: 1.125rem;
  }
  #page-t-center .list__contents ul {
    margin: 35px 0 0;
  }
}
#page-t-center .center__list__flex {
  padding: 20px 0 74px;
  border-top: 1px solid #616B7B;
}
#page-t-center .center__list__flex:last-child {
  border-bottom: 1px solid #616B7B;
}
@media screen and (max-width: 768px) {
  #page-t-center .center__list__flex {
    padding: 15px 0 60px;
  }
}
#page-t-center .list__flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 50px;
  margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
  #page-t-center .list__flex {
    margin: 10px 0 0;
    flex-direction: column;
    gap: 30px;
  }
}
#page-t-center .list__flex > div:first-child {
  max-width: 372px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #page-t-center .list__flex > div:first-child {
    max-width: 100%;
  }
}
#page-t-center .list__flex > div:last-child p {
  line-height: 1.5;
}
#page-t-center .list__flex > div:last-child p:not(:first-child) {
  margin: 5px 0 0;
}
#page-t-center .list__flex > div:last-child .branch__maplink {
  margin: 10px 0 0;
}
#page-t-center .list__flex > div:last-child > a {
  display: inline-block;
  color: #080618;
  margin: 15px 0 0;
  font-size: 1rem;
  position: relative;
  border-bottom: 1px solid #080618;
  background-image: url(../images/company/office/icon-arrow-red.svg);
  background-repeat: no-repeat;
  background-position: center right 0px;
  background-size: 7px;
  padding: 0 14px 0 0;
  transition: 0.3s;
}
#page-t-center .list__flex > div:last-child > a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
#page-t-center .list__flex > div:last-child > a:hover {
  color: #E50211;
}
#page-t-center .list__flex > div:last-child > a:hover::after {
  width: 100%;
}
#page-t-center .list__flex .slider-main {
  cursor: pointer;
  position: relative;
  margin: 0 0 25px;
}
@media screen and (max-width: 768px) {
  #page-t-center .list__flex .slider-main {
    margin: 0 0 15px;
  }
}
#page-t-center .list__flex .slider-main::after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background-image: url(../images/icon-modal-glass.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  position: absolute;
  bottom: 8px;
  right: 8px;
  z-index: 1;
}
#page-t-center .slider-thumbnail {
  cursor: pointer;
}
#page-t-center .slider-thumbnail .swiper-slide {
  opacity: 0.3;
  transition: 0.3s;
  border: 2px solid #E5ECF7;
}
#page-t-center .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
  border: 2px solid #E50211;
}
#page-t-center .training_center_modal {
  display: none;
  position: fixed;
  z-index: 9990;
  padding: 30px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.9);
}
#page-t-center .training_center_modal #modal-close {
  position: fixed;
  top: 15px;
  right: 20px;
  font-size: 30px;
  cursor: pointer;
  color: #fff;
  z-index: 9992;
}
#page-t-center .training_center_modal .modal-content {
  max-width: 880px;
  width: 100%;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  #page-t-center .training_center_modal .modal-content {
    max-width: 92%;
  }
}
#page-t-center .training_center_modal .slider-main img {
  width: 100%;
}
#page-t-center .training_center_modal .slider-thumbnail {
  max-width: 372px;
  width: 100%;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  #page-t-center .training_center_modal .slider-thumbnail {
    margin: 30px auto 0;
  }
}

/*===============================================

csr

=================================================*/
#page-csr {
  background-color: #E5ECF7;
}
#page-csr .title__container {
  max-width: 1110px;
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #page-csr .title__container {
    font-size: 1.5625rem;
  }
}
#page-csr .csr__wrap {
  position: relative;
  padding: 100px 15px 0;
}
@media screen and (max-width: 768px) {
  #page-csr .csr__wrap {
    padding: 60px 0px 0;
  }
}
#page-csr .company__csr {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media screen and (max-width: 900px) {
  #page-csr .company__csr {
    flex-direction: column;
  }
}
#page-csr .company__csr > div:first-child {
  max-width: 40vw;
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 900px) {
  #page-csr .company__csr > div:first-child {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-csr .company__csr > div:first-child {
    padding: 0 15px;
  }
}
#page-csr .company__csr > div:first-child h4 {
  position: relative;
  font-size: 1.5625rem;
  font-weight: 700;
  padding: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  #page-csr .company__csr > div:first-child h4 {
    font-size: 1.25rem;
  }
}
#page-csr .company__csr > div:first-child h4::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #004097;
}
#page-csr .company__csr > div:first-child .csr__enviroment {
  margin: 50px 0 0;
}
#page-csr .company__csr > div:first-child p {
  font-size: 1rem;
  line-height: 2.5;
  margin: 15px 0 0;
}
#page-csr .company__csr > div:last-child {
  max-width: 948px;
  width: 100%;
  position: absolute;
  top: 220px;
  right: 0;
}
@media screen and (max-width: 900px) {
  #page-csr .company__csr > div:last-child {
    max-width: 100%;
    position: inherit;
    top: inherit;
    right: inherit;
    margin-top: -30px;
  }
}
#page-csr .csr__rule {
  max-width: 1080px;
  width: 100%;
  margin: 200px auto 0;
}
@media screen and (max-width: 1080px) {
  #page-csr .csr__rule {
    max-width: 92%;
  }
}
@media screen and (max-width: 900px) {
  #page-csr .csr__rule {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-csr .csr__rule {
    margin: 130px auto 0;
    max-width: 100%;
  }
}
#page-csr .csr__rule h2 {
  font-size: 1.875rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #page-csr .csr__rule h2 {
    padding: 0 15px;
    font-size: 1.5625rem;
  }
}
#page-csr .csr__rule > p {
  font-size: 1.125rem;
  line-height: 2.3;
  margin: 25px 0 0;
}
@media screen and (max-width: 768px) {
  #page-csr .csr__rule > p {
    padding: 0 15px;
    font-size: 1rem;
  }
}
#page-csr .csr__rule ul {
  margin: 70px auto 0;
  max-width: 1020px;
  width: 100%;
}
@media screen and (max-width: 900px) {
  #page-csr .csr__rule ul {
    margin: 60px auto 0;
    max-width: 90%;
  }
}
@media screen and (max-width: 768px) {
  #page-csr .csr__rule ul {
    max-width: 91%;
    margin: 50px 0 0 auto;
  }
}
#page-csr .csr__rule ul > li {
  list-style: decimal;
  font-size: 1.25rem;
  font-weight: 700;
}
#page-csr .csr__rule ul > li:not(:first-child) {
  margin: 60px 0 0;
}
@media screen and (max-width: 900px) {
  #page-csr .csr__rule ul > li:not(:first-child) {
    margin: 35px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #page-csr .csr__rule ul > li {
    font-size: 1.125rem;
  }
  #page-csr .csr__rule ul > li:nth-child(n+10) {
    margin-left: 12px;
    padding-right: 12px;
  }
}
#page-csr .csr__rule ul > li ol {
  margin: 10px 0 0 -25px;
}
#page-csr .csr__rule ul > li ol li {
  position: relative;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  padding-left: 16px;
}
#page-csr .csr__rule ul > li ol li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
#page-csr .relation__contents {
  padding: 130px 15px 185px;
}
@media screen and (max-width: 900px) {
  #page-csr .relation__contents {
    padding: 70px 15px 155px;
  }
}

/*===============================================

キャラクター紹介

=================================================*/
#page-character {
  background-color: #E5ECF7;
}
#page-character .content__inner {
  padding: 0 15px;
}
@media screen and (max-width: 768px) {
  #page-character .content__inner {
    padding: 0 0;
  }
}
#page-character .title__container {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  font-size: 2.3125rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #page-character .title__container {
    font-size: 1.6875rem;
    padding: 0 15px;
  }
}
#page-character .ibou__message {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  max-width: 1080px;
  width: 100%;
  margin: 75px auto 0;
}
@media screen and (max-width: 900px) {
  #page-character .ibou__message {
    margin: 105px auto 0;
  }
}
@media screen and (max-width: 768px) {
  #page-character .ibou__message {
    flex-direction: column;
    gap: 0;
    margin: 65px auto 0;
    padding: 0 15px;
  }
}
#page-character .ibou__message > div:first-child {
  position: relative;
  max-width: 194px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #page-character .ibou__message > div:first-child {
    max-width: 132px;
  }
}
#page-character .ibou__message > div:last-child {
  padding: 70px 0 0;
}
@media screen and (max-width: 768px) {
  #page-character .ibou__message > div:last-child {
    padding: 10px 0 0;
    width: 100%;
  }
}
#page-character .ibou__message > div:last-child p:first-child {
  font-family: "Oswald", sans-serif;
  font-size: 2.4375rem;
}
@media screen and (max-width: 768px) {
  #page-character .ibou__message > div:last-child p:first-child {
    text-align: center;
  }
}
#page-character .ibou__message > div:last-child p:first-child span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
}
#page-character .ibou__message > div:last-child p:last-child {
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 600;
  margin: 10px 0 0;
}
@media screen and (max-width: 768px) {
  #page-character .ibou__message > div:last-child p:last-child {
    text-align: center;
  }
}
#page-character .ibou__message .ibou__fukidashi {
  position: absolute;
  top: -89px;
  right: -250px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 276px;
  height: 91px;
  padding: 10px 0 0;
  background-image: url(../images/company/character/fukidashi_bg_pc.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
}
@media screen and (max-width: 768px) {
  #page-character .ibou__message .ibou__fukidashi {
    width: 248px;
    position: inherit;
    top: inherit;
    right: inherit;
    background-image: url(../images/company/character/fukidashi_bg_sp.svg);
    margin: 0 0 20px -10px;
  }
}
#page-character .ibou__message .ibou__fukidashi p {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
#page-character .character__inner {
  max-width: 1080px;
  width: 100%;
  margin: 65px auto 0;
  padding: 10px;
  background-image: linear-gradient(130deg, rgb(6, 0, 159) 10%, rgb(204, 20, 119) 90%);
}
#page-character .character__inner .character__grada {
  position: relative;
  padding: 60px 70px 65px;
  background-color: #fff;
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  #page-character .character__inner .character__grada {
    padding: 50px 25px 60px;
  }
  #page-character .character__inner .character__grada > div {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 18px;
    margin: 50px 0 0;
  }
}
#page-character .character__inner h3 {
  font-family: "Oswald", sans-serif;
  font-size: 2.4375rem;
}
@media screen and (max-width: 768px) {
  #page-character .character__inner h3 {
    text-align: center;
  }
}
#page-character .character__inner h3 span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}
#page-character .character__inner p {
  font-size: 1rem;
  line-height: 3.125;
  font-weight: 600;
}
#page-character .character__inner p.pc__contents--width {
  max-width: 620px;
  width: 100%;
}
@media screen and (max-width: 1080px) {
  #page-character .character__inner p.pc__contents--width {
    max-width: 65%;
  }
}
@media screen and (max-width: 768px) {
  #page-character .character__inner p.pc__contents--width {
    max-width: 100%;
  }
}
#page-character .character__inner p.pc__line--mergen {
  margin: 40px 0 0;
}
@media screen and (max-width: 768px) {
  #page-character .character__inner p.pc__line--mergen {
    margin: 0 0 0;
  }
}
#page-character .character__inner .ibou__wrap {
  position: absolute;
  top: 60px;
  right: 130px;
  max-width: 162px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #page-character .character__inner .ibou__wrap {
    position: inherit;
    top: inherit;
    right: inherit;
    max-width: 108px;
  }
}
#page-character .character__profile {
  max-width: 1080px;
  width: 100%;
  margin: 150px auto 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 65px;
}
@media screen and (max-width: 768px) {
  #page-character .character__profile {
    margin: 125px 0 0;
    padding: 0 15px;
    flex-direction: column;
    gap: 0;
  }
}
#page-character .character__profile .character__box {
  max-width: 178px;
  width: 100%;
  margin-bottom: -70px;
}
#page-character .character__profile .character__box img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #page-character .character__profile .character__box {
    order: 2;
    max-width: 115px;
    margin-bottom: 0;
    margin-right: auto;
    margin-left: 0;
    margin-top: -40px;
    z-index: 1;
  }
}
#page-character .character__profile .profile__box {
  position: relative;
  max-width: 764px;
  width: 100%;
  padding: 90px 45px 50px;
  background-color: #fff;
  background-image: url(../images/company/character/profile_bg.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  #page-character .character__profile .profile__box {
    order: 1;
    padding: 65px 20px 70px;
    background-image: url(../images/company/character/profile_bg_sp.png);
    background-size: 100% 100%;
  }
}
#page-character .character__profile .profile__box h4 {
  position: absolute;
  top: -45px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 674px;
  width: 100%;
  font-size: 3.375rem;
  font-family: "Oswald", sans-serif;
}
@media screen and (max-width: 768px) {
  #page-character .character__profile .profile__box h4 {
    text-align: center;
    font-size: 3rem;
    top: -40px;
  }
}
#page-character .character__profile .profile__box .profile__detail {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 45px;
}
@media screen and (max-width: 768px) {
  #page-character .character__profile .profile__box .profile__detail {
    gap: 40px;
  }
}
#page-character .character__profile .profile__box .profile__detail > div {
  max-width: 292px;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 25px;
}
#page-character .character__profile .profile__box .profile__detail > div p:first-child {
  min-width: 84px;
  text-align: center;
  color: #fff;
  font-size: 1rem;
  background-color: #004097;
  padding: 0 10px;
}
#page-character .character__profile .profile__box .profile__detail > div p:last-child {
  font-size: 1.125rem;
  font-weight: 700;
}
#page-character .relation__contents {
  margin: 255px auto 185px;
}
@media screen and (max-width: 768px) {
  #page-character .relation__contents {
    margin: 100px auto 155px;
  }
}

/* エラーメッセージのスタイル */
.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 0.8em;
  display: block;
  margin-top: 5px;
  text-align: left;
  margin-left: 10%;
}

/* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.message-content {
  margin-top: 5px;
  padding: 10px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
}

#confirmation button {
  margin-right: 10px;
  cursor: pointer;
}

/* 送信ボタンを非表示にする */
#cf7-submit {
  display: none !important;
}

/* ローディングスピナー */
.spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
  margin-right: 5px;
  vertical-align: middle;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
#page-contact {
  background-color: #E5ECF7;
  /* 確認画面のスタイル */
}
#page-contact .title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  #page-contact .title__en {
    height: 45px;
  }
}
#page-contact .title__line {
  width: 250px;
}
#page-contact .bg-mask {
  background-color: #004097;
}
#page-contact .title__jp {
  height: 25px;
}
#page-contact .contact_container .contact_top-container {
  padding: 50px 0 55px;
}
#page-contact .contact_container .contact_top-container .contact__tel {
  background: #F1F3F3;
  padding: 25px 30px;
  margin: 35px 0 0px;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_top-container .contact__tel {
    padding: 25px 20px;
  }
}
#page-contact .contact_container .contact_top-container .contact__tel .title {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 15px;
}
#page-contact .contact_container .contact_top-container .contact__tel .contact__links .contact__links__inner .btn__branch {
  max-width: 396px;
  height: 95px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_top-container .contact__tel .contact__links .contact__links__inner .btn__branch {
    max-width: 100%;
    margin: 20px 0 0;
  }
}
#page-contact .contact_container .contact_top-container .contact__tel .contact__links .contact__links__inner .btn__branch span {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_top-container .contact__tel .contact__links .contact__links__inner .btn__branch span {
    font-size: 1.0625rem;
    line-height: 1.3;
  }
}
#page-contact .contact_container .contact_top-container .contact__tel .contact__links .contact__links__inner .btn__branch span small {
  font-size: 0.875rem;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_top-container .contact__tel .contact__links .contact__links__inner .btn__branch span small {
    font-size: 0.8125rem;
    line-height: 1.2;
  }
}
#page-contact .contact_container .contact_top-container .contact_top {
  margin: 80px 0 55px;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_top-container .contact_top {
    margin: 55px 0 50px;
  }
}
#page-contact .contact_container .contact_top-container .contact_top .contact__title {
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 15px;
}
#page-contact .contact_container .contact_confirm-top {
  display: none;
  margin: 70px 0 50px;
}
#page-contact .contact_container .contact_confirm-top .contact__title {
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 15px;
}
#page-contact .contact_container .active {
  display: block;
}
#page-contact .contact_container .contact_inner .btn__boxstyle {
  gap: 97px;
  margin: 0 auto;
  max-width: 396px;
  height: 95px;
  justify-content: flex-start;
  width: 395px;
}
#page-contact .contact_container .contact_inner .btn__boxstyle span {
  font-size: 1rem;
  margin-left: 100px;
}
#page-contact .contact_container .contact_inner .btn__boxstyle .icon__box-arrow {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_inner .btn__boxstyle {
    width: 100%;
    gap: 70px;
  }
  #page-contact .contact_container .contact_inner .btn__boxstyle span {
    margin-left: 70px;
  }
}
#page-contact .contact_container .contact_inner .form-fields {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  border-top: 1px solid #B5B6B7;
  padding: 40px 0;
  font-size: 1rem;
}
#page-contact .contact_container .contact_inner .form-fields label {
  width: 20%;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_inner .form-fields {
    flex-direction: column;
    padding: 20px 0 30px;
    gap: 15px;
  }
  #page-contact .contact_container .contact_inner .form-fields label {
    width: 100%;
    display: flex;
    gap: 15px;
  }
}
#page-contact .contact_container .contact_inner .form-fields .input-section {
  width: 70%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_inner .form-fields .input-section {
    width: 100%;
    gap: 0;
  }
}
#page-contact .contact_container .contact_inner .form-fields .input-section input, #page-contact .contact_container .contact_inner .form-fields .input-section select, #page-contact .contact_container .contact_inner .form-fields .input-section textarea {
  border: 1px solid #C7C8C9;
  padding: 14px;
  font-size: 16px;
  width: 100%;
}
#page-contact .contact_container .contact_inner .form-fields .input-section select {
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none; /* Safari */
  -moz-appearance: none; /* Firefox */
  background-image: url("../images/icon-arrow-black.svg");
  background-repeat: no-repeat;
  background-position: center right 20px;
}
#page-contact .contact_container .contact_inner .form-fields .input-section .wpcf7-form-control-wrap {
  width: 100%;
}
#page-contact .contact_container .contact_inner .form-fields .postal-code {
  display: flex;
  align-items: center;
  text-align: left;
  justify-content: flex-start;
  gap: 25px;
  font-size: 0.8125rem;
}
#page-contact .contact_container .contact_inner .form-fields .postal-code .wpcf7-form-control-wrap {
  width: 20%;
}
#page-contact .contact_container .contact_inner .form-fields .postal-code .wpcf7-form-control-wrap input {
  width: 100%;
}
#page-contact .contact_container .contact_inner .form-fields .postal-code input {
  width: 55%;
  display: flex;
  left: 4%;
  position: relative;
}
#page-contact .contact_container .contact_inner .form-fields .postal-code .captions {
  font-family: "IBM Plex Sans JP", sans-serif;
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_inner .form-fields .postal-code {
    flex-direction: column;
    align-items: flex-start;
  }
  #page-contact .contact_container .contact_inner .form-fields .postal-code .wpcf7-form-control-wrap {
    width: 100%;
  }
  #page-contact .contact_container .contact_inner .form-fields .postal-code .wpcf7-form-control-wrap input {
    width: 50%;
    left: 0;
  }
  #page-contact .contact_container .contact_inner .form-fields .postal-code .captions {
    margin-left: 0;
  }
}
#page-contact .contact_container .contact_inner .form-fields span.required {
  font-size: 12px;
  color: #fff;
  background: red;
  padding: 2px 7px 4px;
  border-radius: 3px;
  height: -moz-fit-content;
  height: fit-content;
  width: 6%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_inner .form-fields span.required {
    width: -moz-fit-content;
    width: fit-content;
    padding: 4px 6px;
  }
}
#page-contact .contact_container .contact_inner .form-fields span.left06 {
  width: 6%;
}
@media screen and (max-width: 768px) {
  #page-contact .contact_container .contact_inner .form-fields span.left06 {
    display: none;
  }
}
#page-contact .contact_container .contact_inner .privacy-field {
  justify-content: center;
  gap: 2em 1rem;
}
#page-contact .contact_container .contact_inner .privacy-field .privacy-list {
  display: flex;
  gap: 1rem;
}
#page-contact .contact_container .contact_inner .privacy-field .privacy-list .wpcf7-form-control-wrap {
  display: flex;
  align-items: center;
  flex-direction: column;
}
#page-contact .contact_container .contact_inner .privacy-field .privacy-list .wpcf7-list-item {
  margin: 1px;
  display: flex;
}
#page-contact .contact_container .contact_inner .privacy-field .privacy-list .wpcf7-not-valid-tip {
  position: absolute;
  left: 6%;
  width: 120px;
  top: 22px;
}
#page-contact .contact_container .contact_inner .privacy-field .privacy-list a {
  text-decoration: underline;
  color: #004097;
}
#page-contact .contact_container .contact_inner .privacy-field .privacy-list .acceptance {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}
#page-contact .contact_container .contact_inner .privacy-field .privacy-list .acceptance input {
  margin: 0;
}
#page-contact .contact_container .wpcf7-not-valid-tip {
  margin-left: 0;
}
#page-contact .support-btn__parts {
  padding-top: 100px;
}
#page-contact #confirmation {
  padding: 20px;
  margin-top: 20px;
}
#page-contact #confirmation .confirmation-item {
  padding: 40px 0;
  border-bottom: 1px solid #B5B6B7;
  display: flex;
}
#page-contact #confirmation .confirmation-item .confirmation-title {
  width: 25%;
  display: inline-block;
}
#page-contact #confirmation .confirmation-item .confirmation-value {
  width: 75%;
  display: inline-block;
}
#page-contact #confirmation .confirmation-btn-grp {
  display: flex;
  margin: 100px 0;
  gap: 25px;
  justify-content: center;
  flex-wrap: wrap;
}
#page-contact #confirmation .confirmation-btn-grp .btn__boxstyle {
  margin: 0;
  display: flex;
  justify-content: space-between;
  padding: 15px;
}
#page-contact #confirmation .confirmation-btn-grp .btn__boxstyle span.text {
  margin-left: 70px;
}
#page-contact #confirmation .confirmation-btn-grp .btn__boxstyle .btn-edit {
  margin-right: 120px;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  #page-contact #confirmation .confirmation-btn-grp .btn__boxstyle .btn-edit {
    margin-right: 80px;
  }
}
#page-contact #confirmation .confirmation-btn-grp .btn__boxstyle .final-submit span.text {
  margin-right: 50px;
}
#page-contact #confirmation .confirmation-btn-grp .btn__boxstyle .icon__box-arrow ::after {
  transform: translate(-50%, -50%) rotate(180deg) !important;
}
#page-contact #confirmation .confirmation-btn-grp .btn__backpage {
  background-color: #BBBBBB;
}
#page-contact #confirmation .confirmation-btn-grp .btn__backpage:hover {
  color: #fff;
  background-color: #080618;
}
#page-contact #confirmation .confirmation-btn-grp #btn-back {
  background-color: #BBBBBB;
  gap: 20px;
}
#page-contact #confirmation .confirmation-btn-grp #btn-back span:last-child {
  margin-right: 30%;
}

#page-contanct_thanks {
  background-color: #E5ECF7;
}
#page-contanct_thanks .thanks-page {
  padding: 0 0 100px;
}
#page-contanct_thanks .thanks-page .title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  #page-contanct_thanks .thanks-page .title__en {
    height: 45px;
  }
}
#page-contanct_thanks .thanks-page .title__line {
  width: 250px;
}
#page-contanct_thanks .thanks-page .bg-mask {
  background-color: #004097;
}
#page-contanct_thanks .thanks-page .title__jp {
  height: 25px;
}
#page-contanct_thanks .thanks-page .contact_thanks {
  padding: 100px 0;
}
#page-contanct_thanks .thanks-page .contact_thanks .contact__title {
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 15px;
}
#page-contanct_thanks .thanks-page .contact_thanks .contact__description .m20 {
  margin-bottom: 20px;
}
#page-contanct_thanks .thanks-page .btn__boxstyle {
  margin: 0 auto 80px;
}

#page-event-calendar {
  background: #E5ECF6;
}
@media screen and (max-width: 1100px) {
  #page-event-calendar .events__wrap {
    padding: 0 15px;
  }
}

#page-event-calendar .fc .fc-button-primary {
  background: none;
  border: none;
  color: #000000;
}
@media screen and (max-width: 768px) {
  #page-event-calendar .fc .fc-toolbar {
    display: block;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 768px) {
  #page-event-calendar .fc .fc-toolbar .fc-header-toolbar {
    display: block;
  }
}
#page-event-calendar .fc .fc-toolbar-chunk:first-child {
  display: none;
}
#page-event-calendar .fc .fc-toolbar-chunk:last-child {
  text-align: right;
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-toolbar-title {
  font-weight: bold;
  font-size: 1.65em;
}
@media screen and (max-width: 768px) {
  #page-event-calendar .fc .fc-toolbar-chunk .fc-toolbar-title {
    font-size: 1.375rem;
  }
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary {
    font-weight: 500;
    font-size: 14px;
  }
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-left {
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-left::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 13px;
  background-image: url(../images/icon-arrow-left-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 6px;
}
@media screen and (max-width: 768px) {
  #page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-left::before {
    width: 12px;
    height: 12px;
    margin-right: 4px;
  }
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-left::after {
  content: "前の月へ";
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-left:hover::before {
  background-image: url(../images/icon-arrow-left-red.svg);
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-left:hover::after {
  text-decoration: underline;
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-right {
  font-weight: bold;
  position: relative;
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-right::before {
  content: "次の月へ";
  padding-right: 24px;
  background-image: url(../images/icon-arrow-right-blue.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 13px;
}
@media screen and (max-width: 768px) {
  #page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-right::before {
    padding-right: 16px;
    background-size: 12px 12px;
  }
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-button-primary .fc-icon-chevron-right:hover::before {
  background-image: url(../images/icon-arrow-right-red.svg);
  text-decoration: underline;
}
#page-event-calendar .fc .fc-toolbar-chunk .fc-button-group .fc-myToday-button {
  display: none;
}
#page-event-calendar .fc .fc-button .fc-icon {
  font-size: 1em;
  width: 5.5em;
}
#page-event-calendar .fc .fc-scrollgrid-section-body table {
  border: 1px solid #DDDDDD;
  background-color: #fff;
}
#page-event-calendar .fc .fc-scrollgrid-section-body table tr {
  border-bottom: 1px solid #DDDDDD;
}
#page-event-calendar .fc .fc-scrollgrid-section-body table td {
  border-right: 1px solid #DDDDDD;
}
#page-event-calendar .fc .fc-scrollgrid-section-body .fc-day-sat,
#page-event-calendar .fc .fc-scrollgrid-section-body .fc-day-sun {
  background-color: rgba(237, 196, 183, 0.3);
}
#page-event-calendar .fc .fc-daygrid-day-number {
  padding: 5px 10px;
  font-family: oswald, sans-serif;
}
#page-event-calendar .fc .fc-daygrid-day-top {
  flex-direction: row;
}

.with-holiday {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.fc-theme-standard .fc-scrollgrid {
  border: none;
}

.fc-theme-standard td,
.fc-theme-standard th {
  border: none;
}

#calendar {
  max-width: 1080px;
  margin: 0 auto;
  padding: 115px 0 185px;
}
@media screen and (max-width: 768px) {
  #calendar {
    padding: 80px 0;
    height: 720px;
  }
}

/* --- Tooltip Styles --- */
.fc-tooltip {
  position: absolute;
  background: #fff;
  border: 1px solid #333;
  padding: 10px 14px;
  font-size: 14px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.2s ease-out;
  z-index: 9999;
  max-width: 310px;
  display: none;
  line-height: 1.5;
  font-size: 13px;
  color: #666;
}

.tooltip-image {
  display: none;
  margin-bottom: 10px;
}

.fc-tooltip.show {
  opacity: 1;
  transform: translateY(0);
}

.fc-tooltip .tooltip-inner {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.fc-tooltip .tooltip-title {
  font-weight: bold;
  margin-bottom: 4px;
  color: #111;
  font-size: 15px;
}

.fc-tooltip .tooltip-time {
  margin-bottom: 15px;
}

.fc-tooltip .tooltip-description {
  margin-bottom: 6px;
  color: #444;
  font-size: 13px;
}

.fc-tooltip .tooltip-link {
  font-size: 0.875rem;
  color: #080618;
  text-decoration: underline;
  background-image: url(../images/icon-arrow-noraml-right-red.svg);
  background-repeat: no-repeat;
  background-size: 6px;
  background-position: center right;
  padding-right: 15px;
}

/* Event Category Styling */
.fc-event.event-category1 {
  background-color: #3498db;
  border-color: #3498db;
}

.fc-event.event-category2 {
  background-color: #f39c12;
  border-color: #f39c12;
}

.fc-event.event-category3 {
  background-color: #e74c3c;
  border-color: #e74c3c;
}

.fc-event.event-category4 {
  background-color: #09B47E;
  border-color: #09B47E;
}

.fc-h-event .fc-event-title-container {
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  .fc-h-event .fc-event-title-container {
    padding: 0 5px;
    font-size: 0.75rem;
  }
}

.events__wrap .title__line {
  width: 500px;
  overflow: auto;
}
@media screen and (max-width: 768px) {
  .events__wrap .title__line {
    width: 315px;
  }
}
.events__wrap .title__line.title__en {
  height: 68px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .events__wrap .title__line.title__en {
    height: 48px;
  }
}
.events__wrap .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  .events__wrap .title__line.title__jp {
    height: 22px;
  }
}
.events__wrap #event-modal .modal-content {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .events__wrap #event-modal .modal-content {
    max-width: 92%;
    padding: 20px;
  }
}
.events__wrap #event-modal .modal-content .tooltip-image {
  display: none; /* hidden by default */
  margin-bottom: 10px;
}
.events__wrap #event-modal .modal-content .tooltip-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.events__wrap #event-modal .modal-content .tooltip-time {
  margin: 13px 0;
}
.events__wrap #event-modal .modal-content a {
  font-size: 0.875rem;
  color: #080618;
  text-decoration: underline;
  background-image: url(../images/icon-arrow-noraml-right-red.svg);
  background-repeat: no-repeat;
  background-size: 6px;
  background-position: center right;
  padding-right: 15px;
}

#page-event-detail {
  background: #E5ECF7;
}
@media screen and (max-width: 768px) {
  #page-event-detail {
    padding: 100px 15px 0px;
  }
}
#page-event-detail .content__inner {
  padding: 0 0 100px;
}
@media screen and (max-width: 768px) {
  #page-event-detail .content__inner {
    padding: 0 0 40px;
  }
}
#page-event-detail .content__inner .content__top {
  padding: 15px 0;
  font-size: 1rem;
  line-height: 2;
}
#page-event-detail .content__inner .content__top .content__category {
  background: #fff;
  padding: 5px 10px;
  border-radius: 11px;
  font-size: 0.6875rem;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 5px;
}
#page-event-detail .content__inner .content__title {
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 1px solid #004097;
  padding: 0 0 15px;
}
@media screen and (max-width: 768px) {
  #page-event-detail .content__inner .content__title {
    font-size: 1.25rem;
  }
}
#page-event-detail .content__inner .content__detail {
  padding: 50px 0 0;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  #page-event-detail .content__inner .content__detail {
    font-size: 0.875rem;
  }
}
#page-event-detail .content__inner .content__detail P img {
  padding: 50px 0;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page-event-detail .content__inner .content__detail P img {
    padding: 30px 0;
  }
}
#page-event-detail .btn__boxstyle {
  margin: 0 auto 185px;
}

#page-news {
  background: #fff;
}
@media screen and (max-width: 768px) {
  #page-news .news__inner {
    padding: 0 15px 140px;
  }
}
#page-news .news__wrap {
  padding: 100px 0 0;
}
@media screen and (max-width: 768px) {
  #page-news .news__wrap {
    padding: 85px 0 0;
  }
}
#page-news .support-btn__parts {
  padding: 100px;
  background: none;
}
@media screen and (max-width: 768px) {
  #page-news .support-btn__parts {
    padding: 0 15px 40px;
  }
}
@media screen and (max-width: 900px) {
  #page-news .news-filter {
    display: flex !important;
    justify-content: flex-start;
    align-items: center;
    gap: 22px;
    margin: 40px auto 0;
  }
  #page-news .news-filter li button {
    font-size: 0.875rem;
  }
  #page-news .news-list {
    margin: 35px 0 0;
  }
}

#page-news-detail {
  background: #E5ECF7;
}
#page-news-detail .content__inner {
  padding: 0 0 100px;
}
@media screen and (max-width: 768px) {
  #page-news-detail .content__inner {
    padding: 0 0 0;
  }
}
#page-news-detail .content__inner .content__top {
  padding: 15px 0;
  font-size: 1rem;
  color: #004097;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  #page-news-detail .content__inner .content__top {
    padding: 15px 15px;
  }
}
#page-news-detail .content__inner .content__top .content__category {
  background: #fff;
  padding: 5px 10px;
  border-radius: 11px;
  font-size: 0.6875rem;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 5px;
}
#page-news-detail .content__inner .content__title {
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 1px solid #004097;
  padding: 0 0 15px;
}
@media screen and (max-width: 768px) {
  #page-news-detail .content__inner .content__title {
    padding: 0 15px 15px;
    font-size: 1.25rem;
  }
}
#page-news-detail .content__inner .content__detail {
  padding: 50px 0 0;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  #page-news-detail .content__inner .content__detail {
    padding: 30px 15px 0;
    font-size: 0.875rem;
  }
}
#page-news-detail .content__inner .content__detail P {
  line-height: 2;
}
#page-news-detail .content__inner .content__detail P img {
  padding: 50px 0;
}
@media screen and (max-width: 768px) {
  #page-news-detail .content__inner .content__detail P img {
    padding: 30px 0;
  }
}
@media screen and (max-width: 768px) {
  #page-news-detail .content__inner iframe {
    width: 100%;
    height: auto;
  }
  #page-news-detail .content__inner table, #page-news-detail .content__inner tr, #page-news-detail .content__inner td {
    height: auto !important;
  }
}
#page-news-detail .btn__boxstyle {
  margin: 0 auto 185px;
}
@media screen and (max-width: 768px) {
  #page-news-detail .btn__boxstyle {
    margin: 0 auto 145px;
  }
}

#page-shop-report {
  background-color: #E5ECF7;
}
#page-shop-report .content__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page-shop-report .content__inner {
    padding: 0 15px;
  }
}
#page-shop-report .title__line .bg-mask {
  background-color: #004097;
}
#page-shop-report .report__wrap {
  padding: 50px 0 165px;
}
@media screen and (max-width: 768px) {
  #page-shop-report .report__wrap {
    padding: 40px 0 150px;
  }
}
#page-shop-report .report__list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 25px 2%;
}
@media screen and (max-width: 768px) {
  #page-shop-report .report__list {
    gap: 30px;
  }
}
#page-shop-report .report__list li {
  width: 32%;
}
@media screen and (max-width: 768px) {
  #page-shop-report .report__list li {
    width: 100%;
  }
}
#page-shop-report .report__list li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  padding: 15px 15px 35px;
  border-radius: 3px;
}
#page-shop-report .report__list li a::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../images/triangle-shopreport.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  bottom: 5px;
  right: 5px;
  transition: 0.3s;
}
#page-shop-report .report__list li a:hover::after {
  background-image: url(../images/triangle-shopreport-red.svg);
}
#page-shop-report .report__list li a h3 {
  color: #004097;
  font-size: 1.125rem;
  font-weight: 700;
  margin: 10px 0 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  #page-shop-report .report__list li a h3 {
    font-size: 1rem;
  }
}
#page-shop-report .report__list li a p {
  color: #080618;
  font-size: 0.875rem;
  margin: 10px 0 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
#page-shop-report .report__list li a .report__image {
  overflow: hidden;
  width: 100%;
}
#page-shop-report .report__list li a .report__image img {
  width: 100%;
  transform: scale(1);
  transition: 5s;
}
#page-shop-report .report__list li a:hover .report__image img {
  transform: scale(1.2);
}

/*==============================

ショップレポート詳細

===============================*/
#page-report-detail {
  background-color: #E5ECF7;
}
#page-report-detail > .btn__boxstyle {
  margin: 0 auto 185px;
}
#page-report-detail .content__top {
  padding: 15px 15px;
  font-size: 1rem;
  color: #004097;
  display: flex;
  gap: 10px;
}
#page-report-detail .content__top .content__cate {
  background: #fff;
  padding: 5px 15px;
  border-radius: 15px;
  font-size: 0.6875rem;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 5px;
}
#page-report-detail .content__title {
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 1px solid #004097;
  padding: 0 0 15px;
}
#page-report-detail .content__title div {
  padding: 0 35px;
}
@media screen and (max-width: 768px) {
  #page-report-detail .content__title div {
    padding: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  #page-report-detail .content__title {
    font-size: 1.25rem;
  }
}
#page-report-detail .content__detail {
  padding-top: 50px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  #page-report-detail .content__detail {
    padding: 30px 15px;
    font-size: 0.875rem;
  }
}
#page-report-detail .content__detail P img {
  padding: 50px 0;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page-report-detail .content__detail P img {
    padding: 30px 0;
  }
}
#page-report-detail .content__detail P:first-child img {
  padding-top: 0;
}
#page-report-detail .pdflink__wrap {
  margin: 60px 0 0;
}
#page-report-detail .pdflink__wrap p {
  color: #004097;
  font-size: 1.125rem;
  font-weight: 700;
}
#page-report-detail .pdflink__wrap .customer__btn-download {
  justify-content: flex-start;
}
#page-report-detail .pdflink__wrap .btn__boxstyle {
  margin: 25px 0 0;
}
@media screen and (max-width: 768px) {
  #page-report-detail .pdflink__wrap {
    margin: 35px 0 0;
  }
  #page-report-detail .pdflink__wrap p {
    font-size: 1rem;
  }
  #page-report-detail .pdflink__wrap .customer__btn-download {
    margin: 0 0 0;
    align-items: flex-start;
  }
  #page-report-detail .pdflink__wrap .btn__boxstyle {
    margin: 15px 0 0;
  }
}
#page-report-detail .content__inner {
  padding: 0 0 100px;
}
@media screen and (max-width: 768px) {
  #page-report-detail .content__inner {
    padding: 0 0 0;
  }
}

#page-support {
  background-color: #E5ECF7;
}
#page-support .content__inner {
  padding: 0 15px;
}
#page-support .title__container {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
#page-support .title__line .bg-mask {
  background-color: #004097;
}
#page-support .support__contents {
  max-width: 1080px;
  width: 100%;
  margin: 50px auto 185px;
}
@media screen and (max-width: 768px) {
  #page-support .support__contents {
    margin: 40px auto 155px;
  }
}
#page-support .support__contents > p {
  font-size: 1rem;
  line-height: 2;
}
#page-support .support__contents ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 45px;
  margin: 75px 0 0;
}
@media screen and (max-width: 768px) {
  #page-support .support__contents ul {
    margin: 40px 0 0;
  }
}
#page-support .support__contents ul li {
  padding: 10px;
  width: 100%;
  background-color: #fff;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  #page-support .support__contents ul li {
    padding: 10px 10px 30px;
  }
}
#page-support .support__contents ul li > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 35px;
}
@media screen and (max-width: 768px) {
  #page-support .support__contents ul li > div {
    flex-direction: column;
    gap: 25px;
  }
}
#page-support .support__contents ul li > div div:first-child {
  min-width: 336px;
  width: 336px;
}
@media screen and (max-width: 768px) {
  #page-support .support__contents ul li > div div:first-child {
    min-width: 100%;
    width: 100%;
  }
}
#page-support .support__contents ul li > div div:last-child {
  max-width: 616px;
  width: 100%;
}
#page-support .support__contents ul li > div div:last-child h3 {
  font-size: 1.5rem;
  font-weight: 700;
}
#page-support .support__contents ul li > div div:last-child p {
  font-size: 1.125rem;
  font-weight: 400;
  margin: 10px 0 0;
}
#page-support .support__contents ul li > div div:last-child .btn__boxstyle {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  #page-support .support__contents ul li > div div:last-child h3 {
    font-size: 1.25rem;
    text-align: center;
  }
  #page-support .support__contents ul li > div div:last-child p {
    font-size: 1rem;
  }
  #page-support .support__contents ul li > div div:last-child .btn__boxstyle {
    margin: 25px auto 0;
  }
}

/*=================================================

部品供給停止リスト
データ提供サービス

=================================================*/
#page-data, #page-stop_list {
  background-color: #E5ECF7;
}
#page-data .content__inner, #page-stop_list .content__inner {
  padding: 0 15px;
}
#page-data .title__container, #page-stop_list .title__container {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #page-data .title__container, #page-stop_list .title__container {
    font-size: 1.6875rem;
  }
}
#page-data .data__contents .data__links, #page-stop_list .data__contents .data__links {
  max-width: 1080px;
  width: 100%;
  margin: 100px auto 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 52px;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__links, #page-stop_list .data__contents .data__links {
    margin: 70px auto 0;
    flex-direction: column;
    gap: 25px;
  }
}
#page-data .data__contents .data__links a, #page-stop_list .data__contents .data__links a {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 248px;
  width: 100%;
  padding: 0 0 18px;
  border-bottom: 1px solid #080618;
  background-image: url(../images/icon-arrow-down-red.svg);
  background-size: 12px 12px;
  background-repeat: no-repeat;
  background-position: top 5px right 15px;
  color: #080618;
  font-size: 0.875rem;
  font-weight: 700;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__links a, #page-stop_list .data__contents .data__links a {
    max-width: 400px;
  }
}
#page-data .data__contents .data__links a::after, #page-stop_list .data__contents .data__links a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
#page-data .data__contents .data__links a:hover, #page-stop_list .data__contents .data__links a:hover {
  color: #E50211;
}
#page-data .data__contents .data__links a:hover::after, #page-stop_list .data__contents .data__links a:hover::after {
  width: 100%;
}
#page-data .data__contents .data__sec, #page-stop_list .data__contents .data__sec {
  max-width: 1080px;
  width: 100%;
  margin: 123px auto 0;
}
#page-data .data__contents .data__sec.data__hunter, #page-stop_list .data__contents .data__sec.data__hunter {
  margin: 200px auto 185px;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec, #page-stop_list .data__contents .data__sec {
    margin: 100px auto 0;
  }
  #page-data .data__contents .data__sec.data__hunter, #page-stop_list .data__contents .data__sec.data__hunter {
    margin: 110px auto 155px;
  }
}
#page-data .data__contents .data__sec h3, #page-stop_list .data__contents .data__sec h3 {
  width: 100%;
  border-bottom: 1px solid #004097;
}
#page-data .data__contents .data__sec h3 span, #page-stop_list .data__contents .data__sec h3 span {
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  padding: 0 40px 0 5px;
  color: #fff;
  background-color: #004097;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec h3 span, #page-stop_list .data__contents .data__sec h3 span {
    font-size: 1.5625rem;
    padding: 0 30px 0 5px;
  }
}
#page-data .data__contents .data__sec h4, #page-stop_list .data__contents .data__sec h4 {
  position: relative;
  font-size: 1.25rem;
  font-weight: 700;
  padding: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec h4, #page-stop_list .data__contents .data__sec h4 {
    font-size: 1.125rem;
    padding: 0 0 0 15px;
  }
}
#page-data .data__contents .data__sec h4::after, #page-stop_list .data__contents .data__sec h4::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #004097;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#page-data .data__contents .data__sec .customer__btn-download, #page-stop_list .data__contents .data__sec .customer__btn-download {
  margin: 0;
}
#page-data .data__contents .data__sec .customer__btn-download .btn__boxstyle, #page-stop_list .data__contents .data__sec .customer__btn-download .btn__boxstyle {
  margin: 30px auto 0 0;
  gap: 25px;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec .customer__btn-download .btn__boxstyle, #page-stop_list .data__contents .data__sec .customer__btn-download .btn__boxstyle {
    margin: 25px auto 0;
  }
}
#page-data .data__contents .data__sec .customer__btn-download .btn__boxstyle .icon__box-window::after, #page-stop_list .data__contents .data__sec .customer__btn-download .btn__boxstyle .icon__box-window::after {
  background-size: 14px;
}
#page-data .data__contents .data__sec .data__box, #page-stop_list .data__contents .data__sec .data__box {
  margin: 40px 0 0;
}
#page-data .data__contents .data__sec .data__box:not(:nth-child(2)), #page-stop_list .data__contents .data__sec .data__box:not(:nth-child(2)) {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec .data__box, #page-stop_list .data__contents .data__sec .data__box {
    margin: 30px 0 0;
  }
  #page-data .data__contents .data__sec .data__box:not(:nth-child(2)), #page-stop_list .data__contents .data__sec .data__box:not(:nth-child(2)) {
    margin-top: 70px;
  }
}
#page-data .data__contents .data__sec .data__box p, #page-stop_list .data__contents .data__sec .data__box p {
  font-size: 1rem;
  line-height: 2;
  margin: 10px 0 0;
}
#page-data .data__contents .data__sec .data__box.user__guide .btn__boxstyle, #page-stop_list .data__contents .data__sec .data__box.user__guide .btn__boxstyle {
  gap: 40px;
}
#page-data .data__contents .data__sec .data__box.datainfo__box .btn__boxstyle, #page-stop_list .data__contents .data__sec .data__box.datainfo__box .btn__boxstyle {
  gap: 25px;
  margin: 60px auto 0;
}
#page-data .data__contents .data__sec .data__box.data__notes p, #page-stop_list .data__contents .data__sec .data__box.data__notes p {
  font-weight: 400;
  position: relative;
  padding-left: 20px;
}
#page-data .data__contents .data__sec .data__box.data__notes p::after, #page-stop_list .data__contents .data__sec .data__box.data__notes p::after {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
#page-data .data__contents .data__sec .data__box .datainfo__list, #page-stop_list .data__contents .data__sec .data__box .datainfo__list {
  margin: 25px 0 0;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec .data__box .datainfo__list, #page-stop_list .data__contents .data__sec .data__box .datainfo__list {
    margin: 5px 0 0;
  }
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a {
  position: relative;
  padding: 30px 15px;
  display: block;
  border-bottom: 1px solid #004097;
  background-image: url(../images/icon-arrow-noraml-right.svg);
  background-repeat: no-repeat;
  background-position: center right 15px;
  background-size: 8px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a {
    padding: 20px 40px 20px 5px;
  }
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a::after, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 1s;
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a:hover, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a:hover {
  background-position: center right 5px;
  background-color: #fff;
  background-image: url(../images/icon-arrow-noraml-right-red.svg);
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a:hover::after, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a:hover::after {
  width: 100%;
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a:hover .news-category, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a:hover .news-category {
  color: #fff;
  background-color: #004097;
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a .datainfo-date, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a .datainfo-date {
  margin: 0;
  color: #004097;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item a .datainfo-text, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item a .datainfo-text {
  color: #004097;
  font-size: 1rem;
  margin: 0;
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item.item__pdf a .datainfo-text::after, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item.item__pdf a .datainfo-text::after {
  content: "PDF";
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 0.75rem;
  padding: 0px 10px;
  border-radius: 3px;
  margin-left: 15px;
  color: #fff;
  background-color: #004097;
  transition: 0.3s;
}
#page-data .data__contents .data__sec .data__box .datainfo__list .datainfo__item.item__pdf a:hover .datainfo-text::after, #page-stop_list .data__contents .data__sec .data__box .datainfo__list .datainfo__item.item__pdf a:hover .datainfo-text::after {
  color: #004097;
  background-color: #E5ECF7;
}
#page-data .data__contents .data__sec.data__hunter .data__box p:not(:nth-child(2)), #page-stop_list .data__contents .data__sec.data__hunter .data__box p:not(:nth-child(2)) {
  margin: 30px 0 0;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec.data__hunter .data__box p:not(:nth-child(2)), #page-stop_list .data__contents .data__sec.data__hunter .data__box p:not(:nth-child(2)) {
    margin: 20px 0 0;
  }
}
#page-data .data__contents .data__sec.data__hunter .data__box.user__guide .btn__boxstyle, #page-stop_list .data__contents .data__sec.data__hunter .data__box.user__guide .btn__boxstyle {
  gap: 30px;
}
#page-data .data__contents .data__sec .qr__box, #page-stop_list .data__contents .data__sec .qr__box {
  max-width: 404px;
  width: 100%;
  padding: 22px;
  background-color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 28px;
  margin: 30px 0 0;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec .qr__box, #page-stop_list .data__contents .data__sec .qr__box {
    max-width: 100%;
    gap: 15px;
  }
}
#page-data .data__contents .data__sec .qr__box img, #page-stop_list .data__contents .data__sec .qr__box img {
  width: 79px;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec .qr__box img, #page-stop_list .data__contents .data__sec .qr__box img {
    width: 63px;
  }
}
#page-data .data__contents .data__sec .qr__box p, #page-stop_list .data__contents .data__sec .qr__box p {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  margin: 0 !important;
}
@media screen and (max-width: 768px) {
  #page-data .data__contents .data__sec .qr__box p, #page-stop_list .data__contents .data__sec .qr__box p {
    font-size: 1rem;
  }
}

/*部品供給停止リストの個別上書きcss*/
#page-stop_list .stop_list__contents .data__sec {
  margin-top: 60px !important;
  margin-bottom: 185px;
}
@media screen and (max-width: 768px) {
  #page-stop_list .stop_list__contents .data__sec {
    margin-top: 45px !important;
    margin-bottom: 155px;
  }
}
#page-stop_list .stop_list__contents .data__box {
  margin-top: 0 !important;
}
#page-stop_list .stop_list__contents h3 {
  font-size: 1.4375rem;
  font-weight: 700;
  border-bottom: 0 !important;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #page-stop_list .stop_list__contents h3 {
    font-size: 1.125rem;
  }
}
#page-stop_list .stop_list__contents .stop_list__notes {
  margin-top: 30px;
}

#page-serection_series {
  background-color: #E5ECF7;
}
#page-serection_series .content__inner {
  padding: 0 15px;
}
#page-serection_series .title__container {
  max-width: 1080px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
#page-serection_series .serection__only .title__line {
  width: 508px;
}
@media screen and (max-width: 768px) {
  #page-serection_series .serection__only .title__line {
    width: 324px;
  }
}
#page-serection_series .serection__only .title__line .bg-mask {
  background-color: #004097;
}
#page-serection_series .serection__only .title__line.title__en {
  height: 135px;
}
@media screen and (max-width: 768px) {
  #page-serection_series .serection__only .title__line.title__en {
    height: 96px;
  }
}
#page-serection_series .serection_series__contents {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
#page-serection_series .serection_series__contents > p {
  font-size: 1rem;
  line-height: 2;
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  #page-serection_series .serection_series__contents > p {
    margin: 40px 0 0;
  }
}
#page-serection_series .serection_series__contents .series__list {
  margin: 135px 0 185px;
}
@media screen and (max-width: 768px) {
  #page-serection_series .serection_series__contents .series__list {
    margin: 65px 0 155px;
  }
}
#page-serection_series .serection_series__contents .series__list li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 44px;
  padding: 0 0 60px;
  border-bottom: 1px solid #004097;
}
#page-serection_series .serection_series__contents .series__list li:not(:first-child) {
  margin: 60px 0 0;
}
#page-serection_series .serection_series__contents .series__list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  #page-serection_series .serection_series__contents .series__list li {
    flex-direction: column;
    gap: 15px;
  }
  #page-serection_series .serection_series__contents .series__list li:first-child {
    padding-top: 60px;
    border-top: 1px solid #004097;
  }
}
#page-serection_series .serection_series__contents .series__list li .catalog__thumbnail {
  max-width: 205px;
  width: 100%;
}
#page-serection_series .serection_series__contents .series__list li .catalog__desc h3 {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #page-serection_series .serection_series__contents .series__list li .catalog__desc h3 {
    text-align: center;
  }
}
#page-serection_series .serection_series__contents .series__list li .catalog__desc p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  margin: 10px 0 0;
}
#page-serection_series .serection_series__contents .series__list li .catalog__desc .btn__boxstyle {
  margin: 35px 0 0;
}
@media screen and (max-width: 768px) {
  #page-serection_series .serection_series__contents .series__list li .catalog__desc .btn__boxstyle {
    margin: 35px auto 0;
  }
}
#page-serection_series .serection_series__contents .series__list li.pdflink .btn__boxstyle {
  gap: 20px;
}

.s__series--contents {
  background-color: #E5ECF7;
}
.s__series--contents .content__inner {
  padding: 0 15px;
}
.s__series--contents .content__inner > p {
  max-width: 1080px;
  width: 100%;
  margin: 50px auto 0;
  font-size: 1rem;
  line-height: 2;
}
.s__series--contents .title__container {
  font-size: 2rem;
  font-weight: 700;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .s__series--contents .title__container {
    font-size: 1.6875rem;
  }
}
.s__series--contents .catalog__version {
  max-width: 1080px;
  width: 100%;
  margin: 15px auto 0;
  font-size: 0.875rem;
}
.s__series--contents .catalog__contents {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 65px;
  max-width: 1080px;
  width: 100%;
  margin: 100px auto 185px;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__contents {
    flex-direction: column;
    margin: 55px auto 40px;
  }
}
.s__series--contents .catalog__navi {
  position: sticky;
  top: 120px;
  left: 0;
  padding: 25px 15px 20px 35px;
  min-width: 247px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__navi {
    position: relative;
    top: inherit;
    left: inherit;
    min-width: 100%;
    background: none;
    padding: 0;
  }
  .s__series--contents .catalog__navi ul {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 34px 6%;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__navi li {
    width: 47%;
  }
}
.s__series--contents .catalog__navi li:not(:first-child) {
  margin: 10px 0 0;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__navi li:not(:first-child) {
    margin: 0;
  }
}
.s__series--contents .catalog__navi li a {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  color: #B4B4B9;
  font-size: 1rem;
  font-weight: 600;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__navi li a {
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 35px 5px 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #080618;
    border-bottom: 1px solid #080618;
    background-image: url(../images/icon-arrow-down-red.svg);
    background-size: 14px 8px;
    background-repeat: no-repeat;
    background-position: center right 15px;
  }
}
.s__series--contents .catalog__navi li a:hover {
  color: #080618;
}
.s__series--contents .catalog__navi li a::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  background-color: #004097;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  transform: scale(0);
  left: -18px;
  transition: 0.3s;
}
.s__series--contents .catalog__navi li a.sidemenu_active {
  color: #080618;
}
.s__series--contents .catalog__navi li a.sidemenu_active::after {
  transform: scale(1);
}
.s__series--contents .catalog__navi li a span {
  font-family: "Oswald", sans-serif;
  margin-right: 8px;
  font-weight: 400;
}
.s__series--contents .catalog__table {
  max-width: 774px;
  width: 100%;
}
.s__series--contents .catalog__table .catalog__flexbox {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  border-top: 1px solid #438BE1;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__table .catalog__flexbox {
    flex-direction: column;
  }
}
.s__series--contents .catalog__table .catalog__flexbox:nth-last-child(2) {
  border-bottom: 1px solid #438BE1;
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title {
  max-width: 606px;
  width: 100%;
  border-right: 1px solid #438BE1;
  padding: 35px 10px 45px 0;
}
@media screen and (max-width: 900px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title {
    padding: 35px 20px 45px 0;
  }
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title {
    padding: 25px 0 30px;
    border-right: 0;
  }
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title > p {
  color: #004097;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title > p span {
  font-size: 1.75rem;
  margin-left: 10px;
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title h3 {
  font-size: 1.5625rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title h3 {
    font-size: 1.25rem;
  }
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title ul {
  max-width: 273px;
  width: 100%;
  margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title ul {
    max-width: 100%;
  }
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title ul li {
  position: relative;
  font-size: 0.9375rem;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title ul li {
    font-size: 1rem;
  }
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title ul li:not(:first-child) {
  margin: 10px 0 0;
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title ul li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__title .teblelist__2column {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px;
}
@media screen and (max-width: 900px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title .teblelist__2column {
    flex-direction: column;
    gap: 0;
  }
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title .teblelist__2column ul:nth-child(2) {
    margin: 0 0 0;
  }
  .s__series--contents .catalog__table .catalog__flexbox .catalog__title .teblelist__2column ul:nth-child(2) li:first-child {
    margin: 10px 0 0;
  }
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__link {
  max-width: 169px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__link {
    max-width: 100%;
    padding: 0 0 45px;
  }
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__link a {
  max-width: 125px;
  width: 100%;
  height: 66px;
  border-radius: 5px;
  border: 1px solid #BBBBBB;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  color: #080618;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 10px;
  background-color: #fff;
  background-image: url(../images/icon-window-black.svg);
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: center right 10px;
  transition: 0.3s;
}
.s__series--contents .catalog__table .catalog__flexbox .catalog__link a:hover {
  color: #fff;
  background-color: #080618;
  background-image: url(../images/icon-window-white.svg);
}
@media screen and (max-width: 768px) {
  .s__series--contents .catalog__table .catalog__flexbox .catalog__link a {
    max-width: 155px;
  }
}
.s__series--contents .btn__boxstyle {
  margin: 60px auto 0;
}
#page-policy {
  background-color: #E5ECF7;
}
#page-policy .policy__only .title__line {
  width: 506px;
}
#page-policy .policy__only .title__line .bg-mask {
  background-color: #004097;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__only .title__line {
    width: 333px;
  }
}
#page-policy .policy__only .title__line.title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__only .title__line.title__en {
    height: 48px;
  }
}
#page-policy .policy__only .title__line.title__jp {
  height: 25px;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__only .title__line.title__jp {
    height: 22px;
  }
}
#page-policy .content__inner {
  padding: 0 15px;
}
#page-policy .title__container {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
#page-policy .policy__contents {
  max-width: 1080px;
  width: 100%;
  margin: 50px auto 185px;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents {
    margin: 40px auto 155px;
  }
}
#page-policy .policy__contents p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
}
#page-policy .policy__contents .txt__box {
  width: 100%;
  padding: 30px;
  background-color: #F1F3F3;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .txt__box {
    padding: 25px 20px;
  }
}
#page-policy .policy__contents .txt__box.txt__box--mt {
  margin: 45px 0 0 0;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .txt__box.txt__box--mt {
    margin: 40px 0 0;
  }
}
#page-policy .policy__contents .txt__box.box__small {
  max-width: 540px;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .txt__box.box__small p {
    line-height: 1.6;
  }
  #page-policy .policy__contents .txt__box.box__small p:first-child {
    margin-bottom: 10px;
  }
}
#page-policy .policy__contents .txt__box.box__small.txt__box--mt {
  margin: 50px 0 0 0;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .txt__box.box__small.txt__box--mt {
    margin: 40px 0 0 0;
  }
}
#page-policy .policy__contents .txt__box a {
  display: inline-block;
  color: #080618;
  margin: 5px 0 0;
  font-size: 1rem;
  position: relative;
  border-bottom: 1px solid #080618;
  background-image: url(../images/company/office/icon-arrow-red.svg);
  background-repeat: no-repeat;
  background-position: center right 0px;
  background-size: 7px;
  padding: 0 14px 0 0;
  transition: 0.3s;
}
#page-policy .policy__contents .txt__box a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background-color: #E50211;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: 0.3s;
}
#page-policy .policy__contents .txt__box a:hover {
  color: #E50211;
}
#page-policy .policy__contents .txt__box a:hover::after {
  width: 100%;
}
#page-policy .policy__contents .txt__mt--normal {
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .txt__mt--normal {
    margin: 40px 0 0;
  }
}
#page-policy .policy__contents .policy__list {
  margin: 85px 0 0;
  padding: 0 0 0 25px;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .policy__list {
    margin: 40px 0 0;
    padding: 0 0 0 20px;
  }
}
#page-policy .policy__contents .policy__list > li {
  list-style: decimal;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .policy__list > li {
    font-size: 1rem;
  }
}
#page-policy .policy__contents .policy__list > li:not(:first-child) {
  margin: 50px 0 0;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .policy__list > li:not(:first-child) {
    margin: 40px 0 0;
  }
}
#page-policy .policy__contents .policy__list > li ol {
  margin-left: -22px;
  margin-top: 15px;
}
#page-policy .policy__contents .policy__list > li ol li {
  position: relative;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  padding: 0 0 0 16px;
}
#page-policy .policy__contents .policy__list > li ol li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
#page-policy .policy__contents .policy__list > li ol li:not(:first-child) {
  margin: 15px 0 0;
}
@media screen and (max-width: 768px) {
  #page-policy .policy__contents .policy__list > li ol li:not(:first-child) {
    margin: 5px 0 0;
  }
}

#page404 {
  background-color: #E5ECF7;
}
#page404 .message404 {
  padding: 0 15px;
}
#page404 .message404 .message404__wrap {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
#page404 .message404 .message404__wrap h2 {
  max-width: 324px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #page404 .message404 .message404__wrap h2 {
    max-width: 205px;
    margin: 40px auto 0;
  }
}
#page404 .message404 .message404__wrap .notfound__text {
  font-size: 1.6875rem;
  font-weight: 700;
  text-align: center;
  margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
  #page404 .message404 .message404__wrap .notfound__text {
    margin: 10px 0 0;
    font-size: 1.25rem;
  }
}
#page404 .message404 .message404__wrap .messege__text {
  max-width: 640px;
  width: 100%;
  font-size: 1rem;
  line-height: 2;
  margin: 25px auto 0;
}
#page404 .message404 .message404__wrap .btn__boxstyle {
  margin: 115px auto 185px;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  #page404 .message404 .message404__wrap .btn__boxstyle {
    margin: 50px auto 155px;
  }
}
#page404 form {
  position: relative;
  max-width: 640px;
  width: 100%;
  height: 60px;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  #page404 form {
    margin: 25px auto 0;
    height: 50px;
  }
}
#page404 form input {
  width: 100%;
  height: 100%;
  padding: 0 60px 0 18px;
}
#page404 form button {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 59px;
  height: 99%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Top area */
#search-page {
  background-color: #E5ECF7;
  /* List layout */
  /* Responsive */
}
#search-page .content__inner {
  padding: 0 0px 100px;
}
@media (max-width: 950px) {
  #search-page .content__inner {
    padding: 0 15px 100px;
  }
}
#search-page .content__inner .search-title {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 6px;
}
@media screen and (max-width: 768px) {
  #search-page .content__inner .search-title {
    font-size: 1.6875rem;
  }
}
#search-page .search-sub-title {
  font-size: 1.4375rem;
  font-weight: 800;
}
@media screen and (max-width: 768px) {
  #search-page .search-sub-title {
    font-size: 1.25rem;
  }
}
#search-page .search-meta {
  color: #333;
  margin: 0 0 20px;
  font-weight: bold;
}
#search-page .search-meta .search-total {
  font-size: 2.0625rem;
  font-weight: 700;
}
#search-page .search-meta .search-range {
  font-weight: normal;
}
#search-page .custom-search-form {
  padding: 50px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  #search-page .custom-search-form {
    padding: 30px 0 0;
  }
}
#search-page .custom-search-form input {
  width: 100%;
  padding: 15px;
  margin: 0 auto;
  border: none;
}
@media screen and (max-width: 768px) {
  #search-page .custom-search-form input {
    max-width: 100%;
  }
}
#search-page .custom-search-form button img {
  position: absolute;
  top: 44%;
  right: 15px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #search-page .custom-search-form button img {
    top: 50%;
  }
}
#search-page .search-results {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: grid;
  border-top: 1px solid #004097;
  /* Card */
  /* Body */
  /* Thumbnail (right) */
}
#search-page .search-results .search-card {
  display: flex;
  gap: 24px;
  align-items: stretch;
  padding: 20px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #004097;
}
@media screen and (max-width: 768px) {
  #search-page .search-results .search-card {
    padding: 15px 0;
  }
}
#search-page .search-results .search-card__body {
  flex: 1 1 auto;
  min-width: 0;
}
#search-page .search-results .search-card__label {
  font-weight: 700;
  margin: 0 0 6px;
}
#search-page .search-results .search-card__title {
  font-size: 20px;
  margin: 0 0 10px;
}
#search-page .search-results .search-card__excerpt {
  margin: 0 0 10px;
  color: #333;
}
#search-page .search-results .search-card__url {
  color: #2a66c7;
  word-break: break-all;
  margin: 0;
}
#search-page .search-results .search-card__thumb {
  flex: 0 0 200px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #search-page .search-results .search-card__thumb {
    justify-content: flex-start;
    flex: auto;
  }
}
#search-page .search-results .search-card__thumb img {
  width: 155px;
  height: 155px;
  -o-object-fit: cover;
     object-fit: cover;
  background: #bdbdbd;
}
@media (max-width: 768px) {
  #search-page .search-card {
    flex-direction: column;
    gap: 12px;
  }
  #search-page .search-card__thumb {
    flex: 0 0 auto;
  }
  #search-page .search-card__thumb img {
    width: 100%;
    height: 180px;
  }
}

#page-catalog {
  background-color: #E5ECF7;
}
#page-catalog .btn__boxstyle {
  margin-top: 15px;
  padding: 8px 16px;
  gap: 10px;
  max-height: -moz-fit-content;
  max-height: fit-content;
}
@media screen and (max-width: 768px) {
  #page-catalog .btn__boxstyle {
    font-size: 0.875rem;
    padding: 5px;
  }
}
#page-catalog .btn__boxstyle .icon__box-download {
  width: 20px;
  height: 20px;
  background-image: url(../images/icon/icon-download.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px;
}
#page-catalog .btn__boxstyle:hover .icon__box-download {
  background-image: url(../images/icon/icon-download-wt.svg);
  background-size: 16px;
}
#page-catalog .btn__boxstyle .icon__box-window-only {
  width: 20px;
  height: 20px;
  background-image: url(../images/icon-window-black.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 15px;
}
#page-catalog .btn__boxstyle:hover .icon__box-window-only {
  background-image: url(../images/icon-window-white.svg);
  background-size: 15px;
}
#page-catalog .content__inner {
  padding: 0 0 180px;
}
@media screen and (max-width: 768px) {
  #page-catalog .content__inner {
    padding: 0px;
  }
}
#page-catalog .content__inner .catalog__only .title__en {
  height: 65px;
}
@media screen and (max-width: 768px) {
  #page-catalog .content__inner .catalog__only .title__en {
    height: 45px;
  }
}
#page-catalog .content__inner .catalog__only .title__line {
  width: 250px;
}
#page-catalog .content__inner .catalog__only .bg-mask {
  background-color: #004097;
}
#page-catalog .content__inner .catalog__only .title__jp {
  height: 25px;
}
#page-catalog .content__inner .catalog__wrap .catalog__top {
  font-size: 1rem;
  padding: 50px 0 30px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box {
  background-color: #F1F3F3;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #page-catalog .content__inner .catalog__wrap .catalog-filter-box {
    padding: 20px;
  }
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-categoryList .catalog-categoryList-title {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 10px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-categoryList ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  margin-bottom: 30px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-categoryList ul li {
  display: flex;
  align-items: center;
  line-height: 1.2;
  gap: 10px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-link-grp {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-link-grp a {
  text-decoration: underline;
  color: #014096;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-link-grp .catalog__select a {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-link-grp .catalog__select a .icon__down-arrow {
  background-image: url(../images/icon-arrow-noraml-right.svg);
  transform: rotate(90deg);
  background-repeat: no-repeat;
  transition: 0.3s;
  width: 15px;
  display: inline-flex;
  height: 14px;
  align-items: center;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog-link-grp .catalog__select a:hover .icon__down-arrow {
  background-image: url(../images/icon-arrow-noraml-right-red.svg);
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search {
  padding: 35px 0 0;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search .catalog__search-title {
  margin-bottom: 15px;
  font-size: 1.125rem;
  font-weight: bold;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search .catalog__search-title span {
  font-size: 0.875rem;
  font-weight: normal;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search input {
  width: 100%;
  height: 60px;
  padding: 18px;
  border: 1px solid #C7C8C9;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search button {
  margin-top: 15px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search-btn {
  display: flex;
  justify-content: center;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search-btn span {
  padding-left: 50px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search-btn .btn__boxstyle {
  padding: 2px;
  margin-top: 35px;
  gap: 70px;
  max-width: 350px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search-btn .icon__box-window::after {
  height: 18px;
  width: 18px;
  background-image: url(../images/icon/icon-lens.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px;
}
#page-catalog .content__inner .catalog__wrap .catalog-filter-box .catalog__search-btn:hover .icon__box-window::after {
  background-image: url(../images/icon/icon-lens-black.svg);
  background-size: 20px;
}
#page-catalog .content__inner .catalog__wrap .catalog__result {
  padding: 65px 0;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-total {
  display: flex;
  align-items: flex-end;
  gap: 13px;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-total .catalog__result-total-count {
  font-size: 2.0625rem;
  font-weight: bold;
  line-height: 1.2;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-total .catalog__result-total-count span {
  font-size: 1rem;
  font-weight: normal;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-download-all {
  margin-bottom: 30px;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-download-all .btn__boxstyle {
  pointer-events: none;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-download-all .btn__boxstyle.bg-gray {
  background-color: #F1F3F3;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-download-all .btn__boxstyle.active {
  pointer-events: auto;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list {
  display: flex;
  flex-direction: column;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #C7C8C9;
  padding: 30px 0;
  flex-wrap: wrap;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item:first-child {
  border-top: 1px solid #C7C8C9;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item .catalog__result-item-title-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 60%;
}
@media screen and (max-width: 768px) {
  #page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item .catalog__result-item-title-wrap {
    max-width: 100%;
  }
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item .catalog__result-items {
  display: flex;
  gap: 10px;
  align-items: center;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item .catalog__result-item-title {
  display: flex;
  flex-direction: column;
  font-weight: bold;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item .catalog__result-item-title span {
  font-size: 1rem;
  font-weight: normal;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item-btn-wrap {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item-btn-wrap {
    margin-left: 32px;
  }
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item-btn-wrap .btn__boxstyle {
  padding-left: 30px;
}
@media screen and (max-width: 768px) {
  #page-catalog .content__inner .catalog__wrap .catalog__result .catalog__result-list .catalog__result-item-btn-wrap .btn__boxstyle {
    padding-left: 10px;
  }
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__select {
  margin-top: 30px;
  display: flex;
  padding: 10px;
  gap: 7px;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__select .catalog__select-link {
  cursor: pointer;
  color: #014096;
  font-size: 14px;
}
#page-catalog .content__inner .catalog__wrap .catalog__result .catalog__select .catalog__select-link:hover {
  text-decoration: underline;
}
#page-catalog .catalog__result-download-selected {
  padding: 20px 0;
  background-color: #004097;
  display: none;
  position: sticky;
  bottom: 0;
}
#page-catalog .catalog__result-download-selected.active {
  display: block;
  animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#page-catalog .catalog__result-download-selected .catalog_result-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  #page-catalog .catalog__result-download-selected .catalog_result-inner {
    gap: 20px;
  }
}
#page-catalog .catalog__result-download-selected .catalog_result-inner .catalog__result-download-selected-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #page-catalog .catalog__result-download-selected .catalog_result-inner .catalog__result-download-selected-title {
    font-size: 1rem;
  }
}
#page-catalog .catalog__result-download-selected .catalog_result-inner .catalog__result-download-selected-count {
  color: #fff;
}
@media screen and (max-width: 768px) {
  #page-catalog .catalog__result-download-selected .catalog_result-inner .catalog__result-download-selected-count {
    font-size: 0.875rem;
  }
}
#page-catalog .catalog__result-download-selected .catalog_result-inner .btn__boxstyle {
  margin-top: 0;
}
#page-catalog .banner__catalog-wrap {
  margin: 60px 0 0;
}
#page-catalog .banner__catalog-wrap li {
  max-width: 1080px;
  width: 100%;
  margin-top: 40px;
}
#page-catalog .banner__catalog-wrap li a {
  justify-content: center;
  gap: 83px;
  height: 140px;
}
#page-catalog .pagination {
  margin-top: 0px;
}