@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
.pc {
  display: none !important;
}

.sp {
  display: block;
}

.hide {
  display: block;
}

a {
  color: #111;
  font-family: "Noto Sans", sans-serif;
  /*&:hover{
  	opacity: .7;
  }*/
}

p {
  line-height: 1.8em;
  font-family: "Noto Sans", sans-serif;
}

/*
a[href^="tel:"] {
pointer-events: none;
}*/
.en {
  font-family: "Lato", sans-serif;
}

html {
  position: relative;
  font-size: 2.6666666667vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  position: relative;
}

.container_100 {
  width: 100%;
  padding: 0 1.5rem;
}
.container_100 .container {
  width: 100%;
}

/*-------------------------
** header
---------------------------*/
#en_body * {
  font-family: "Lato", sans-serif;
}

.hd {
  width: 100%;
  height: 5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.hd.front_hd {
  background-color: transparent;
}
.hd.front_hd .container .header_logo a picture.front_logo {
  opacity: 1;
}
.hd.front_hd .container .menu_trigger span {
  background-color: #fff;
}
.hd.hd_en .container .header_logo {
  width: 12rem;
}
.hd.nav_open .container .header_logo a picture.front_logo {
  opacity: 1;
}
.hd.nav_open .container .menu_trigger span {
  background-color: #fff;
}
.hd .container {
  position: relative;
}
.hd .container .hd_nav_lang {
  --color: #fff;
  --filter: brightness(0) invert(1);
}
.hd .container .header_logo {
  width: 20rem;
  position: relative;
  z-index: 2;
}
.hd .container .header_logo a {
  width: 100%;
  display: block;
  position: relative;
}
.hd .container .header_logo a picture {
  width: 100%;
  display: block;
}
.hd .container .header_logo a picture.front_logo {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .header_logo a picture img {
  width: 100%;
}
.hd .container .hd_nav {
  width: 37.5rem;
  height: 100vh;
  padding: 5rem 1.5rem 0;
  background-color: #203e95;
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.hd .container .hd_nav.open {
  right: 0;
}
.hd .container .hd_nav .hd_nav_wrap {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  padding-top: 3.4rem;
  padding-bottom: 5rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.hd .container .hd_nav .hd_nav_wrap::-webkit-scrollbar {
  display: none;
}
.hd .container .hd_nav .hd_nav_list {
  width: 100%;
  border-top: solid 0.1rem #fff;
}
.hd .container .hd_nav .hd_nav_list > li {
  width: 100%;
  border-bottom: solid 0.1rem #fff;
}
.hd .container .hd_nav .hd_nav_list > li > a {
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 1.1rem 3.8rem 1.2rem 1.4rem;
  display: block;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap {
  width: 100%;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner {
  width: 100%;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block {
  width: 100%;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block .hd_nav_clist_box {
  width: 100%;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block .hd_nav_clist_box dt {
  display: none;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block .hd_nav_clist_box dd {
  width: 100%;
  display: grid;
  gap: 0.93rem;
  padding: 2rem 2.5rem;
  background-color: #3f579e;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block .hd_nav_clist_box dd ul {
  width: 100%;
  display: grid;
  gap: 0.93rem;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block .hd_nav_clist_box dd ul li {
  width: 100%;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block .hd_nav_clist_box dd ul li a {
  width: 100%;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: block;
  padding-left: 2rem;
  position: relative;
}
.hd .container .hd_nav .hd_nav_list > li .hd_nav_clist_wrap .hd_nav_clist_inner .hd_nav_clist_block .hd_nav_clist_box dd ul li a::before {
  content: "";
  width: 1.1rem;
  height: 0.15rem;
  background-color: #fff;
  position: absolute;
  top: 1.05rem;
  left: 0.15rem;
}
.hd .container .hd_nav .hd_nav_sp_list {
  width: 100%;
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: repeat(2, auto);
  grid-auto-flow: column;
  gap: 1rem 0;
  padding: 0 1.2rem;
  margin-top: 2.2rem;
}
.hd .container .hd_nav .hd_nav_sp_list li a {
  font-size: 1.2rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.08em;
  padding-left: 1.2rem;
  display: inline-block;
  position: relative;
}
.hd .container .hd_nav .hd_nav_sp_list li a::before {
  content: "";
  width: 0.4rem;
  height: 0.7rem;
  background: url(../img/common/common_arrow06.png) no-repeat center/contain;
  background: url(../img/common/common_arrow06.svg) no-repeat center/contain;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  position: absolute;
  top: 0.55rem;
  left: 0.25rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_nav .hd_nav_lang {
  width: 100%;
  margin-top: 3rem;
}
.hd .container .hd_nav .hd_nav_cv_search {
  width: 100%;
  margin-top: 3.6rem;
}
.hd .container .hd_nav .hd_nav_cv_search > div {
  width: 30rem;
  margin: 0 auto;
}
.hd .container .hd_nav .hd_nav_cv_search > div > * {
  width: 100%;
  height: 5.5rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 5rem;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_cv a {
  padding: 1rem;
  background-color: #203e95;
  border: solid 0.1rem #fff;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_cv a span {
  color: #fff;
  letter-spacing: 0.05em;
  padding-left: 2.5rem;
  position: relative;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_cv a span::before {
  content: "";
  width: 1.5rem;
  height: 2rem;
  background: url(../img/common/document_icon.png) no-repeat center/contain;
  background: url(../img/common/document_icon.svg) no-repeat center/contain;
  position: absolute;
  top: -0.3rem;
  left: 0;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_search {
  margin-top: 2rem;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_search form {
  padding: 0.5rem 0.6rem 0.5rem 2.2rem;
  background-color: #fff;
  border: solid 0.1rem #9f9f9f;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_search form input {
  width: calc(100% - 4.2rem);
  color: #7a7a7a;
  letter-spacing: 0.08em;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_search form button {
  width: 4.2rem;
  aspect-ratio: 1/1;
  background-color: #203e95;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_search form button.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_search form button picture {
  width: 2.2rem;
  display: block;
}
.hd .container .hd_nav .hd_nav_cv_search > div.hd_nav_search form button picture img {
  width: 100%;
}
.hd .container .menu_trigger {
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 2;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.hd .container .menu_trigger span {
  width: 100%;
  height: 0.1rem;
  background-color: #333;
  position: absolute;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .menu_trigger span:nth-of-type(1) {
  top: calc(50% - 0.9rem);
}
.hd .container .menu_trigger span:nth-of-type(2) {
  top: 50%;
}
.hd .container .menu_trigger span:nth-of-type(3) {
  top: calc(50% + 0.9rem);
}
.hd .container .menu_trigger.active span {
  top: 50%;
}
.hd .container .menu_trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.hd .container .menu_trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.hd .container .menu_trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

.langage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  --color: #111111;
  --filter: ;
}
.langage .langage_button {
  padding-left: 1rem;
}
.langage .langage_button:first-of-type {
  padding-left: 0;
  padding-right: 1rem;
  position: relative;
  text-align: right;
}
.langage .langage_button:first-of-type::before {
  position: absolute;
  content: "";
  border-right: 0.1rem solid var(--color);
  opacity: 0.6;
  width: 0.1rem;
  height: 1.8rem;
  top: 0.3rem;
  right: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.langage .langage_button.active {
  pointer-events: none;
}
.langage .langage_button.active > span {
  position: relative;
  padding-left: 2.5rem;
  text-decoration: underline;
  text-underline-offset: 0.8rem;
  opacity: 1;
}
.langage .langage_button.active > span::before {
  content: "";
  background-image: url(../img/common/footer_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.8rem;
  height: 1.8rem;
  top: 0.3rem;
  left: 0.1rem;
  position: absolute;
  -webkit-filter: var(--filter);
          filter: var(--filter);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.langage .langage_button > span {
  font-size: 1.4rem;
  color: var(--color);
  letter-spacing: 0.12rem;
  display: inline-block;
  opacity: 0.5;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.langage .langage_button:hover {
  opacity: 1;
}
.langage .langage_button:hover > span {
  opacity: 1;
}

/*common*/
/*common - 見出し*/
/*common - 下層ページ見出し*/
.common_ttl_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.common_ttl_wrap .ttl {
  font-size: 3.6rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.2rem;
}
.common_ttl_wrap .sub_ttl {
  font-size: 1.4rem;
  color: #203e95;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1rem;
  line-height: 3rem;
}

/*common - ボタン*/
.common_button {
  width: 100%;
  max-width: 30rem;
  min-height: 5.5rem;
  padding: 0.5rem;
  background-color: #203e95;
  border-radius: 0.3rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}
.common_button.white {
  background-color: transparent;
  border: solid 0.1rem #fff;
}
.common_button.register {
  background-color: #2a873c;
  border-color: #2a873c;
}
.common_button > span {
  font-size: 1.6rem;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08rem;
  display: inline-block;
}
.common_button > span::before {
  content: "";
  width: 1.2rem;
  height: 1.1rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  -webkit-filter: brightness(20);
          filter: brightness(20);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
}
.common_button > span > span {
  font-size: 1.4rem;
  text-align: center;
  display: block;
  margin-bottom: -0.5rem;
}
.common_button.download > span::before {
  background-image: url(../img/common/common_button_dl_icon.png);
  width: 2.5rem;
  height: 2.5rem;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.common_button.catalog > span {
  padding-left: 2.6rem;
  position: relative;
}
.common_button.catalog > span::before {
  content: "";
  width: 2rem;
  height: 1.6rem;
  background: url(../img/common/catalog_icon.png) no-repeat center/contain;
  background: url(../img/common/catalog_icon.svg) no-repeat center/contain;
  position: absolute;
  top: calc(50% + 0.1rem);
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_button.external > span::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/common/external_icon.png) no-repeat center/contain;
  background: url(../img/common/external_icon.svg) no-repeat center/contain;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  position: absolute;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_button:not(.download):not(.catalog):not(.external):hover > span::before {
  right: 0.5rem;
}

/*common - ページタイトル*/
.common_page_ttl {
  width: 100%;
  height: 20rem;
  position: relative;
  margin-top: 5rem;
}
.common_page_ttl .ttl_bg {
  width: 100%;
  height: 100%;
  background-color: #f7faff;
}
.common_page_ttl .ttl_bg .ttl_inner {
  width: 100%;
  height: 100%;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block {
  width: 100%;
  height: 100%;
  padding: 2rem;
  position: relative;
  z-index: 2;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block.single {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block.single .common_ttl {
  width: 100%;
  padding-bottom: 0;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block.single .common_ttl .common_en_ttl {
  font-size: 2rem;
  color: #333;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block.single .common_ttl .common_ja_subttl {
  color: #203e95;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block.single .common_ttl .common_ja_subttl::before {
  left: 50% !important;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #203e95;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block .common_ttl .common_en_ttl {
  font-size: 3.6rem;
  color: #fff;
  font-weight: bold;
  line-height: 1.625;
  letter-spacing: 0.08rem;
  display: block;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block .common_ttl .common_ja_subttl {
  font-size: 1.6rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.08rem;
  padding-bottom: 1.2rem;
  display: block;
  position: relative;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block .common_ttl .common_ja_subttl::before {
  content: "";
  width: 6rem;
  height: 0.1rem;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block .common_subttl {
  font-size: 1.6rem;
  color: #fff;
  font-weight: 500;
  position: relative;
  letter-spacing: 0.08rem;
  margin-top: 1rem;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_block .common_subttl_en {
  font-size: 1.6rem;
  color: #fff;
  font-weight: 400;
  line-height: 1.0833333333;
  letter-spacing: 0.11em;
  display: block;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_img::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.common_page_ttl .ttl_bg .ttl_inner .common_ttl_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

/*common - ぱんくず*/
.common_pakuzu {
  padding: 0 2rem;
}
.common_pakuzu .pankuzu_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 3rem;
  width: 100%;
  padding: 1rem 0;
}
.common_pakuzu .pankuzu_inner a,
.common_pakuzu .pankuzu_inner span {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0;
  position: relative;
}
.common_pakuzu .pankuzu_inner a::before,
.common_pakuzu .pankuzu_inner span::before {
  position: absolute;
  content: "";
  border-bottom: 0.2rem solid #203e95;
  border-right: 0.2rem solid #203e95;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
  top: 50%;
  right: -1.7rem;
}
.common_pakuzu .pankuzu_inner a:last-child::before,
.common_pakuzu .pankuzu_inner span:last-child::before {
  display: none;
}
.common_pakuzu .pankuzu_inner a {
  color: #203e95;
  text-underline-offset: 0.5rem;
  text-decoration: underline;
}
.common_pakuzu.en .pankuzu_inner a {
  text-underline-offset: 0;
}

/*common - お問い合わせ（下層ページ用）*/
.common_navi_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #f5f5f5;
  margin-top: 1rem;
}
.common_navi_sec .container .navi_block {
  width: 100%;
  display: grid;
  gap: 1rem;
}
.common_navi_sec .container .navi_block .navi_box {
  width: 100%;
}
.common_navi_sec .container .navi_block .navi_box a {
  width: 100%;
  min-height: 16rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 4rem 1rem 10.5rem;
  background-color: #fff;
  position: relative;
}
.common_navi_sec .container .navi_block .navi_box a:before {
  content: "";
  width: 1.1rem;
  height: 1rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_navi_sec .container .navi_block .navi_box a .navi_box_wrap {
  width: 100%;
}
.common_navi_sec .container .navi_block .navi_box a .navi_box_wrap .navi_box_ttl {
  width: 100%;
}
.common_navi_sec .container .navi_block .navi_box a .navi_box_wrap .navi_box_ttl .en {
  width: 100%;
  font-family: "Lato", sans-serif;
  font-size: 1.4rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: block;
}
.common_navi_sec .container .navi_block .navi_box a .navi_box_wrap .navi_box_ttl .jp {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.1944444444;
  letter-spacing: 0.08em;
  display: block;
  margin-top: 0.15rem;
}
.common_navi_sec .container .navi_block .navi_box a .navi_box_wrap .navi_box_ttl .jp span {
  display: inline-block;
}
.common_navi_sec .container .navi_block .navi_box a .navi_box_wrap .navi_box_icon {
  width: 7rem;
  position: absolute;
  top: 4.5rem;
  left: 2rem;
}
.common_navi_sec .container .navi_block .navi_box a .navi_box_wrap .navi_box_txt {
  line-height: 1.3125;
  margin-top: 0.4rem;
}
.common_navi_sec .container .navi_block .navi_box a:hover {
  opacity: 1;
}
.common_navi_sec .container .navi_block .navi_box a:hover:before {
  right: 1rem;
}
.common_navi_sec .container .navi_block_contact {
  width: 100%;
  margin-top: 3rem;
}
.common_navi_sec .container .navi_block_contact a {
  width: 100%;
  overflow: hidden;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_img {
  width: 100%;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem 2rem 3rem;
  background: #203e95;
  position: relative;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap::before {
  content: "";
  width: 7rem;
  height: 2.2rem;
  background: url(../img/common/common_arrow03.png) no-repeat center/contain;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  z-index: 1;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap::after {
  content: "";
  width: 29.9rem;
  aspect-ratio: 1/1;
  background: url(../img/common/contact_img02.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0.2;
  z-index: 1;
  pointer-events: none;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap .navi_block_contact_inner .navi_block_contact_ttl {
  width: 100%;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap .navi_block_contact_inner .navi_block_contact_ttl .en {
  width: 100%;
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: block;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap .navi_block_contact_inner .navi_block_contact_ttl .jp {
  width: 100%;
  font-size: 2.2rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 0.15rem;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap .navi_block_contact_inner .navi_block_contact_ttl .jp span {
  display: inline-block;
}
.common_navi_sec .container .navi_block_contact a .navi_block_contact_wrap .navi_block_contact_inner .navi_block_contact_txt {
  margin-top: 0.4rem;
}

/*common - その他の会社情報（下層ページ用）*/
.company_others_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #f7faff;
}
.company_others_sec .container .company_others_list {
  width: 100%;
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}
.company_others_sec .container .company_others_list a {
  width: 100%;
  border-radius: 0.3rem;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
.company_others_sec .container .company_others_list a .company_others_img {
  width: 100%;
  aspect-ratio: 1/0.6315789474;
}
.company_others_sec .container .company_others_list a .company_others_ttl {
  width: 100%;
  min-height: 4.2rem;
  padding: 0.5rem;
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.company_others_sec .container .company_others_list a .company_others_ttl span {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  display: inline-block;
}
.company_others_sec .container .company_others_list a .company_others_ttl span:before {
  content: "";
  width: 1.1rem;
  height: 1rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.company_others_sec .container .company_others_list a .company_others_ttl span.external::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/common/external_icon.png) no-repeat center/contain;
  background: url(../img/common/external_icon.svg) no-repeat center/contain;
}
.company_others_sec .container .company_others_list a:hover {
  opacity: 1;
}
.company_others_sec .container .company_others_list a:hover .company_others_ttl {
  color: #fff;
  background-color: #203e95;
}
.company_others_sec .container .company_others_list a:hover .company_others_ttl span::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.company_others_sec .container .company_others_button {
  margin-top: 5rem;
}
.company_others_sec .container .company_others_button a {
  margin: 0 auto;
}

/*TOP*/
.hero-animation-trigger .fadein {
  display: inline-block;
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-in, -webkit-transform 0.8s linear;
  transition: opacity 0.8s ease-in, -webkit-transform 0.8s linear;
  transition: transform 0.8s linear, opacity 0.8s ease-in;
  transition: transform 0.8s linear, opacity 0.8s ease-in, -webkit-transform 0.8s linear;
}
.hero-animation-trigger .fadein.fade1 {
  -webkit-transform: translateY(60%);
          transform: translateY(60%);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.hero-animation-trigger .fadein.fade2 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.hero-animation-trigger.animation-on .fadein {
  opacity: 1;
}
.hero-animation-trigger.animation-on .fadein.fade1 {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.hero_sec {
  position: relative;
}
.hero_sec .hero_text_block {
  width: 100%;
  height: 100%;
  padding-top: 37rem;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
.hero_sec .hero_text_block .hero_ttl {
  width: 100%;
  font-family: "Lato", sans-serif;
  font-size: 4.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-align: center;
  text-shadow: 0 0 1.5rem rgba(28, 29, 93, 0.1), 0 0 1.5rem rgba(28, 29, 93, 0.1), 0 0 1.5rem rgba(28, 29, 93, 0.1);
}
.hero_sec .hero_text_block .hero_txt {
  width: 100%;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.095em;
  text-align: center;
  text-shadow: 0 0 1.5rem rgba(21, 60, 150, 0.88), 0 0 1.5rem rgba(21, 60, 150, 0.88), 0 0 1.5rem rgba(21, 60, 150, 0.88);
  margin-top: 1rem;
}
.hero_sec .hero-slider {
  width: 100%;
  overflow: hidden;
}
.hero_sec .hero-slider .swiper-wrapper {
  width: 100%;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide {
  width: 100%;
  height: 60rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide picture {
  width: 100%;
  height: 100%;
  display: block;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 11s linear;
  transition: -webkit-transform 11s linear;
  transition: transform 11s linear;
  transition: transform 11s linear, -webkit-transform 11s linear;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide .hero_slide_text_block {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide .hero_slide_text_block .hero_slide_ttl {
  width: 100%;
  font-size: 3.4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4411764706;
  text-align: center;
  padding-left: 2.6rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide .hero_slide_text_block .hero_slide_txt {
  width: 100%;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.08em;
  text-align: center;
  padding-left: 0.6rem;
  margin-top: 2rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide .hero_slide_text_block .hero_slide_btn {
  margin-top: 3rem;
  pointer-events: none;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide .hero_slide_text_block .hero_slide_btn > span {
  max-width: 30rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.swiper-slide-active picture {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide01 .hero_slide_text_block {
  padding-top: 15rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide01 .hero_slide_text_block .hero_slide_ttl {
  text-shadow: 0 0 1.8rem rgba(95, 100, 161, 0.6), 0 0 1.8rem rgba(95, 100, 161, 0.6), 0 0 1.8rem rgba(95, 100, 161, 0.6);
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide01 .hero_slide_text_block .hero_slide_txt {
  text-shadow: 0 0 1.2rem rgb(22, 28, 98), 0 0 1.2rem rgb(22, 28, 98), 0 0 1.2rem rgb(22, 28, 98);
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide01 .hero_slide_text_block .hero_slide_btn a {
  -webkit-box-shadow: 0 0 3.1rem rgba(28, 29, 93, 0.4);
          box-shadow: 0 0 3.1rem rgba(28, 29, 93, 0.4);
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide02 .hero_slide_slide02_text_block {
  width: 100%;
  height: 100%;
  padding-top: 37rem;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide02 .hero_slide_slide02_text_block .hero_slide_slide02_ttl {
  width: 100%;
  font-family: "Lato", sans-serif;
  font-size: 4.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-align: center;
  text-shadow: 0 0 1.5rem rgba(28, 29, 93, 0.1), 0 0 1.5rem rgba(28, 29, 93, 0.1), 0 0 1.5rem rgba(28, 29, 93, 0.1);
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide02 .hero_slide_slide02_text_block .hero_slide_slide02_txt {
  width: 100%;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.095em;
  text-align: center;
  text-shadow: 0 0 1.5rem rgba(21, 60, 150, 0.88), 0 0 1.5rem rgba(21, 60, 150, 0.88), 0 0 1.5rem rgba(21, 60, 150, 0.88);
  margin-top: 1rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide03 .hero_slide_text_block {
  padding-top: 15.6rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide03 .hero_slide_text_block .hero_slide_ttl {
  letter-spacing: 0.04em;
  text-shadow: 0 0 2rem rgba(10, 68, 145, 0.57), 0 0 2rem rgba(10, 68, 145, 0.57), 0 0 2rem rgba(10, 68, 145, 0.57), 0 0 2rem rgba(10, 68, 145, 0.57);
  padding-left: 0;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide03 .hero_slide_text_block .hero_slide_ttl span {
  display: inline-block;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide03 .hero_slide_text_block .hero_slide_txt {
  text-shadow: 0 0 1rem rgba(21, 60, 150, 0.88), 0 0 1rem rgba(21, 60, 150, 0.88), 0 0 1rem rgba(21, 60, 150, 0.88);
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide03 .hero_slide_text_block .hero_slide_btn a {
  -webkit-box-shadow: 0 0 3.1rem rgba(28, 29, 93, 0.4);
          box-shadow: 0 0 3.1rem rgba(28, 29, 93, 0.4);
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide04 .hero_slide_text_block {
  padding-top: 14.8rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide04 .hero_slide_text_block .hero_slide_ttl {
  letter-spacing: 0.1em;
  text-shadow: 0 0 1rem rgba(19, 24, 45, 0.85), 0 0 1rem rgba(19, 24, 45, 0.85), 0 0 1rem rgba(19, 24, 45, 0.85);
  padding-left: 0;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide04 .hero_slide_text_block .hero_slide_txt {
  text-shadow: 0 0 1rem rgba(13, 17, 34, 0.88), 0 0 1rem rgba(13, 17, 34, 0.88), 0 0 1rem rgba(13, 17, 34, 0.88);
  margin-top: 1.8rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide04 .hero_slide_text_block .hero_slide_btn {
  margin-top: 2.3rem;
}
.hero_sec .hero-slider .swiper-wrapper .swiper-slide.slide04 .hero_slide_text_block .hero_slide_btn a {
  text-shadow: 0 0 2rem rgba(19, 24, 45, 0.85);
}
.hero_sec {
  /*side_scroll*/
}
.hero_sec .hero_scroll_wrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 99;
}
.hero_sec .hero_scroll_wrap .hero_scroll {
  text-align: center;
}
.hero_sec .hero_scroll_wrap .hero_scroll .txt {
  font-size: 1rem;
  color: #ffffff;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.12rem;
}
.hero_sec .hero_scroll_wrap .hero_scroll .bar {
  width: 0.1rem;
  height: 5rem;
  display: block;
  position: relative;
  overflow: hidden;
  margin: 0.7rem auto 0;
}
.hero_sec .hero_scroll_wrap .hero_scroll .bar::before {
  content: "";
  width: 0.1rem;
  height: 10rem;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-animation: scroll-bottom 2s linear infinite;
          animation: scroll-bottom 2s linear infinite;
}
@-webkit-keyframes scroll-bottom {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@keyframes scroll-bottom {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
.hero_sec .hero-slider-pagination {
  text-align: center;
  padding: 1.5rem;
  position: absolute;
  top: auto !important;
  left: auto !important;
  bottom: 0 !important;
  right: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.hero_sec .hero-slider-pagination .swiper-pagination-bullet {
  width: 3.9rem;
  height: 0.25rem;
  border-radius: 0;
}
.hero_sec .hero-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #203e95;
}
.hero_sec.hero_en {
  height: 60rem;
}
.hero_sec.hero_en .hero_mv {
  height: 100%;
}
.hero_sec.hero_en .hero_mv .hero_ttl_en {
  width: 100%;
  font-size: 3.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.hero_sec.hero_en .hero_mv picture {
  width: 100%;
  height: 100%;
}
.hero_sec.hero_en .hero_mv picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*スライダーここまで*/
/*main*/
.top_news {
  padding-top: 5rem;
  padding-bottom: 0;
}
.top_news .container {
  position: relative;
}
.top_news .container .top_news_list {
  width: 100%;
  margin-top: 2.7rem;
}
.top_news .container .top_news_btn {
  width: auto;
  position: absolute;
  top: 6.725rem;
  right: 0;
}

.common_button02 {
  width: 100%;
}
.common_button02 a {
  font-size: 1.6rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding-right: 6.7rem;
  display: inline-block;
  position: relative;
}
.common_button02 a::before {
  content: "";
  width: 5.6rem;
  height: 1.75rem;
  background: url(../img/common/common_arrow04.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_button02 a:hover {
  opacity: 0.7;
}

.common_news_list {
  width: 100%;
  border-top: solid 0.1rem #e3e3e3;
}
.common_news_list li {
  width: 100%;
  border-bottom: solid 0.1rem #e3e3e3;
}
.common_news_list li a {
  width: 100%;
  padding: 1rem 4rem 1rem 1rem;
  display: block;
  position: relative;
}
.common_news_list li a::before {
  content: "";
  width: 0.9rem;
  height: 1.5rem;
  background: url(../img/common/common_arrow06.png) no-repeat center/contain;
  background: url(../img/common/common_arrow06.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_news_list li a .date {
  width: 100%;
  font-size: 1.6rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.09em;
  display: block;
}
.common_news_list li a .ttl {
  width: 100%;
  margin-top: 0.15rem;
  display: block;
}
.common_news_list li a .ttl span {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)) 0 100%/0% 0.1rem no-repeat;
  background: linear-gradient(currentColor, currentColor) 0 100%/0% 0.1rem no-repeat;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_news_list li a:hover span {
  color: #203e95;
  background-size: 100% 0.1rem;
}

.pagenavi {
  width: 100%;
  margin-top: 5rem;
}
.pagenavi .wp-pagenavi {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagenavi .wp-pagenavi * {
  width: 3.2rem;
  aspect-ratio: 1/1;
  font-family: "Roboto", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.12em;
  border-radius: 0.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.pagenavi .wp-pagenavi a:hover {
  border: solid 0.1rem #adadad;
}
.pagenavi .wp-pagenavi a.previouspostslink, .pagenavi .wp-pagenavi a.nextpostslink {
  border: solid 0.1rem #f5f5f5;
  background-color: #f5f5f5;
}
.pagenavi .wp-pagenavi span {
  color: #adadad;
  border: none;
}

.common_ttl04 {
  width: 100%;
}
.common_ttl04 .en {
  font-family: "Lato", sans-serif;
  font-size: 4.7rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
  margin-left: -0.25rem;
  display: block;
}
.common_ttl04 .jp {
  font-size: 1.6rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  display: block;
  margin-top: -1rem;
}
.common_ttl04.white .en {
  color: #fff;
}
.common_ttl04.white .jp {
  color: #fff;
}

.top_company {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.top_company .container {
  position: relative;
}
.top_company .container .top_company_block {
  width: 100%;
  padding-top: 26.8rem;
}
.top_company .container .top_company_block .top_company_box {
  width: 100%;
}
.top_company .container .top_company_block .top_company_box .company_img {
  width: 37.5rem;
  height: 25rem;
  position: absolute;
  top: 0;
  left: -1.5rem;
}
.top_company .container .top_company_block .top_company_box .company_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_company .container .top_company_block .top_company_box .top_company_sub_ttl {
  width: 100%;
  margin-top: 3rem;
}
.top_company .container .top_company_block .top_company_box .top_company_sub_ttl .en {
  font-family: "Lato", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  display: block;
}
.top_company .container .top_company_block .top_company_box .top_company_sub_ttl {
  /**

  					.jp {
  						display: block;
  						margin-top: .3rem;

  						span {
  							font-size: 1.4rem;
  							font-weight: 500;
  							line-height: 2;
  							letter-spacing: 0.095em;
  							display: inline-block;
  							padding: 0 2rem;
  							position: relative;

  							&::before,
  							&::after {
  								content: "";
  								width: 1.5rem;
  								height: .1rem;
  								background-color: currentColor;
  								position: absolute;
  								top: 50%;
  								transform: translateY(-50%);
  								left: 0;
  							}

  							&::after {
  								left: auto;
  								right: 0;
  							}
  						}
  					}
  **/
}
.top_company .container .top_company_block .top_company_box .top_company_sub_ttl .jp {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
}
.top_company .container .top_company_block .top_company_box .top_company_txt {
  margin-top: 2rem;
}
.top_company .container .top_company_block .top_company_box .top_company_button {
  width: 100%;
  display: grid;
  gap: 1.5rem;
  margin-top: 3.5rem;
}

.top_products {
  padding-top: 3.9rem;
  padding-bottom: 6rem;
  background-color: #f7faff;
}
.top_products .container .top_products_ttl {
  text-align: center;
}
.top_products .container .top_products_list {
  margin-top: 3.7rem;
}
.top_products .container .top_products_btn {
  width: 100%;
  margin-top: 3.8rem;
}

.common_tax_list01 {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem 1.5rem;
}
.common_tax_list01 li a {
  width: 100%;
  display: block;
}
.common_tax_list01 li a .products_img {
  width: 100%;
  aspect-ratio: 1/0.7857142857;
  background-color: #fff;
}
.common_tax_list01 li a .products_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.common_tax_list01 li a .products_name {
  width: 100%;
  min-height: 4.2rem;
  font-size: 1.6rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.3125;
  letter-spacing: 0.08em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  margin-top: 1.2rem;
  padding: 0 2rem;
  position: relative;
}
.common_tax_list01 li a .products_name::before {
  content: "";
  width: 1.2rem;
  height: 1.1rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_tax_list01 li a:hover {
  opacity: 0.7;
}
.common_tax_list01 li a:hover .products_name::before {
  right: 0;
}

.top_method {
  padding-top: 3.9rem;
  padding-bottom: 6rem;
}
.top_method .container .top_method_block {
  width: 100%;
}
.top_method .container .top_method_block .top_method_box {
  width: 100%;
}
.top_method .container .top_method_block .top_method_box .method_list {
  width: 100%;
  margin-top: 1.05rem;
}
.top_method .container .top_method_block .top_method_box .method_list li {
  width: 100%;
}
.top_method .container .top_method_block .top_method_box .method_list li a {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: block;
  padding: 1.75rem 0 1.85rem;
  border-bottom: solid 0.1rem #c2c2c2;
  position: relative;
}
.top_method .container .top_method_block .top_method_box .method_list li a::before {
  content: "";
  width: 12rem;
  height: 0.1rem;
  background-color: #203e95;
  position: absolute;
  bottom: -0.05rem;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.top_method .container .top_method_block .top_method_box .method_list li a::after {
  content: "";
  width: 5.6rem;
  height: 1.75rem;
  background: url(../img/common/common_arrow04.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top_method .container .top_method_block .top_method_box .method_list li a:hover::before {
  width: 100%;
}
.top_method .container .top_method_block .method_img {
  width: 37.5rem;
  height: 32rem;
  margin-top: 2.6rem;
  margin-left: -1.5rem;
  position: relative;
}
.top_method .container .top_method_block .method_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_method .container .top_method_block .method_img figcaption {
  width: 100%;
  height: 10rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 1rem 2.5rem 1.7rem 2.5rem;
  background-color: #203e95;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
}

.top_support {
  padding-top: 3.9rem;
  padding-bottom: 6rem;
  background-color: #f5f5f5;
}
.top_support .container .top_support_ttl {
  text-align: center;
}
.top_support .container .top_support_block {
  width: 100%;
  background-color: #ffffff;
  margin-top: 3.5rem;
}
.top_support .container .top_support_block .top_support_box {
  width: 100%;
  position: relative;
}
.top_support .container .top_support_block .top_support_box::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #e3e3e3;
  position: absolute;
  bottom: 0;
  left: 0;
}
.top_support .container .top_support_block .top_support_box:last-of-type::before {
  display: none;
}
.top_support .container .top_support_block .top_support_box a {
  width: 100%;
  min-height: 16rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 8.5rem 1rem 10.5rem;
  position: relative;
}
.top_support .container .top_support_block .top_support_box a::before {
  content: "";
  width: 5.6rem;
  height: 1.75rem;
  background: url(../img/common/common_arrow04.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top_support .container .top_support_block .top_support_box a .top_support_box_wrap .top_support_box_ttl {
  width: 100%;
}
.top_support .container .top_support_block .top_support_box a .top_support_box_wrap .top_support_box_ttl .en {
  width: 100%;
  font-family: "Lato", sans-serif;
  font-size: 1.4rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: block;
}
.top_support .container .top_support_block .top_support_box a .top_support_box_wrap .top_support_box_ttl .jp {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.1944444444;
  letter-spacing: 0.08em;
  display: block;
  margin-top: 0.15rem;
}
.top_support .container .top_support_block .top_support_box a .top_support_box_wrap .top_support_box_icon {
  width: 7rem;
  position: absolute;
  top: 4.5rem;
  left: 2rem;
}
.top_support .container .top_support_block .top_support_box a .top_support_box_wrap .top_support_box_txt {
  line-height: 1.3125;
  margin-top: 0.4rem;
}
.top_support .container .top_support_block .top_support_box a:hover {
  opacity: 0.7;
}

.top_recruit {
  min-height: 60rem;
  padding-top: 3.9rem;
  padding-bottom: 5rem;
  background: url(../img/top/top_img08_sp.png) no-repeat center/cover;
}
.top_recruit .container .top_recruit_block {
  width: 100%;
}
.top_recruit .container .top_recruit_block .top_recruit_txt {
  margin-top: 1.9rem;
}
.top_recruit .container .top_recruit_block .top_recruit_btn {
  padding-left: 0.4rem;
  margin-top: 2.6rem;
}

#pagetop {
  width: 5rem;
  height: 5rem;
  background-color: #203e95;
  position: fixed;
  bottom: 0;
  right: 0;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
#pagetop.show {
  opacity: 1;
  pointer-events: auto;
}
#pagetop::before {
  content: "";
  width: 1rem;
  height: 1.1rem;
  background: url(../img/common/common_arrow01.png) no-repeat center/contain;
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
  position: absolute;
  top: 50%;
  left: 50%;
}
#pagetop:hover {
  opacity: 0.8;
}

.ft .ft_navi_area {
  padding-top: 5rem;
  padding-bottom: 3.3rem;
}
.ft .ft_navi_area .container .ft_logo {
  width: 20rem;
  margin: 0 auto;
}
.ft .ft_navi_area .container .ft_logo img {
  width: 100%;
}
.ft .ft_navi_area .container .ft_navi01 {
  width: 100%;
  border-bottom: solid 0.1rem #e3e3e3;
  margin-top: 3rem;
}
.ft .ft_navi_area .container .ft_navi01 .ft_navi_block .ft_navi_block_parent {
  width: 100%;
}
.ft .ft_navi_area .container .ft_navi01 .ft_navi_block .ft_navi_block_parent a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0;
  display: block;
  padding: 1.1rem 1.4rem;
  border-top: solid 0.1rem #e3e3e3;
}
.ft .ft_navi_area .container .ft_navi01 .ft_navi_block .ft_navi_children {
  width: 100%;
  display: grid;
  gap: 0.9rem;
  padding: 2.2rem 2.6rem;
  background-color: #f8f8f8;
  margin-top: 0.1rem;
}
.ft .ft_navi_area .container .ft_navi01 .ft_navi_block .ft_navi_children a {
  font-size: 1.4rem;
  color: #858585;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0;
  display: block;
  padding-left: 1.9rem;
  position: relative;
}
.ft .ft_navi_area .container .ft_navi01 .ft_navi_block .ft_navi_children a::before {
  content: "";
  width: 1.2rem;
  height: 0.1rem;
  background-color: #858585;
  position: absolute;
  top: 1.1rem;
  left: 0;
}
.ft .ft_navi_area .container .ft_navi02 {
  width: 100%;
  margin-top: 2.15rem;
}
.ft .ft_navi_area .container .ft_navi02 .ft_navi02_block {
  width: 100%;
  max-width: 33rem;
  height: 9rem;
  padding-left: 1.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 0;
}
.ft .ft_navi_area .container .ft_navi02 .ft_navi02_block a {
  width: 15rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.08em;
  display: inline-block;
  padding-left: 1rem;
  position: relative;
}
.ft .ft_navi_area .container .ft_navi02 .ft_navi02_block a::before {
  content: "";
  width: 0.4rem;
  height: 0.7rem;
  background: url(../img/common/common_news_arrow.png) no-repeat center/contain;
  background: url(../img/common/common_news_arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 0.55rem;
  left: 0.15rem;
}
.ft .ft_navi_area .container .ft_navi02 .ft_navi02_block a:hover::before {
  left: 1rem;
}
.ft .ft_navi_area .container .ft_navi02 .langage {
  width: 100%;
  margin-top: 1.3rem;
}
.ft .ft_copyright {
  background-color: #1d1d1d;
}
.ft .ft_copyright .container .copyright {
  height: 5rem;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.06em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.ft.ft_en .ft_navi_area .container {
  position: relative;
}
.ft.ft_en .ft_navi_area .container .ft_logo {
  width: 12rem;
  margin: 0 auto;
}
.ft.ft_en .ft_navi_area .container .ft_navi_en {
  width: 100%;
  display: grid;
  margin-top: 3rem;
}
.ft.ft_en .ft_navi_area .container .ft_navi_en .ft_navi_en_block {
  width: 100%;
}
.ft.ft_en .ft_navi_area .container .ft_navi_en .ft_navi_en_block a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0;
  display: block;
  padding: 1.1rem 1.4rem;
  border-top: solid 0.1rem #e3e3e3;
}
.ft.ft_en .ft_navi_area .container .langage {
  margin-top: 3rem;
}

/*TOPここまで*/
/*会社情報*/
.company_archive {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

/*工法情報*/
.method_archive {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.common_child_contents_list {
  width: 100%;
  display: grid;
  gap: 3rem;
}
.common_child_contents_list li a {
  border: 0.1rem solid #cccccc;
  background-color: #ffffff;
  border-radius: 0.3rem;
  overflow: hidden;
  position: relative;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_child_contents_list li a::before {
  content: "";
  width: 6rem;
  height: 1.8rem;
  background-image: url(../img/common/common_arrow04.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 1.5rem;
  right: 2rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.common_child_contents_list li a .child_contents_thumb {
  width: 100%;
  aspect-ratio: 1/0.5614035088;
}
.common_child_contents_list li a .child_contents_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_child_contents_list li a .child_contents_box {
  width: 100%;
  padding: 2rem 2rem 4.8rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_child_contents_list li a .child_contents_box .child_contents_ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_child_contents_list li a .child_contents_box .child_contents_txt {
  margin-top: 1rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_child_contents_list li a:hover {
  background-color: #203e95;
  opacity: 1;
}
.common_child_contents_list li a:hover::before {
  background-image: url(../img/common/common_arrow03.png);
}
.common_child_contents_list li a:hover .child_contents_box .child_contents_ttl {
  color: #ffffff;
}
.common_child_contents_list li a:hover .child_contents_box .child_contents_txt {
  color: #ffffff;
}

.common_anchor {
  display: block;
  position: relative;
  top: -7rem;
  height: 0;
  visibility: hidden;
}

.common_anchor_list {
  display: grid;
  gap: 1rem;
}
.common_anchor_list a {
  height: 5rem;
  font-size: 1.6rem;
  color: #ffffff;
  font-weight: 500;
  letter-spacing: 0.12rem;
  border-radius: 0.3rem;
  background-color: #203e95;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common_anchor_list a.small {
  font-size: 1.4rem;
  letter-spacing: 0.05rem;
}
.common_anchor_list a::before {
  content: "";
  width: 1.1rem;
  height: 1.2rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  -webkit-filter: brightness(20);
          filter: brightness(20);
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.catalog_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.catalog_sec .container .catalog_sec_list {
  width: 100%;
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}
.catalog_sec .container .catalog_sec_list li {
  width: 100%;
}
.catalog_sec .container .catalog_sec_list li .catalog_box {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f5f5f5;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_name {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.08em;
  padding-bottom: 0.5rem;
  border-bottom: solid 0.2rem #203e95;
  margin-bottom: 2rem;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_img {
  width: 10rem;
  aspect-ratio: 1/1.3125;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_desc {
  width: calc(100% - 12rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link {
  width: 100%;
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li {
  width: calc((100% - 1rem) / 2);
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li a {
  width: 100%;
  height: 6rem;
  padding: 1rem;
  background-color: #203e95;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li a span {
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.08em;
  padding-left: 0;
  position: relative;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li a span.pdf {
  padding-left: 2.2rem;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li a span.pdf::before {
  content: "";
  width: 1.6rem;
  height: 2rem;
  background: url(../img/common/pdf_icon.png) no-repeat center/contain;
  background: url(../img/common/pdf_icon.svg) no-repeat center/contain;
  position: absolute;
  top: calc(50% - 0.1rem);
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li a span.catalog {
  padding-left: 2.6rem;
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li a span.catalog::before {
  content: "";
  width: 2rem;
  height: 1.6rem;
  background: url(../img/common/catalog_icon.png) no-repeat center/contain;
  background: url(../img/common/catalog_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.catalog_sec .container .catalog_sec_list li .catalog_box .catalog_link li a:hover::before {
  right: 1rem;
}

.dflip-modal {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.dflip-modal.show {
  opacity: 1;
  pointer-events: auto;
}
.dflip-modal .modal-inner {
  width: 100%;
  height: calc(100% - 5rem);
  position: relative;
  z-index: 2;
}
.dflip-modal .modal-inner .modal-close {
  width: 5rem;
  height: 5rem;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  cursor: pointer;
}
.dflip-modal .modal-inner .modal-close::before, .dflip-modal .modal-inner .modal-close::after {
  content: "";
  width: 4rem;
  height: 0.3rem;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.dflip-modal .modal-inner .modal-close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.dflip-modal .modal-inner .modal-content {
  width: 100%;
  height: 100%;
}
.dflip-modal .modal-inner .modal-content ._df_book {
  width: 100%;
  height: 100% !important;
}
.dflip-modal .modal-bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
}

.login-modal {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.login-modal.show {
  opacity: 1;
  pointer-events: auto;
}
.login-modal .modal-login-inner {
  width: 34.5rem;
  padding: 3rem 2rem;
  background-color: #fff;
  position: relative;
  z-index: 2;
}
.login-modal .modal-login-inner .modal-login-close {
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  position: absolute;
  top: -1rem;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  cursor: pointer;
}
.login-modal .modal-login-inner .modal-register-btn {
  margin-top: 2rem;
}
.login-modal .modal-login-inner .modal-register-btn a {
  background-color: #2a873c;
  border-color: #2a873c;
}
.login-modal .modal-login-inner .modal-register-ttl {
  margin-top: 3rem;
}
.login-modal .modal-login-inner .modal-login-form {
  margin-top: 2rem;
}
.login-modal .modal-login-inner .modal-login-form .modal-login-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 0;
}
.login-modal .modal-login-inner .modal-login-form .modal-login-list dt {
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: #4e525d;
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.login-modal .modal-login-inner .modal-login-form .modal-login-list dt picture {
  -webkit-filter: brightness(10);
          filter: brightness(10);
}
.login-modal .modal-login-inner .modal-login-form .modal-login-list dt picture.email_icon {
  width: 1.8rem;
}
.login-modal .modal-login-inner .modal-login-form .modal-login-list dt picture.key_icon {
  width: 1.6rem;
}
.login-modal .modal-login-inner .modal-login-form .modal-login-list dd {
  width: calc(100% - 4rem);
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
  overflow: hidden;
}
.login-modal .modal-login-inner .modal-login-form .modal-login-list dd input {
  width: 100%;
  height: 100%;
  padding: 1rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  background-color: #f5f5f5;
}
.login-modal .modal-login-inner .modal-login-form .modal-remember-box {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
}
.login-modal .modal-login-inner .modal-login-form .modal-remember-box label input[type=checkbox] {
  display: none;
}
.login-modal .modal-login-inner .modal-login-form .modal-remember-box label input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.login-modal .modal-login-inner .modal-login-form .modal-remember-box label span {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: inline-block;
  padding-left: 3rem;
  position: relative;
}
.login-modal .modal-login-inner .modal-login-form .modal-remember-box label span::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border: 0.1rem solid #cccccc;
  border-radius: 0.2rem;
  background-color: #ffffff;
  position: absolute;
  top: 0.3rem;
  left: 0.6rem;
  cursor: pointer;
}
.login-modal .modal-login-inner .modal-login-form .modal-remember-box label span::after {
  content: "";
  width: 1rem;
  height: 0.6rem;
  border-bottom: 0.1rem solid #61646e;
  border-left: 0.1rem solid #61646e;
  position: absolute;
  top: 0.6rem;
  left: 0.9rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  opacity: 0;
  pointer-events: none;
}
.login-modal .modal-login-inner .modal-login-form .modal-login-btn {
  margin-top: 2rem;
}
.login-modal .modal-login-inner .modal-login-form .login-error {
  width: 100%;
  font-size: 1.4rem;
  color: #f00;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0;
  text-align: center;
  margin-top: 0.5rem;
}
.login-modal .modal-login-inner .modal-login-form .modal-navi-list {
  width: 100%;
  margin-top: 1rem;
}
.login-modal .modal-login-inner .modal-login-form .modal-navi-list li a {
  font-size: 1.4rem;
  color: #203e95;
  line-height: 1.7142857143;
  letter-spacing: 0.08em;
  display: inline-block;
}
.login-modal .modal-bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
}

.company_history_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.company_history_sec .container .company_history_navi {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.company_history_sec .container .company_history_navi a {
  width: 100%;
  height: 4rem;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
  background-color: #203e95;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.company_history_sec .container .company_history_navi a::before {
  content: "";
  width: 0.9rem;
  height: 0.8rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  -webkit-filter: brightness(20);
          filter: brightness(20);
  position: absolute;
  top: calc(50% + 0.1rem);
  right: 1.9rem;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.company_history_sec .container .company_history_navi a:hover::before {
  top: calc(50% + 1.1rem);
}
.company_history_sec .container .company_history_list {
  width: 100%;
  padding-top: 8rem;
  position: relative;
}
.company_history_sec .container .company_history_list::before {
  content: "";
  width: 0.8rem;
  height: 4rem;
  border-right: dotted 0.8rem #d4d8e3;
  position: absolute;
  top: 5rem;
  left: 0.1rem;
  z-index: 2;
}
.company_history_sec .container .company_history_list .company_history_year_box {
  width: 100%;
  padding-left: 2rem;
  padding-bottom: 3rem;
  position: relative;
}
.company_history_sec .container .company_history_list .company_history_year_box::before {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: #203e95;
  border-radius: 50%;
  position: absolute;
  top: 1.8rem;
  left: 0;
  z-index: 3;
}
.company_history_sec .container .company_history_list .company_history_year_box::after {
  content: "";
  width: 0.6rem;
  height: 100%;
  border-right: solid 0.6rem #d4d8e3;
  position: absolute;
  top: 1.8rem;
  left: 0.2rem;
  z-index: 2;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_year {
  width: 100%;
  font-family: "Lato", sans-serif;
  font-size: 4.2rem;
  color: #b8c2dd;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data {
  width: 100%;
  padding-left: 1rem;
  margin-top: 1rem;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box {
  width: 100%;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_wareki {
  width: 100%;
  font-size: 1.8rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.12em;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box {
  width: 100%;
  margin-top: 2rem;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box:first-of-type {
  margin-top: 1rem;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_data_list {
  width: 100%;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_data_list dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_data_list dd {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 1.6rem;
  margin-top: 0.5rem;
  position: relative;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_data_list dd:first-of-type {
  margin-top: 0.8rem;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_data_list dd a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_data_list dd a:hover {
  opacity: 0.7;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_data_list dd::before {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1/1;
  background-color: #203e95;
  border-radius: 50%;
  position: absolute;
  top: 0.8rem;
  left: 0;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_img_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
.company_history_sec .container .company_history_list .company_history_year_box .company_history_data .company_history_wareki_box .company_history_data_list_box .company_history_img_list figcaption {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2857142857;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 0.5rem;
}

/*会社概要・組織図・ISO9001認証*/
.info_navi {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.info_department_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.info_department_sec .container .info_department_img {
  width: 100%;
  aspect-ratio: 1/0.5;
  margin-top: 3rem;
}
.info_department_sec .container .info_department_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.info_department_sec .container .info_about_box {
  width: 100%;
  margin-top: 5rem;
}
.info_department_sec .container .info_about_box .info_about_list {
  width: 100%;
  margin-top: 3rem;
}
.info_department_sec .container .info_about_box .info_about_list > dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-top: 2rem;
  padding-bottom: 1rem;
}
.info_department_sec .container .info_about_box .info_about_list > dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-bottom: 2rem;
  border-bottom: solid 0.1rem #e3e3e3;
}
.info_department_sec .container .info_about_box .info_about_list > dd dl {
  width: 100%;
  margin-top: 1rem;
}
.info_department_sec .container .info_about_box .info_about_list > dd dl:first-of-type {
  margin-top: 0;
}
.info_department_sec .container .info_about_box .info_about_list > dd dl > dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.info_department_sec .container .info_about_box .info_about_list > dd dl > dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.info_department_sec .container .info_business_box {
  width: 100%;
  margin-top: 5rem;
}
.info_department_sec .container .info_business_box .info_business_list {
  margin-top: 3rem;
}
.info_department_sec .container .info_number_box {
  width: 100%;
  margin-top: 5rem;
}
.info_department_sec .container .info_number_box .info_number_list {
  width: 100%;
  margin-top: 3rem;
}
.info_department_sec .container .info_number_box .info_number_list dt {
  padding-left: 2.3rem;
  position: relative;
  margin-top: 1rem;
}
.info_department_sec .container .info_number_box .info_number_list dt:first-of-type {
  margin-top: 0;
}
.info_department_sec .container .info_number_box .info_number_list dt::before {
  content: "";
  width: 0.9rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #203e95;
  position: absolute;
  top: 1rem;
  left: 0.1rem;
}
.info_department_sec .container .info_number_box .info_number_list dd {
  padding-left: 2.3rem;
}
.info_department_sec .container .info_works_box {
  width: 100%;
  margin-top: 5rem;
}
.info_department_sec .container .info_works_box .info_works_ttl02 {
  margin-top: 3rem;
}
.info_department_sec .container .info_works_box .info_works_txt {
  margin-top: 2rem;
}
.info_department_sec .container .info_group_box {
  width: 100%;
  margin-top: 5rem;
}
.info_department_sec .container .info_group_box .info_group_list {
  width: 100%;
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}
.info_department_sec .container .info_group_box .info_group_list li {
  width: 100%;
}
.info_department_sec .container .info_group_box .info_group_list li a {
  color: #203e95;
  display: inline-block;
  padding-right: 2rem;
  border-bottom: solid 0.1rem #203e95;
  position: relative;
}
.info_department_sec .container .info_group_box .info_group_list li a::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/common/external_icon.png) no-repeat center/contain;
  background: url(../img/common/external_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 0.6rem;
  right: 0.3rem;
}
.info_department_sec .container .info_property_box {
  width: 100%;
  margin-top: 5rem;
}
.info_department_sec .container .info_property_box .info_property_txt {
  margin-top: 2rem;
}
.info_department_sec .container .info_affiliation_box {
  width: 100%;
  margin-top: 5rem;
}
.info_department_sec .container .info_affiliation_box .info_affiliation_list {
  width: 100%;
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}

.common_number_list01 {
  width: 100%;
  display: grid;
  gap: 1rem;
  counter-reset: info-list-number;
  margin-top: 3rem;
}
.common_number_list01 > li {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 2rem;
  position: relative;
  counter-increment: info-list-number;
}
.common_number_list01 > li::before {
  content: counter(info-list-number) ". ";
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #203e95;
  position: absolute;
  top: 0.1rem;
  left: 0;
}
.common_number_list01.en li {
  padding-left: 3rem;
}

.company_organization_sec {
  background-color: #f5f5f5;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.company_organization_sec .container .company_organization_img {
  width: 100%;
  padding: 3rem 2rem;
  overflow: scroll;
  text-align: center;
  background-color: #fff;
  margin-top: 3rem;
}
.company_organization_sec .container .company_organization_img figure {
  width: 80rem;
  display: inline-block;
}

.company_iso_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.company_iso_sec .container .company_iso_block {
  width: 100%;
  margin-top: 3rem;
}
.company_iso_sec .container .company_iso_block .company_iso_block_ttl {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
}
.company_iso_sec .container .company_iso_block .company_iso_block_img {
  width: 100%;
  margin-top: 2rem;
}
.company_iso_sec .container .company_iso_block .company_iso_block_txt {
  width: 100%;
  margin-top: 2rem;
}

.common_ttl05 {
  width: 100%;
  text-align: center;
}
.common_ttl05 .jp {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  text-align: center;
  display: block;
}
.common_ttl05 .en {
  font-family: "Lato", sans-serif;
  font-size: 1.4rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
  margin-top: 0.3rem;
  display: block;
}

/*社長挨拶・経営理念・品質方針*/
.overview_navi {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.overview_message_sec {
  padding-top: 5rem;
  padding-bottom: 7rem;
  background: url(../img/company/overview/overview_bg.png) no-repeat bottom right/60rem, #eff4f9;
}
.overview_message_sec .container .common_txt01 {
  margin-top: 2rem;
}
.overview_message_sec .container .overview_message_catch {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.7142857143;
  letter-spacing: 0.012em;
  text-align: center;
  margin-top: 3rem;
}
.overview_message_sec .container .overview_about_box {
  width: 100%;
  margin-top: 5rem;
}
.overview_message_sec .container .overview_achieve_box {
  width: 100%;
  margin-top: 5rem;
}
.overview_message_sec .container .overview_attempt_box {
  width: 100%;
  margin-top: 5rem;
}
.overview_message_sec .container .overview_message_name {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-right: 0.5rem;
  margin-top: 17rem;
}
.overview_message_sec .container .overview_message_name .name {
  width: 13rem;
  display: block;
  margin-top: 1rem;
}
.overview_message_sec .container .overview_message_name .name img {
  width: 100%;
}

.overview_philosophy_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  position: relative;
}
.overview_philosophy_sec::before {
  content: "";
  width: 20rem;
  height: 0.1rem;
  background-color: #dddddd;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
.overview_philosophy_sec .container .overview_philosophy_txt {
  width: 100%;
  text-align: center;
  padding-top: 2rem;
  margin-top: 3rem;
  position: relative;
}
.overview_philosophy_sec .container .overview_philosophy_txt::before {
  content: "PHILOSOPHY";
  font-family: "Lato", sans-serif;
  color: #203e95;
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0.05;
}
.overview_philosophy_sec .container .overview_philosophy_txt span {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.12em;
  position: relative;
  z-index: 2;
}

.overview_quality_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  position: relative;
}
.overview_quality_sec .container .overview_quality_txt {
  width: 100%;
  text-align: center;
  padding-top: 2rem;
  margin-top: 3rem;
  position: relative;
}
.overview_quality_sec .container .overview_quality_txt::before {
  content: "QUALITY";
  font-family: "Lato", sans-serif;
  color: #203e95;
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0.05;
}
.overview_quality_sec .container .overview_quality_txt span {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.12em;
  position: relative;
  z-index: 2;
}

/*全国事業所・グループ会社一覧*/
.group_navi {
  padding-top: 3rem;
}
.group_navi .container .group_navi_list02 {
  grid-template-columns: repeat(2, minmax(auto, 16.75rem));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 1rem;
}
.group_navi .container .group_navi_list02 a.arrows::before {
  right: 0.5rem;
}
.group_navi .container .group_contact_navi {
  width: 100%;
  border: solid 0.2rem #e3523f;
  border-radius: 0.3rem;
  margin-top: 3rem;
  counter-reset: group-number;
}
.group_navi .container .group_contact_navi dt {
  width: 100%;
  padding: 1rem 2rem 1rem 1rem;
  background-color: #e3523f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.group_navi .container .group_contact_navi dt span {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 3rem;
  position: relative;
}
.group_navi .container .group_contact_navi dt span::before {
  content: "";
  width: 2.2rem;
  height: 1.8rem;
  background: url(../img/company/group/contact_icon.png) no-repeat center/contain;
  background: url(../img/company/group/contact_icon.svg) no-repeat center/contain;
  position: absolute;
  top: calc(50% + 0.1rem);
  left: 0.2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
.group_navi .container .group_contact_navi dd {
  width: 100%;
  padding: 2rem 3rem 2rem 2rem;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
.group_navi .container .group_contact_navi dd a {
  counter-increment: group-number;
  font-family: "Roboto", sans-serif;
  font-size: 2.4rem;
  color: #e3523f;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  display: inline-block;
  padding-left: 3.6rem;
  position: relative;
}
.group_navi .container .group_contact_navi dd a::before {
  content: counter(group-number);
  width: 2.6rem;
  aspect-ratio: 1/1;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  border-radius: 50%;
  background-color: #e3523f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.group_map_sec {
  padding-top: 5rem;
}
.group_map_sec .container .base_color.sapporo {
  --arrows: url(../img/company/group/sapporo_arrow.png);
  --baseColor: #6cb78b;
  --top: 17.073170731%;
  --right: 5.25%;
}
.group_map_sec .container .base_color.akita {
  --arrows: url(../img/company/group/akita_arrow.png);
  --baseColor: #65b2d9;
  --top: 38.327526132%;
  --right: 42.833333333%;
}
.group_map_sec .container .base_color.sendai {
  --arrows: url(../img/company/group/sendai_arrow.png);
  --baseColor: #698ac6;
  --top: 44.47%;
  --right: 12.67%;
}
.group_map_sec .container .base_color.honsha {
  --arrows: url(../img/company/group/honsha_arrow.png);
  --baseColor: #183b8b;
  --top: 57.84%;
  --right: 11.17%;
}
.group_map_sec .container .base_color.tokyo {
  --arrows: url(../img/company/group/tokyo_arrow.png);
  --baseColor: #183b8b;
  --top: 65.39%;
  --right: 11.17%;
}
.group_map_sec .container .base_color.tokyo2 {
  --arrows: url(../img/company/group/tokyo_arrow.png);
  --baseColor: #183b8b;
  --top: 72.94%;
  --right: 11.17%;
}
.group_map_sec .container .base_color.kaigai {
  --arrows: url(../img/company/group/others_arrow.png);
  --baseColor: #61646e;
  --top: 80.49%;
  --right: 11.17%;
}
.group_map_sec .container .base_color.minju {
  --arrows: url(../img/company/group/others_arrow.png);
  --baseColor: #61646e;
  --top: 88.04%;
  --right: 11.17%;
}
.group_map_sec .container .base_color.nousui {
  --arrows: url(../img/company/group/others_arrow.png);
  --baseColor: #61646e;
  --top: 95.59%;
  --right: 11.17%;
}
.group_map_sec .container .base_color.niigata {
  --arrows: url(../img/company/group/niigata_arrow.png);
  --baseColor: #6caab3;
  --top: 46.45%;
  --right: 42.83%;
}
.group_map_sec .container .base_color.hokuriku {
  --arrows: url(../img/company/group/hokuriku_arrow.png);
  --baseColor: #183b8b;
  --top: 54.12%;
  --right: 51.75%;
}
.group_map_sec .container .base_color.nagoya {
  --arrows: url(../img/company/group/nagoya_arrow.png);
  --baseColor: #927ab6;
  --top: 77.60%;
  --right: 27.67%;
}
.group_map_sec .container .base_color.oosaka {
  --arrows: url(../img/company/group/oosaka_arrow.png);
  --baseColor: #c27e8f;
  --top: 85.34%;
  --right: 39.00%;
}
.group_map_sec .container .base_color.okayama {
  --arrows: url(../img/company/group/okayama_arrow.png);
  --baseColor: #ce7d69;
  --top: 61.08%;
  --right: 59.58%;
}
.group_map_sec .container .base_color.hiroshima {
  --arrows: url(../img/company/group/hiroshima_arrow.png);
  --baseColor: #d19b4b;
  --top: 68.06%;
  --right: 71.17%;
}
.group_map_sec .container .base_color.shikoku {
  --arrows: url(../img/company/group/shikoku_arrow.png);
  --baseColor: #97ab5d;
  --top: 90.81%;
  --right: 55.67%;
}
.group_map_sec .container .base_color.kyushu {
  --arrows: url(../img/company/group/kyushu_arrow.png);
  --baseColor: #82ab59;
  --top: 81.53%;
  --right: 82.83%;
}
.group_map_sec .container .group_map_block {
  width: 100%;
  margin-top: 3rem;
  position: relative;
}
.group_map_sec .container .group_map_block .group_map_img {
  width: 100%;
}
.group_map_sec .container .group_map_block .group_map_link_list {
  display: none;
}
.group_map_sec .container .group_map_anchor_link_list {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f5f5f5;
  margin-top: 3rem;
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list .group_map_anchor_link a {
  width: 100%;
  height: 5rem;
  border: solid 0.2rem var(--baseColor);
  background-color: #fff;
  padding: 1rem 2.5rem 1rem 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 0.3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list .group_map_anchor_link a::before {
  content: "";
  width: 1rem;
  height: 1.1rem;
  background: var(--arrows) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list .group_map_anchor_link a span {
  font-size: 1.6rem;
  color: var(--baseColor);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list .group_map_anchor_link a span.ls0 {
  letter-spacing: 0;
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list .group_map_anchor_link a:hover {
  opacity: 1;
  background-color: var(--baseColor);
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list .group_map_anchor_link a:hover::before {
  top: calc(50% + 0.5rem);
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.group_map_sec .container .group_map_anchor_link_list .group_map_anchor_list .group_map_anchor_link a:hover span {
  color: #fff;
}
.group_map_sec .container .group_map_contact {
  width: 100%;
  border: solid 0.2rem #e3523f;
  border-radius: 0.3rem;
  margin-top: 3rem;
  counter-reset: group-number;
}
.group_map_sec .container .group_map_contact dt {
  width: 100%;
  padding: 1rem 2rem 1rem 1rem;
  background-color: #e3523f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.group_map_sec .container .group_map_contact dt span {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 3rem;
  position: relative;
}
.group_map_sec .container .group_map_contact dt span::before {
  content: "";
  width: 2.2rem;
  height: 1.8rem;
  background: url(../img/company/group/contact_icon.png) no-repeat center/contain;
  background: url(../img/company/group/contact_icon.svg) no-repeat center/contain;
  position: absolute;
  top: calc(50% + 0.1rem);
  left: 0.2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
.group_map_sec .container .group_map_contact dd {
  width: 100%;
  padding: 2rem 3rem 2rem 2rem;
  background-color: #fff;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
.group_map_sec .container .group_map_contact dd a {
  counter-increment: group-number;
  font-family: "Roboto", sans-serif;
  font-size: 2.4rem;
  color: #e3523f;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  display: inline-block;
  padding-left: 3.6rem;
  position: relative;
}
.group_map_sec .container .group_map_contact dd a::before {
  content: counter(group-number);
  width: 2.6rem;
  aspect-ratio: 1/1;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  border-radius: 50%;
  background-color: #e3523f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.group_office_sec {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.group_office_sec.office {
  padding-top: 5rem;
}
.group_office_sec.companies {
  padding-bottom: 5rem;
}
.group_office_sec .container .group_office_list_block {
  width: 100%;
  margin-top: 1rem;
}
.group_office_sec .container .group_office_list_block .group_office_list {
  width: 100%;
  border-bottom: solid 0.1rem #e3e3e3;
}
.group_office_sec .container .group_office_list_block .group_office_list.border-none {
  border-bottom: none;
}
.group_office_sec .container .group_office_list_block .group_office_list dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-top: 2rem;
}
.group_office_sec .container .group_office_list_block .group_office_list dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-top: 1rem;
  padding-bottom: 2rem;
}
.group_office_sec .container .group_office_list_block .group_office_list dd .address a {
  color: #203e95;
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  display: inline-block;
}
.group_office_sec .container .group_office_list_block .group_office_list dd .prefecture_box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0.3rem;
  margin-top: 1rem;
  margin-bottom: 0.4rem;
}
.group_office_sec .container .group_office_list_block .group_office_list dd .prefecture_box .area {
  width: 10rem;
  height: 2.8rem;
  font-size: 1.4rem;
  color: #203e95;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  border-radius: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: solid 0.1rem #203e95;
  background-color: #f7faff;
  margin-right: 1rem;
  margin-top: 0.1rem;
}
.group_office_sec .container .group_office_list_block .group_office_list dd .prefecture_box .prefecture {
  width: calc(100% - 10rem);
}

/*数字で見るコスモ*/
.about_data_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_data_sec .container .fadein {
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.about_data_sec .container .fadein.active {
  opacity: 1;
}
.about_data_sec .container .about_data_block {
  width: 100%;
  display: grid;
  gap: 2rem;
}
.about_data_sec .container .about_data_block .about_data_box {
  padding: 5rem 2rem;
  background-color: #f5f5f5;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_ttl {
  margin-bottom: 3rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list {
  width: 100%;
  display: grid;
  gap: 2rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #fff;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.12em;
  text-align: center;
  margin-bottom: 2rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_img {
  width: 100%;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_img img {
  margin: 0 auto;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 1rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .en {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 5.8rem;
  color: #203e95;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  margin-left: 1rem;
  position: relative;
  top: 0.4rem;
  display: inline-block;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .num {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 6rem;
  color: #203e95;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  position: relative;
  top: 0.5rem;
  display: inline-block;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .large {
  font-size: 3.8rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .medium {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .small {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .txt_wrap {
  display: inline-block;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .txt_wrap .large {
  font-size: 2.8rem;
  display: block;
  margin-bottom: -2.5rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_txt .txt_wrap .small {
  position: relative;
  top: 0.7rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner .data_box_inner_note {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-right: 1rem;
  text-align: right;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box01 .data_box_inner_txt .large {
  margin-left: 0.5rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box01 .data_box_inner_txt .num {
  margin-left: -0.5rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box02 .data_box_inner_txt .large {
  margin-left: 0.5rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box03 .data_box_inner_txt .num {
  letter-spacing: -0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box04 .data_box_inner_txt .num {
  letter-spacing: -0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box05 .data_box_inner_txt .medium {
  margin-right: -0.5rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box05 .data_box_inner_txt .num {
  letter-spacing: -0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box06 .data_box_inner_txt .num {
  letter-spacing: -0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box06 .data_box_inner_txt .large {
  position: relative;
  top: 0.3rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box07 .data_box_inner_txt .num {
  letter-spacing: -0.05em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box07 .data_box_inner_txt .txt_wrap {
  text-align: left;
  position: relative;
  top: -0.5rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box07 .data_box_inner_txt .txt_wrap .large {
  font-size: 2.4rem;
  margin-bottom: -2rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box08 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 4rem;
  padding-right: 4rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box08 .data_box_inner_img {
  width: 8rem;
  aspect-ratio: auto;
  padding-top: 0.6rem;
  margin: 0;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box08 .data_box_inner_list {
  width: calc(100% - 8rem);
  padding-left: 2rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box08 .data_box_inner_list dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box08 .data_box_inner_list dd {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box08 .data_box_inner_list dd .num {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 6rem;
  color: #203e95;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.05em;
  position: relative;
  display: inline-block;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  margin-right: 1rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box08 .data_box_inner_list dd .large {
  font-size: 2.4rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-top: 1.6rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box09 .data_box_inner_txt .medium {
  position: relative;
  top: -0.6rem;
}
.about_data_sec .container .about_data_block .about_data_box .about_data_box_list .about_data_box_inner.box09 .data_box_inner_txt .num {
  letter-spacing: -0.05em;
}

/*事業展開*/
.common_ttl06 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.09em;
}

.about_business_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_business_sec .container .about_business_txt {
  margin-top: 2rem;
}
.about_business_sec .container .about_business_box {
  width: 100%;
  padding: 1rem 2rem 5rem;
  background-color: #f5f5f5;
  margin-top: 3rem;
}
.about_business_sec .container .about_business_box .about_business_box_ttl {
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 1;
}
.about_business_sec .container .about_business_box .about_business_box_ttl::before {
  content: "";
  width: 26rem;
  height: 2rem;
  position: absolute;
  background-color: #fff190;
  bottom: 1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.about_business_sec .container .about_business_box .about_business_box_ttl .ttl {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12rem;
  position: relative;
  z-index: 2;
}
.about_business_sec .container .about_business_box .about_business_box_ttl .ttl .en {
  font-family: "Roboto", sans-serif;
  font-size: 5.2rem;
  font-weight: 500;
  line-height: 1.625;
  color: #203e95;
  margin-left: 0.5rem;
  position: relative;
  top: 0.4rem;
}
.about_business_sec .container .about_business_box .about_business_box_ttl .ttl .num {
  font-family: "Roboto", sans-serif;
  font-size: 5.6rem;
  font-weight: 500;
  line-height: 1.625;
  color: #203e95;
  margin-left: -1rem;
  position: relative;
  top: 0.5rem;
}
.about_business_sec .container .about_business_box .about_business_box_img {
  width: 100%;
  padding-bottom: 3rem;
  margin-top: 2rem;
  position: relative;
}
.about_business_sec .container .about_business_box .about_business_box_img::before {
  content: "";
  width: 2rem;
  height: 4.4rem;
  background: url(../img/company/about/business/about_business_arrow.png) no-repeat center/contain;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
.about_business_sec .container .about_business_box .about_business_box_txt {
  width: 100%;
  font-size: 2.2rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 2rem;
}
.about_business_sec .container .about_business_box .about_business_box_flow {
  width: 100%;
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
}
.about_business_sec .container .about_business_box .about_business_box_flow .business_flow_box {
  width: 100%;
  height: 4rem;
  font-size: 1.8rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  border-radius: 0.3rem;
  background-color: #f7faff;
  border: 0.2rem solid #203e95;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.about_business_sec .container .about_business_box .about_business_box_flow .business_flow_box.flow02 {
  background-color: #ebf3ff;
}
.about_business_sec .container .about_business_box .about_business_box_flow .business_flow_box.flow03 {
  background-color: #dfe9f8;
}
.about_business_sec .container .about_business_box .about_business_box_flow > * {
  position: relative;
}
.about_business_sec .container .about_business_box .about_business_box_flow > *::before {
  content: "";
  width: 1.4rem;
  height: 1.1rem;
  background: url(../img/common/common_arrow02.png) no-repeat center/contain;
  position: absolute;
  left: 50%;
  bottom: -2.2rem;
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
}
.about_business_sec .container .about_business_box .about_business_box_flow > *:last-child::before {
  display: none;
}
.about_business_sec .container .about_business_box .business_flow_box_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.about_business_sec .container .about_business_box .business_flow_box_wrap .flow04,
.about_business_sec .container .about_business_box .business_flow_box_wrap .flow05 {
  width: calc((100% - 1rem) / 2);
  background-color: #d9e6f7;
}

/*社会を支えるコスモ製品*/
.company_about_society .common_page_ttl .ttl_bg .ttl_inner .common_ttl_img img {
  -o-object-position: top left;
     object-position: top left;
}

.about_society_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_society_sec .container .about_society_txt {
  margin-top: 2rem;
}
.about_society_sec .container .about_society_map_block {
  width: 100%;
  position: relative;
  margin-top: 5rem;
}
.about_society_sec .container .about_society_map_block .about_society_map {
  width: 100%;
  position: relative;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.about_society_sec .container .about_society_map_block .about_society_map::-webkit-scrollbar {
  display: none;
}
.about_society_sec .container .about_society_map_block .about_society_map.grab {
  cursor: -webkit-grab;
  cursor: grab;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_img {
  width: 80rem;
  aspect-ratio: 1/0.5701754386;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_img img {
  max-width: none;
  width: 100%;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list {
  width: 80rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li {
  position: absolute;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.ft {
  --top: 38.4615%;
  --left: 5.9649%;
  --name-top: -2.2rem;
  --name-left: -2.2rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.flange-block {
  --top: 62%;
  --left: 10.7018%;
  --name-top: 3.4rem;
  --name-left: -8rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.flange-adapter {
  --top: 60.6154%;
  --left: 13.5088%;
  --name-top: 1rem;
  --name-left: 2.3rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.inserting {
  --top: 50.4615%;
  --left: 21.0526%;
  --name-top: -2.2rem;
  --name-left: -5rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.special-branch {
  --top: 69.6923%;
  --left: 29.4737%;
  --name-top: 1rem;
  --name-left: 2rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.expansion-pipe {
  --top: 36.4615%;
  --left: 35.0877%;
  --name-top: -1.5rem;
  --name-left: -7rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.flexible-pipe {
  --top: 31.0769%;
  --left: 40.1754%;
  --name-top: -2.1rem;
  --name-left: -3rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.cosmo-valve {
  --top: 34.9231%;
  --left: 53.3333%;
  --name-top: 4rem;
  --name-left: -12rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.reservoir {
  --top: 8.1538%;
  --left: 63.8596%;
  --name-top: -0.3rem;
  --name-left: 2.6rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.st-soft {
  --top: 24.3077%;
  --left: 62.3684%;
  --name-top: 0;
  --name-left: -8rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.cosmo-soft {
  --top: 21.6923%;
  --left: 64.7368%;
  --name-top: 0;
  --name-left: 2.3rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.vc-joint {
  --top: 34.3077%;
  --left: 64.3859%;
  --name-top: 3.9rem;
  --name-left: -4.4rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.chk {
  --top: 53.6923%;
  --left: 71.6667%;
  --name-top: 0.6rem;
  --name-left: 2.7rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.cosmo-renewal {
  --top: 39.6923%;
  --left: 72.3684%;
  --name-top: 2.6rem;
  --name-left: 2rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.pc-joint {
  --top: 36%;
  --left: 76.3158%;
  --name-top: -0.7rem;
  --name-left: 2.7rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li.t-branch {
  --top: 60.4615%;
  --left: 78.1579%;
  --name-top: 1rem;
  --name-left: 2.4rem;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li {
  top: var(--top);
  left: var(--left);
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li > span {
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li > span .pin {
  width: 3.14rem;
  display: inline-block;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li > span .pin img {
  max-width: none;
  width: 100%;
}
.about_society_sec .container .about_society_map_block .about_society_map .about_society_map_products_list li > span .product_name {
  min-width: 8.2rem;
  min-height: 3rem;
  font-size: 1rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem 1.8rem;
  background-color: #fff;
  border: solid 0.3rem #203e95;
  border-radius: 5rem;
  position: absolute;
  top: var(--name-top);
  left: var(--name-left);
  display: none;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 80;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal.show {
  opacity: 1;
  pointer-events: auto;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap {
  width: calc(100% - 3rem);
  height: calc(100% - 20rem);
  position: absolute;
  top: calc(50% + 5rem);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_products_modal_close {
  width: 5rem;
  height: 5rem;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  cursor: pointer;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_products_modal_close::before, .about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_products_modal_close::after {
  content: "";
  width: 4rem;
  height: 0.3rem;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_products_modal_close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_modal_box {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_modal_box .about_society_map_modal_products {
  width: 100%;
  padding: 3rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  display: none;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_modal_box .about_society_map_modal_products.show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_modal_box .about_society_map_modal_products .about_society_map_modal_products_name {
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0;
  text-align: center;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_modal_box .about_society_map_modal_products .about_society_map_modal_products_img {
  width: 20rem;
  margin: 0 auto;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_modal_box .about_society_map_modal_products .about_society_map_modal_products_box {
  width: 100%;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_box_wrap .about_society_map_modal_box .about_society_map_modal_products .about_society_map_modal_products_box .about_society_map_modal_products_btn {
  margin-top: 3rem;
}
.about_society_sec .container .about_society_map_block .about_society_map_modal .about_society_map_modal_bg {
  width: 100%;
  height: 100%;
  background-color: rgba(60, 60, 68, 0.4);
  z-index: 1;
  cursor: pointer;
}
.about_society_sec .container .about_society_box {
  width: 100%;
  aspect-ratio: 1/0.666666666;
  background-color: #d2d2d2;
  margin-top: 3rem;
}

/*国内トップの技術、ギネスが認めた不断水工事*/
.about_technology_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_technology_sec .container .about_technology_txt {
  margin-top: 2rem;
}
.about_technology_sec .container .about_technology_ttl02 {
  margin-top: 5rem;
}
.about_technology_sec .container .about_technology_flow {
  width: 100%;
  display: grid;
  gap: 7rem;
  margin-top: 8rem;
  position: relative;
}
.about_technology_sec .container .about_technology_flow::before {
  content: "";
  width: 85rem;
  height: 1.5rem;
  background: url(../img/company/about/technology/technology_arrow.png) no-repeat right center/auto 1.5rem;
  position: absolute;
  top: 41rem;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
  z-index: 1;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box01 {
  width: 100%;
  padding: 6rem 2rem 3rem;
  background-color: #f7faff;
  position: relative;
  z-index: 2;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box01 .about_technology_flow_img {
  width: 10rem;
  position: absolute;
  top: -4.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box01 .about_technology_flow_year {
  width: 100%;
  font-size: 1.8rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box01 .about_technology_flow_year .num {
  font-family: "Lato", sans-serif;
  font-size: 3.2rem;
  margin-right: 0.5rem;
  position: relative;
  top: 0.2rem;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box01 .about_technology_flow_ttl {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 1rem;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box01 .about_technology_flow_txt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 0.5rem;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box02 {
  width: 100%;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box02 .about_technology_flow_txt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.12em;
  text-align: center;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box02 .about_technology_flow_ttl {
  width: 100%;
  font-size: 2.8rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
}
.about_technology_sec .container .about_technology_flow .about_technology_flow_box02 .about_technology_flow_img {
  width: 18rem;
  margin: 1rem auto 0;
}

.about_guinness_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_guinness_sec .container .about_guinness_txt {
  margin-top: 2rem;
}
.about_guinness_sec .container .about_guinness_box {
  width: 100%;
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
}
.about_guinness_sec .container .about_guinness_box .about_guinness_img01 {
  width: 18rem;
  margin: 0 auto;
}

/*秋田工場*/
.about_akita_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_akita_sec .container .about_akita_txt {
  margin-top: 2rem;
}
.about_akita_sec .container .about_akita_img01 {
  width: 100%;
  margin-top: 3rem;
}
.about_akita_sec .container .akita_contents_block01 {
  width: 100%;
  margin-top: 3rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box {
  width: 100%;
  margin-top: 5rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box:first-of-type {
  margin-top: 0;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_history_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 0;
  margin-top: 2rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_history_list dt {
  width: 16rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 2rem;
  position: relative;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_history_list dt::before {
  content: "";
  width: 0.9rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #203e95;
  position: absolute;
  top: 1rem;
  left: 0;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_history_list dd {
  width: calc(100% - 16rem);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_introduction_video {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_introduction_video video {
  width: 100%;
  aspect-ratio: 1/0.5625;
  background-color: #ccc;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_features_list {
  margin-top: 3rem;
  margin-bottom: -4rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_flow_box {
  width: 100%;
  margin-top: 3rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_flow_box .akita_flow_box_txt {
  margin-top: 2rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_flow_box .akita_flow_box_inner {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f5f5f5;
  margin-top: 3rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_flow_box .akita_flow_box_inner .akita_flow_inner_ttl {
  width: 100%;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_flow_box .akita_flow_box_inner .akita_flow_inner_ttl span {
  width: 100%;
  min-height: 4rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.12em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #203e95;
  border-radius: 5rem;
  margin: 0 auto;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_flow_box .akita_flow_box_inner .akita_flow_inner_img {
  width: 100%;
  text-align: center;
  margin-top: 3rem;
}
.about_akita_sec .container .akita_contents_block01 .akita_contents_box .akita_contents_flow_box .akita_flow_box_inner .akita_flow_inner_img img {
  display: inline-block;
}
.about_akita_sec .container .about_akita_img02 {
  width: 100%;
  margin-top: 5rem;
}

.about_3d_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_3d_sec .container .about_3d_txt {
  margin-top: 2rem;
}
.about_3d_sec .container .about_3d_img01 {
  width: 100%;
  margin-top: 3rem;
}
.about_3d_sec .container .d3_contents_block01 {
  width: 100%;
  margin-top: 3rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box {
  width: 100%;
  margin-top: 5rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box:first-of-type {
  margin-top: 0;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_history_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 0;
  margin-top: 2rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_history_list dt {
  width: 16rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 2rem;
  position: relative;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_history_list dt::before {
  content: "";
  width: 0.9rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #203e95;
  position: absolute;
  top: 1rem;
  left: 0;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_history_list dd {
  width: calc(100% - 16rem);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_introduction_video {
  width: 100%;
  margin-top: 2rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_introduction_video video {
  width: 100%;
  aspect-ratio: 1/0.5625;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_features_list {
  margin-top: 3rem;
  margin-bottom: -4rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box {
  width: 100%;
  margin-top: 5rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box:first-of-type {
  margin-top: 3rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_inner {
  width: 100%;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_inner .d3_contents_equipment_ttl {
  margin-top: 3rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_inner .d3_contents_equipment_ttl:first-of-type {
  margin-top: 0;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_inner .d3_contents_equipment_list {
  margin-top: 1rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_inner .d3_contents_equipment_list dt {
  width: 16rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_inner .d3_contents_equipment_list dd {
  width: calc(100% - 16rem);
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_inner .d3_contents_equipment_txt {
  margin-top: 2rem;
  line-height: 1.625;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_equipment_box .d3_contents_equipment_img {
  width: 100%;
  margin-top: 2rem;
  display: grid;
  gap: 2rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list {
  width: 100%;
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li {
  width: 100%;
  position: relative;
  padding-bottom: 4.3rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li::before {
  content: "";
  width: 1.2rem;
  height: 2.8rem;
  background: url(../img/company/about/3d/about_3d_flow_arrow.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li:last-of-type::before {
  display: none;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list {
  width: 100%;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dt {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dt .lato {
  width: 5rem;
  font-family: "Lato", sans-serif;
  font-size: 2.8rem;
  color: #b8c2dd;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dt .ttl {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.12em;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dd {
  width: 100%;
  margin-top: 2rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dd .d3_contents_flow_data_clist {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dd .d3_contents_flow_data_clist.no-arrow li::before {
  display: none;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dd .d3_contents_flow_data_clist li {
  position: relative;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dd .d3_contents_flow_data_clist li::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  background: url(../img/company/about/3d/about_3d_flow_arrow02.png) no-repeat center/contain;
  position: absolute;
  top: 3.6rem;
  right: -0.9rem;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dd .d3_contents_flow_data_clist li:last-of-type::before {
  display: none;
}
.about_3d_sec .container .d3_contents_block01 .d3_contents_box .d3_contents_flow_list > li .d3_contents_flow_data_list dd .d3_contents_flow_data_clist li figure figcaption {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 0.5rem;
}
.about_3d_sec .container .about_d3_img02 {
  width: 100%;
  margin-top: 5rem;
}

.common_features_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
.common_features_list li {
  width: 24rem;
}

.about_ctbc_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.about_ctbc_sec .container .about_ctbc_txt {
  margin-top: 2rem;
}
.about_ctbc_sec .container .about_ctbc_img01 {
  width: 100%;
  margin-top: 3rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 {
  width: 100%;
  margin-top: 3rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box {
  width: 100%;
  margin-top: 5rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box:first-of-type {
  margin-top: 0;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_history_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 0;
  margin-top: 2rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_history_list dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 2rem;
  position: relative;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_history_list dt::before {
  content: "";
  width: 0.9rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #203e95;
  position: absolute;
  top: 1rem;
  left: 0;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_history_list dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 2rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_tagline_list {
  width: 100%;
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_tagline_list li picture {
  aspect-ratio: 1/0.6551724138;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_tagline_list li picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_introduction_video {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_introduction_video video {
  width: 100%;
  aspect-ratio: 1/0.75;
  background-color: #ccc;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_features_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin-top: 3rem;
  margin-bottom: -4rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_features_list li {
  width: 24rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_support_box {
  width: 100%;
  margin-top: 2rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_support_box .ctbc_contents_support_inner {
  width: 100%;
  margin-top: 3rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_support_box .ctbc_contents_support_inner .ctbc_contents_support_inner_txt {
  margin-top: 2rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_support_box .ctbc_contents_support_inner .ctbc_contents_support_inner_img {
  width: 100%;
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_support_box .ctbc_contents_support_inner .ctbc_contents_support_inner_img figure {
  width: 100%;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_message_box {
  width: 100%;
  margin-top: 5rem;
  display: grid;
  gap: 5rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_message_box .ctbc_contents_message_inner {
  width: 100%;
  margin-top: 0;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_message_box .ctbc_contents_message_inner .ctbc_contents_message_inner_ttl {
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_message_box .ctbc_contents_message_inner .ctbc_contents_message_inner_img {
  width: 20rem;
  margin: 1rem auto 0;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_message_box .ctbc_contents_message_inner .ctbc_contents_message_inner_txt {
  width: 100%;
  margin-top: 2rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_message_box .ctbc_contents_message_inner .ctbc_contents_message_inner_name {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 1rem;
}
.about_ctbc_sec .container .ctbc_contents_block01 .ctbc_contents_box .ctbc_contents_message_box .ctbc_contents_message_inner .ctbc_contents_message_inner_name .name {
  font-size: 1.8rem;
  margin-left: 1rem;
}
.about_ctbc_sec .container .about_ctbc_img02 {
  width: 100%;
  margin-top: 5rem;
}

.common_ttl02 {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 1.5rem;
  position: relative;
}
.common_ttl02::before {
  content: "";
  width: 0.3rem;
  height: 100%;
  background-color: #203e95;
  position: absolute;
  top: calc(50% - 0.1rem);
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_ttl02.en {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.common_ttl02.en::before {
  height: calc(100% - 1.4rem);
  top: calc(50% - 0.1rem);
}

.common_list01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.common_list01 dt {
  width: 10rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding: 2rem 0;
  border-bottom: solid 0.1rem #c2c2c2;
}
.common_list01 dd {
  width: calc(100% - 10rem);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding: 2rem 0;
  border-bottom: solid 0.1rem #c2c2c2;
  word-break: break-all;
}

.common_txt01 {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.common_txt01.white {
  color: #fff;
}

.common_ttl01 {
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5384615385;
  letter-spacing: 0.08em;
  padding-bottom: 1.2rem;
  border-bottom: solid 0.1rem #c2c2c2;
  position: relative;
}
.common_ttl01::before {
  content: "";
  width: 15rem;
  height: 0.2rem;
  background-color: #203e95;
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_ttl01.en {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 0.8rem;
}

/*新着情報 - 一覧*/
.news_archive {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

/*新着情報 - 詳細*/
.detail_mv {
  height: 20rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #f7faff;
  margin-top: 5rem;
}
.detail_mv .container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.detail_mv .container .detail_mv_ttl_wrap {
  padding-bottom: 1rem;
  position: relative;
}
.detail_mv .container .detail_mv_ttl_wrap::before {
  content: "";
  width: 6rem;
  height: 0.1rem;
  background-color: #203e95;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.detail_mv .container .detail_mv_ttl_wrap .detail_mv_ttl {
  width: 100%;
  font-size: 2.4rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.4761904762;
  letter-spacing: 0.05em;
  text-align: center;
}
.detail_mv .container .detail_mv_ttl_wrap .detail_mv_date {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 1.4rem;
}

.news_detail_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.old_editor_area {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.1rem;
  word-break: break-all;
}
.old_editor_area > * {
  margin: 2rem 0;
}
.old_editor_area > p {
  margin: 1rem 0;
}
.old_editor_area a {
  color: #203e95;
  text-decoration: underline;
}
.old_editor_area .images_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
.old_editor_area .images_box > * {
  width: calc((100% - 1rem) / 2);
}
.old_editor_area .images_box + .images_box {
  margin-top: -1rem;
}

.editor_area {
  width: 100%;
}
.editor_area p {
  padding: 4rem 0;
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  line-height: 2;
}
.editor_area h2 {
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  padding: 1.5rem 0;
  position: relative;
}
.editor_area h2::before {
  position: absolute;
  border-bottom: 2px solid #203e95;
  width: 20%;
  content: "";
  left: 0;
  bottom: 0;
}
.editor_area h2::after {
  position: absolute;
  border-bottom: 1px solid #c2c2c2;
  width: 80%;
  content: "";
  right: 0;
  bottom: 0;
}
.editor_area h3 {
  font-size: 2rem;
  font-weight: 500;
  position: relative;
  letter-spacing: 0.2rem;
  margin: 2rem 0;
  padding-left: 2rem;
  position: relative;
}
.editor_area h3::before {
  position: absolute;
  content: "";
  border-left: 3px solid #203e95;
  width: 3px;
  height: 23px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.editor_area h4 {
  font-size: 1.8rem;
  font-weight: 500;
  margin: 2rem 0;
}
.editor_area ol {
  padding: 2rem 0;
  counter-reset: list-number;
}
.editor_area ol li {
  counter-increment: list-number;
  font-size: 1.6rem;
  line-height: 3rem;
  letter-spacing: 0.2rem;
  padding: 0 3rem;
  position: relative;
}
.editor_area ol li::before {
  content: counter(list-number) ". ";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #203e95;
  font-weight: bold;
  font-family: "Lato", sans-serif;
}
.editor_area ul {
  padding: 2rem 0;
  list-style: none;
}
.editor_area ul li {
  font-size: 1.6rem;
  line-height: 3rem;
  letter-spacing: 0.2rem;
  padding: 0 3rem;
  position: relative;
}
.editor_area ul li::before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7px;
  height: 7px;
  background-color: #203e95;
  border-radius: 45px;
}
.editor_area table {
  display: block;
  margin: 3rem 0;
  margin-bottom: 10rem;
}
.editor_area table tbody {
  display: block;
}
.editor_area table tbody tr {
  padding: 3rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  border-bottom: 1px solid #e3e3e3;
}
.editor_area table tbody tr th {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  width: 19.1666667%;
  display: block;
  letter-spacing: 0.2rem;
}
.editor_area table tbody tr td {
  font-size: 1.6rem;
  width: 80.8333333%;
  display: block;
  letter-spacing: 0.1rem;
}
.editor_area table tbody tr a {
  color: #203e95;
  border-bottom: 1px solid #203e95;
  padding-left: 2.5rem;
  padding-bottom: 0.5rem;
  margin-left: 2rem;
  position: relative;
}
.editor_area table tbody tr a::before {
  position: absolute;
  background-image: url(../img/common/page_icon01.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 14px;
  left: 0;
  bottom: 0.5rem;
  content: "";
}
.editor_area .detail_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2rem 0;
}
.editor_area .detail_img img {
  width: 100%;
}
.editor_area img.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.editor_area img.alignright {
  float: right;
  margin-bottom: 20px;
  margin-left: 20px;
}
.editor_area img.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}

.news_detail_button {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 5rem;
}
.news_detail_button .news_detail_button_link {
  display: inline-block;
  padding: 0 1.5rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.news_detail_button .news_detail_button_link span {
  font-size: 1.4rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.01em;
  text-decoration: underline;
  text-underline-offset: 0.8rem;
}
.news_detail_button .news_detail_button_link span::before {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1/1;
  border-bottom: solid 0.2rem #203e95;
  border-left: solid 0.2rem #203e95;
  position: absolute;
  top: calc(50% + 0.1rem);
  left: 0.1rem;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.news_detail_button .news_detail_button_link.next {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.news_detail_button .news_detail_button_link.next span::before {
  border-right: solid 0.2rem #203e95;
  border-left: none;
  left: auto;
  right: 0;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.news_detail_button .news_detail_button_link.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}
.news_detail_button .news_detail_button_link:hover {
  opacity: 0.7;
}
.news_detail_button .common_button {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 3rem;
}

/*よくある質問 - 一覧、詳細共通部分*/
.faq_search_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.faq_list_sec {
  padding-bottom: 5rem;
}

.common_search_form {
  width: 100%;
}
.common_search_form .search-form {
  width: 100%;
  min-height: 4.8rem;
  border: 0.1rem solid #4e525d;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
.common_search_form .search-form .search-input {
  width: calc(100% - 4.7rem);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 1rem;
  background-color: #ffffff;
}
.common_search_form .search-form .search-button {
  width: 4.7rem;
  background-color: #f1f1f1;
  cursor: pointer;
  position: relative;
}
.common_search_form .search-form .search-button::before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url(../img/faq_list/faq_list_icon07.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.common_search_form .keyword_box {
  width: 100%;
  margin-top: 2rem;
}
.common_search_form .keyword_box .keyword_txt {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
}
.common_search_form .keyword_box .keyword_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.5rem;
}
.common_search_form .keyword_box .keyword_list li a {
  font-size: 1.4rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  border-bottom: 0.1rem solid #203e95;
}

#search_section {
  padding-bottom: 5rem;
  display: none;
}
#search_section.is-open {
  display: block;
}

.common_faq_list {
  width: 100%;
  margin-top: 1rem;
}
.common_faq_list li {
  width: 100%;
  border-bottom: solid 0.1rem #e3e3e3;
}
.common_faq_list li > span,
.common_faq_list li > a {
  width: 100%;
  padding: 2rem 3rem 2rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.common_faq_list li > span::before,
.common_faq_list li > a::before {
  content: "";
  width: 0.7rem;
  height: 1.2rem;
  background: url(../img/common/common_arrow06.png) no-repeat center/contain;
  background: url(../img/common/common_arrow06.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_faq_list li > span .question,
.common_faq_list li > a .question {
  width: 2.5rem;
  font-family: "Lato", sans-serif;
  font-size: 2.4rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.common_faq_list li > span .ttl,
.common_faq_list li > a .ttl {
  width: calc(100% - 2.5rem);
  padding-left: 1rem;
}
.common_faq_list li > span .ttl span,
.common_faq_list li > a .ttl span {
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)) 0 100%/0% 0.1rem no-repeat;
  background: linear-gradient(currentColor, currentColor) 0 100%/0% 0.1rem no-repeat;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_faq_list li > span:hover .ttl span,
.common_faq_list li > a:hover .ttl span {
  color: #203e95;
  background-size: 100% 0.1rem;
}

.faq_cat_sec {
  padding-bottom: 5rem;
}
.faq_cat_sec .container .faq_cat_sec_list {
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}
.faq_cat_sec .container .faq_cat_sec_list li a {
  min-height: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 0.3rem;
  overflow: hidden;
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon {
  width: 5rem;
  background-color: #203e95;
  position: relative;
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon.product::before {
  width: 2rem;
  height: 2rem;
  background-image: url(../img/faq_list/faq_list_icon01.png);
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon.document::before {
  width: 2rem;
  height: 1.6rem;
  background-image: url(../img/faq_list/faq_list_icon02.png);
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon.company::before {
  width: 2rem;
  height: 1.8rem;
  background-image: url(../img/faq_list/faq_list_icon03.png);
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon.method::before {
  width: 2rem;
  height: 2rem;
  background-image: url(../img/faq_list/faq_list_icon04.png);
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon.hp::before {
  width: 2rem;
  height: 1.6rem;
  background-image: url(../img/faq_list/faq_list_icon05.png);
}
.faq_cat_sec .container .faq_cat_sec_list li a .icon.quality::before {
  width: 2.2rem;
  height: 2.2rem;
  background-image: url(../img/faq_list/faq_list_icon06.png);
}
.faq_cat_sec .container .faq_cat_sec_list li a .txt {
  width: calc(100% - 5rem);
  background-color: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 5rem 1rem 2rem;
}
.faq_cat_sec .container .faq_cat_sec_keywords {
  margin-top: 5rem;
}
.faq_cat_sec .container .faq_cat_sec_btn {
  width: 100%;
  margin-top: 5rem;
}
.faq_cat_sec .container .faq_cat_sec_btn a {
  margin: 0 auto;
}

/*よくある質問 - 詳細*/
.faq_detail_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.faq_detail_sec .container {
  max-width: 100rem;
}

/*ご利用規約*/
.terms_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.terms_sec .container .terms_main_ttl {
  margin-bottom: 3rem;
}
.terms_sec .container .terms_end_txt {
  text-align: right;
  margin-top: 2rem;
}
.terms_sec .container .terms_ttl {
  margin-top: 5rem;
  margin-bottom: 2rem;
}
.terms_sec .container .terms_ttl.mt {
  margin-top: 0;
}
.terms_sec .container .terms_list {
  margin-top: 2rem;
}
.terms_sec .container .terms_list .terms_clist {
  margin: 1rem 0;
}
.terms_sec .container .terms_contact_box {
  width: 100%;
}
.terms_sec .container .terms_contact_box dl {
  width: 100%;
  padding: 2rem;
  background-color: #f9f9f9;
}
.terms_sec .container .terms_contact_box dl dt {
  font-weight: 700;
  margin-bottom: 0.5rem;
  margin-top: 1rem;
}
.terms_sec .container .terms_contact_box dl dt:first-of-type {
  margin-top: 0;
}

/*製品情報一覧*/
.products_search {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.products_search .container .download_login_user {
  width: 100%;
  margin-bottom: 5rem;
}
.products_search .container .download_login_user .login_user_name {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.products_search .container .download_login_user .login_user_btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}
.products_search .container .download_login_user .login_user_btn li {
  width: 100%;
}
.products_search .container .download_login_user .login_user_btn li a {
  font-size: 1.6rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.products_search .container .download_caution {
  width: 100%;
  margin-bottom: 5rem;
}
.products_search .container .download_caution .download_caution_txt_wrap {
  width: 100%;
}
.products_search .container .download_caution .download_caution_txt_wrap .download_caution_txt {
  margin-top: 2rem;
}
.products_search .container .download_caution .download_caution_txt_wrap .download_caution_txt:first-of-type {
  margin-top: 0;
}
.products_search .container .download_caution .download_caution_btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 3rem;
}
.products_search .container .products_search_ttl {
  margin-top: 5rem;
}
.products_search .container .products_search_ttl:first-of-type {
  margin-top: 0;
}
.products_search .container .products_keyword_inner {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f9f9f9;
  margin-top: 3rem;
}
.products_search .container .products_keyword_inner .form_block {
  width: 100%;
}
.products_search .container .products_keyword_inner .form_block .search_txt {
  width: 10rem;
  font-size: 1.4rem;
  color: #ffffff;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 0.5rem 1rem;
  background-color: #4e525d;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem;
}
.products_search .container .products_keyword_inner .form_block .search-form button {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.products_search .container .products_keyword_inner .form_block .search-form button.disabled {
  opacity: 0.5;
  pointer-events: none;
}

.common_search_caetgory {
  width: 100%;
  border-radius: 0.3rem;
  overflow: hidden;
  margin-top: 3rem;
}
.common_search_caetgory .search_caetgory_parent {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background-color: #f7faff;
}
.common_search_caetgory .search_caetgory_parent button {
  width: 100%;
  min-height: 5rem;
  font-size: 1.4rem;
  color: #37517f;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 1rem;
  background-color: #f7f9fc;
  border: 0.1rem solid #bacae7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_search_caetgory .search_caetgory_parent button:nth-of-type(n + 3) {
  border-top: none;
}
.common_search_caetgory .search_caetgory_parent button:nth-of-type(2n) {
  border-left: none;
}
.common_search_caetgory .search_caetgory_parent button.active {
  color: #fff;
  background-color: #3b64a8;
}
.common_search_caetgory .search_caetgory_children {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f7f9fc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap {
  width: 100%;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_list {
  width: 100%;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_list.none {
  display: none;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_list .caetgory_children_checkbox {
  width: 100%;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_list .caetgory_children_checkbox > *:first-child {
  grid-column: 1/-1;
  margin-bottom: 1rem;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_button {
  margin-top: 5rem;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_button button {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_button button.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.common_search_caetgory .search_caetgory_children .search_caetgory_children_wrap .search_caetgory_children_button button::before {
  display: none;
}

.search_results {
  padding-bottom: 5rem;
}
.search_results.is-hidden {
  display: none;
}
.search_results .container .search_results_cases {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12rem;
  margin-top: 1rem;
}
.search_results .container .search_results_cases .number {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.625;
  color: #203e95;
  letter-spacing: 0.05em;
  display: inline-block;
  padding: 0 0.5rem;
  position: relative;
  top: 0.1rem;
}
.search_results .container .search_results_list {
  width: 100%;
  margin-top: 3rem;
}
.search_results .container .search_results_list.downloads {
  display: grid;
  gap: 3rem;
}

.common_products_box {
  width: 100%;
}
.common_products_box a {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  border-radius: 0.15rem;
}
.common_products_box a .products_box_ttl {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 1rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.common_products_box a .products_box_ttl .common_name {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.08em;
  text-align: center;
  display: block;
  margin-top: 0.5rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.common_products_box a .products_box_ttl .name {
  width: 100%;
  font-size: 1.6rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.08em;
  text-align: center;
  display: block;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_products_box a .products_model {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 0.5rem;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
.common_products_box a .products_box_img {
  width: 100%;
  aspect-ratio: 1/0.6818181818;
  background-color: #fff;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_products_box a .products_box_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.common_products_box a .products_box_category {
  width: 100%;
  max-width: 22rem;
  min-height: 2.8rem;
  font-size: 1.4rem;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 0.3rem 1rem;
  background-color: #203e95;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2.5rem auto 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  display: none;
}
.common_products_box a .products_box_txt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.08em;
  margin-top: 1rem;
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.common_downloads_box {
  width: 100%;
  padding: 3rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #f5f5f5;
}
.common_downloads_box .downloads_box_img {
  width: 100%;
  aspect-ratio: 1/0.6818181818;
  padding: 1rem;
  background-color: #fff;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_downloads_box .downloads_box_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.common_downloads_box .products_box_data {
  width: 100%;
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.common_downloads_box .products_box_data .products_box_name,
.common_downloads_box .products_box_data .products_box_data_list {
  position: relative;
  padding-bottom: 1rem;
}
.common_downloads_box .products_box_data .products_box_name::before,
.common_downloads_box .products_box_data .products_box_data_list::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: #203e95;
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_downloads_box .products_box_data .products_box_name > *:first-child,
.common_downloads_box .products_box_data .products_box_data_list > *:first-child {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  position: relative;
  display: block;
}
.common_downloads_box .products_box_data .products_box_name > *:last-child,
.common_downloads_box .products_box_data .products_box_data_list > *:last-child {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: block;
  margin-top: 0.5rem;
}
.common_downloads_box .products_box_data .products_box_name > *:last-child .cat-parent,
.common_downloads_box .products_box_data .products_box_data_list > *:last-child .cat-parent {
  position: relative;
  padding-right: 2rem;
}
.common_downloads_box .products_box_data .products_box_name > *:last-child .cat-parent::before,
.common_downloads_box .products_box_data .products_box_data_list > *:last-child .cat-parent::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-bottom: 0.2rem solid #203e95;
  border-right: 0.2rem solid #203e95;
  position: absolute;
  top: calc(50% - 0.1rem);
  right: 0.5rem;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
}
.common_downloads_box .downloads_document_list {
  margin-top: 3rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.wpcf7_wrap.none {
  display: none;
}

.wpcf7-wrap.active {
  display: block;
}

/*フォームラジオボタン*/
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 2rem;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
  display: inline-block;
  margin: 0;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label input[type=checkbox] {
  display: none;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
  font-size: 1.6rem;
  position: relative;
  padding-left: 3rem;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  border: 0.1rem solid #92959e;
  background-color: #ffffff;
  position: absolute;
  top: 0.4rem;
  left: 0;
  cursor: pointer;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after {
  content: "";
  width: 1.2rem;
  height: 0.8rem;
  border-bottom: 0.2rem solid #61646e;
  border-left: 0.2rem solid #61646e;
  position: absolute;
  top: 0.7rem;
  left: 0.3rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  opacity: 0;
  pointer-events: none;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label.first {
  font-weight: 500;
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item:first-child {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-bottom: 1rem;
}

/*製品情報 - 詳細*/
.common_products_mv {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f7faff;
}
.common_products_mv .products_mv {
  width: 100%;
  position: relative;
}
.common_products_mv .products_mv .products_mv_inner {
  width: 100%;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data {
  width: 100%;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_name {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_name .common_name {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.08em;
  display: block;
  margin-top: 1rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_name .name {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.08em;
  display: block;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_model {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.08em;
  margin-top: 1rem;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_apply_data {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 2;
  margin-top: 2rem;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_apply_data dt {
  width: 9rem;
  text-align: right;
  padding-right: 0.5rem;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_apply_data dd {
  width: calc(100% - 9rem);
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_use_category {
  width: 100%;
  margin-top: 3.4rem;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_use_category dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0em;
  padding: 0 0 0.3rem 1.5rem;
  border-left: solid 0.2rem #203e95;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_use_category dd {
  width: 100%;
  margin-top: 2rem;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_use_category dd ul {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, 5rem);
  gap: 1rem;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_data .products_mv_btn {
  margin-top: 5rem;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_img {
  width: 100%;
  aspect-ratio: 1/0.8333333333;
  margin-top: 2rem;
  position: relative;
}
.common_products_mv .products_mv .products_mv_inner .products_mv_img::before {
  content: "PRODUCTS";
  font-family: "Lato", sans-serif;
  font-size: 4rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  opacity: 0.1;
  position: absolute;
  top: 0.5rem;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.common_products_mv .products_mv .products_mv_inner .products_mv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.products_detail_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.products_detail_sec .container .products_overview_txt {
  margin-top: 2rem;
}
.products_detail_sec .container .products_distinction_ttl {
  margin-top: 3rem;
}
.products_detail_sec .container .products_distinction_wrap {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f5f5f5;
  margin-top: 2rem;
}
.products_detail_sec .container .products_distinction_wrap .products_distinction_txt {
  line-height: 1.8;
}
.products_detail_sec .container .products_feature_ttl {
  margin-top: 5rem;
}
.products_detail_sec .container .products_feature_list {
  margin-top: 2rem;
}
.products_detail_sec .container .products_feature_txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: 2rem;
}
.products_detail_sec .container .products_structure_ttl {
  margin-top: 3rem;
}
.products_detail_sec .container .products_structure_list_wrap {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f5f5f5;
  margin-top: 2rem;
}
.products_detail_sec .container .products_spec_ttl {
  margin-top: 5rem;
}
.products_detail_sec .container .products_spec_img {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
}
.products_detail_sec .container .products_spec_note {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  margin-top: 1rem;
  padding-left: 1em;
  text-indent: -1em;
}
.products_detail_sec .container .products_spec_table_wrap {
  width: 100%;
  overflow: scroll;
  margin-top: 3rem;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table {
  width: 120rem;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table thead {
  width: 100%;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table thead tr {
  width: 100%;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table thead tr th {
  background-color: #203e95;
  border-right: solid 0.1rem #e1e1e1;
  border-bottom: solid 0.1rem #e1e1e1;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table thead tr th:last-child {
  border-right: none;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table thead tr th div {
  min-width: 8rem;
  min-height: 4rem;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  word-break: break-all;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table tbody {
  width: 100%;
  background-color: #fbfbfb;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table tbody tr {
  width: 100%;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table tbody tr:nth-of-type(odd) {
  background-color: #f5f5f5;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table tbody tr td {
  border-right: solid 0.1rem #e1e1e1;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table tbody tr td:last-child {
  border-right: none;
}
.products_detail_sec .container .products_spec_table_wrap .products_spec_table tbody tr td div {
  min-width: 8rem;
  min-height: 4rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  word-break: break-all;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.products_detail_sec .container .products_spec_txt {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 1rem;
}
.products_detail_sec .container .products_document_ttl {
  margin-top: 5rem;
}
.products_detail_sec .container .products_document_box {
  width: 100%;
  margin-top: 3rem;
  position: relative;
}
.products_detail_sec .container .products_document_box .products_document_guest {
  width: 100%;
  padding: 2rem;
  background-color: #f5f5f5;
  border: solid 0.1rem #c8c8c8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2rem;
}
.products_detail_sec .container .products_document_box .products_document_guest .products_document_guest_txt span {
  font-size: 1.4rem;
  color: #7a7a7a;
  display: inline-block;
  padding-left: 2.7rem;
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.products_detail_sec .container .products_document_box .products_document_guest .products_document_guest_txt span::before {
  content: "";
  width: 1.7rem;
  height: 1.8rem;
  background: url(../img/common/key_icon.png) no-repeat center/contain;
  background: url(../img/common/key_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.products_detail_sec .container .products_document_box .products_document_guest .products_document_guest_txt span:hover {
  opacity: 0.7;
}
.products_detail_sec .container .products_sec_relate_ttl {
  margin-top: 5rem;
}
.products_detail_sec .container .products_sec_relate_slider {
  margin-top: 3rem;
}
.products_detail_sec .container .products_sec_btn {
  margin-top: 5rem;
}

.common_document_dl_list {
  width: 100%;
  display: grid;
  gap: 3rem;
}
.common_document_dl_list .products_document_dl_list {
  width: 100%;
}
.common_document_dl_list .products_document_dl_list dt {
  width: 100%;
}
.common_document_dl_list .products_document_dl_list dd {
  width: 100%;
  margin-top: 0.1rem;
}
.common_document_dl_list .products_document_dl_list dd:first-of-type {
  margin-top: 2rem;
}
.common_document_dl_list .products_document_dl_list dd a,
.common_document_dl_list .products_document_dl_list dd button {
  width: 100%;
  min-height: 4.8rem;
  font-size: 1.4rem;
  color: #3b64a8;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.12em;
  word-break: break-all;
  text-align: left;
  padding: 1rem 4rem;
  background-color: #f7f9fc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.common_document_dl_list .products_document_dl_list dd a::before,
.common_document_dl_list .products_document_dl_list dd button::before {
  content: "";
  width: 1.8rem;
  height: 1.5rem;
  background: url(../img/common/document_dl_icon.png) no-repeat center/contain;
  background: url(../img/common/document_dl_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_document_dl_list .products_document_dl_list dd a:hover,
.common_document_dl_list .products_document_dl_list dd button:hover {
  color: #f7f9fc;
  background-color: #3b64a8;
  opacity: 1;
}
.common_document_dl_list .products_document_dl_list dd a:hover::before,
.common_document_dl_list .products_document_dl_list dd button:hover::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

/*お問い合わせ*/
.contact_sec {
  padding-top: 3rem;
  padding-bottom: 6rem;
}
.contact_sec.register, .contact_sec.login {
  padding-bottom: 1rem;
}
.contact_sec .container #wpmem_login,
.contact_sec .container #wpmem_reg {
  font-family: "Noto Sans JP", "Noto Sans", sans-serif;
}
.contact_sec .container .profile_list {
  width: 100%;
}
.contact_sec .container .profile_list ul {
  width: 100%;
}
.contact_sec .container .profile_list ul li {
  width: 100%;
  margin-top: 2rem;
}
.contact_sec .container .profile_list ul li:first-of-type {
  margin-top: 0;
}
.contact_sec .container .profile_list ul li a {
  margin: 0 auto;
}
.contact_sec .container #contact_form {
  padding: 3rem 0 5rem;
}
.contact_sec .container #contact_form.en dl dt.required span {
  padding-right: 1.5rem;
}
.contact_sec .container #contact_form.en dl dt.required span::before {
  content: "*";
  width: auto;
  height: auto;
  color: #ab0909;
  background-color: transparent;
  font-size: 2.4rem;
  display: block;
  top: -1rem;
  -webkit-transform: none;
          transform: none;
}
.contact_sec .container #contact_form.en dl dt.any span::before {
  display: none;
}
.contact_sec .container #contact_form dl {
  width: 100%;
  padding: 2rem 1rem;
  border-bottom: 0.1rem solid #e3e3e3;
}
.contact_sec .container #contact_form dl dt {
  width: 100%;
}
.contact_sec .container #contact_form dl dt.required span::before {
  content: "必須";
  background-color: #ab0909;
}
.contact_sec .container #contact_form dl dt.any span::before {
  content: "任意";
  background-color: #b0b1ba;
}
.contact_sec .container #contact_form dl dt span {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.12rem;
  position: relative;
  padding-right: 5rem;
}
.contact_sec .container #contact_form dl dt span::before {
  width: 4rem;
  height: 2rem;
  color: #ffffff;
  font-size: 1.2rem;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact_sec .container #contact_form dl dd {
  width: 100%;
  margin-top: 1rem;
}
.contact_sec .container #contact_form dl dd.name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
.contact_sec .container #contact_form dl dd.name .name_box {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.contact_sec .container #contact_form dl dd .confirm_txt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12rem;
  display: block;
}
.contact_sec .container #contact_form dl dd .address_search_wrap {
  width: 100%;
}
.contact_sec .container #contact_form dl dd .address_search_wrap .address_search_txt {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-bottom: 0.5rem;
}
.contact_sec .container #contact_form dl dd .address_search_wrap .address_search_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  padding-bottom: 1rem;
}
.contact_sec .container #contact_form dl dd .address_search_wrap .address_search_flex .address_search {
  width: 11rem;
  height: 4rem;
  font-size: 1.6rem;
  color: #ffffff;
  letter-spacing: 0.12rem;
  background-color: #203e95;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contact_sec .container #contact_form dl dd .input_box {
  width: 100%;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check {
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check label input[type=checkbox] {
  display: none;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check label .wpcf7-list-item-label {
  font-size: 1.6rem;
  position: relative;
  padding-left: 3rem;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check label .wpcf7-list-item-label::before {
  content: "";
  width: 2rem;
  height: 2rem;
  border: 0.1rem solid #92959e;
  background-color: #ffffff;
  position: absolute;
  top: 0.3rem;
  left: 0;
  cursor: pointer;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check label .wpcf7-list-item-label::after {
  content: "";
  width: 1.2rem;
  height: 0.8rem;
  border-bottom: 0.2rem solid #61646e;
  border-left: 0.2rem solid #61646e;
  position: absolute;
  top: 0.7rem;
  left: 0.4rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  opacity: 0;
  pointer-events: none;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check label .wpcf7-list-item-label.first {
  font-weight: 500;
}
.contact_sec .container #contact_form dl dd .input_box .agree_check .terms_link {
  color: #203e95;
  text-underline-offset: 0.5rem;
  text-decoration: underline;
  margin-left: 2rem;
}
.contact_sec .container #contact_form dl dd .input_box input,
.contact_sec .container #contact_form dl dd .input_box select,
.contact_sec .container #contact_form dl dd .input_box textarea {
  width: 100%;
  color: #111;
  min-height: 4rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0;
  background: #f5f5f5;
}
.contact_sec .container #contact_form dl dd .input_box select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  background: -webkit-image-set(url(../img/contact/contact_icon01.png)) no-repeat center right 2rem/1.2rem, #f5f5f5;
  background: image-set(url(../img/contact/contact_icon01.png)) no-repeat center right 2rem/1.2rem, #f5f5f5;
}
.contact_sec .container #contact_form dl dd .input_box textarea {
  min-height: 20rem;
}
.contact_sec .container #contact_form dl dd .wpcf7_block {
  width: 100%;
  margin-top: 2rem;
}
.contact_sec .container #contact_form dl dd .wpcf7_block .wpcf7-form-control-wrap .wpcf7-checkbox {
  display: grid;
  gap: 1rem;
}
.contact_sec .container #contact_form dl dd .wpcf7_block .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item {
  padding-right: 1rem;
}
.contact_sec .container #contact_form dl dd .wpcf7_block .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label {
  display: inline-block;
}
.contact_sec .container #contact_form dl dd .wpcf7_block .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
  cursor: pointer;
  display: inline-block;
}
.contact_sec .container #contact_form dl dd .wpcf7_block .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item:first-child {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  margin-bottom: 0;
}
.contact_sec .container #contact_form dl .annotation {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0.5rem;
}
.contact_sec .container #contact_form dl .annotation:first-of-type {
  margin-top: 1rem;
}
.contact_sec .container #contact_form dl .annotation.red {
  color: #ab0909;
}
.contact_sec .container .register_btn {
  margin-top: 5rem;
}
.contact_sec .container .contact_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  gap: 2rem;
}
.contact_sec .container .contact_btn .button {
  width: 100%;
  max-width: 30rem;
  position: relative;
  display: inline-block;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.contact_sec .container .contact_btn .button label {
  width: 100%;
}
.contact_sec .container .contact_btn .button.back {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.contact_sec .container .contact_btn .button.back::before {
  right: auto;
  left: 1.5rem;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.contact_sec .container .contact_btn .button.back > input {
  background-color: #ccc;
  border: solid 0.1rem #ccc;
}
.contact_sec .container .contact_btn .button.back:hover::before {
  right: auto;
  left: 0.5rem;
}
.contact_sec .container .contact_btn .button::before {
  content: "";
  width: 1.2rem;
  height: 1.1rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  -webkit-filter: brightness(20);
          filter: brightness(20);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
}
.contact_sec .container .contact_btn .button > input {
  width: 100%;
  height: 5.5rem;
  font-size: 1.6rem;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08rem;
  background-color: #203e95;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contact_sec .container .contact_btn .button:hover::before {
  right: 0.5rem;
}
.contact_sec .container .contact_btn .button:hover > input {
  opacity: 0.7;
}
.contact_sec .wpcf7-not-valid-tip {
  font-size: 1.4rem;
  color: #f00;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
}
.contact_sec .wpcf7-response-output {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding: 1rem 2rem !important;
}
.contact_sec .contact_sec_thanks_txt {
  margin-top: 1rem;
}
.contact_sec .contact_sec_thanks_txt:first-of-type {
  margin-top: 2rem;
}
.contact_sec .contact_sec_thanks_btn {
  margin-top: 3rem;
}

.wpmem_msg {
  width: 100% !important;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-align: center;
}

.wpcf7-spinner {
  display: none !important;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 9999;
}
.modal-overlay img {
  max-width: 90%;
  max-height: 90%;
  -webkit-box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.5);
}

.sitemap_sec {
  padding-top: 3rem;
  padding-bottom: 6rem;
}
.sitemap_sec .container .sitemap_navi {
  width: 100%;
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
}
.sitemap_sec .container .sitemap_navi:first-of-type {
  margin-top: 0;
}
.sitemap_sec .container .sitemap_navi .sitemap_navi_parent > a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  display: block;
  padding-right: 8rem;
  padding-bottom: 1rem;
  border-bottom: solid 0.2rem #203e95;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.sitemap_sec .container .sitemap_navi .sitemap_navi_parent > a::before {
  content: "";
  width: 5.6rem;
  height: 1.75rem;
  background: url(../img/common/common_arrow04.png) no-repeat center/contain;
  position: absolute;
  top: 0.6rem;
  right: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.sitemap_sec .container .sitemap_navi .sitemap_navi_parent > a.external::before {
  content: "";
  width: 2.1rem;
  height: 2.1rem;
  background: url(../img/common/external_icon.png) no-repeat center/contain;
  background: url(../img/common/external_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 0.7rem;
  right: 1.8rem;
}
.sitemap_sec .container .sitemap_navi .sitemap_navi_parent > a:hover {
  opacity: 0.7;
}
.sitemap_sec .container .sitemap_navi .sitemap_navi_parent .sitemap_navi_children {
  width: 100%;
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}
.sitemap_sec .container .sitemap_navi .sitemap_navi_parent .sitemap_navi_children a {
  font-size: 1.4rem;
  color: #858585;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0;
  display: block;
  padding-left: 2.2rem;
  position: relative;
}
.sitemap_sec .container .sitemap_navi .sitemap_navi_parent .sitemap_navi_children a::before {
  content: "";
  width: 1.3rem;
  height: 0.1rem;
  background-color: #858585;
  position: absolute;
  top: 1.3rem;
  left: 0;
}

.page-not_found {
  padding-top: 5rem;
}

.not_found {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #f7faff;
  overflow: hidden;
  position: relative;
}
.not_found::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/not_found_bg.png) no-repeat center;
  mix-blend-mode: soft-light;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.not_found .container {
  position: relative;
  z-index: 2;
}
.not_found .container .not_found_ttl {
  width: 100%;
  font-family: "Roboto", sans-serif;
  color: #203e95;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.not_found .container .not_found_ttl .ttl {
  font-size: 7.2rem;
  display: block;
}
.not_found .container .not_found_ttl .sub {
  font-size: 2rem;
  display: block;
}
.not_found .container .not_found_txt {
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 2rem;
}
.not_found .container .not_found_txt:first-of-type {
  margin-top: 3rem;
}
.not_found .container .not_found_btn {
  margin-top: 5rem;
}
.not_found .container .not_found_btn a {
  margin: 0 auto;
}

.adjustment_mv {
  padding-top: 5rem;
}

.common_method_mv {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f7faff;
}
.common_method_mv .method_mv {
  width: 100%;
  position: relative;
}
.common_method_mv .method_mv .method_mv_inner {
  width: 100%;
}
.common_method_mv .method_mv .method_mv_inner .method_mv_ttl_wrap {
  width: 100%;
}
.common_method_mv .method_mv .method_mv_inner .method_mv_ttl_wrap .method_mv_ttl {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
}
.common_method_mv .method_mv .method_mv_inner .method_mv_ttl_wrap .method_mv_txt {
  margin-top: 2rem;
}
.common_method_mv .method_mv .method_mv_inner .method_mv_ttl_wrap .method_mv_btn {
  margin-top: 3rem;
}
.common_method_mv .method_mv .method_mv_inner .method_mv_img {
  width: 100%;
  aspect-ratio: 1/0.65625;
  margin-top: 2rem;
  position: relative;
}
.common_method_mv .method_mv .method_mv_inner .method_mv_img::before {
  content: "METHOD";
  font-family: "Lato", sans-serif;
  font-size: 4rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  opacity: 0.1;
  position: absolute;
  top: 0.5rem;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.common_method_mv .method_mv .method_mv_inner .method_mv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.method_sec {
  margin-top: 5rem;
  padding-bottom: 8rem;
}
.method_sec .container .method_sec_works_ttl {
  margin-top: 5rem;
}
.method_sec .container .method_sec_works_list {
  margin-top: 3rem;
}
.method_sec .container .method_sec_products_ttl {
  margin-top: 5rem;
}
.method_sec .container .method_sec_products_slider {
  margin-top: 3rem;
}
.method_sec .container .method_sec_others_ttl {
  margin-top: 5rem;
}
.method_sec .container .method_sec_others_list {
  margin-top: 3rem;
}

.common_method_list {
  width: 100%;
  display: grid;
  gap: 3rem;
}
.common_method_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  padding-bottom: 3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_method_list li a::before {
  content: "";
  width: 7rem;
  height: 2rem;
  background: url(../img/common/common_arrow04.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_method_list li a .method_list_ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  margin-top: 2rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.common_method_list li a .method_list_img {
  width: 100%;
  aspect-ratio: 1/0.65625;
}
.common_method_list li a .method_list_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.common_method_list li a .method_list_txt {
  margin-top: 1rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.common_products_slider {
  width: calc(100% + 1rem);
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  overflow: hidden;
}
.common_products_slider .swiper-wrapper .swiper-slide {
  padding: 0 0.5rem;
  height: auto;
}
.common_products_slider .swiper-wrapper .swiper-slide a {
  height: 100%;
  display: inline-block;
}
.common_products_slider .swiper-wrapper .swiper-slide a .products_slider_img {
  width: 100%;
  aspect-ratio: 1/0.7857142857;
  background-color: #fff;
}
.common_products_slider .swiper-wrapper .swiper-slide a .products_slider_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.common_products_slider .swiper-wrapper .swiper-slide a .products_slider_ttl {
  width: 100%;
  height: auto;
  font-size: 1.4rem;
  color: #203e95;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1rem;
  margin-top: 2rem;
  position: relative;
}
.common_products_slider .swiper-wrapper .swiper-slide a .products_slider_ttl::before {
  content: "";
  width: 1.1rem;
  height: 1rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: 1rem;
}
.common_products_slider .products_slider_pagenation {
  width: 100%;
  margin-top: 3rem;
}
.common_products_slider .products_slider_pagenation .pagination-wrap {
  width: 100%;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.common_products_slider .products_slider_pagenation .pagination-wrap .swiper-pagination {
  width: auto;
  font-size: 1.4rem;
  color: #969cac;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08rem;
  position: relative;
  margin: 1.9rem 1.8rem 0 0;
}
.common_products_slider .products_slider_pagenation .pagination-wrap .button-wrap {
  width: 9rem;
  position: relative;
}
.common_products_slider .products_slider_pagenation .pagination-wrap .button-wrap .swiper-button-prev,
.common_products_slider .products_slider_pagenation .pagination-wrap .button-wrap .swiper-button-next {
  width: 4rem;
  height: 4rem;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 1;
  position: absolute;
}
.common_products_slider .products_slider_pagenation .pagination-wrap .button-wrap .swiper-button-prev::after,
.common_products_slider .products_slider_pagenation .pagination-wrap .button-wrap .swiper-button-next::after {
  display: none;
}
.common_products_slider .products_slider_pagenation .pagination-wrap .button-wrap .swiper-button-prev {
  background-image: url(../img/products_detail/products_detail_icon09.png);
  left: 0;
}
.common_products_slider .products_slider_pagenation .pagination-wrap .button-wrap .swiper-button-next {
  background-image: url(../img/products_detail/products_detail_icon10.png);
  right: 0;
}

.common_works_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
}
.common_works_list li .works_list_ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  text-align: center;
}
.common_works_list li .works_list_img {
  width: 100%;
  aspect-ratio: 1/0.7857142857;
  margin-top: 1.5rem;
  background-color: #fff;
}
.common_works_list li .works_list_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.common_works_list li .works_list_data {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 2rem;
}
.common_works_list li .works_list_data dt {
  width: 7rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 0.8rem 1rem 0.7rem 0;
  border-bottom: solid 0.1rem #203e95;
}
.common_works_list li .works_list_data dd {
  width: calc(100% - 7rem);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 0.8rem 1rem 0.7rem;
  border-bottom: solid 0.1rem #c2c2c2;
  word-break: break-all;
}

.block_editor_area {
  width: 100%;
}
.block_editor_area > .block_editor_h2 {
  margin-top: 5rem;
}
.block_editor_area > .block_editor_h3 {
  margin-top: 3rem;
}
.block_editor_area .block_editor_txt {
  margin-top: 1rem;
}
.block_editor_area .block_editor_bg {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f5f5f5;
  margin-top: 2rem;
}
.block_editor_area > .block_editor_dl {
  margin-top: 2rem;
}
.block_editor_area .block_editor_dl dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 1.9rem;
  position: relative;
  margin-top: 2rem;
}
.block_editor_area .block_editor_dl dt:first-of-type {
  margin-top: 0;
}
.block_editor_area .block_editor_dl dt::before {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #203e95;
  position: absolute;
  top: 0.9rem;
  left: 0;
}
.block_editor_area .block_editor_dl dd {
  margin-top: 1rem;
}
.block_editor_area > .block_editor_img {
  margin-top: 4.4rem;
}
.block_editor_area .block_editor_img {
  width: 100%;
  display: grid;
  gap: 2rem;
}
.block_editor_area .block_editor_img figure {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.block_editor_area .block_editor_img figure img {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.block_editor_area .block_editor_img figure figcaption {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
  margin-bottom: 1rem;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.block_editor_area > .block_editor_ul {
  margin-top: 2rem;
}
.block_editor_area > .block_editor_flow_list {
  margin-top: 4rem;
}
.block_editor_area > .block_editor_flow_list02 {
  margin-top: 4rem;
}
.block_editor_area > .block_editor_flex_box {
  margin-top: 2rem;
}
.block_editor_area .block_editor_flex_box {
  width: 100%;
  margin-top: 2rem;
}
.block_editor_area .block_editor_flex_box .block_editor_flex_box_inner {
  width: 100%;
}
.block_editor_area .block_editor_flex_box .block_editor_flex_box_inner .block_editor_flex_box_inner_editor h2,
.block_editor_area .block_editor_flex_box .block_editor_flex_box_inner .block_editor_flex_box_inner_editor h3 {
  margin-bottom: 1rem;
  margin-top: 3rem;
}
.block_editor_area .block_editor_flex_box .block_editor_flex_box_inner .block_editor_flex_box_inner_editor h2:first-child,
.block_editor_area .block_editor_flex_box .block_editor_flex_box_inner .block_editor_flex_box_inner_editor h3:first-child {
  margin-top: 0;
}
.block_editor_area .block_editor_flex_box .block_editor_flex_box_inner .block_editor_flex_box_inner_editor p,
.block_editor_area .block_editor_flex_box .block_editor_flex_box_inner .block_editor_flex_box_inner_editor ul {
  margin: 1rem 0;
}
.block_editor_area .block_editor_flex_box .block_editor_flex_box_img {
  width: 100%;
  margin-top: 2rem;
}
.block_editor_area > .block_editor_movie {
  margin-top: 3rem;
}
.block_editor_area .block_editor_movie {
  width: 100%;
  display: grid;
  gap: 2rem;
}
.block_editor_area .block_editor_movie .movie_box {
  width: 100%;
}
.block_editor_area .block_editor_movie .movie_box .movie_ttl {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
  margin-bottom: 1rem;
}
.block_editor_area .block_editor_movie .movie_box .movie {
  width: 100%;
  aspect-ratio: 1/0.5625;
}
.block_editor_area .block_editor_movie .movie_box .movie iframe {
  width: 100%;
  height: 100%;
}

.common_ttl03 {
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5384615385;
  letter-spacing: 0.12em;
  text-align: center;
  padding-bottom: 1rem;
  position: relative;
}
.common_ttl03::before {
  content: "";
  width: 4rem;
  height: 0.2rem;
  background-color: #203e95;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.common_list02 {
  width: 100%;
  display: grid;
  gap: 1rem;
}
.common_list02 li {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.12em;
  padding-left: 1.9rem;
  position: relative;
}
.common_list02 li::before {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #203e95;
  position: absolute;
  top: 0.9rem;
  left: 0;
}
.common_list02.en li {
  padding-left: 2.5rem;
}

.common_flow_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4rem;
  counter-reset: flow_num;
}
.common_flow_list li {
  padding: 3rem 2.5rem 3rem;
  background-color: #f7faff;
  counter-increment: flow_num;
  position: relative;
}
.common_flow_list li::before {
  content: counter(flow_num, decimal-leading-zero);
  font-family: "Lato", sans-serif;
  font-size: 3.2rem;
  color: #93a4d4;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  position: absolute;
  top: -1.6rem;
  left: 1rem;
  z-index: 2;
}
.common_flow_list li::after {
  content: "";
  width: 1.1rem;
  height: 1rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  -webkit-transform: translate(-50%, 100%) rotate(90deg);
          transform: translate(-50%, 100%) rotate(90deg);
  z-index: 2;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_flow_list li:last-of-type::after {
  display: none;
}
.common_flow_list li .flow_box_ttl {
  width: 100%;
  font-size: 1.8rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
}
.common_flow_list li .flow_box_img {
  width: 23rem;
  margin: 1.5rem auto 0;
}
.common_flow_list li .flow_box_img img {
  width: 100%;
  display: inline-block;
}
.common_flow_list li .flow_box_txt {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.08em;
  margin: 1.4rem auto 0;
}

.common_flow_list02 {
  width: 100%;
  display: grid;
  gap: 1rem;
  counter-reset: flow_num;
}
.common_flow_list02 > li {
  width: 100%;
  padding-bottom: 4.5rem;
  counter-increment: flow_num;
  position: relative;
}
.common_flow_list02 > li:last-of-type {
  padding-bottom: 0;
}
.common_flow_list02 > li:last-of-type::after {
  display: none;
}
.common_flow_list02 > li::after {
  content: "";
  width: 1.5rem;
  height: 3.5rem;
  background: url(../img/method/common_flow_list02_arrow.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.common_flow_list02 > li .flow_box_ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding-left: 3.5rem;
  position: relative;
}
.common_flow_list02 > li .flow_box_ttl::before {
  content: counter(flow_num, decimal-leading-zero);
  font-family: "Lato", sans-serif;
  font-size: 2.4rem;
  color: #93a4d4;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: 0.2rem;
  left: 0;
  z-index: 2;
}
.common_flow_list02 > li .flow_box_img {
  width: 100%;
  margin-top: 2rem;
}
.common_flow_list02 > li .flow_box_list {
  margin-top: 2rem;
}
.common_flow_list02 > li .flow_box_note {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding-left: 2rem;
  margin-top: 1rem;
}

.common_inner_navi {
  width: 100%;
  padding: 0 2rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#f7faff), color-stop(50%, #f7faff), color-stop(50%, transparent), to(transparent));
  background: linear-gradient(to bottom, #f7faff 0%, #f7faff 50%, transparent 50%, transparent 100%);
}
.common_inner_navi .inner_navi {
  width: 100%;
  border: solid 0.1rem #969cac;
  background-color: #fff;
  border-radius: 0.3rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding: 2rem;
}
.common_inner_navi .inner_navi a {
  min-height: 4rem;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.12em;
  padding: 1rem 1rem;
  background-color: #61646e;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.common_inner_navi .inner_navi a::before {
  content: "";
  width: 0.9rem;
  height: 0.8rem;
  background: url(../img/common/common_arrow05.png) no-repeat center/contain;
  background: url(../img/common/common_arrow05.svg) no-repeat center/contain;
  -webkit-filter: brightness(20);
          filter: brightness(20);
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_inner_navi .inner_navi a:hover::before {
  top: calc(50% + 1.1rem);
}

.register .contact_sec #wpmem_reg {
  width: 100%;
  margin: 0;
}
.register .contact_sec #wpmem_reg dl dd .input_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.register .contact_sec #wpmem_reg dl dd .input_box input.password {
  width: calc(100% - 7rem);
}
.register .contact_sec #wpmem_reg dl dd .input_box .pw-toggle {
  width: 6rem;
  height: 3rem;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.12rem;
  background-color: #203e95;
  border: solid 0.1rem #203e95;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  margin-left: 1rem;
}
.register .contact_sec #wpmem_reg dl dd .input_box .pw-toggle:hover {
  opacity: 0.7;
}
.register .contact_sec #wpmem_reg fieldset {
  margin: 0;
}
.register .contact_sec #wpmem_reg .req-text {
  display: none;
}

.login .contact_sec #wpmem_login,
.profile .contact_sec #wpmem_login,
.register .contact_sec #wpmem_login,
.reset .contact_sec #wpmem_login {
  width: 100%;
  margin: 0;
}
.login .contact_sec #wpmem_login dl dt span::before,
.profile .contact_sec #wpmem_login dl dt span::before,
.register .contact_sec #wpmem_login dl dt span::before,
.reset .contact_sec #wpmem_login dl dt span::before {
  display: none;
}
.login .contact_sec #wpmem_login dl dd .input_box,
.profile .contact_sec #wpmem_login dl dd .input_box,
.register .contact_sec #wpmem_login dl dd .input_box,
.reset .contact_sec #wpmem_login dl dd .input_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.login .contact_sec #wpmem_login dl dd .input_box input.password,
.profile .contact_sec #wpmem_login dl dd .input_box input.password,
.register .contact_sec #wpmem_login dl dd .input_box input.password,
.reset .contact_sec #wpmem_login dl dd .input_box input.password {
  width: calc(100% - 7rem);
}
.login .contact_sec #wpmem_login dl dd .input_box .pw-toggle,
.profile .contact_sec #wpmem_login dl dd .input_box .pw-toggle,
.register .contact_sec #wpmem_login dl dd .input_box .pw-toggle,
.reset .contact_sec #wpmem_login dl dd .input_box .pw-toggle {
  width: 6rem;
  height: 3rem;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.12rem;
  background-color: #203e95;
  border: solid 0.1rem #203e95;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  margin-left: 1rem;
}
.login .contact_sec #wpmem_login dl dd .input_box .pw-toggle:hover,
.profile .contact_sec #wpmem_login dl dd .input_box .pw-toggle:hover,
.register .contact_sec #wpmem_login dl dd .input_box .pw-toggle:hover,
.reset .contact_sec #wpmem_login dl dd .input_box .pw-toggle:hover {
  opacity: 0.7;
}
.login .contact_sec #wpmem_login fieldset,
.profile .contact_sec #wpmem_login fieldset,
.register .contact_sec #wpmem_login fieldset,
.reset .contact_sec #wpmem_login fieldset {
  margin: 0;
}
.login .contact_sec #wpmem_login .req-text,
.profile .contact_sec #wpmem_login .req-text,
.register .contact_sec #wpmem_login .req-text,
.reset .contact_sec #wpmem_login .req-text {
  display: none;
}
.login .contact_sec #wpmem_login .link-text,
.profile .contact_sec #wpmem_login .link-text,
.register .contact_sec #wpmem_login .link-text,
.reset .contact_sec #wpmem_login .link-text {
  text-align: center;
  margin-top: 2rem;
}
.login .contact_sec #wpmem_login .link-text .link-text-register,
.profile .contact_sec #wpmem_login .link-text .link-text-register,
.register .contact_sec #wpmem_login .link-text .link-text-register,
.reset .contact_sec #wpmem_login .link-text .link-text-register {
  width: 20rem;
  display: inline-block;
}
.login .contact_sec #wpmem_login .link-text .link-text-register a,
.profile .contact_sec #wpmem_login .link-text .link-text-register a,
.register .contact_sec #wpmem_login .link-text .link-text-register a,
.reset .contact_sec #wpmem_login .link-text .link-text-register a {
  color: #203e95;
  text-underline-offset: 0.5rem;
  text-decoration: underline;
  display: inline-block;
  margin-top: 1rem;
}

.profile .contact_sec #wpmem_reg {
  width: 100%;
  margin: 0;
}
.profile .contact_sec #wpmem_reg dl dd .input_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.profile .contact_sec #wpmem_reg dl dd .input_box input.password {
  width: calc(100% - 7rem);
}
.profile .contact_sec #wpmem_reg dl dd .input_box .pw-toggle {
  width: 6rem;
  height: 3rem;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.12rem;
  background-color: #203e95;
  border: solid 0.1rem #203e95;
  border-radius: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  margin-left: 1rem;
}
.profile .contact_sec #wpmem_reg dl dd .input_box .pw-toggle:hover {
  opacity: 0.7;
}
.profile .contact_sec #wpmem_reg fieldset {
  margin: 0;
}
.profile .contact_sec #wpmem_reg .req-text {
  display: none;
}

.link-text {
  display: none;
}

.register_reset_navi {
  width: 100%;
  text-align: right;
  margin-top: 3rem;
}
.register_reset_navi .ttl {
  width: 100%;
}
.register_reset_navi .ttl:nth-child(odd) {
  margin-top: 1rem;
}
.register_reset_navi .ttl:first-of-type {
  margin-top: 0;
}
.register_reset_navi .txt {
  width: 100%;
}
.register_reset_navi .txt a {
  color: #203e95;
  display: inline-block;
}

.register_navi_list {
  width: 100%;
  text-align: center;
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}
.register_navi_list li a {
  color: #203e95;
  text-underline-offset: 0.5rem;
  text-decoration: underline;
}

.login_pw_reset_btn {
  width: 100%;
  text-align: center;
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}
.login_pw_reset_btn a {
  color: #203e95;
  text-underline-offset: 0.5rem;
  text-decoration: underline;
}

.members_sec {
  padding-top: 3rem;
  padding-bottom: 6rem;
}
.members_sec .container .members_ttl02 {
  margin-top: 3rem;
}
.members_sec .container .members_txt02 {
  margin-top: 2rem;
}
.members_sec .container .members_ttl03 {
  margin-top: 5rem;
}
.members_sec .container .members_txt03 {
  margin-top: 2rem;
}
.members_sec .container .members_txt04 {
  margin-top: 6rem;
}
.members_sec .container .members_txt05 {
  margin-top: 3.5rem;
}
.members_sec .container .members_txt05 a {
  color: #203e95;
  text-underline-offset: 0.5rem;
  text-decoration: underline;
}

.search_sec {
  padding-top: 3rem;
  padding-bottom: 6rem;
}
.search_sec .container .search_sec_subttl {
  margin-top: 3rem;
}
.search_sec .container .search_sec_list {
  margin-top: 1rem;
}
.search_sec .container .search_sec_txt {
  margin-top: 3rem;
}

.common_result_list01 {
  width: 100%;
}
.common_result_list01 li {
  width: 100%;
  border-bottom: solid 0.1rem #e3e3e3;
}
.common_result_list01 li a {
  width: 100%;
  padding: 1.3rem 2rem 1.5rem 0;
  display: block;
  position: relative;
}
.common_result_list01 li a::before {
  content: "";
  width: 0.9rem;
  height: 1.5rem;
  background: url(../img/common/common_arrow06.png) no-repeat center/contain;
  background: url(../img/common/common_arrow06.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_result_list01 li a .result_list_ttl {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.08em;
  margin-top: 0.15rem;
  display: block;
}
.common_result_list01 li a:hover {
  opacity: 0.7;
}

.top_company_en {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.top_company_en .container .top_company_en_ttl {
  text-align: center;
}
.top_company_en .container .top_company_en_block {
  width: 100%;
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
}
.top_company_en .container .top_company_en_block .company_en_box {
  width: 100%;
  background-color: #f5f5f5;
}
.top_company_en .container .top_company_en_block .company_en_box .company_en_img {
  width: 100%;
}
.top_company_en .container .top_company_en_block .company_en_box .company_en_txt {
  padding: 2rem;
}
.top_company_en .container .top_company_en_btn {
  margin-top: 5rem;
}

.top_products_en {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #f7faff;
}
.top_products_en .container .top_products_en_ttl {
  text-align: center;
}
.top_products_en .container .top_products_en_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1rem;
  margin-top: 3rem;
}
.top_products_en .container .top_products_en_list li a {
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.top_products_en .container .top_products_en_list li a .products_img {
  width: 100%;
  aspect-ratio: 1/1;
}
.top_products_en .container .top_products_en_list li a .products_name {
  width: 100%;
  min-height: 4.2rem;
  font-size: 1.6rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1rem;
}
.top_products_en .container .top_products_en_list li a:hover {
  opacity: 0.7;
}
.top_products_en .container .top_products_en_movie_list {
  width: 100%;
  display: grid;
  gap: 2rem;
  margin-top: 5rem;
}
.top_products_en .container .top_products_en_movie_list li .products_movie_name {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
}
.top_products_en .container .top_products_en_movie_list li .products_movie {
  width: 100%;
  aspect-ratio: 1/0.5625;
  background-color: #ccc;
  margin-top: 1rem;
}

.common_inquiry_en {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #203e95;
}
.common_inquiry_en .container .inquiry_en_ttl {
  text-align: center;
}
.common_inquiry_en .container .inquiry_txt {
  text-align: center;
  margin-top: 2rem;
}
.common_inquiry_en .container .inquiry_tel {
  width: 100%;
  border: solid 0.1rem #fff;
  background-color: #4c67b6;
  border-radius: 0.3rem;
  margin-top: 3rem;
  padding: 2rem;
}
.common_inquiry_en .container .inquiry_tel .inquiry_tel_txt {
  width: 100%;
  letter-spacing: 0.11em;
}
.common_inquiry_en .container .inquiry_tel .inquiry_tel_num {
  margin-top: 1rem;
}
.common_inquiry_en .container .inquiry_tel .inquiry_tel_num a {
  font-size: 2.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
  display: inline-block;
  padding-left: 5rem;
  position: relative;
}
.common_inquiry_en .container .inquiry_tel .inquiry_tel_num a::before {
  content: "";
  width: 2.8rem;
  aspect-ratio: 1/1;
  background: url(../img/common/tel_icon.png) no-repeat center/contain;
  background: url(../img/common/tel_icon.svg) no-repeat center/contain;
  position: absolute;
  top: calc(50% + 0.1rem);
  left: 0.7rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.en_company_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.en_company_sec .container .en_company_ttl {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.04em;
  text-align: center;
}
.en_company_sec .container .en_company_txt {
  margin-top: 2rem;
}
.en_company_sec .container .en_company_box {
  width: 100%;
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}
.en_company_sec .container .en_company_box figure {
  width: 100%;
}

.en_adapter_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.en_adapter_sec .container .en_adapter_ttl {
  margin-top: 3rem;
}
.en_adapter_sec .container .en_adapter_ttl:first-of-type {
  margin-top: 0;
}
.en_adapter_sec .container .en_adapter_txt {
  margin-top: 2rem;
}
.en_adapter_sec .container .en_adapter_list {
  margin-top: 3rem;
}

.en_products_sec {
  padding-top: 3rem;
  padding-bottom: 2rem;
}
.en_products_sec.last_sec {
  padding-bottom: 5rem;
}
.en_products_sec .container .en_products_block {
  width: 100%;
  margin-top: 2rem;
}
.en_products_sec .container .en_products_block .en_products_box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.en_products_sec .container .en_products_block .en_products_box .en_products_box_ttl {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 2rem;
}
.en_products_sec .container .en_products_block .en_products_box .en_products_box_img {
  width: 20rem;
  margin: 0 auto;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.en_products_sec .container .en_products_block .en_products_box .en_products_box_list {
  width: 100%;
  margin-top: 2rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.en_products_sec .container .en_products_ttl02 {
  margin-top: 3rem;
}
.en_products_sec .container .en_products_txt {
  margin-top: 1rem;
}
.en_products_sec .container .en_products_list02 {
  margin-top: 2rem;
}
.en_products_sec .container .en_products_ttl03 {
  margin-top: 3rem;
}
.en_products_sec .container .en_products_list03 {
  margin-top: 2rem;
}
.en_products_sec .container .en_products_video_box {
  width: 100%;
  margin-top: 3rem;
}
.en_products_sec .container .en_products_video_box .en_products_video_ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.en_products_sec .container .en_products_video_box .en_products_video {
  width: 100%;
  text-align: center;
  margin-bottom: -0.3rem;
}
.en_products_sec .container .en_products_video_box .en_products_video video {
  width: 100%;
  aspect-ratio: 1/0.5625;
  background-color: #ccc;
  margin-top: 2rem;
}

.en_pepipe_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.en_pepipe_sec .container .en_pepipe_ttl {
  margin-top: 3rem;
}
.en_pepipe_sec .container .en_pepipe_ttl:first-of-type {
  margin-top: 0;
}
.en_pepipe_sec .container .en_pepipe_txt {
  margin-top: 2rem;
}
.en_pepipe_sec .container .en_pepipe_list {
  margin-top: 3rem;
}

.en_sljoint_sec {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.en_sljoint_sec .container .en_sljoint_ttl {
  margin-top: 3rem;
}
.en_sljoint_sec .container .en_sljoint_ttl:first-of-type {
  margin-top: 0;
}
.en_sljoint_sec .container .en_sljoint_txt {
  margin-top: 2rem;
}
.en_sljoint_sec .container .en_sljoint_list {
  margin-top: 3rem;
}

.common_ttl07 {
  width: 100%;
  font-size: 2rem;
  color: #203e95;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
}

.products_archive {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.products_archive .container .products_archive_list {
  padding: 3rem 1.5rem;
  background-color: #f7faff;
  margin-top: 3rem;
}
.products_archive .container .products_archive_btn {
  margin-top: 3rem;
}
.products_archive .container .products_archive_btn a {
  margin: 0 auto;
}

.common_two_column_sec .container .products_container {
  width: 100%;
}
.common_two_column_sec .container .products_container .products_block {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f7faff;
  margin-top: 3rem;
}
.common_two_column_sec .container .products_container .products_list {
  width: 100%;
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
}

.aside_products_navi {
  width: 100%;
  margin-top: 3rem;
}
.aside_products_navi nav {
  width: 100%;
}
.aside_products_navi nav .aside_taxonomy_list {
  width: 100%;
}
.aside_products_navi nav .aside_taxonomy_list > dt {
  width: 100%;
  margin-bottom: 3rem;
}
.aside_products_navi nav .aside_taxonomy_list > dt a {
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 0 2rem 1.2rem 0;
  border-bottom: solid 0.2rem #203e95;
  display: block;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.aside_products_navi nav .aside_taxonomy_list > dt a::before {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  border-right: solid 0.2rem #203e95;
  border-bottom: solid 0.2rem #203e95;
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 0.5rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.aside_products_navi nav .aside_taxonomy_list > dt a:hover {
  opacity: 0.7;
}
.aside_products_navi nav .aside_taxonomy_list > dd {
  width: 100%;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list {
  width: 100%;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt {
  width: 100%;
  border-top: solid 0.1rem #bacae7;
  background-color: #f7f9fc;
  padding-right: 5rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  cursor: pointer;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt::before, .aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt::after {
  content: "";
  width: 1.2rem;
  height: 0.2rem;
  background-color: #37517f;
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt::after {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt:first-of-type {
  border-top: none;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt a {
  width: 100%;
  min-height: 5rem;
  font-size: 1.6rem;
  color: #37517f;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 1rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt.open {
  background-color: #3b64a8;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt.open a {
  color: #fff;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt.open::before, .aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dt.open::after {
  background-color: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dd {
  width: 100%;
  display: none;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dd ul {
  width: 100%;
  background-color: #e2e8f3;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dd ul li {
  width: 100%;
  border-top: solid 0.1rem #bacae7;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dd ul li:first-of-type {
  border-top: none;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dd ul li a {
  width: 100%;
  min-height: 5rem;
  font-size: 1.6rem;
  color: #37517f;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.08em;
  padding: 1rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dd ul li.current a {
  color: #fff;
  background-color: #00b1c1;
}
.aside_products_navi nav .aside_taxonomy_list > dd .aside_term_list dd ul li.current a::before {
  display: block;
}
.aside_products_navi nav .aside_products_btn {
  margin-top: 5rem;
}/*# sourceMappingURL=sp.css.map */