@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
html {
  scrollbar-gutter: stable;
  font-size: 10px;
}

.grayed-out {
  background-color: #d3d3d3;
  color: #888;
}

/*----------------------------------------------------------------------------
******************************************************************************
** common class
******************************************************************************
----------------------------------------------------------------------------*/
.sp {
  display: none !important;
}

a[href*="tel:"] {
  pointer-events: none;
}

.clearfix::after {
  content: "";
  clear: both;
  display: block;
}

.container_100 {
  width: 100%;
  padding: 0 2rem;
  position: relative;
  z-index: 1;
}
.container_100 .container {
  width: 100%;
  max-width: 160rem;
  margin: 0 auto;
}

.anker {
  padding-top: 11.3rem;
  margin-top: -11.3rem;
  display: block;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
#loader {
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.hd {
  width: 100%;
  height: 11.3rem;
  padding: 1rem 2.8rem 1.1rem 3rem;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd.hide {
  opacity: 0;
  pointer-events: none;
}
.hd .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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.hd .container .navi_trigger {
  display: none;
}
.hd .container .logo_wrap {
  width: 19rem;
}
.hd .container .logo_wrap a {
  width: 100%;
  display: inline-block;
}
.hd .container .hd_navi_wrap {
  width: calc(100% - 25rem);
  max-width: 75.6rem;
  padding-top: 1rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li {
  display: inline-block;
  position: relative;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a,
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span {
  padding-bottom: 0.6rem;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a span,
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span span {
  font-family: "CalSans";
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  position: relative;
  z-index: 2;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a span.jp,
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span span.jp {
  display: none;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a::before,
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span::before {
  content: "";
  width: 4.6rem;
  aspect-ratio: 1/1;
  background-color: #f00;
  border-radius: 50%;
  position: absolute;
  top: -1.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a::after,
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span::after {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  z-index: 1;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a:hover::before,
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span:hover::before {
  opacity: 1;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a:hover::after,
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > span {
  padding-right: 2.1rem;
  background: url(../images/common/hd_nav_arrow.png) no-repeat top 0.4rem right 0px/1.3rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li.compare a::before {
  background-color: #EAC113;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li.case_study a::before {
  background-color: #59304B;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li.concept a::before {
  background-color: #7CBEC9;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li.products > span::before {
  background-color: #8d2c1c;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li.showroom a::before {
  background-color: #19522b;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li.faq a::before {
  background-color: #d8d0b4;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap {
  padding-top: 3rem;
  padding-right: 4.8rem;
  position: absolute;
  bottom: 0;
  left: -37rem;
  -webkit-transform: translate(0, 100%);
          transform: translate(0, 100%);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  z-index: 100;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block {
  width: 91rem;
  padding: 4.1rem 7rem 4rem 7rem;
  background-color: #fff;
  border-radius: 2rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-bottom: 3rem;
  border-bottom: solid 0.1rem #dddddd;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt {
  width: 18rem;
  margin-top: 2rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt:first-of-type {
  margin-top: 0;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a {
  width: 100%;
  height: 100%;
  padding: 2rem 0 0 6.4rem;
  display: block;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a::before {
  content: "";
  width: 4.6rem;
  aspect-ratio: 53/30;
  position: absolute;
  top: 1.6rem;
  left: 0px;
  background: url(../images/common/products_arrow02_w.svg) center center/1.6rem no-repeat, rgb(0, 57, 104);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a span {
  font-family: "CalSans";
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a span.jp {
  display: none;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a:hover {
  opacity: 0.7;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a:hover::before {
  left: 1rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd {
  width: calc(100% - 18rem);
  min-height: 5.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd:first-of-type {
  margin-top: 0;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd .hd_cnavi_list {
  width: auto;
  padding: 2.1rem 2rem 1.9rem 4rem;
  background-color: #e6e7e9;
  border-radius: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd .hd_cnavi_list li {
  min-width: 10rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd .hd_cnavi_list li a {
  font-family: "CalSans";
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 2.5rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd .hd_cnavi_list li a::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 15/11;
  position: absolute;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/products_arrow02.svg) no-repeat center/contain;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd .hd_cnavi_list li a:hover {
  opacity: 0.7;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dd .hd_cnavi_list li a:hover::before {
  left: 1rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 3.9rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li {
  margin-right: 4rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li:last-of-type {
  margin-right: 0;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a {
  padding-left: 6.4rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a span {
  font-family: "CalSans";
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a span.jp {
  display: none;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a::before {
  content: "";
  width: 4.6rem;
  aspect-ratio: 53/30;
  position: absolute;
  top: -0.7rem;
  left: 0px;
  background: url(../images/common/products_arrow02_w.svg) center center/1.6rem no-repeat, rgb(0, 57, 104);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a:hover {
  opacity: 0.7;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a:hover::before {
  left: 1rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li:hover .hd_navi_block_wrap {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 939.9px) {
  .hd {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .hd .container .logo_wrap {
    width: calc(100% - 62rem);
  }
  .hd .container .hd_navi_wrap {
    width: 61rem;
  }
  .hd .container .hd_navi_wrap .hd_navi > li .hd_navi_block_wrap {
    padding-right: 0rem;
    padding-left: 6rem;
  }
}

.common_sec_ttl01 {
  width: 100%;
  text-align: center;
}
.common_sec_ttl01 .jp {
  width: 100%;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.2666666;
  letter-spacing: 0.05em;
  display: block;
}
.common_sec_ttl01 .jp .calsans {
  letter-spacing: 0.04em;
}
.common_sec_ttl01 .en {
  width: 100%;
  font-family: "CalSans";
  font-size: 1.8rem;
  color: #003968;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.09em;
  display: block;
  padding-left: 0.2rem;
  margin-top: 2.2rem;
}
.common_sec_ttl01.white .jp {
  color: #fff;
}
.common_sec_ttl01.white .en {
  color: #fff !important;
}
.common_sec_ttl01.large .jp {
  font-size: 8rem;
  letter-spacing: 0;
}
.common_sec_ttl01.large .en {
  font-size: 2.2rem;
  color: #003968;
  margin-top: 3rem;
}

.calsans {
  font-family: "CalSans";
}

.common_sec_txt01 {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.9090909;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 3.6rem;
}

.common_sec_txt02 {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-align: center;
}

.common_txt01 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

.mv {
  padding: 0 3rem;
  margin-top: 11.3rem;
}
.mv .container {
  max-width: initial;
  max-width: auto;
  height: calc(100vh - 11.3rem);
  max-height: 82.7rem;
  padding: 13.1rem 5rem;
  background: -webkit-image-set(url(../images/top/mv_bg.webp) 1x, url(../images/top/mv_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/mv_bg.webp) 1x, url(../images/top/mv_bg@2x.webp) 2x) no-repeat center/cover;
  border-radius: 2rem;
  overflow: hidden;
  position: relative;
}
.mv .container .mv_ttl {
  width: 100%;
  max-width: 169.6rem;
  font-family: "CalSans";
  font-size: 6rem;
  color: #fff;
  line-height: 1.3333333333;
  letter-spacing: 0.065em;
  margin: 0 auto;
}
.mv .container .mv_news {
  width: 40.3rem;
  height: 7rem;
  overflow: hidden;
  background-color: #fff;
  border-top-left-radius: 2rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
.mv .container .mv_news li {
  width: 100%;
  height: 7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mv .container .mv_news li a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 1.9rem 2rem 0.9rem 4.2rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.mv .container .mv_news li a .news_date {
  font-family: "DM Sans";
  font-size: 1.4rem;
  color: #003968;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.01em;
  display: inline-block;
  margin-right: 1.5rem;
}
.mv .container .mv_news li a .news_ttl {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.mv .container .mv_news li a:hover {
  opacity: 0.7;
}

.index01 {
  padding-top: 18.3rem;
  padding-bottom: 20rem;
  background-color: #fff;
  border-bottom-left-radius: 3.5rem;
  border-bottom-right-radius: 3.5rem;
  position: relative;
  z-index: 2;
  overflow: clip;
}
.index01 .index01_bg {
  position: absolute;
  top: 42.5rem;
  bottom: 20.7rem;
  left: 0;
  width: 100%;
  z-index: 0;
}
.index01 .index01_bg .index01_bg_img {
  width: 100%;
  max-width: 186.1rem;
  height: calc(100vh - 11.3rem);
  position: sticky;
  top: 11.3rem;
  margin: 0 auto;
}
.index01 .index01_bg .index01_bg_img img {
  max-width: auto;
  max-width: initial;
  width: auto;
  height: 100%;
}
.index01 .index01_bg .index01_bg_img .index01_bg_img01 {
  aspect-ratio: 310/420;
  height: 34.1463%;
  position: absolute;
  top: 0;
  right: 3.7614%;
}
.index01 .index01_bg .index01_bg_img .index01_bg_img02 {
  aspect-ratio: 500/678;
  height: 55.122%;
  position: absolute;
  top: 15.122%;
  left: 1.6121%;
}
.index01 .index01_bg .index01_bg_img .index01_bg_img03 {
  aspect-ratio: 611/401;
  height: 32.6016%;
  position: absolute;
  bottom: 0;
  right: 0;
}
.index01 .container {
  position: relative;
  z-index: 1;
}
.index01 .container .index01_ttl .ls {
  margin-left: -1.6rem;
}
.index01 .container .index01_txt_wrap {
  width: 100%;
  max-width: 92.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9.8rem;
  margin: 9.8rem auto 0;
}
.index01 .container .index01_txt_wrap .index01_txt {
  width: 100%;
  position: relative;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_cube {
  --rotate-depth: 2.8rem;
  --hinge-overlap: 1.5rem;
  --seam-fix: .5px;
  position: relative;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transition: -webkit-transform 0.8s ease;
  transition: -webkit-transform 0.8s ease;
  transition: transform 0.8s ease;
  transition: transform 0.8s ease, -webkit-transform 0.8s ease;
}
.index01 .container .index01_txt_wrap .index01_txt:last-of-type {
  padding-bottom: 30rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face {
  line-height: 0;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span {
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  padding: 0.5rem 1.3rem 1rem 1.5rem;
  white-space: nowrap;
  display: inline-block;
  vertical-align: top;
  margin-bottom: -1px;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span .calsans {
  letter-spacing: 0.05em;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span:first-of-type {
  padding-top: 1.3rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span:last-of-type {
  padding-bottom: 1.7rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row01 {
  padding-right: 0.9rem;
  padding-bottom: 0.4rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row02 {
  padding-top: 1rem;
  padding-right: 0;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row03 {
  padding-top: 1rem;
  padding-right: 0.9rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row03 .ls {
  letter-spacing: -0.04em;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row04 {
  padding-top: 0;
  padding-right: 1.6rem;
  padding-bottom: 0.2rem;
  margin-top: -0.2rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row04 .ls {
  letter-spacing: -0.04em;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row05 {
  padding-top: 1.2rem;
  padding-right: 0;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row06 {
  padding-top: 1.2rem;
  padding-right: 0.7rem;
  padding-bottom: 1.6rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row06 .ls {
  letter-spacing: -0.04em;
  margin-right: 0.3rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row07 {
  padding-top: 0;
  padding-right: 1.2rem;
  padding-bottom: 0.2rem;
  margin-top: -0.2rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row07 .ls {
  letter-spacing: -0.07em;
  margin-right: 0.3rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row08 {
  padding-top: 1.2rem;
  padding-right: 0;
  padding-bottom: 1.6rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row09 {
  padding-top: 1.1rem;
  padding-right: 0.7rem;
  padding-bottom: 1.6rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row10 {
  padding-top: 0;
  padding-right: 0;
  margin-top: -0.2rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row11 {
  padding-top: 1.1rem;
  padding-right: 0;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row11 .ls {
  letter-spacing: -0.04em;
  margin-right: 0.3rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row12 {
  padding-top: 1.1rem;
  padding-right: 0.6rem;
  padding-bottom: 0.2rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row13 {
  padding-top: 1.2rem;
  padding-right: 0.6rem;
  padding-bottom: 0.2rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span.row14 {
  padding-top: 1.2rem;
  padding-right: 1.2rem;
}
.index01 .container .index01_txt_wrap .index01_txt .front {
  position: relative;
  -webkit-transform: rotateX(0deg) translateZ(var(--rotate-depth));
          transform: rotateX(0deg) translateZ(var(--rotate-depth));
}
.index01 .container .index01_txt_wrap .index01_txt .front > span {
  color: #003968;
  background-color: #fff;
}
.index01 .container .index01_txt_wrap .index01_txt .back {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: rotateX(-90deg) translateZ(calc(var(--rotate-depth) + var(--hinge-overlap) + var(--seam-fix)));
          transform: rotateX(-90deg) translateZ(calc(var(--rotate-depth) + var(--hinge-overlap) + var(--seam-fix)));
}
.index01 .container .index01_txt_wrap .index01_txt .back span {
  color: #fff;
  background-color: #003968;
}
.index01 .container .index01_txt_wrap .index01_txt.animation-on .index01_txt_cube {
  -webkit-transform: rotateX(90deg);
          transform: rotateX(90deg);
}

.koplus_logo_sec {
  height: 70.35rem;
  padding-top: 23.6rem;
  background: url(../images/top/koplus_sec_item.png) no-repeat top -10.6rem center, #003968;
  margin-top: -3.5rem;
  overflow: hidden;
}
.koplus_logo_sec .container .koplus_logo {
  width: 100%;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.lineup_sec {
  padding-top: 14.6rem;
  padding-bottom: 15.5rem;
  background: url(../images/top/lineup_sec_item.png) no-repeat right bottom/45.677083333%;
}
@media screen and (min-width: 1921px) {
  .lineup_sec {
    background-size: 87.6rem;
  }
}
.lineup_sec .container {
  max-width: initial;
  max-width: auto;
}
.lineup_sec .container .lineup_ttl {
  max-width: 160rem;
  margin: 0 auto;
  text-align: left;
}
.lineup_sec .container .lineup_ttl .jp span {
  letter-spacing: -0.05em;
  margin-left: 0.3rem;
}
.lineup_sec .container .product_lineup {
  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: 7.9rem;
  margin-top: 8rem;
}
.lineup_sec .container .product_lineup .product_list_wrap {
  width: 100%;
  max-width: 164rem;
  padding: 0 2rem;
  margin: 0 auto;
  position: relative;
}
.lineup_sec .container .product_lineup .product_list_wrap .lineup_marquee {
  width: 100vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: absolute;
  top: calc(50% + 1rem);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;
}
.lineup_sec .container .product_lineup .product_list_wrap .lineup_marquee .lineup_marquee_inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8rem;
  padding-right: 8rem;
  -webkit-animation: lineupMarquee var(--marquee-dur-pc, 40s) linear infinite;
          animation: lineupMarquee var(--marquee-dur-pc, 40s) linear infinite;
}
.lineup_sec .container .product_lineup .product_list_wrap .lineup_marquee .lineup_marquee_inner img {
  width: auto;
  max-width: initial;
  max-width: auto;
  height: 9.5rem;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list {
  width: 100%;
  position: relative;
  z-index: 1;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dt {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dt .name {
  font-family: "CalSans";
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-right: 2.4rem;
  padding-left: 2.8rem;
  position: relative;
  display: inline-block;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dt .name::before {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1/1;
  background-color: #003968;
  position: absolute;
  top: calc(50% - 0.3rem);
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dt .name::after {
  content: "";
  width: 0.1rem;
  height: 2.9rem;
  background-color: #000;
  position: absolute;
  top: 1.6rem;
  right: 0;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dt .desc {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.045em;
  display: inline-block;
  padding: 1.2rem 0 0 3rem;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd {
  width: 100%;
  margin-top: 1.6rem;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul {
  grid-template-columns: repeat(4, 1fr);
  gap: 4rem;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul.animation-on li {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li {
  opacity: 0;
  -webkit-transform: translateY(4rem);
          transform: translateY(4rem);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(1) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(2) {
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(3) {
  -webkit-transition-delay: 0.24s;
          transition-delay: 0.24s;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(4) {
  -webkit-transition-delay: 0.36s;
          transition-delay: 0.36s;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(5) {
  -webkit-transition-delay: 0.48s;
          transition-delay: 0.48s;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(6) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(7) {
  -webkit-transition-delay: 0.72s;
          transition-delay: 0.72s;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul li:nth-child(8) {
  -webkit-transition-delay: 0.84s;
          transition-delay: 0.84s;
}

.common_product_list {
  width: 100%;
  display: grid;
}
.common_product_list li a {
  width: 100%;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_product_list li a .product_img {
  width: 100%;
  aspect-ratio: 370/448;
}
.common_product_list li a .product_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_product_list li a .product_name {
  width: 100%;
  font-family: "CalSans";
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding: 3.1rem 1rem 0 6.8rem;
  position: relative;
}
.common_product_list li a .product_name::before {
  content: "";
  width: 5.3rem;
  height: 3rem;
  background: url(../images/common/products_arrow02_w.svg) no-repeat center/1.6rem, #003968;
  position: absolute;
  top: 3.1rem;
  left: 0;
}
.common_product_list li a:hover {
  opacity: 0.7;
}

.booth_sec {
  padding-top: 14.1rem;
  padding-bottom: 16.3rem;
  background: -webkit-image-set(url(../images/top/booth_sec_bg.webp) 1x, url(../images/top/booth_sec_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/booth_sec_bg.webp) 1x, url(../images/top/booth_sec_bg@2x.webp) 2x) no-repeat center/cover;
}
.booth_sec .container {
  max-width: auto;
  max-width: initial;
}
.booth_sec .container .booth_catch {
  width: 100%;
  font-size: 4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 4.4rem;
}
.booth_sec .container .booth_marquee {
  width: calc(100% + 4rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin-top: 6.9rem;
  margin-left: -2rem;
}
.booth_sec .container .booth_marquee .booth_marquee_inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  padding-right: 4rem;
  -webkit-animation: boothMarquee 40s linear infinite;
          animation: boothMarquee 40s linear infinite;
}
.booth_sec .container .booth_marquee .booth_marquee_inner figure {
  width: 30rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.booth_sec .container .booth_marquee .booth_marquee_inner figure img {
  width: 100%;
  height: auto;
  display: block;
}
.booth_sec .container .booth_btn {
  width: 100%;
  margin-top: 8.3rem;
}

.common_btn02 {
  width: 100%;
  max-width: 32rem;
  height: 7rem;
  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;
  --baseColor: #003968;
}
.common_btn02.white {
  --baseColor: #fff;
}
.common_btn02.white::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.common_btn02.jp span:not(.square) {
  font-family: YakuHanJP, "Noto Sans JP";
  padding-top: 0;
}
.common_btn02 {
  border: solid 0.1rem var(--baseColor);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_btn02::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--baseColor);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}
.common_btn02::before {
  content: "";
  width: 1.6rem;
  height: 1.2rem;
  background: url(../images/common/products_arrow02.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;
  z-index: 1;
}
.common_btn02 span:not(.square) {
  position: relative;
  z-index: 1;
  font-family: "CalSans";
  font-size: 1.8rem;
  color: var(--baseColor);
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.06em;
  padding-top: 0.4rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_btn02 .square {
  width: 0.7rem;
  aspect-ratio: 1/1;
  background-color: var(--baseColor);
  position: absolute;
  z-index: 1;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_btn02 .square:nth-of-type(1) {
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.common_btn02 .square:nth-of-type(2) {
  top: 0;
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.common_btn02 .square:nth-of-type(3) {
  bottom: 0;
  left: 0;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
.common_btn02 .square:nth-of-type(4) {
  bottom: 0;
  right: 0;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
.common_btn02:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.common_btn02:hover span:not(.square) {
  color: #fff;
}
.common_btn02:hover::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  right: 1rem;
}
.common_btn02:hover.white span:not(.square) {
  color: #003968;
}
.common_btn02:hover.white::before {
  -webkit-filter: none;
          filter: none;
}

.reason_sec {
  padding-top: 14.5rem;
  padding-bottom: 16.5rem;
  overflow: hidden;
}
.reason_sec .container .reason_ttl {
  text-align: left;
}
.reason_sec .container .reason_ttl .jp {
  letter-spacing: 0.02em;
}
.reason_sec .container .reason_ttl .en {
  letter-spacing: 0.07em;
}
.reason_sec .container .reason_block01 {
  width: 100%;
  position: relative;
  margin-top: 5rem;
}
.reason_sec .container .reason_block01 .reason_list {
  width: 66.25%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  padding-top: 3rem;
}
@media screen and (max-width: 1200px) {
  .reason_sec .container .reason_block01 .reason_list {
    width: 50%;
    max-width: 51rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap {
  width: 100%;
  aspect-ratio: 510/280;
  background-color: #ececee;
  position: relative;
  overflow: hidden;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap::before {
  content: "";
  width: 200%;
  height: 200%;
  background-color: #003968;
  border-top-left-radius: 27.451% 50%;
  position: absolute;
  top: 0;
  left: 10.588235294%;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/top/reason_item_bg.png) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap .reason_item_cover {
  width: 200%;
  height: 100%;
  background-color: #003968;
  border-top-left-radius: 27.451% 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
  -webkit-transform: translateX(-27.451%);
          transform: translateX(-27.451%);
  -webkit-transition: -webkit-transform 1.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: -webkit-transform 1.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: transform 1.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: transform 1.8s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 1.8s cubic-bezier(0.65, 0, 0.35, 1);
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.animation-on .reason_item_cover {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap .reason_item {
  width: 100%;
  height: 100%;
  padding: 1rem 2.9rem 1.2rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  overflow: hidden;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap .reason_item .reason_item_icon {
  position: absolute;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap .reason_item .reason_item_ttl {
  width: 100%;
  font-size: 2.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.6363636364;
  letter-spacing: 0.04em;
  text-align: right;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap .reason_item .reason_item_ttl_en {
  font-family: "CalSans";
  font-size: 10rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  opacity: 0.35;
  position: absolute;
  right: -1.1rem;
  bottom: -3rem;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.item01 .reason_item_icon {
  width: 21.3725%;
  top: 8.5714%;
  left: 8.6275%;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.item02 .reason_item_icon {
  width: 22.3529%;
  top: 8.9286%;
  left: 7.451%;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.item02 .reason_item_ttl_en {
  letter-spacing: 0.01em;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.item03 .reason_item_icon {
  width: 34.5098%;
  top: 15.3571%;
  left: 7.451%;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.item03 .reason_item_ttl_en {
  letter-spacing: 0.005em;
  bottom: -2.8rem;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.item04 .reason_item_icon {
  width: 20.3922%;
  top: 18.5714%;
  left: 9.4118%;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap.item04 .reason_item_ttl_en {
  letter-spacing: 0.035em;
  bottom: -2.4rem;
}
.reason_sec .container .reason_block01 .reason_img {
  width: 52.9375%;
  position: absolute;
  top: -8rem;
  right: -10.4375%;
}
@media screen and (max-width: 1200px) {
  .reason_sec .container .reason_block01 .reason_img {
    width: 60%;
    top: 50%;
    right: -5%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.reason_sec .container .reason_btn {
  width: 100%;
  padding-left: 0.3rem;
  margin-top: 6.5rem;
}
.reason_sec .container .reason_btn a {
  margin: 0;
}

.answer_sec {
  padding-top: 14.2rem;
  padding-bottom: 16.5rem;
  background-color: #f0f1f3;
  border-radius: 3.5rem;
}
.answer_sec .container .answer_ttl {
  text-align: left;
}
.answer_sec .container .answer_ttl .jp span {
  margin-left: -1.3rem;
}
.answer_sec .container .answer_ttl .en {
  letter-spacing: 0.085em;
}
.answer_sec .container {
  /* 左はcontainer基準で始まり、右は画面端まで突き破るスライダー */
}
.answer_sec .container .answer_slide {
  width: calc(50vw + 80rem);
  max-width: calc(100vw - 2rem);
  margin-top: 6.6rem;
}
.answer_sec .container .answer_slide .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.answer_sec .container .answer_slide .swiper-slide {
  width: 45rem;
  height: auto;
  margin-right: 4rem;
}
.answer_sec .container .answer_slide .swiper-slide .common_case_box a .case_box_img {
  border-radius: 0;
}
.answer_sec .container .answer_slide .swiper-slide .common_case_box a .case_category_list {
  margin-top: 2.3rem;
}
.answer_sec .container .answer_slide .swiper-slide .common_case_box a .case_box_company {
  padding-top: 1.6rem;
}
.answer_sec .container .answer_slide .swiper-slide .common_case_box a .case_box_ttl {
  font-size: 2rem;
  line-height: 1.6;
  padding-bottom: 0.6rem;
  margin-top: 0.9rem;
}
.answer_sec .container .answer_slide_nav {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
  margin-top: 6.4rem;
}
.answer_sec .container .answer_slide_nav.is-hidden {
  visibility: hidden;
}
.answer_sec .container .answer_slide_nav button {
  width: 5rem;
  height: 3.9rem;
  background-color: #003968;
  border: none;
  cursor: pointer;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.answer_sec .container .answer_slide_nav button::before {
  content: "";
  width: 1.6rem;
  height: 1.2rem;
  background: url(../images/common/products_arrow02.svg) no-repeat center/contain;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.answer_sec .container .answer_slide_nav button.answer_slide_prev::before {
  -webkit-transform: translate(-50%, -50%) scale(-1, 1);
          transform: translate(-50%, -50%) scale(-1, 1);
}
.answer_sec .container .answer_slide_nav button:hover {
  opacity: 0.7;
}
.answer_sec .container .answer_slide_nav button.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
.answer_sec .container .answer_btn {
  padding-left: 0.3rem;
  margin-top: -3.6rem;
}
.answer_sec .container .answer_btn a {
  margin: 0;
}

.common_column_block {
  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;
}
.common_column_block .column_box {
  width: calc((100% - 2rem) / 3);
  max-width: 50rem;
  margin-top: 9.5rem;
  margin-right: 1rem;
  opacity: 0;
  -webkit-transform: translateY(5rem);
          transform: translateY(5rem);
  -webkit-transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, transform 0.8s;
  transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
}
.common_column_block .column_box:nth-of-type(3n) {
  margin-right: 0;
}
.common_column_block .column_box:nth-of-type(-n + 3) {
  margin-top: 0;
}
.common_column_block .column_box .column_box_wrap {
  width: 100%;
  height: 100%;
  padding-top: 18%;
  padding-right: 6%;
}
.common_column_block .column_box .column_box_wrap::before {
  content: "";
  width: 66%;
  height: 7.2rem;
  position: absolute;
  bottom: 0;
  left: 7%;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  -webkit-filter: blur(2.77rem);
          filter: blur(2.77rem);
  z-index: -1;
}
.common_column_block .column_box .column_box_wrap .column_box_inner {
  width: 100%;
  height: 100%;
  min-height: 32rem;
  max-width: 40rem;
  padding: 4rem;
  background-color: #fff;
  border-radius: 2rem;
}
.common_column_block .column_box .column_box_wrap .column_box_inner .column_box_inner_ttl {
  width: 100%;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-bottom: 3.3rem;
}
.common_column_block .column_box .column_box_wrap .column_box_inner .column_box_inner_img {
  width: 40%;
  min-width: 15rem;
  position: absolute;
  top: 0;
  right: 0;
}
.common_column_block .column_box .column_box_wrap .column_box_inner .column_box_inner_txt .bold {
  font-weight: 700;
}
.common_column_block .column_box .column_box_wrap .column_box_inner .column_box_inner_txt .color {
  background-color: #fdf3ac;
}
@media screen and (max-width: 1049.9px) {
  .common_column_block {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .common_column_block .column_box {
    width: calc((100% - 2rem) / 2);
    margin-right: 0;
    margin-top: 5rem;
  }
  .common_column_block .column_box:nth-of-type(-n + 3) {
    margin-top: 5rem;
  }
  .common_column_block .column_box:nth-of-type(-n + 2) {
    margin-top: 0;
  }
  .common_column_block .column_box .column_box_wrap {
    padding-top: 4.5rem;
    padding-right: 3rem;
    position: relative;
  }
  .common_column_block .column_box .column_box_wrap .column_box_inner .column_box_inner_img {
    width: 15rem;
  }
}
.common_column_block.color .column_box .column_box_wrap .column_box_inner {
  background-color: #f7f7f7 !important;
}
.common_column_block.small .column_box {
  max-width: 43rem;
  margin-top: 6rem;
}
.common_column_block.small .column_box:nth-of-type(-n + 3) {
  margin-top: 0;
}
.common_column_block.small .column_box .column_box_wrap {
  padding-top: 11.627907%;
  padding-right: 6.74418605%;
}
.common_column_block.small .column_box .column_box_wrap .column_box_inner .column_box_inner_ttl {
  padding-right: 8rem;
}
.common_column_block.small .column_box .column_box_wrap .column_box_inner .column_box_inner_img {
  width: 37.209302325%;
  min-width: 14rem;
}
@media screen and (max-width: 1049.9px) {
  .common_column_block.small .column_box {
    margin-top: 3rem;
  }
  .common_column_block.small .column_box:nth-of-type(-n + 3) {
    margin-top: 3rem;
  }
  .common_column_block.small .column_box:nth-of-type(-n + 2) {
    margin-top: 0;
  }
  .common_column_block.small .column_box .column_box_wrap .column_box_inner .column_box_inner_ttl {
    line-height: 1.4;
    padding-right: 6rem;
  }
  .common_column_block.small .column_box .column_box_wrap .column_box_inner .column_box_inner_img {
    min-width: 12rem;
  }
}
.common_column_block.height .column_box .column_box_wrap .column_box_inner {
  min-height: 35rem;
}

.idealspace_sec {
  padding-top: 18.6rem;
  padding-bottom: 20rem;
  position: relative;
  background: rgb(219, 223, 230);
  background: linear-gradient(201deg, rgb(219, 223, 230) 0%, rgb(253, 254, 255) 29%, rgb(245, 247, 251) 66%, rgb(219, 223, 230) 100%);
}
.idealspace_sec .container .idealspace_block {
  margin-top: 9.1rem;
}
.idealspace_sec .container .idealspace_btn {
  margin-top: 12rem;
}

.common_btn01 {
  width: 100%;
  text-align: center;
}
.common_btn01 .btn01_wrap {
  width: 100%;
  max-width: 32.2rem;
  display: inline-block;
  position: relative;
}
.common_btn01 .btn01_wrap::before {
  content: "";
  width: 27.7rem;
  height: 5.5rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.13);
  -webkit-filter: blur(1.53rem);
          filter: blur(1.53rem);
  z-index: 1;
}
.common_btn01 .btn01_wrap a {
  width: 100%;
  height: 6.6rem;
  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;
  padding: 1.2rem 3.3rem 1rem;
  background-color: #000;
  border-radius: 3.3rem;
  position: relative;
  z-index: 2;
}
.common_btn01 .btn01_wrap a span {
  font-family: "CalSans";
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  display: inline-block;
}
.common_btn01 .btn01_wrap a span::before {
  content: "";
  width: 6.9rem;
  height: 6.6rem;
  background: url(../images/common/common_btn01_arrow.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_btn01 .btn01_wrap a:hover span::before {
  right: -4rem;
}
.common_btn01.jp .btn01_wrap a span {
  font-family: YakuHanJP, "Noto Sans JP";
  font-size: 1.6rem;
}
.common_btn01.small .btn01_wrap {
  max-width: 16rem;
}
.common_btn01.small .btn01_wrap::before {
  content: "";
  width: 13.7639751553rem;
  height: 4.7313664596rem;
}
.common_btn01.small .btn01_wrap a {
  height: 4.2rem;
  padding-right: 4.1rem;
  padding-left: 2.5rem;
}
.common_btn01.small .btn01_wrap a span {
  font-size: 1.4rem;
}
.common_btn01.small .btn01_wrap a span::before {
  content: "";
  width: 4.3909090909rem;
  height: 4.2rem;
  right: -0.1rem;
}
.common_btn01.small .btn01_wrap a:hover span::before {
  right: -2.6rem;
}
.common_btn01.white .btn01_wrap::before {
  background: rgba(255, 255, 255, 0.13);
}
.common_btn01.white .btn01_wrap a {
  background-color: #fff;
}
.common_btn01.white .btn01_wrap a span {
  color: #000;
}
.common_btn01.white .btn01_wrap a span::before {
  background: url(../images/common/common_btn01_arrow_w.png) no-repeat center/contain;
}

.common_contact_btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common_contact_btn .btn01_wrap {
  display: inline-block;
  position: relative;
  margin-right: 5rem;
}
.common_contact_btn .btn01_wrap:last-of-type {
  margin-right: 0;
}
.common_contact_btn .btn01_wrap::before {
  content: "";
  width: 27.7rem;
  height: 5.5rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.13);
  -webkit-filter: blur(1.53rem);
          filter: blur(1.53rem);
  z-index: 1;
}
.common_contact_btn .btn01_wrap .wrap {
  display: inline-block;
  position: relative;
  z-index: 2;
}
.common_contact_btn .btn01_wrap .wrap::before {
  content: "";
  width: 6.9rem;
  height: 6.6rem;
  background: url(../images/common/common_btn01_arrow.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_contact_btn .btn01_wrap .wrap input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 32.2rem;
  height: 6.6rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  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;
  padding: 1rem 3.3rem;
  background-color: #000;
  border-radius: 3.3rem;
}
.common_contact_btn .btn01_wrap .wrap:hover::before {
  right: -4rem;
}
.common_contact_btn .btn01_wrap.back .wrap::before {
  background: url(../images/common/back_arrow.png) no-repeat center/contain;
  right: auto;
  left: 1rem;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.common_contact_btn .btn01_wrap.back .wrap input {
  background-color: #828893;
}
.common_contact_btn .btn01_wrap.back .wrap:hover::before {
  right: auto;
  left: -4rem;
}

.showroom_sec {
  padding-top: 14.4rem;
}
.showroom_sec .container .showroom_ttl {
  text-align: left;
}
.showroom_sec .container .showroom_ttl .jp {
  letter-spacing: 0.015em;
}
.showroom_sec .container .showroom_ttl .jp span {
  letter-spacing: -0.085em;
  margin-left: -10px;
}
.showroom_sec .container .showroom_ttl .en {
  letter-spacing: 0.08em;
}
.showroom_sec .container .showroom_block {
  width: 100%;
  position: relative;
  margin-top: 4.4rem;
}
.showroom_sec .container .showroom_block .showroom_block_txt {
  line-height: 2;
  text-align: left;
  margin-top: 1.9rem;
  padding-right: 35rem;
}
.showroom_sec .container .showroom_block .showroom_block_txt .calsans {
  line-height: 1;
}
.showroom_sec .container .showroom_block .showroom_block_txt:first-of-type {
  margin-top: 0;
}
.showroom_sec .container .showroom_block .showroom_block_btn {
  width: 100%;
  padding-right: 0.3rem;
  position: absolute;
  top: 4.6rem;
  right: 0;
}
.showroom_sec .container .showroom_block .showroom_block_btn a {
  margin: 0 0 0 auto;
}
.showroom_sec .container .showroom_block .showroom_img {
  width: 100%;
  margin-top: 6.2rem;
}

.news_sec {
  padding-top: 12.7rem;
  padding-bottom: 13rem;
  background-color: #fff;
}
.news_sec .container {
  max-width: 120rem;
}
.news_sec .container .news_block {
  width: 100%;
}
.news_sec .container .news_block .news_sec_ttl {
  width: 33.2rem;
  text-align: left;
  float: left;
}
.news_sec .container .news_block .news_sec_ttl .jp {
  margin-left: -0.4rem;
}
.news_sec .container .news_block .news_list {
  width: calc(100% - 37rem);
  max-width: 80.3rem;
  min-height: 13rem;
  padding-top: 1.5rem;
  float: right;
}
.news_sec .container .news_block .news_btn {
  width: 27rem;
  margin-left: 0.3rem;
  margin-top: 4.8rem;
  float: left;
}
@media screen and (max-width: 999px) {
  .news_sec .container .news_block {
    width: 100%;
  }
  .news_sec .container .news_block .news_sec_ttl {
    width: 100%;
    float: none;
    text-align: center;
  }
  .news_sec .container .news_block .news_list {
    width: 100%;
    max-width: initial;
    max-width: none;
    float: none;
    margin-top: 3rem;
  }
  .news_sec .container .news_block .news_btn {
    width: 100%;
    float: none;
  }
}

.navigation_sec {
  padding-top: 15rem;
  padding-bottom: 15rem;
  background: url(../images/common/navigation_sec_item.png) no-repeat center, #003968;
  border-radius: 3.5rem;
  position: relative;
}
.navigation_sec .container {
  position: relative;
  z-index: 2;
}
.navigation_sec .container .navigation_block {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.navigation_sec .container .navigation_block .navigation_item {
  width: calc((100% - 2rem) / 2);
  max-width: 76rem;
  border: solid 0.1rem #fff;
  overflow: hidden;
}
.navigation_sec .container .navigation_block .navigation_item a {
  width: 100%;
  height: 100%;
  display: block;
  padding: 3.4rem 3rem 4rem 3.6rem;
  background-color: rgba(0, 0, 0, 0.1);
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_ttl {
  width: 100%;
  font-size: 3rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.045em;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_ttl span {
  letter-spacing: 0.05em;
  margin-left: 0.5rem;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_ttl_en {
  font-family: "CalSans";
  font-size: 12rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  opacity: 0.28;
  position: absolute;
  bottom: -3.3rem;
  right: -1.5rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_ttl_en.faq, .navigation_sec .container .navigation_block .navigation_item a .navigation_item_ttl_en.case {
  letter-spacing: 0.07em;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_txt {
  color: #fff;
  padding-left: 0.1rem;
  margin-top: 1.5rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_btn {
  width: 100%;
  padding-left: 0.4rem;
  margin-top: 3.2rem;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_btn span {
  min-height: 3rem;
  font-family: "CalSans";
  font-size: 1.8rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0.6rem 0 0 6.8rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_btn span::before {
  content: "";
  width: 5.3rem;
  height: 3rem;
  background: url(../images/common/products_arrow02.svg) no-repeat center/1.6rem, #fff;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.navigation_sec .container .navigation_block .navigation_item a:hover {
  background-color: #fff;
}
.navigation_sec .container .navigation_block .navigation_item a:hover .navigation_item_ttl {
  color: #003968;
}
.navigation_sec .container .navigation_block .navigation_item a:hover .navigation_item_ttl_en {
  color: #003968;
}
.navigation_sec .container .navigation_block .navigation_item a:hover .navigation_item_txt {
  color: #003968;
}
.navigation_sec .container .navigation_block .navigation_item a:hover .navigation_item_btn span {
  color: #003968;
}
@media screen and (max-width: 999px) {
  .navigation_sec .container .navigation_block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
  .navigation_sec .container .navigation_block .navigation_item {
    width: 100%;
    max-width: initial;
    max-width: auto;
  }
}

aside {
  position: fixed;
  top: 50%;
  right: -14rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  z-index: 10;
}
aside:hover {
  right: 0;
}
aside .sp_resize li a {
  min-height: 8rem;
  padding: 1rem 2.5rem 1rem 1.7rem;
  background-color: #003968;
  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 .sp_resize li a .icon_wrap {
  width: 3rem;
  margin-right: 1.8rem;
}
aside .sp_resize li a .wrap {
  display: inline-block;
}
aside .sp_resize li a .wrap .en {
  width: 100%;
  font-family: "CalSans";
  font-size: 1.6rem;
  color: #fff;
  font-weight: 600;
  line-height: 1.1875;
  letter-spacing: 0.08em;
  display: block;
}
aside .sp_resize li a .wrap .jp {
  width: 100%;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 0;
}
aside .sp_resize li a:hover {
  opacity: 0.7;
}
aside .sp_resize li.showroom a .icon_wrap .icon {
  width: 2.9rem;
}
aside .sp_resize li.showroom a .wrap {
  padding-top: 0.5rem;
}
aside .sp_resize li.contact a .icon_wrap .icon {
  width: 3rem;
}

.dib {
  display: inline-block;
}

/*----------------------------------------------------------------------------
******************************************************************************
** common cslass
******************************************************************************
----------------------------------------------------------------------------*/
.breadcrumb {
  width: 100%;
  padding: 1.5rem 2rem;
  margin-top: 11.3rem;
}
.breadcrumb ul {
  width: 100%;
  max-width: 160.6rem !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.breadcrumb ul li {
  margin-right: 3.1rem;
  position: relative;
}
.breadcrumb ul li::before {
  content: "";
  width: 1rem;
  height: 0.1rem;
  background-color: #000000;
  position: absolute;
  top: 1.1rem;
  right: -2rem;
}
.breadcrumb ul li:last-of-type {
  margin-right: 0;
}
.breadcrumb ul li:last-of-type::before {
  display: none;
}
.breadcrumb ul li a,
.breadcrumb ul li span {
  font-size: 1.4rem;
  color: #000000;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  display: inline-block;
}
.breadcrumb ul li a.calsans,
.breadcrumb ul li span.calsans {
  font-size: 1.8rem;
  font-family: "CalSans";
  line-height: 1;
  padding-top: 0.6rem;
}
.breadcrumb ul li a {
  color: #003968;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
}
.breadcrumb ul li a::before {
  content: "";
  width: calc(100% - 0.5rem);
  height: 0.1rem;
  background-color: #003968;
  position: absolute;
  bottom: 0.2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.breadcrumb ul li a:hover {
  opacity: 0.7;
}

.sub_page_ttl {
  width: 100%;
  font-family: "CalSans";
  font-size: 13rem;
  color: #003968;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-align: center;
  padding-top: 2.9rem;
  padding-bottom: 2rem;
}
.sub_page_ttl.mt {
  margin-top: 10rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** showroom
******************************************************************************
----------------------------------------------------------------------------*/
.showroom_page_sec01 {
  padding-bottom: 20rem;
}
.showroom_page_sec01 .container .showroom_block {
  width: 100%;
  margin-top: 6.2rem;
  border-radius: 2rem;
  padding: 0 6.25%;
  background-color: #fff;
}

.common_showroom_box {
  width: 100%;
  padding: 14rem 0 10rem;
  border-bottom: #ddd solid 0.1rem;
  position: relative;
}
.common_showroom_box:first-of-type {
  padding-top: 0;
}
.common_showroom_box:last-of-type {
  border-bottom: none;
}
.common_showroom_box .showroom_name {
  width: calc(100% - (42.8571429% + 2rem));
  max-width: 74rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-top: 0.2rem;
  padding-bottom: 1.9rem;
  border-bottom: #000 solid 0.1rem;
  float: left;
}
.common_showroom_box .showroom_place_name {
  font-family: "CalSans";
  font-size: 15rem;
  color: #edeff3;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  top: 7.7rem;
  right: -5%;
}
.common_showroom_box .showroom_slider {
  width: 42.8571429%;
  float: right;
}
.common_showroom_box .showroom_data {
  width: calc(100% - (42.8571429% + 2rem));
  min-height: 40.9rem;
  max-width: 74rem;
  float: left;
  margin-top: 2.2rem;
}
.common_showroom_box .showroom_btn {
  width: 100%;
  float: left;
  margin-top: 4.2rem;
}
@media screen and (max-width: 1400px) {
  .common_showroom_box .showroom_name {
    width: calc(100% - 52rem);
  }
  .common_showroom_box .showroom_slider {
    width: 50rem;
  }
  .common_showroom_box .showroom_data {
    width: calc(100% - 52rem);
  }
}
@media screen and (max-width: 1000px) {
  .common_showroom_box .showroom_name {
    width: calc(100% - 37rem);
  }
  .common_showroom_box .showroom_slider {
    width: 35rem;
  }
  .common_showroom_box .showroom_data {
    width: calc(100% - 37rem);
  }
}

.common_data_list {
  width: 100%;
  word-break: keep-all;
  display: grid;
  grid-template-columns: 14rem auto;
}
.common_data_list > dt,
.common_data_list > dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-bottom: 2.2rem;
  border-bottom: solid 0.1rem #dddddd;
  margin-top: 2.1rem;
}
.common_data_list > dt:first-of-type,
.common_data_list > dd:first-of-type {
  margin-top: 0;
}
.common_data_list > dt:last-of-type,
.common_data_list > dd:last-of-type {
  border-bottom: none;
}
.common_data_list > dd {
  padding-left: 0.9rem;
}
.common_data_list > dd .access_list {
  width: 100%;
}
.common_data_list > dd .access_list > dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-left: 3.2rem;
  margin-top: 1.5rem;
}
.common_data_list > dd .access_list > dt:first-of-type {
  margin-top: 0;
}
.common_data_list > dd .access_list > dt.car {
  background: url(../images/common/car_icon.png) no-repeat left center/2.4rem;
  background: url(../images/common/car_icon.svg) no-repeat left center/2.4rem;
}
.common_data_list > dd .access_list > dt.train {
  background: url(../images/common/train_icon.png) no-repeat left 0.2rem center/2rem;
  background: url(../images/common/train_icon.svg) no-repeat left 0.2rem center/2rem;
}
.common_data_list > dd .access_list > dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 0.2rem;
}
@media screen and (max-width: 1000px) {
  .common_data_list {
    display: block;
  }
  .common_data_list > dt {
    border-bottom: none;
    padding-bottom: 0;
  }
  .common_data_list > dd {
    padding-left: 0;
    margin-top: 0;
  }
}

.common_slide_wrap {
  width: 100%;
}
.common_slide_wrap .common_slide {
  width: 100%;
  aspect-ratio: 1/0.666666666;
  overflow: hidden;
}
.common_slide_wrap .common_slide .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.common_slide_wrap .common_slide .swiper-wrapper .swiper-slide {
  width: 100%;
  height: 100%;
}
.common_slide_wrap .common_slide .swiper-wrapper .swiper-slide figure {
  width: 100%;
  height: 100%;
  display: block;
}
.common_slide_wrap .common_slide .swiper-wrapper .swiper-slide figure picture {
  width: 100%;
  height: 100%;
  display: block;
}
.common_slide_wrap .common_slide .swiper-wrapper .swiper-slide figure picture img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_slide_wrap .slide_guide {
  width: 100%;
  text-align: center;
  margin-top: 2.9rem;
}
.common_slide_wrap .slide_guide .guide_wrap {
  display: inline-block;
  position: relative;
  padding: 0 4.3rem;
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-button {
  width: 1.1rem;
  height: 2.1rem;
  background: url(../images/common/slider_arrow.png) no-repeat center/contain;
  margin: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-button.swiper-button-prev {
  left: 0;
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-button.swiper-button-next {
  right: 0;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-button::after {
  display: none;
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: static;
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-pagination .swiper-pagination-bullet {
  width: 1.3rem;
  height: 1.3rem;
  border-radius: 50%;
  background-color: #cdcfd4;
  margin-right: 1.6rem;
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #000;
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-pagination .swiper-pagination-bullet:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 1310px) {
  .common_slide_wrap .slide_guide .guide_wrap {
    padding: 0 3rem;
  }
  .common_slide_wrap .slide_guide .guide_wrap .swiper-pagination .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
  }
}

.common_flow_sec {
  padding-top: 10.6rem;
  padding-bottom: 11rem;
  background-color: #fff;
}
.common_flow_sec .container .flow_list {
  width: 100%;
  max-width: 134.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 5.7rem auto 0;
}
.common_flow_sec .container .flow_list li {
  width: 16.381236038%;
  max-width: 22rem;
  list-style-type: none;
  position: relative;
}
.common_flow_sec .container .flow_list li:last-of-type::before {
  display: none;
}
.common_flow_sec .container .flow_list li::before {
  content: "";
  width: 26.363636363%;
  height: 0.4rem;
  background: url(../images/common/flow_arrow.png) no-repeat center/contain;
  position: absolute;
  top: calc(50% + 0.8rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -27.27272727%;
}
.common_flow_sec .container .flow_list li .flow_ttl {
  width: 100%;
  max-width: 20rem;
  height: 4rem;
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  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;
  background-color: #000;
  border-radius: 2rem;
  margin: 0 auto;
}
.common_flow_sec .container .flow_list li .flow_img {
  width: 8rem;
  aspect-ratio: 1/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;
  margin: 2.4rem auto 0;
}
.common_flow_sec .container .flow_list li .flow_txt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 1.7rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** products
******************************************************************************
----------------------------------------------------------------------------*/
.common_product_series_list {
  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;
}
.common_product_series_list dt {
  width: 18.2142857%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 4.82rem;
  margin-top: 5.5rem;
}
.common_product_series_list dt:first-of-type {
  margin-top: 0;
}
.common_product_series_list dt a {
  width: 100%;
  padding-right: 5rem;
  display: block;
  position: relative;
}
.common_product_series_list dt a::before {
  content: "";
  width: 2.9rem;
  height: 2.9rem;
  background: url(../images/common/products_arrow.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_product_series_list dt a:hover::before {
  right: 0.3rem;
}
.common_product_series_list dt a picture {
  width: 100%;
  max-width: 20rem;
  text-align: center;
  display: block;
}
.common_product_series_list dd {
  width: calc(100% - (18.2142857% + 2rem));
  max-width: 107.8rem;
  margin-top: 5.5rem;
}
.common_product_series_list dd:first-of-type {
  margin-top: 0;
}
.common_product_series_list dd ul {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.0666666667rem;
}
.common_product_series_list dd ul li a {
  width: 100%;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_product_series_list dd ul li a .product_img {
  width: 100%;
  aspect-ratio: 1/1.2625;
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_product_series_list dd ul li a .product_img picture {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.common_product_series_list dd ul li a .product_img picture.out-mouse {
  z-index: 2;
  -webkit-transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
}
.common_product_series_list dd ul li a .product_img picture.on-mouse {
  z-index: 1;
  -webkit-transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  opacity: 0;
}
.common_product_series_list dd ul li a .product_img picture img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_product_series_list dd ul li a .product_name {
  width: 100%;
  font-family: "CalSans";
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-top: 2.3rem;
}
.common_product_series_list dd ul li a:hover .product_img picture.out-mouse {
  opacity: 0;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.common_product_series_list dd ul li a:hover .product_img picture.on-mouse {
  opacity: 1;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.common_product_series_list.top dt {
  width: 16.5625%;
  margin-top: 7.2rem;
}
.common_product_series_list.top dt:first-of-type {
  margin-top: 0;
}
.common_product_series_list.top dt a::before {
  right: 2.3rem;
}
.common_product_series_list.top dt a:hover::before {
  right: 1.3rem;
}
.common_product_series_list.top dd {
  width: calc(100% - (16.5625% + 2rem));
  max-width: 127.8rem;
  margin-top: 7.2rem;
}
.common_product_series_list.top dd:first-of-type {
  margin-top: 0;
}
.common_product_series_list.top dd ul {
  gap: 4.0666666667rem;
}
.common_product_series_list.top dd ul li a .product_name {
  font-size: 2rem;
  margin-top: 2.2rem;
}

.products_page_sec01 .products_hero {
  width: 100%;
  aspect-ratio: 1400/600;
  max-width: 140rem;
  margin: 5rem auto 0;
}
.products_page_sec01 .products_hero picture {
  width: 100%;
  height: 100%;
  display: block;
}
.products_page_sec01 .products_hero picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.products_page_sec01 .container .products_case_block {
  max-width: 120rem;
  margin: 10rem auto 0;
}
.products_page_sec01 .container .products_case_block .products_case_ttl {
  margin-bottom: 4.1rem;
}
.products_page_sec01 .container .common_case_block {
  margin-top: 0;
}
.products_page_sec01 .container .products_select_block {
  margin-top: 10rem;
}
.products_page_sec01 .container.new-layout .product_block {
  width: 100%;
  margin-top: 3rem;
}
.products_page_sec01 .container.new-layout .product_block .products_box {
  padding-top: 5rem;
}
.products_page_sec01 .container.old-layout .product_block {
  width: 100%;
  margin-top: 8rem;
}
.products_page_sec01 .container.old-layout .product_block .products_box {
  padding-top: 10rem;
}
.products_page_sec01 .container .products_navi {
  width: 100%;
  max-width: 140rem;
  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;
  margin: 6.3rem auto 0;
}
.products_page_sec01 .container .products_navi .products_navi_box {
  width: auto;
  min-width: 66rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.products_page_sec01 .container .products_navi .products_navi_box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.products_page_sec01 .container .products_navi .products_navi_box dl dt {
  font-family: "CalSans";
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-right: 3.1rem;
  padding-top: 0.6rem;
}
.products_page_sec01 .container .products_navi ul {
  min-height: 7.4rem;
  background-color: #e4e7ed;
  padding: 2.1rem 5.8rem 1.5rem;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 5.6rem;
}
.products_page_sec01 .container .products_navi ul li a {
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.products_page_sec01 .container .products_navi ul li a span {
  font-family: "CalSans";
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-right: 5.7rem;
  display: inline-block;
  position: relative;
}
.products_page_sec01 .container .products_navi ul li a span::before {
  content: "";
  width: 2.6rem;
  aspect-ratio: 30/53;
  position: absolute;
  top: -0.8rem;
  right: 1rem;
  background: url(../images/common/products_arrow02_w.svg) center center/1.4rem no-repeat, rgb(0, 57, 104);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.products_page_sec01 .container .products_navi ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1450px) {
  .products_page_sec01 .container .products_navi {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .products_page_sec01 .container .products_navi .products_navi_box {
    width: 71rem;
  }
  .products_page_sec01 .container .products_navi .products_navi_box:last-of-type {
    margin-top: 2rem;
  }
  .products_page_sec01 .container .products_navi .products_navi_box dl dt {
    width: 8rem;
  }
}
.products_page_sec01 .container .product_block02 {
  width: 100%;
  margin-top: 8rem;
}
.products_page_sec01 .container .product_block02 .products_box {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
.products_page_sec01 .container .products_option_block {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem 2.85714286%;
  margin-top: 5.5rem;
}
.products_page_sec01 .container .products_option_movie {
  width: 100%;
  max-width: 80rem;
  margin: 6rem auto -0.3rem;
}
.products_page_sec01 .container .products_option_movie .movie_ttl {
  width: 100%;
}
.products_page_sec01 .container .products_option_movie .movie_ttl span {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 5.6rem;
  position: relative;
}
.products_page_sec01 .container .products_option_movie .movie_ttl span::before {
  content: "";
  width: 4.4rem;
  height: 3.1rem;
  background: url(../images/common/movie_icon.png) no-repeat center/contain;
  position: absolute;
  top: 1rem;
  left: 0;
}
.products_page_sec01 .container .products_option_movie .movie {
  width: 100%;
  aspect-ratio: 1/0.5625;
  background-color: #ccc;
  border-radius: 2rem;
  overflow: hidden;
  margin-top: 1.8rem;
}
.products_page_sec01 .container .products_option_movie .movie iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.products_page_sec01 .container .products_option_movie .movie_note {
  margin-top: 1rem;
}

.products_others_sec {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.common_product_others_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 56rem));
  gap: 3rem 5rem;
}
.common_product_others_list li {
  overflow: hidden;
}
.common_product_others_list li a {
  width: 100%;
  height: 20rem;
  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;
  padding: 2rem;
  border-radius: 1.5rem;
  overflow: hidden;
  position: relative;
}
.common_product_others_list li a::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  z-index: 2;
}
.common_product_others_list li a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  z-index: 1;
}
.common_product_others_list li a .others_name {
  display: block;
  position: relative;
  z-index: 3;
}
.common_product_others_list li a .others_name .jp {
  font-size: 2.4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  display: block;
}
.common_product_others_list li a .others_name .en {
  font-family: "CalSans";
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  display: block;
  margin-top: 1.4rem;
}
.common_product_others_list li a:hover::before {
  background-color: rgba(0, 0, 0, 0.25);
}
.common_product_others_list li a:hover::after {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.common_product_others_list li.option {
  grid-column: 1/-1;
}
.common_product_others_list li.option a {
  width: 100%;
}
.common_product_others_list li.option a::after {
  background: -webkit-image-set(url(../images/products/option_bg_pc.webp) 1x, url(../images/products/option_bg_pc@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/option_bg_pc.webp) 1x, url(../images/products/option_bg_pc@2x.webp) 2x) no-repeat center/cover;
}
.common_product_others_list li.compare {
  grid-column: 1/-1;
}
.common_product_others_list li.compare a {
  width: 100%;
}
.common_product_others_list li.compare a::after {
  background: -webkit-image-set(url(../images/products/compare_bg_pc.webp) 1x, url(../images/products/compare_bg_pc@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/compare_bg_pc.webp) 1x, url(../images/products/compare_bg_pc@2x.webp) 2x) no-repeat center/cover;
}
.common_product_others_list li.showroom a::after {
  background: -webkit-image-set(url(../images/products/showroom_bg.webp) 1x, url(../images/products/showroom_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/showroom_bg.webp) 1x, url(../images/products/showroom_bg@2x.webp) 2x) no-repeat center/cover;
}
.common_product_others_list li.kolo a::after {
  background: -webkit-image-set(url(../images/products/kolo_bg.webp) 1x, url(../images/products/kolo_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/kolo_bg.webp) 1x, url(../images/products/kolo_bg@2x.webp) 2x) no-repeat center/cover;
}
.common_product_others_list li.milli a::after {
  background: -webkit-image-set(url(../images/products/milli_bg.webp) 1x, url(../images/products/milli_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/milli_bg.webp) 1x, url(../images/products/milli_bg@2x.webp) 2x) no-repeat center/cover;
}
.common_product_others_list li.samax a::after {
  background: -webkit-image-set(url(../images/products/sam_bg.webp) 1x, url(../images/products/sam_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/sam_bg.webp) 1x, url(../images/products/sam_bg@2x.webp) 2x) no-repeat center/cover;
}

.common_option_box {
  width: 100%;
  padding: 4.6rem 4.7rem 4.2rem;
  background-color: #fff;
  border-radius: 2rem;
  border: solid 0.2rem #dddddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.common_option_box .option_box_inner01 {
  width: 41.2442%;
  margin-right: 2rem;
}
.common_option_box .option_box_inner01 .option_name {
  width: 100%;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3571428571;
  letter-spacing: 0.05em;
}
.common_option_box .option_box_inner01 .option_name.height {
  min-height: 8.2rem;
}
.common_option_box .option_box_inner01 .option_name span {
  font-family: "CalSans";
  font-weight: 600;
  line-height: 1;
}
.common_option_box .option_box_inner01 .option_img {
  width: 100%;
  margin-top: 3.3rem;
}
.common_option_box .option_box_inner02 {
  width: calc(100% - (41.2442% + 2rem));
  max-width: 31rem;
}
.common_option_box .option_box_inner02 .option_support_list {
  padding-top: 0.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
}
.common_option_box .option_box_inner02 .option_support_list li:not(.note) {
  width: calc((100% - 1rem) / 2);
  max-width: 14rem;
  min-height: 3.6rem;
  font-family: "CalSans";
  font-size: 1.8rem;
  color: #fff;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.7rem 0.5rem 0.4rem;
  background-color: #828893;
  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;
}
.common_option_box .option_box_inner02 .option_support_list li:not(.note) span {
  font-family: "CalSans";
  font-weight: 600;
  line-height: 1;
  display: inline-block;
  margin-left: 0.4rem;
}
.common_option_box .option_box_inner02 .option_support_list li:not(.note).none {
  background-color: #CDCFD4;
  color: #828893;
}
.common_option_box .option_box_inner02 .option_support_list li:not(.note).none span {
  color: #828893;
}
@media screen and (min-width: 1101px) and (max-width: 1320px) {
  .common_option_box .option_box_inner02 .option_support_list li:not(.note) {
    min-height: auto;
    min-height: initial;
    font-size: 1.2rem;
  }
}
.common_option_box .option_box_inner02 .option_support_list .note {
  min-height: 3.62rem;
  font-size: 1.6rem;
  color: #828893;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0.9rem 0 0.3rem;
}
@media screen and (min-width: 1101px) and (max-width: 1320px) {
  .common_option_box .option_box_inner02 .option_support_list .note {
    font-size: 1.2rem;
  }
}
.common_option_box .option_box_inner02 .option_spec_list {
  width: 100%;
  margin-top: 2.4rem;
}
.common_option_box .option_box_inner02 .option_spec_list > dd {
  width: 100%;
  margin-top: 1.1rem;
}
.common_option_box .option_box_inner02 .option_spec_list > dd .spec_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.common_option_box .option_box_inner02 .option_spec_list > dd .spec_list dt,
.common_option_box .option_box_inner02 .option_spec_list > dd .spec_list dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  word-break: break-word;
}
.common_option_box .option_box_inner02 .option_spec_list > dd .spec_list dt {
  width: 4.2rem;
}
.common_option_box .option_box_inner02 .option_spec_list > dd .spec_list dd {
  width: calc(100% - 4.2rem);
}
.common_option_box .option_box_inner02 .option_note {
  letter-spacing: 0.01em;
  margin-top: 0.5rem;
}
.common_option_box .option_box_inner02 .option_color_list {
  width: 100%;
  margin-top: 2.3rem;
}
.common_option_box .option_box_inner02 .option_color_list > dd {
  width: 100%;
  margin-top: 1.1rem;
}
.common_option_box .option_box_inner02 .option_color_list > dd .color_data_list.standard {
  width: 7rem;
  margin-right: 3rem;
}
.common_option_box .option_box_inner02 .option_color_list > dd .color_data_list.special {
  width: 16rem;
}
.common_option_box .option_box_inner02 .option_price_list {
  width: 100%;
  margin-top: 2.3rem;
}
.common_option_box .option_box_inner02 .option_price_list dd {
  width: 100%;
  margin-top: 1.1rem;
}
@media screen and (max-width: 1100px) {
  .common_option_box {
    display: block;
  }
  .common_option_box .option_box_inner01 {
    width: 100%;
    margin-right: 0;
  }
  .common_option_box .option_box_inner01 .option_name {
    line-height: 1.4;
    text-align: center;
  }
  .common_option_box .option_box_inner01 .option_img {
    width: 60%;
    min-width: 16rem;
    margin: 3rem auto 0;
  }
  .common_option_box .option_box_inner02 {
    width: 100%;
    max-width: auto;
    max-width: initial;
  }
  .common_option_box .option_box_inner02 .option_support_list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.common_catch {
  width: 100%;
  text-align: center;
}
.common_catch span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: block;
}

.new-layout .common_products_box {
  width: 100%;
  padding: 8.6rem 6.25% 10rem;
  background-color: #fff;
  border-radius: 2rem;
}
.new-layout .common_products_box.solo {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/50.2rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/50.2rem, #fff;
}
.new-layout .common_products_box.midi {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 17.9rem right 0/53.8rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 17.9rem right 0/53.8rem, #fff;
}
.new-layout .common_products_box.duo {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.8rem/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/62.8rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.8rem/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/62.8rem, #fff;
}
.new-layout .common_products_box.duoDouble {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 44rem/47.4rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 44rem/47.4rem, #fff;
}
.new-layout .common_products_box.sit {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/47.4rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/47.4rem, #fff;
}
.new-layout .common_products_box.stand {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.6rem/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 13rem right 0/47.4rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.6rem/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 13rem right 0/47.4rem, #fff;
}
.new-layout .common_products_box.option {
  background: -webkit-image-set(url(../images/products/option_bg01.webp) 1x, url(../images/products/option_bg01@2x.webp) 2x) no-repeat top 0 left 0/57.6rem, -webkit-image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 128rem right 0/65rem, -webkit-image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 166rem right 46rem/43.3rem, -webkit-image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 130rem left 7.3rem/50.3rem, -webkit-image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/68.9rem, #fff;
  background: image-set(url(../images/products/option_bg01.webp) 1x, url(../images/products/option_bg01@2x.webp) 2x) no-repeat top 0 left 0/57.6rem, image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 128rem right 0/65rem, image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 166rem right 46rem/43.3rem, image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 130rem left 7.3rem/50.3rem, image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/68.9rem, #fff;
}
.new-layout .common_products_box .products_chatch {
  margin-bottom: 5.6rem;
}
.new-layout .common_products_box .products_name {
  width: 100%;
  font-size: 4.6rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 12.9rem;
}
.new-layout .common_products_box .products_name:first-of-type {
  margin-top: 0;
}
.new-layout .common_products_box .products_simulator_block {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.new-layout .common_products_box .products_simulator_block .products_design_box {
  width: 52.8571429%;
  position: relative;
}
.new-layout .common_products_box .products_simulator_block .products_design_box canvas {
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  overflow: hidden;
  position: static;
  opacity: 1;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_slider .common_slide {
  aspect-ratio: 1/1.25;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_slider .common_slide .swiper-wrapper .swiper-slide img {
  width: 100%;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_slider .slide_guide {
  margin-top: 3.8rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list {
  width: 100%;
  margin-top: 6rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dt {
  margin-top: 5rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dt:first-of-type {
  margin-top: 0;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd {
  width: 100%;
  margin-top: 2.8rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dt {
  width: 3.15em;
  margin-right: 1.5rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dt:nth-of-type(2) {
  width: 4.2em;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dd {
  width: 7rem;
  margin-right: 6rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dd:nth-of-type(2) {
  width: 28rem;
  margin-right: 0;
}
@media screen and (max-width: 1550px) {
  .new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dt {
    width: 100% !important;
    margin-top: 1rem;
    margin-right: 0;
  }
  .new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dt:first-of-type {
    margin-top: 0;
  }
  .new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dd {
    width: 100% !important;
    margin-right: 0;
  }
}
.new-layout .common_products_box .products_simulator_block .products_design_box .product_price_list {
  width: 100%;
  margin-top: 0.1rem;
  display: none;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .product_price_list > dd {
  width: 100%;
  margin-top: 3rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .product_price_list > dd .price_list {
  width: 100%;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 10rem auto;
  gap: 2rem 3rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .product_price_list > dd .price_list dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.new-layout .common_products_box .products_simulator_block .products_data_box {
  width: 42.8571429%;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box {
  width: 100%;
  margin-top: 5rem;
  margin-bottom: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box:first-of-type {
  margin-top: 0;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_parent_list {
  width: 100%;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_parent_list > dd {
  width: 100%;
  margin-top: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_parent_list > dd .select_color {
  font-weight: 500;
  margin-bottom: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_parent_list > dd .panel_color_name {
  margin-top: 0.5rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_parent_list > dd.hidden {
  display: none;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 {
  width: 100%;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 dt {
  width: 100%;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 dd {
  width: 100%;
  margin-top: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 dd .select_color {
  font-weight: 500;
  margin-bottom: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02.child_list dd {
  margin-top: 0.5rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .change_txt {
  width: 100%;
  text-align: right;
  margin-top: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .change_txt span {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.04em;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .change_txt span:hover {
  opacity: 0.7;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .frame_color_name {
  margin-top: 0.5rem;
}
.new-layout .common_products_box .products_data_box02 {
  width: 100%;
  margin-top: 10rem;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner {
  width: 100%;
  max-width: 74rem;
  margin: 0 auto;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .products_description {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_spec_list {
  width: 100%;
  margin-top: 3.3rem;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_spec_list > dd {
  width: 100%;
  margin-top: 2.1rem;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_views {
  width: 100%;
  margin-top: 5.1rem;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_views > dd {
  width: 100%;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_views > dd .product_click_view {
  width: 100%;
  padding-top: 3.1rem;
  position: relative;
  cursor: pointer;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_views > dd .product_click_view::before {
  content: "";
  width: 4rem;
  height: 4rem;
  background: url(../images/common/view_icon.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  pointer-events: none;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_option_list {
  width: 100%;
  margin-top: 5.3rem;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_option_list > dd {
  width: 100%;
  margin-top: 3rem;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_option_btn {
  margin-top: 8rem;
}
.new-layout .common_products_box .products_data_box02 .products_data_box02_inner .product_option_btn a {
  max-width: 38rem;
}

.old-layout .common_products_box {
  width: 100%;
  padding: 8.6rem 6.25% 16rem;
  background-color: #fff;
  border-radius: 2rem;
}
.old-layout .common_products_box .sub_page_ttl {
  text-align: left;
  margin-top: -5rem;
  margin-bottom: -2rem;
}
.old-layout .common_products_box.solo {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/50.2rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/50.2rem, #fff;
}
.old-layout .common_products_box.midi {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 17.9rem right 0/53.8rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 17.9rem right 0/53.8rem, #fff;
}
.old-layout .common_products_box.duo {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.8rem/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/62.8rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.8rem/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/62.8rem, #fff;
}
.old-layout .common_products_box.duoDouble {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 44rem/47.4rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 44rem/47.4rem, #fff;
}
.old-layout .common_products_box.sit {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/47.4rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem right 0/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/47.4rem, #fff;
}
.old-layout .common_products_box.stand {
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.6rem/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 13rem right 0/47.4rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 45rem left 4.6rem/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 13rem right 0/47.4rem, #fff;
}
.old-layout .common_products_box.option {
  background: -webkit-image-set(url(../images/products/option_bg01.webp) 1x, url(../images/products/option_bg01@2x.webp) 2x) no-repeat top 0 left 0/57.6rem, -webkit-image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 128rem right 0/65rem, -webkit-image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 166rem right 46rem/43.3rem, -webkit-image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 130rem left 7.3rem/50.3rem, -webkit-image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/68.9rem, #fff;
  background: image-set(url(../images/products/option_bg01.webp) 1x, url(../images/products/option_bg01@2x.webp) 2x) no-repeat top 0 left 0/57.6rem, image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 128rem right 0/65rem, image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 166rem right 46rem/43.3rem, image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 130rem left 7.3rem/50.3rem, image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/68.9rem, #fff;
}
.old-layout .common_products_box .products_chatch {
  margin-bottom: 5.6rem;
}
.old-layout .common_products_box .products_name {
  width: 100%;
  font-size: 4.6rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 12.9rem;
}
.old-layout .common_products_box .products_name:first-of-type {
  margin-top: 0;
}
.old-layout .common_products_box .products_design_box {
  width: 52.8571429%;
  padding-top: 1rem;
  float: left;
}
.old-layout .common_products_box .products_design_box .products_slider .common_slide {
  aspect-ratio: 1/1.25;
}
.old-layout .common_products_box .products_design_box .products_slider .common_slide .swiper-wrapper .swiper-slide img {
  width: 100%;
}
.old-layout .common_products_box .products_design_box .products_slider .slide_guide {
  margin-top: 3.8rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list {
  width: 100%;
  margin-top: 6rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dt {
  margin-top: 5rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dt:first-of-type {
  margin-top: 0;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dd {
  width: 100%;
  margin-top: 2.8rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dt {
  width: 3.15em;
  margin-right: 1.5rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dt:nth-of-type(2) {
  width: 4.2em;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dd {
  width: 7rem;
  margin-right: 6rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dd:nth-of-type(2) {
  width: 28rem;
  margin-right: 0;
}
@media screen and (max-width: 1550px) {
  .old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dt {
    width: 100% !important;
    margin-top: 1rem;
    margin-right: 0;
  }
  .old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dt:first-of-type {
    margin-top: 0;
  }
  .old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dd {
    width: 100% !important;
    margin-right: 0;
  }
}
.old-layout .common_products_box .products_design_box .product_price_list {
  width: 100%;
  margin-top: 0.1rem;
  display: none;
}
.old-layout .common_products_box .products_design_box .product_price_list > dd {
  width: 100%;
  margin-top: 3rem;
}
.old-layout .common_products_box .products_design_box .product_price_list > dd .price_list {
  width: 100%;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 10rem auto;
  gap: 2rem 3rem;
}
.old-layout .common_products_box .products_design_box .product_price_list > dd .price_list dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.old-layout .common_products_box .products_data_box {
  padding-top: 5rem;
}
.old-layout .common_products_box .products_data_box,
.old-layout .common_products_box .products_data_box02 {
  width: 42.8571429%;
  float: right;
}
.old-layout .common_products_box .products_data_box .produts_color_list02,
.old-layout .common_products_box .products_data_box02 .produts_color_list02 {
  width: 100%;
  margin-top: 5rem;
  margin-bottom: 1rem;
}
.old-layout .common_products_box .products_data_box .produts_color_list02:first-of-type,
.old-layout .common_products_box .products_data_box02 .produts_color_list02:first-of-type {
  margin-top: 0;
}
.old-layout .common_products_box .products_data_box .produts_color_list02 dt,
.old-layout .common_products_box .products_data_box02 .produts_color_list02 dt {
  width: 100%;
}
.old-layout .common_products_box .products_data_box .produts_color_list02 dd,
.old-layout .common_products_box .products_data_box02 .produts_color_list02 dd {
  width: 100%;
  margin-top: 1rem;
}
.old-layout .common_products_box .products_data_box .products_description,
.old-layout .common_products_box .products_data_box02 .products_description {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.old-layout .common_products_box .products_data_box .product_spec_list,
.old-layout .common_products_box .products_data_box02 .product_spec_list {
  width: 100%;
  margin-top: 3.3rem;
}
.old-layout .common_products_box .products_data_box .product_spec_list > dd,
.old-layout .common_products_box .products_data_box02 .product_spec_list > dd {
  width: 100%;
  margin-top: 2.1rem;
}
.old-layout .common_products_box .products_data_box .product_views,
.old-layout .common_products_box .products_data_box02 .product_views {
  width: 100%;
  margin-top: 5.1rem;
}
.old-layout .common_products_box .products_data_box .product_views > dd,
.old-layout .common_products_box .products_data_box02 .product_views > dd {
  width: 100%;
}
.old-layout .common_products_box .products_data_box .product_views > dd .product_click_view,
.old-layout .common_products_box .products_data_box02 .product_views > dd .product_click_view {
  width: 100%;
  padding-top: 3.1rem;
  position: relative;
  cursor: pointer;
}
.old-layout .common_products_box .products_data_box .product_views > dd .product_click_view::before,
.old-layout .common_products_box .products_data_box02 .product_views > dd .product_click_view::before {
  content: "";
  width: 4rem;
  height: 4rem;
  background: url(../images/common/view_icon.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  pointer-events: none;
}
.old-layout .common_products_box .products_data_box .product_option_list,
.old-layout .common_products_box .products_data_box02 .product_option_list {
  width: 100%;
  margin-top: 5.3rem;
}
.old-layout .common_products_box .products_data_box .product_option_list > dd,
.old-layout .common_products_box .products_data_box02 .product_option_list > dd {
  width: 100%;
  margin-top: 3rem;
}
.old-layout .common_products_box .products_data_box02 {
  width: 100%;
  float: left;
  margin-top: 10rem;
}
.old-layout .common_products_box .products_data_box02 .products_data_box02_inner {
  width: 100%;
  max-width: 74rem;
  margin: 0 auto;
}

.custom_color_slide .swiper-wrapper {
  position: static;
  height: auto;
  display: block;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.click_view_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;
  pointer-events: none;
  z-index: 100;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.click_view_modal.show {
  opacity: 1;
  pointer-events: auto;
}
.click_view_modal .img {
  width: calc(100% - 4rem);
  max-width: 140rem;
  max-height: 70rem;
  padding: clamp(0px, 8vh, 15rem) 8rem;
  background-color: #fff;
  border-radius: 2rem;
  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 2rem;
  z-index: 2;
}
.click_view_modal .img::before {
  content: "×";
  font-size: 6rem;
  color: #fff;
  position: absolute;
  top: -0.3rem;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
}
.click_view_modal .img img {
  max-width: 80%;
  margin: 0 auto;
  display: block;
}
.click_view_modal .click_view_modal_bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
}

.common_color_list {
  padding-top: 0.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.common_color_list.square li:not(.note) .color_img {
  width: 5.4rem;
  border-radius: 0;
}
.common_color_list.square li:not(.note) .color_img img {
  border-radius: 0;
}
.common_color_list.square li:not(.note).active .color_img::before {
  border-radius: 0;
}
.common_color_list li:not(.note) {
  text-align: center;
}
.common_color_list li:not(.note) .color_img {
  width: 3rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  display: inline-block;
  cursor: pointer;
  position: relative;
}
.common_color_list li:not(.note) .color_img img {
  border-radius: 50%;
}
.common_color_list li:not(.note) .color_data {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0;
  margin-top: 0.5rem;
}
.common_color_list li:not(.note) .color_data > span {
  display: block;
}
.common_color_list li:not(.note).active .color_img::before {
  content: "";
  width: calc(100% + 0.8rem);
  aspect-ratio: 1/1;
  border: solid 0.2rem #000;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.common_color_list li:not(.note).disabled {
  pointer-events: none;
}
.common_color_list li:not(.note).disabled .color_img::before {
  content: "";
  width: calc(100% + 0.1rem);
  aspect-ratio: 1/1;
  background-color: #fff;
  opacity: 0.8;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.common_color_list li:not(.note).disabled .color_img::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 2;
}
.common_color_list li:not(.note):last-of-type {
  margin-right: 0;
}
.common_color_list li:not(.note).white {
  background: url(../images/products/white.png) no-repeat center/contain;
}
.common_color_list li:not(.note).black {
  background: url(../images/products/black.png) no-repeat center/contain;
}
.common_color_list li:not(.note).gray {
  background: url(../images/products/gray.png) no-repeat center/contain;
}
.common_color_list li:not(.note).pink {
  background: url(../images/products/pink.png) no-repeat center/contain;
}
.common_color_list li:not(.note).red {
  background: url(../images/products/red.png) no-repeat center/contain;
}
.common_color_list li:not(.note).brick_red {
  background: url(../images/products/brick_red.png) no-repeat center/contain;
}
.common_color_list li:not(.note).cappuccino {
  background: url(../images/products/cappuccino.png) no-repeat center/contain;
}
.common_color_list li:not(.note).light_blue {
  background: url(../images/products/light_blue.png) no-repeat center/contain;
}
.common_color_list li:not(.note).navy {
  background: url(../images/products/navy.png) no-repeat center/contain;
}
.common_color_list li:not(.note).green {
  background: url(../images/products/green.png) no-repeat center/contain;
}
.common_color_list li:not(.note).yellow {
  background: url(../images/products/yellow.png) no-repeat center/contain;
}
.common_color_list li:not(.note).purple {
  background: url(../images/products/purple.png) no-repeat center/contain;
}
.common_color_list li:not(.note).oak {
  background: url(../images/products/oak.png) no-repeat center/contain;
}
.common_color_list li:not(.note).walnut {
  background: url(../images/products/walnut.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_gray {
  background: url(../images/products/op_gray.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_brown {
  background: url(../images/products/op_brown.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_red {
  background: url(../images/products/op_red.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_yellow {
  background: url(../images/products/op_yellow.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_green {
  background: url(../images/products/op_green.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_light_blue {
  background: url(../images/products/op_light_blue.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_blue {
  background: url(../images/products/op_blue.png) no-repeat center/contain;
}
.common_color_list li:not(.note).op_purple {
  background: url(../images/products/op_purple.png) no-repeat center/contain;
}
.common_color_list .note {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-left: 0.3rem;
}

.common_color_list_old {
  padding-top: 0.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.common_color_list_old.square li:not(.note) {
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 0;
}
.common_color_list_old li:not(.note) {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #fff;
  display: inline-block;
  cursor: pointer;
}
.common_color_list_old li:not(.note):last-of-type {
  margin-right: 0;
}
.common_color_list_old li:not(.note).white {
  background: url(../images/products/white.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).black {
  background: url(../images/products/black.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).gray {
  background: url(../images/products/gray.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).pink {
  background: url(../images/products/pink.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).red {
  background: url(../images/products/red.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).brick_red {
  background: url(../images/products/brick_red.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).cappuccino {
  background: url(../images/products/cappuccino.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).light_blue {
  background: url(../images/products/light_blue.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).navy {
  background: url(../images/products/navy.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).green {
  background: url(../images/products/green.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).yellow {
  background: url(../images/products/yellow.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).purple {
  background: url(../images/products/purple.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).oak {
  background: url(../images/products/oak.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).walnut {
  background: url(../images/products/walnut.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_gray {
  background: url(../images/products/op_gray.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_brown {
  background: url(../images/products/op_brown.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_red {
  background: url(../images/products/op_red.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_yellow {
  background: url(../images/products/op_yellow.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_green {
  background: url(../images/products/op_green.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_light_blue {
  background: url(../images/products/op_light_blue.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_blue {
  background: url(../images/products/op_blue.png) no-repeat center/contain;
}
.common_color_list_old li:not(.note).op_purple {
  background: url(../images/products/op_purple.png) no-repeat center/contain;
}
.common_color_list_old .note {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-left: 0.3rem;
}

.common_product_list_ttl {
  width: 100%;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-bottom: 0.3rem;
  border-bottom: solid 0.1rem #000;
}
.common_product_list_ttl span {
  font-size: 2.2rem;
  font-family: "CalSans";
}
.common_product_list_ttl.small {
  font-size: 1.6rem;
  border-bottom: none;
  padding-bottom: 0;
}

.common_option_list {
  width: 100%;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 1450px) {
  .common_option_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1050px) {
  .common_option_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.common_option_list li {
  width: 100%;
  font-size: 1.3rem;
  color: #fff;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.4rem 0.5rem;
  background-color: rgb(130, 136, 147);
  border-radius: 2rem;
}
.common_option_list li span {
  font-family: "CalSans";
  font-weight: 600;
  line-height: 1;
  display: inline-block;
  margin-left: 0.4rem;
}
.common_option_list li.none {
  background-color: rgba(130, 136, 147, 0.2);
  color: #828893;
}
.common_option_list li.none span {
  color: #828893;
}

/*----------------------------------------------------------------------------
******************************************************************************
** contact
******************************************************************************
----------------------------------------------------------------------------*/
.contact_page_sec01 .container .form_block {
  width: 100%;
  padding: 0 2rem 12rem;
  background-color: #fff;
  border-radius: 2rem;
  margin-top: 6.2rem;
}
.contact_page_sec01 .container .form_block .form_txt {
  text-align: center;
  margin-top: 4.7rem;
}
.contact_page_sec01 .container .form_block .form_txt02 {
  text-align: center;
  margin-top: 3.2rem;
}
.contact_page_sec01 .container .form_block .form_caution_box {
  width: 100%;
  max-width: 100rem;
  padding: 5.1rem 2rem;
  background-color: #f5f7fb;
  margin: 0 auto;
}
.contact_page_sec01 .container .form_block .form_caution_box.pb {
  padding-bottom: 6.8rem;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_list {
  width: 100%;
  max-width: 76.5rem;
  padding-top: 0.8rem;
  margin: 0 auto;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_list li {
  width: 100%;
  line-height: 2.25;
  padding-left: 2.6rem;
  position: relative;
  margin-top: 3.6rem;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_list li:first-of-type {
  margin-top: 0;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_list li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 1.4rem;
  left: 0.3rem;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_txt01,
.contact_page_sec01 .container .form_block .form_caution_box .caution_txt02 {
  line-height: 1.8;
  text-align: center;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_txt01 .bold,
.contact_page_sec01 .container .form_block .form_caution_box .caution_txt02 .bold {
  font-weight: 700;
}
.contact_page_sec01 .container .form_block .form_btn {
  margin-top: 8rem;
}
.contact_page_sec01 .container .form_block .form_wrap {
  width: 100%;
  max-width: 100rem;
  margin: 9rem auto 0;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 27rem auto);
}
.contact_page_sec01 .container .form_block .form_wrap .common_form:nth-of-type(n + 2) {
  border-top: solid 0.1rem #dddddd;
  margin-top: 3.7rem;
  padding-top: 5rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt {
  padding: 3rem 0;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt.child_dl {
  text-align: right;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt.child_dl span {
  padding-right: 5rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt.child_dl span::before {
  display: none;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt span {
  font-weight: 700;
  display: inline-block;
  padding-top: 1.9rem;
  position: relative;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt span::before {
  content: "任意";
  width: 5rem;
  height: 2.4rem;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 0.4rem;
  background-color: #a0a0a0;
  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: 2.4rem;
  right: -1.5rem;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt.required span::before {
  content: "必須";
  background-color: #000000;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd {
  padding: 3rem 0;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box {
  width: 100%;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.products_select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.products_select .products {
  width: calc(100% - 13rem);
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.products_select .num {
  width: 10rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.herf {
  max-width: 36rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.other_input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.other_input .other_input {
  padding-left: 3rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.calsansfonts .wpcf7-list-item:nth-of-type(-n + 3) .wpcf7-list-item-label {
  font-family: "CalSans";
  display: inline-block;
  line-height: 1.458125;
  padding-top: 0.3rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.unit {
  max-width: 40rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.unit div {
  margin-left: 2rem;
  padding-right: 0.4rem;
}
.contact_page_sec01 .container .form_block .form_wrap input[type=text],
.contact_page_sec01 .container .form_block .form_wrap input[type=email],
.contact_page_sec01 .container .form_block .form_wrap input[type=tel],
.contact_page_sec01 .container .form_block .form_wrap input[type=date],
.contact_page_sec01 .container .form_block .form_wrap input[type=number],
.contact_page_sec01 .container .form_block .form_wrap select,
.contact_page_sec01 .container .form_block .form_wrap textarea {
  width: 100%;
  min-height: 7rem;
  padding: 2.2rem 2rem;
  background-color: #f8f8f8;
  border-radius: 1rem;
  border: none;
}
.contact_page_sec01 .container .form_block .form_wrap select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  /* 標準のスタイルを無効化 */
  background: url(../images/common/select_arrow.png) no-repeat center right 2rem, #f8f8f8;
  padding-right: 4rem;
}
.contact_page_sec01 .container .form_block .form_wrap textarea {
  min-height: 20rem;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio {
  padding: 1.1rem 0;
  display: inline-block;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item {
  display: inline-block;
  margin-right: 2.2rem;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item:last-of-type {
  margin-right: 0;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item label {
  display: inline-block;
  cursor: pointer;
  padding: 0.8rem 0;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item label input[type=radio] {
  display: none;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item label input[type=radio]:checked ~ span::after {
  display: block;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item label span {
  padding-left: 3rem;
  position: relative;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item label span::before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background-color: #D3D3D3;
  border-radius: 50%;
  position: absolute;
  top: 0.3rem;
  left: 0;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item label span::after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 0.6rem;
  left: 0.3rem;
  display: none;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance {
  padding: 1.1rem 0;
  display: inline-block;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item {
  display: inline-block;
  margin: 0;
  margin-right: 2.2rem;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item:last-of-type,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item:last-of-type {
  margin-right: 0;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item label,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item label {
  padding: 0.8rem 0;
  display: inline-block;
  cursor: pointer;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item label input[type=checkbox],
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item label input[type=checkbox] {
  display: none;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item label input[type=checkbox]:checked ~ span::after,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item label input[type=checkbox]:checked ~ span::after {
  display: block;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item label span,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item label span {
  padding-left: 3rem;
  position: relative;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item label span::before,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item label span::before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  border: solid #000 0.2rem;
  border-radius: 0.4rem;
  position: absolute;
  top: 0.3rem;
  left: 0;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-checkbox .wpcf7-list-item label span::after,
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-acceptance .wpcf7-list-item label span::after {
  content: "";
  width: 0.5rem;
  height: 1rem;
  border-bottom: solid 0.2rem #000;
  border-right: solid 0.2rem #000;
  position: absolute;
  top: 0.6rem;
  left: 0.7rem;
  -webkit-transform: rotate(46deg);
          transform: rotate(46deg);
  display: none;
}
.contact_page_sec01 .container .form_block .form_wrap .agree_text {
  width: 100%;
  text-align: center;
  margin-top: 4.3rem;
}
.contact_page_sec01 .container .form_block .form_wrap .agree_text .wpcf7-checkbox {
  padding: 0;
}
.contact_page_sec01 .container .form_block .form_wrap .agree_text .wpcf7-checkbox label {
  padding: 0;
}
.contact_page_sec01 .container .form_block .form_wrap .agree_text a {
  text-decoration: underline;
  text-underline-offset: 0.4rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.contact_page_sec01 .container .form_block .form_wrap .agree_text a:hover {
  opacity: 0.7;
}
.contact_page_sec01 .container .form_block .form_wrap .contact_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
  margin-top: 7.7rem;
}
.contact_page_sec01 .container .form_block .form_wrap .contact_btn button {
  margin: 0;
}
.contact_page_sec01 .container .form_block .form_wrap .contact_btn button.back::before {
  right: auto;
  left: 2rem;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.contact_page_sec01 .container .form_block .form_wrap.confirm .common_form dt span {
  padding-top: 0;
}
.contact_page_sec01 .container .form_block .form_wrap.confirm .common_form dt span::before {
  display: none;
}
.contact_page_sec01 .container .form_block .form_wrap.confirm .common_form dd .input_box.products_select {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.contact_page_sec01 .container .form_block .form_wrap.confirm .common_form dd .input_box.products_select .products {
  width: auto;
  margin-right: 2rem;
}
.contact_page_sec01 .container .form_block .form_wrap.confirm .common_form dd .input_box.products_select .num {
  width: auto;
}

.screen-reader-response {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  color: #f00;
}

.wpcf7-response-output {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  color: #f00;
  margin-top: 2rem;
  border: none !important;
}

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

#autozip {
  display: none !important;
}

/*----------------------------------------------------------------------------
******************************************************************************
** Privacy Policy
******************************************************************************
----------------------------------------------------------------------------*/
.policy_page_sec01 {
  padding-bottom: 12rem;
}
.policy_page_sec01 .container .policy_block {
  width: 100%;
  padding: 0 2rem 12rem;
  background-color: #fff;
  border-radius: 2rem;
  margin-top: 6.2rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap {
  max-width: 120rem;
  margin: 5rem auto 0;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_ttl01 {
  width: 100%;
  font-size: 1.8rem;
  margin-top: 3rem;
  margin-bottom: 1rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_txt01 {
  word-break: break-all;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_txt01.border {
  padding-top: 3rem;
  padding-bottom: 3rem;
  border-top: solid 0.1rem #003968;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_txt01 a {
  display: inline;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_txt01 a:hover {
  opacity: 0.7;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_txt02 {
  margin-top: 5rem;
  text-align: right;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_list01 {
  margin-top: 1rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_list01 li {
  padding-left: 1em;
  position: relative;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_list01 li::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: 1.3rem;
  left: 0.2rem;
}

.flatpickr-months {
  height: 4.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #f0f0f0;
}
.flatpickr-months .flatpickr-current-month {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: static;
}
.flatpickr-months .flatpickr-current-month .flatpickr-monthDropdown-months {
  height: 2.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
.flatpickr-months .flatpickr-current-month .numInputWrapper {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
}
.flatpickr-months .flatpickr-current-month .numInputWrapper::before {
  content: "月";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  position: absolute;
  top: 0.6rem;
  right: 0.5rem;
}
.flatpickr-months .flatpickr-current-month .numInputWrapper .cur-year {
  height: 2.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** case list
******************************************************************************
----------------------------------------------------------------------------*/
.two_column_container_wrap {
  width: 100%;
  padding: 0 2rem;
}
.two_column_container_wrap .two_column_container {
  width: 100%;
  max-width: 160rem;
  margin: 6.2rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.two_column_container_wrap .two_column_container .two_column_container_box {
  width: 100%;
  padding: 0 6.25% 12rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
  border-radius: 2rem;
}
.two_column_container_wrap .two_column_container .two_column_container_box.padding {
  padding-right: 12.5%;
  padding-left: 12.5%;
}
.two_column_container_wrap .two_column_container .two_column_container_box.padding .sub_container {
  width: 20.833333333%;
}
.two_column_container_wrap .two_column_container .two_column_container_box.padding .main_container {
  width: 79.166666667%;
  padding-left: 5%;
}
.two_column_container_wrap .two_column_container .two_column_container_box .sub_container {
  width: 17.857142857%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.two_column_container_wrap .two_column_container .two_column_container_box .main_container {
  width: 82.142857143%;
  padding-left: 4.285714285%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 1050px) {
  .two_column_container_wrap .two_column_container .two_column_container_box .sub_container {
    width: 100% !important;
  }
  .two_column_container_wrap .two_column_container .two_column_container_box .main_container {
    width: 100% !important;
    padding-left: 0 !important;
  }
}

.common_category_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.834862385%;
  margin-bottom: 5rem;
  display: none;
}
.common_category_list li a {
  width: 100%;
  height: 5.4rem;
  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;
  padding: 0.8rem 0.5rem 0.5rem;
  border: solid 0.1rem #000;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  cursor: pointer;
}
.common_category_list li a span {
  font-family: "CalSans";
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_category_list li a:hover {
  background-color: #000000;
}
.common_category_list li a:hover span {
  color: #fff;
}
.common_category_list li.current a {
  background-color: #000000;
}
.common_category_list li.current a span {
  color: #fff;
}

.common_case_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.3rem 2.935779816%;
}

.common_case_box {
  width: 100%;
  height: 100%;
}
.common_case_box a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_case_box a:hover {
  opacity: 0.7;
}
.common_case_box a .case_box_ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.7777777;
  letter-spacing: 0.05em;
  margin-top: 1rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.common_case_box a .case_box_company {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-top: 1.2rem;
  border-top: solid 0.1rem #ddd;
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_case_box a .case_box_img {
  width: 100%;
  padding-top: 66.666666666%;
  overflow: hidden;
  position: relative;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_case_box a .case_box_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.common_case_box a .case_category_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, 9rem);
  gap: 7px 2.046783625%;
  margin-top: 2rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.common_case_box a .case_category_list li {
  height: 2.6rem;
  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;
  background-color: #828893;
  padding: 0.8rem 0.5rem 0.5rem;
}
.common_case_box a .case_category_list li span {
  font-family: "CalSans";
  font-size: 1.2rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  display: inline-block;
}

.aside_category_list {
  width: 100%;
  position: sticky;
  top: 11.3rem;
}
.aside_category_list li {
  width: 100%;
  margin-top: 2rem;
}
.aside_category_list li:first-of-type {
  margin-top: 0;
}
.aside_category_list li a,
.aside_category_list li > .wrap {
  width: 100%;
  aspect-ratio: 1/0.36;
  max-height: 9rem;
  padding: 2.3rem 1rem 2rem;
  background-color: #ecedef;
  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;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  cursor: pointer;
}
.aside_category_list li a .casename,
.aside_category_list li > .wrap .casename {
  font-family: "CalSans";
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.aside_category_list li a span,
.aside_category_list li > .wrap span {
  font-size: 1.6rem;
  color: #808080;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  display: inline-block;
  margin-top: -0.7rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.aside_category_list li a span .en,
.aside_category_list li > .wrap span .en {
  width: 100%;
  font-family: "CalSans";
  display: inline-block;
}
.aside_category_list li a span .jp,
.aside_category_list li > .wrap span .jp {
  width: 100%;
  display: inline-block;
  margin-top: 0.6rem;
}
.aside_category_list li a:hover,
.aside_category_list li > .wrap:hover {
  background-color: #003968;
}
.aside_category_list li a:hover span,
.aside_category_list li > .wrap:hover span {
  color: #fff;
}
.aside_category_list li.current a,
.aside_category_list li.current > span {
  background-color: #003968;
}
.aside_category_list li.current a span,
.aside_category_list li.current > span span {
  color: #fff;
}
.aside_category_list.case li {
  width: 100%;
  margin-top: 2rem;
}
.aside_category_list.case li:first-of-type {
  margin-top: 0;
}
.aside_category_list.case li a span {
  font-family: "CalSans";
  font-size: 2rem;
  margin-top: 0;
}
@media screen and (max-width: 1050px) {
  .aside_category_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 3.5%;
    margin-bottom: 5rem;
    position: static;
    top: 0;
  }
  .aside_category_list li {
    margin-top: 0 !important;
  }
  .aside_category_list li a {
    aspect-ratio: 1/0.25;
  }
  .aside_category_list li a:hover {
    background-color: #000000;
  }
  .aside_category_list li a:hover span {
    color: #fff;
  }
}

.wp-pagenavi_wrap {
  width: 100%;
  margin-top: 7.4rem;
  text-align: center;
}
.wp-pagenavi_wrap .wp-pagenavi {
  position: relative;
  padding: 0 2.2rem;
  display: inline-block;
}
.wp-pagenavi_wrap .wp-pagenavi a:not(.nextpostslink):not(.previouspostslink),
.wp-pagenavi_wrap .wp-pagenavi span:not(.extend) {
  width: 4rem;
  height: 4rem;
  font-family: "CalSans";
  font-size: 2rem;
  color: #003968;
  font-weight: 600;
  line-height: 1;
  border-radius: 50%;
  padding: 1.1rem;
  border: solid 0.1rem #003968;
  display: inline-block;
  text-align: center;
  margin: 0 0.85rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.wp-pagenavi_wrap .wp-pagenavi a:not(.nextpostslink):not(.previouspostslink).current,
.wp-pagenavi_wrap .wp-pagenavi span:not(.extend).current {
  color: #fff;
  background-color: #003968;
}
.wp-pagenavi_wrap .wp-pagenavi a:not(.nextpostslink):not(.previouspostslink):hover,
.wp-pagenavi_wrap .wp-pagenavi span:not(.extend):hover {
  color: #fff;
  background-color: #003968;
}
.wp-pagenavi_wrap .wp-pagenavi .extend {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  margin: 0 1rem;
  position: relative;
  top: -0.6rem;
}
.wp-pagenavi_wrap .wp-pagenavi .previouspostslink,
.wp-pagenavi_wrap .wp-pagenavi .nextpostslink {
  width: 0.9rem;
  height: 1.6rem;
  text-indent: 1rem;
  overflow: hidden;
  background: url(../images/common/slider_arrow.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.wp-pagenavi_wrap .wp-pagenavi .previouspostslink:hover,
.wp-pagenavi_wrap .wp-pagenavi .nextpostslink:hover {
  opacity: 0.7;
}
.wp-pagenavi_wrap .wp-pagenavi .nextpostslink {
  left: auto;
  right: 0;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}

.common_faq_list {
  width: 100%;
  border-bottom: solid 0.1rem #dddddd;
}
.common_faq_list:first-of-type {
  padding-top: 0;
  margin-top: -0.6rem;
}
.common_faq_list:first-of-type dt {
  padding-top: 0;
}
.common_faq_list dt {
  width: 100%;
  padding: 4.5rem 0 4.4rem;
  cursor: pointer;
}
.common_faq_list dt .ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 6.1rem;
  display: inline-block;
  position: relative;
}
.common_faq_list dt .ttl::before, .common_faq_list dt .ttl::after {
  content: "";
  width: 2.8rem;
  height: 0.1rem;
  background-color: #000000;
  position: absolute;
  top: 1.9rem;
  left: 0.1rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_faq_list dt .ttl::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.common_faq_list dt.open .ttl::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.common_faq_list dd {
  width: 100%;
  padding-left: 6.1rem;
  padding-bottom: 4.4rem;
  margin-top: -1.4rem;
  display: none;
}
.common_faq_list dd .editor_area > *:first-of-type {
  margin-top: 0;
}
.common_faq_list dd .editor_area > *:last-of-type {
  margin-bottom: 0;
}

.common_news_list {
  width: 100%;
  border-bottom: solid 0.1rem #dddddd;
}
.common_news_list:first-of-type {
  padding-top: 0;
  margin-top: -0.1rem;
}
.common_news_list li {
  width: 100%;
  border-top: solid 0.1rem #dddddd;
}
.common_news_list li a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3rem 5rem 3rem 2.1rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_news_list li a::before {
  content: "";
  width: 1.5rem;
  height: 1.1rem;
  background: url(../images/common/products_arrow02.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 2.6rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_news_list li a .news_date {
  width: 11rem;
  font-family: "CalSans";
  font-size: 1.6rem;
  color: #003968;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: inline-block;
  padding-top: 0.4rem;
  margin-right: 1rem;
}
.common_news_list li a .news_category {
  min-width: 12rem;
  height: 3rem;
  font-family: "CalSans";
  font-size: 1.6rem;
  color: #003968;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0.8rem 0.5rem 0.5rem;
  border: solid 0.1rem #003968;
  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-right: 1.7rem;
}
.common_news_list li a .news_ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-top: 0.1rem;
}
.common_news_list li a:hover {
  opacity: 0.7;
}
.common_news_list li a:hover::before {
  right: 1.6rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** case study detail
******************************************************************************
----------------------------------------------------------------------------*/
.case_study_detail .container .detail_block_wrap {
  width: 100%;
  padding: 10rem 12.5% 11.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
  border-radius: 2rem;
  margin-top: 2.6rem;
}
.case_study_detail .container .detail_block_wrap .detail_block01 {
  width: 100%;
  min-height: 60rem;
  position: relative;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl {
  width: 40.833333333%;
  margin-top: -0.1rem;
  float: right;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .ttl {
  width: 100%;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3529411765;
  letter-spacing: 0.05em;
  padding-bottom: 2.4rem;
  position: relative;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .ttl::before {
  content: "";
  width: calc(100% - 12.8rem);
  height: 0.2rem;
  background-color: #000000;
  position: absolute;
  bottom: 0;
  left: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .ttl::after {
  content: "";
  width: 12.8rem;
  height: 3.2rem;
  background: url(../images/common/ttl_item.png) no-repeat center/contain;
  background: url(../images/common/ttl_item.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0.2rem;
  right: 0.1rem;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .company {
  padding-left: 0.4rem;
  margin-top: 1.9rem;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider {
  width: 54.166666666%;
  float: left;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider .detail-slide {
  width: 100%;
  aspect-ratio: 1/0.6661538462;
  background-color: #ccc;
  overflow: hidden;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider .detail-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider .detail-slide-thumb {
  width: 101.636904761%;
  margin-top: 3rem;
  margin-left: -1.636904761%;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider .detail-slide-thumb .swiper-wrapper .swiper-slide {
  width: 100%;
  display: inline-block;
  padding: 0 1.636904761%;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider .detail-slide-thumb .swiper-wrapper .swiper-slide span {
  width: 100%;
  aspect-ratio: 1/0.6661386139;
  background-color: #ccc;
  position: relative;
  display: inline-block;
  overflow: hidden;
  cursor: pointer;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider .detail-slide-thumb .swiper-wrapper .swiper-slide span img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data {
  width: 40.833333333%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  float: right;
  margin-top: 3.5rem;
  border-top: solid 0.1rem #dddddd;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dt {
  width: 15rem;
  min-height: 7rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding: 2.2rem 0 1.7rem 0.4rem;
  border-bottom: solid 0.1rem #dddddd;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dd {
  width: calc(100% - 15rem);
  min-height: 7rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding: 2.2rem 0 1.7rem 1.3rem;
  border-bottom: solid 0.1rem #dddddd;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dd .calsans {
  font-family: "CalSans";
  font-weight: 600;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dd .detail_category_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, 11rem);
  margin-top: -0.2rem;
  gap: 1rem;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dd .detail_category_list li {
  height: 3.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;
  border-radius: 5rem;
  background-color: #828893;
  padding: 0.7rem 0.5rem 0.5rem;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dd .detail_category_list li span {
  font-family: "CalSans";
  font-size: 1.4rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  display: inline-block;
}
@media screen and (max-width: 999.9px) {
  .case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl {
    width: 100%;
    margin-top: 0;
  }
  .case_study_detail .container .detail_block_wrap .detail_block01 .detail_slider {
    width: 100%;
    margin-top: 3rem;
  }
  .case_study_detail .container .detail_block_wrap .detail_block01 .detail_data {
    width: 100%;
    margin-top: 5rem;
  }
}
.case_study_detail .container .detail_block_wrap .detail_block02 {
  width: 100%;
  margin-top: 7.1rem;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box {
  width: 100%;
  padding: 4.7rem 4.166666666% 4.9rem;
  position: relative;
  background-color: #f2f3f4;
  border-radius: 2rem;
  margin-top: 4.2rem;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box:first-of-type {
  margin-top: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_ttl {
  width: 63.636363637%;
  float: left;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_ttl span {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-left: 5.2rem;
  display: inline-block;
  position: relative;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_ttl span::before {
  content: "";
  width: 3.9rem;
  height: 2.9rem;
  background: url(../images/common/free_box_ttl_item.png) no-repeat center/contain;
  background: url(../images/common/free_box_ttl_item.svg) no-repeat center/contain;
  position: absolute;
  top: 0.3rem;
  left: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_img {
  width: 36.363636363%;
  float: right;
  margin-top: 0.4rem;
  aspect-ratio: 1/0.665;
  overflow: hidden;
  border-radius: 2rem;
  position: relative;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_txt {
  width: 63.636363637%;
  padding-right: 3.636363636%;
  float: left;
  margin-top: 2.4rem;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box.noimg .free_box_ttl {
  width: 100%;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box.noimg .free_box_txt {
  width: 100%;
}
.case_study_detail .container .detail_block_wrap .detail_btn {
  width: 100%;
  margin-top: 10rem;
}

.common_case_block {
  width: 100%;
  max-width: 120rem;
  margin: 9.8rem auto 0;
}
.common_case_block .case_block_list {
  margin-top: 4.1rem;
  gap: 4.3rem 2.5%;
}
.common_case_block .case_block_list li .common_case_box a .case_category_list {
  gap: 7px 1.754385789%;
}

.common_block_ttl01 {
  width: 100%;
  padding-bottom: 1.6rem;
  border-bottom: solid 0.1rem #000;
}
.common_block_ttl01 span {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  position: relative;
  padding-left: 3.2rem;
}
.common_block_ttl01 span::before {
  content: "";
  width: 1.8rem;
  height: 3.3rem;
  background: url(../images/common/common_block_ttl01_item.png) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** news detail
******************************************************************************
----------------------------------------------------------------------------*/
.news_detail .container .detail_block_wrap {
  width: 100%;
  padding: 10rem 12.5% 11.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
  border-radius: 2rem;
  margin-top: 2.6rem;
}
.news_detail .container .detail_block_wrap .detail_block01 {
  width: 100%;
  max-width: 90rem;
  margin: 0 auto;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_data {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.1rem 0 0 0.8rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_data .news_date {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: inline-block;
  margin-right: 1.8rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_data .news_category {
  min-width: 12rem;
  height: 3rem;
  font-family: "CalSans";
  font-size: 1.6rem;
  color: #003968;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0.8rem 0.5rem 0.5rem;
  border: solid 0.1rem #003968;
  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-right: 1.7rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_ttl {
  width: 100%;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-bottom: 1.4rem;
  border-bottom: solid 0.1rem #dddddd;
  margin-top: 1.5rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_read_txt {
  margin-top: 3rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_thumb {
  width: 100%;
  aspect-ratio: 1/0.6666666667;
  position: relative;
  margin-top: 4.4rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.news_detail .container .detail_block_wrap .detail_block01 .detail_btn {
  margin-top: 6.3rem;
}

.editor_area {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 4rem;
}
.editor_area h2 {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 1.4rem 0 2rem;
  border-top: solid 0.2rem #000000;
  border-bottom: solid 0.2rem #000000;
  margin-top: 5rem;
  margin-bottom: 2rem;
}
.editor_area h3 {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0 0 0.2rem 1.7rem;
  border-left: solid 0.4rem #000000;
  margin-top: 3rem;
  margin-bottom: 2rem;
}
.editor_area p {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.editor_area a {
  color: #143357;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.editor_area a.wp-block-button__link {
  text-decoration: none;
}
.editor_area a:hover {
  opacity: 0.7;
}

/*----------------------------------------------------------------------------
******************************************************************************
** 404
******************************************************************************
----------------------------------------------------------------------------*/
.notfound_sec {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
.notfound_sec .container .notfound_txt {
  text-align: center;
  margin-top: 3rem;
}
.notfound_sec .container .notfound_btn {
  margin-top: 8rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** BUSINESS CUSTOMERS
******************************************************************************
----------------------------------------------------------------------------*/
.custom-password-wrapper {
  width: 100%;
  max-width: 160rem;
  padding: 7rem 6.25% 7.3rem;
  background-color: #fff;
  border-radius: 2rem;
  margin: 6.2rem auto 20rem;
}
.custom-password-wrapper .custom-password-heading {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8888888889;
  letter-spacing: 0.05em;
  text-align: center;
}
.custom-password-wrapper .custom-password-form {
  width: 100%;
  max-width: 67.2rem;
  margin: 3.2rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.custom-password-wrapper .custom-password-form .screen-reader-text {
  display: none;
}
.custom-password-wrapper .custom-password-form input {
  width: calc(100% - 12rem);
  max-width: 54rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  outline: none;
  border: solid 0.1rem #000;
  background-color: #f3f3f3;
  margin-right: 1.2rem;
}
.custom-password-wrapper .custom-password-form button {
  width: 12rem;
  height: 5.6rem;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 0 0 0;
  background-color: #000;
  border-radius: 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;
}
.custom-password-wrapper .custom-password-note {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 3.1rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** company
******************************************************************************
----------------------------------------------------------------------------*/
.company01 .container .company_block01 {
  width: 100%;
  max-width: 90rem;
  margin: 0 auto 0;
}
.company01 .container .company_block01 .company_img01 {
  width: 100%;
  position: relative;
  aspect-ratio: 1/0.4444444444;
  overflow: hidden;
}
.company01 .container .company_block01 .company_img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.company01 .container .company_block01 .company_data {
  margin-top: 5.9rem;
}
.company01 .container .company_block01 .company_btn {
  margin-top: 8.1rem;
}
.company01 .container .company_block01 .company_btn a {
  max-width: 60rem;
}

.common_contents_wrap {
  width: 100%;
  padding: 0 12.5% 12rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
  border-radius: 2rem;
  margin-top: 6.3rem;
}

.common_list01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-top: solid 0.1rem #dddddd;
}
.common_list01 dt {
  width: 11rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  padding: 2.8rem 1rem 2.9rem 2rem;
  border-bottom: solid 0.1rem #dddddd;
}
.common_list01 dd {
  width: calc(100% - 11rem);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  padding: 2.8rem 1rem 2.9rem 3rem;
  border-bottom: solid 0.1rem #dddddd;
}
.common_list01 dd .map {
  width: 73.7rem;
  aspect-ratio: 1/0.5427408412;
  position: relative;
  margin: 2.3rem 0 -0.2rem 0.3rem;
}
.common_list01 dd .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_list01 dd a {
  text-decoration: underline;
  text-underline-offset: 0.8rem;
  word-break: break-all;
}

/*----------------------------------------------------------------------------
******************************************************************************
** compare
******************************************************************************
----------------------------------------------------------------------------*/
.common_txt02 {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.7777777777;
  letter-spacing: 0.05em;
  text-align: center;
}

.compare01 .container .common_contents_wrap {
  padding-right: 6.25%;
  padding-left: 6.25%;
}
.compare01 .container .common_contents_wrap .compare_block01 {
  width: 100%;
  max-width: 120rem;
  margin: -0.9rem auto 0;
}
.compare01 .container .common_contents_wrap .compare_block01 .compare_tab {
  margin-top: 4.4rem;
}
.compare01 .container .common_contents_wrap .compare_scrollbar_track {
  width: 100%;
  margin: 5rem auto 0;
  overflow: hidden;
  height: 0.6rem;
  background: #ccc;
  border-radius: 0.3rem;
  position: relative;
}
.compare01 .container .common_contents_wrap .compare_scrollbar_track .compare_scrollbar_thumb {
  height: 100%;
  background: #555;
  border-radius: 0.3rem;
  position: absolute;
  top: 0;
  left: 0;
  min-width: 2rem;
  pointer-events: none;
}
.compare01 .container .common_contents_wrap .compare_block02 {
  width: 100%;
  margin-top: 3rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap {
  width: 100%;
  overflow-x: auto;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap.fixed {
  padding-top: 4rem;
  padding-bottom: 3rem;
  position: sticky;
  top: 0;
  z-index: 10;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap.fixed.is-near-bottom {
  opacity: 0;
  pointer-events: none;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap.fixed.hide {
  padding-top: 0;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap.fixed.hide .product_box {
  padding: 0;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap.fixed.hide .product_box .product_name {
  min-height: 6rem;
  color: #fff;
  padding: 1rem;
  font-size: 2rem;
  background-color: #003968;
  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;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap.fixed.hide .product_box .product_img {
  opacity: 0;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap.active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
  /* ドラッグ中のカーソル */
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap .compare_block02_inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap .compare_block02_inner .compare_data_block {
  width: 100%;
  margin-top: 3.9rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_wrap .compare_block02_inner .compare_feature_block {
  width: 100%;
  margin-top: 8.1rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  pointer-events: none;
  position: sticky;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 50;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_btn.show {
  opacity: 1;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_btn .scroll_btn {
  width: 5rem;
  height: 5rem;
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  right: -7rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_btn .scroll_btn.disabled {
  opacity: 0.5;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_block02_scroll_btn .scroll_btn.prev {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  right: auto;
  left: -7rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .viewmore {
  min-width: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5.9rem 0 6.1rem;
  background: -webkit-image-set(url(../images/compare/viewmore_bg.webp) 1x, url(../images/compare/viewmore_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/compare/viewmore_bg.webp) 1x, url(../images/compare/viewmore_bg@2x.webp) 2x) no-repeat center/cover;
  border-radius: 2rem;
  overflow: hidden;
  margin: 7.5rem auto 0;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: grid;
  grid-auto-flow: column;
  /* 自動生成されるすべての列の幅を18.2remに固定 */
  grid-auto-columns: 18.2rem;
  gap: 2.16rem;
  margin: 0 auto;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box {
  padding: 0 1rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_name {
  width: 100%;
  font-family: "CalSans";
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  text-align: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_img {
  width: 100%;
  aspect-ratio: 1/1.2637362637;
  overflow: hidden;
  position: relative;
  margin-top: 1.9rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn {
  margin-top: 2rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn a {
  height: 5rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn a::before {
  right: 1rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn a span:not(.square) {
  font-size: 1.6rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box {
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  /* 自動生成されるすべての列の幅を18.2remに固定 */
  grid-auto-columns: 18.2rem;
  gap: 2.16rem;
  margin-top: 1.1rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box .product_data_box:last-of-type .data_box::before {
  width: 100%;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box .product_data_box .data_box {
  width: 100%;
  padding: 2.8rem 0;
  position: relative;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box .product_data_box .data_box::before {
  content: "";
  width: calc(100% + 2.16rem);
  height: 0.1rem;
  background-color: #dddddd;
  position: absolute;
  bottom: 0;
  left: 0;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box .product_data_box .data_box .data {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box .product_data_box .data_box .feature {
  width: 100%;
  height: 1.8rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box .product_data_box .data_box .note {
  width: 100%;
  font-size: 1.4rem;
  color: #777777;
  font-weight: 400;
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
  margin-top: 0.3rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box {
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  /* 自動生成されるすべての列の幅を18.2remに固定 */
  grid-auto-columns: 18.2rem;
  gap: 2.16rem;
  margin-top: 2.6rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box:last-of-type .feature_box::before {
  width: 100%;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box {
  text-align: center;
  padding: 1.8rem 0;
  position: relative;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box::before {
  content: "";
  width: calc(100% + 2.16rem);
  height: 0.1rem;
  background-color: #dddddd;
  position: absolute;
  bottom: 0;
  left: 0;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box .feature {
  height: 2.2rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 0.1rem;
  position: relative;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box .feature::before {
  content: "";
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box .feature.has::before {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box .feature.no::before {
  width: 2.1rem;
  height: 0.2rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box .name {
  font-size: 1.6rem;
  color: #777777;
  font-weight: 400;
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
  margin-top: 0.7rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_note {
  width: 100%;
  position: relative;
  margin-top: 6.2rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_note li {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: 0;
}

.compare_tab {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 16rem));
  gap: 1rem 1.111110833%;
}
.compare_tab li span {
  width: 100%;
  height: 5rem;
  font-size: 1.4rem;
  color: #808080;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "CalSans";
  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;
  padding: 0.8rem 0.5rem 0.5rem;
  background-color: #ecedef;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.compare_tab li span.jp {
  font-family: YakuHanJP, "Noto Sans JP";
  padding-bottom: 1rem;
}
.compare_tab li span:hover {
  color: #fff;
  background-color: #000000;
}
.compare_tab li.active span {
  color: #fff;
  background-color: #000000;
}

/*----------------------------------------------------------------------------
******************************************************************************
** BUSINESS CUSTOMERS
******************************************************************************
----------------------------------------------------------------------------*/
.common_list02 {
  width: 100%;
}
.common_list02 li {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.05em;
  padding-left: 2rem;
  position: relative;
}
.common_list02 li::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background-color: #828894;
  position: absolute;
  top: 1.3rem;
  left: 0.3rem;
}

.business_customers01 {
  padding-bottom: 8rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 {
  width: 100%;
  max-width: 90rem;
  margin: 0 auto;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_txt01 {
  margin-top: -1rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_note_box {
  width: 100%;
  padding: 3rem 3.5rem 3.2rem;
  border: solid 0.2rem #d9dbdf;
  border-radius: 1.5rem;
  background-color: #f4f4f5;
  margin-top: 3.4rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_file {
  width: 100%;
  margin-top: 7.9rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_file .file_box {
  width: 100%;
  margin-top: 7.9rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_file .file_box:first-of-type {
  margin-top: 0;
}

.common_file_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, 20rem);
  gap: 4.1rem 3.703703333%;
  margin-top: 4rem;
}
.common_file_list li {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.common_file_list li a {
  width: 100%;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_file_list li a .file_name {
  width: 100%;
  min-height: 3.6rem;
  font-family: "CalSans", "Noto Sans JP";
  font-size: 1.8rem;
  color: #000000;
  font-weight: 600;
  line-height: 1.2222222222;
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.7rem 1rem 0.4rem;
  background-color: #e6e7e9;
  border-radius: 5rem;
}
.common_file_list li a .file_icon {
  width: 100%;
  text-align: center;
  display: block;
  margin-top: 1.4rem;
}
.common_file_list li a:hover {
  opacity: 0.7;
}

/*----------------------------------------------------------------------------
******************************************************************************
** PRECAUTIONS
******************************************************************************
----------------------------------------------------------------------------*/
.precautions01 {
  padding-bottom: 20rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap {
  max-width: 90rem;
  padding-top: 3.4rem;
  margin: 0 auto;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block {
  width: 100%;
  margin-top: 11.8rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block:first-of-type {
  margin-top: 0;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_ttl {
  margin-bottom: 3.1rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box {
  width: 100%;
  padding: 5.3rem 5rem 4.6rem;
  background-color: #f2f3f4;
  border-radius: 2rem;
  margin-top: 3rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box:first-of-type {
  margin-top: 6.7rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box .precautions_block_list_ttl {
  width: 100%;
  padding-left: 5.8rem;
  position: relative;
  margin-bottom: 2.9rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box .precautions_block_list_ttl .icon {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box .precautions_block_list_ttl .icon picture {
  display: inline-block;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box .precautions_block_list_ttl .ttl {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4545454546;
  letter-spacing: 0.05em;
  display: inline-block;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box .precautions_block_list li {
  line-height: 1.625;
  margin-top: 1rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box .precautions_block_list li::before {
  top: 0.8rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list li {
  line-height: 2;
  padding-left: 2.6rem;
  margin-top: 1.2rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list li::before {
  width: 1.2rem;
  height: 1.2rem;
  top: 1.1rem;
  left: 0;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list02 {
  padding: 2.8rem 3rem;
  counter-reset: number 0;
  background-color: #fff;
  border-radius: 1.5rem;
  margin-top: 2.9rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list02 li {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-left: 3.5rem;
  margin-top: 0.8rem;
  position: relative;
  list-style-type: none;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list02 li:first-of-type {
  margin-top: 0;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list02 li::before {
  counter-increment: number 1;
  content: counter(number) " ";
  width: 2.4rem;
  height: 2.4rem;
  font-family: "CalSans";
  font-size: 1.4rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  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;
  padding: 0.2rem 0 0;
  background-color: #000;
  position: absolute;
  top: 0.2rem;
  left: 0;
}

.common_block_ttl02 {
  width: 100%;
  padding-bottom: 1.8rem;
  position: relative;
}
.common_block_ttl02::before {
  content: "";
  width: 14.4rem;
  height: 14.4rem;
  background: url(../images/common/common_block_ttl02_item.png) no-repeat center/contain;
  background: url(../images/common/common_block_ttl02_item.svg) no-repeat center/contain;
  position: absolute;
  top: -5.4rem;
  left: -7.3rem;
}
.common_block_ttl02::after {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.common_block_ttl02 span {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.2307692308;
  letter-spacing: 0.05em;
  display: inline-block;
  position: relative;
  padding-left: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** series
******************************************************************************
----------------------------------------------------------------------------*/
.series_sec01 .container .series_block {
  margin-top: 6.2rem;
}

.common_block_ttl03 {
  width: 100%;
  text-align: center;
}
.common_block_ttl03 > span {
  min-height: 9.5rem;
  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;
}
.common_block_ttl03 > span span {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: inline-block;
  padding: 0 7.1rem;
  position: relative;
}
.common_block_ttl03 > span span::before, .common_block_ttl03 > span span::after {
  content: "";
  width: 5.6rem;
  height: 9.5rem;
  background: url(../images/series/series_box_ttl01_item.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common_block_ttl03 > span span::after {
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
  left: 0;
  right: auto;
}
.common_block_ttl03 > span span.calsans {
  font-size: 4.6rem;
}

.common_series_block {
  width: 100%;
  padding: 0 6.25% 16rem;
  border-radius: 2rem;
  background: -webkit-image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top right/56.7rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom left/50.2rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top right/56.7rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom left/50.2rem, #fff;
}
.common_series_block .series_chatch {
  margin-bottom: 3.5rem;
}
.common_series_block .series_hero {
  margin-top: 6.4rem;
}
.common_series_block .series_column_box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 6.6rem;
}
.common_series_block .series_column_box .column_box_img {
  width: 52.857142857%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.common_series_block .series_column_box .column_box_txt {
  width: 47.142857143%;
  padding-right: 4rem;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_series_block .series_column_box .column_box_txt .column_box_txt01 {
  line-height: 2;
  text-align: left;
  margin-top: 2rem;
}
.common_series_block .series_column_box .column_box_txt .column_box_txt01:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 1399.9px) {
  .common_series_block .series_column_box {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 1399.9px) and (max-width: 999.9px) {
  .common_series_block .series_column_box {
    display: block;
  }
  .common_series_block .series_column_box .column_box_img {
    width: 100%;
    text-align: center;
  }
  .common_series_block .series_column_box .column_box_txt {
    width: 100%;
    margin-top: 3rem;
  }
}
.common_series_block .series_video {
  width: 100%;
  max-width: 107rem;
  aspect-ratio: 1/0.5607476636;
  overflow: hidden;
  margin: 6.4rem auto 0;
}
.common_series_block .series_video video {
  width: 100%;
  height: 100%;
}
.common_series_block .series_box01 {
  width: 100%;
  margin-top: 11.9rem;
}
.common_series_block .series_box01 .series_box_txt01 {
  margin-top: 1.4rem;
}
.common_series_block .series_box01 .series_inner {
  margin-top: 6.2rem;
}
.common_series_block .series_box02 {
  margin-top: 11.8rem;
}
.common_series_block .series_box03 {
  margin-top: 17.1rem;
}
.common_series_block .series_box03 .series_box03_list01 {
  margin-top: 6.8rem;
}
.common_series_block .series_box03 .series_box03_list02 {
  margin-top: 14.5rem;
  margin-bottom: -1rem;
}
.common_series_block.lineup {
  padding-top: 10.4rem;
  padding-bottom: 12rem;
  background: #fff;
  margin-top: 7.9rem;
}
.common_series_block.lineup .lineup_list01_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
  margin-top: 3.6rem;
}
.common_series_block.lineup .lineup_list02 {
  margin-top: 11.5rem;
}

.common_lineup_list {
  width: 100%;
  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;
}
.common_lineup_list .product_box {
  width: 22.857142857%;
  margin-right: 2.857142857%;
  margin-top: 3.7rem;
}
.common_lineup_list .product_box:nth-of-type(4n), .common_lineup_list .product_box:last-of-type {
  margin-right: 0;
}
.common_lineup_list .product_box:nth-of-type(-n + 4) {
  margin-top: 0;
}
.common_lineup_list .product_box a {
  width: 100%;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_lineup_list .product_box a .product_img {
  width: 100%;
  aspect-ratio: 1/1.2625;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_lineup_list .product_box a .product_img picture {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.common_lineup_list .product_box a .product_img picture.out-mouse {
  z-index: 2;
  -webkit-transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
}
.common_lineup_list .product_box a .product_img picture.on-mouse {
  z-index: 1;
  -webkit-transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  opacity: 0;
}
.common_lineup_list .product_box a .product_img picture img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_lineup_list .product_box a .product_name {
  width: 100%;
  font-family: "CalSans";
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 2.5rem;
}
.common_lineup_list .product_box a:hover .product_img picture.out-mouse {
  opacity: 0;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.common_lineup_list .product_box a:hover .product_img picture.on-mouse {
  opacity: 1;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.common_series_inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 7rem;
}
.common_series_inner:first-of-type {
  margin-top: 0;
}
.common_series_inner .series_inner_contents {
  width: 52.1428571%;
  max-width: 67rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.common_series_inner .series_inner_contents .inner_contents_tt01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0.2rem;
}
.common_series_inner .series_inner_contents .inner_contents_tt01 .point {
  width: 13.4rem;
  height: 13.4rem;
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 3rem 2rem 2rem;
  background: url(../images/series/common_series_ttl_item.png) no-repeat center/contain;
}
.common_series_inner .series_inner_contents .inner_contents_tt01 .point .wrap {
  display: inline-block;
}
.common_series_inner .series_inner_contents .inner_contents_tt01 .point .wrap .en {
  width: 100%;
  font-family: "CalSans";
  font-size: 1.8rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  display: block;
}
.common_series_inner .series_inner_contents .inner_contents_tt01 .point .wrap .num {
  width: 100%;
  font-family: "CalSans";
  font-size: 5rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  display: block;
  margin-top: 0.4rem;
}
.common_series_inner .series_inner_contents .inner_contents_tt01 .ttl {
  width: calc(100% - 13.4rem);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-left: 2.1rem;
}
.common_series_inner .series_inner_contents .inner_contents_txt01 {
  line-height: 2;
  margin-top: 2rem;
  text-align: left;
}
.common_series_inner .series_inner_contents .inner_contents_txt01 span {
  font-weight: 700;
}
.common_series_inner .series_inner_contents .inner_contents_img {
  text-align: center;
  margin-top: 2.2em;
}
.common_series_inner .series_inner_img {
  width: 47.8571429%;
  background-color: #f7f7f7;
  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;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-right: 2rem;
}
.common_series_inner .series_inner_img.darken picture {
  mix-blend-mode: darken;
}
.common_series_inner:nth-of-type(even) .series_inner_contents {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_series_inner:nth-of-type(even) .series_inner_img {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-right: 0;
  margin-left: 2rem;
}
@media screen and (max-width: 999.9px) {
  .common_series_inner {
    display: block;
  }
  .common_series_inner .series_inner_contents {
    width: 100%;
    max-width: 100%;
  }
  .common_series_inner .series_inner_img {
    width: 100%;
    text-align: center;
    margin-top: 2rem;
    margin-right: 0;
  }
}

/*----------------------------------------------------------------------------
******************************************************************************
** concept
******************************************************************************
----------------------------------------------------------------------------*/
.concept_intro_sec {
  padding-bottom: 16rem;
  background: url(../images/concept/concept_intro_sec_item.png) no-repeat bottom right;
}
.concept_intro_sec .container .concept_intro_mv {
  margin-top: 6rem;
}
.concept_intro_sec .container .concept_intro_body {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs {
  width: 55.5625%;
  aspect-ratio: 889/981;
  position: relative;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img {
  position: absolute;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img:nth-child(1) picture {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img:nth-child(2) picture {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img:nth-child(3) picture {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img img {
  width: 100%;
  height: auto;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img.concept_intro_img02 {
  width: 29.2463%;
  top: 7.4414%;
  left: 0;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img.concept_intro_img03 {
  width: 56.243%;
  top: 13.5576%;
  right: 0;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs .concept_intro_img.concept_intro_img04 {
  width: 53.9933%;
  top: 73.4964%;
  left: 8.099%;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt {
  width: calc(100% - 5rem - 55.5625%);
  max-width: 60.2rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_catch {
  width: 100%;
  margin-top: -3.3rem;
  margin-left: 0.2rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_catch .concept_intro_catch_line {
  font-family: "CalSans";
  font-size: 4.8rem;
  color: #fff;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.06em;
  display: inline-block;
  background-color: #003968;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_catch .concept_intro_catch_line:first-of-type {
  padding: 1.3rem 1.1rem 0.3rem 1.4rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_catch .concept_intro_catch_line:last-of-type {
  padding: 0.2rem 0.7rem 0.5rem 1.4rem;
  margin-top: -0.1rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_lead {
  text-align: left;
  line-height: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.1rem;
  margin-top: 6.9rem;
  white-space: nowrap;
}
@media screen and (max-width: 1600px) {
  .concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_lead {
    white-space: normal;
  }
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_lead .calsans {
  line-height: 1;
}
@media screen and (max-width: 1095px) {
  .concept_intro_sec .container .concept_intro_body .concept_intro_imgs {
    width: calc(100% - 44.1rem);
  }
  .concept_intro_sec .container .concept_intro_body .concept_intro_txt {
    width: 41.1rem;
  }
}
@media screen and (max-width: 1095px) and (max-width: 889.9px) {
  .concept_intro_sec .container .concept_intro_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .concept_intro_sec .container .concept_intro_body .concept_intro_imgs {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .concept_intro_sec .container .concept_intro_body .concept_intro_txt {
    width: 100%;
    max-width: initial;
    max-width: auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.common_lineup_sec {
  padding-top: 8.8rem;
  padding-bottom: 10rem;
  background: url(../images/common/lineup_sec_item.png) repeat-x bottom -1.7rem center, #003968;
  border-radius: 3.5rem;
}
.common_lineup_sec .container .concept_lineup_ttl {
  width: 100%;
  font-size: 6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}
.common_lineup_sec .container .concept_lineup_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 50.4rem));
  margin-top: 4.9rem;
}
.common_lineup_sec .container .concept_lineup_list li a {
  width: 100%;
  min-height: 20rem;
  display: grid;
  grid-template-columns: 10rem minmax(0, 29.4rem);
  grid-template-areas: "img copy" "img name";
  gap: 2.1rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  padding: 1rem 2rem 1rem 4.3rem;
  border: solid 0.1rem #fff;
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_lineup_sec .container .concept_lineup_list li a .concept_lineup_img {
  grid-area: img;
  aspect-ratio: 100/160;
  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_lineup_sec .container .concept_lineup_list li a .concept_lineup_copy {
  grid-area: copy;
  align-self: end;
  width: 100%;
  font-size: 2.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.6363636364;
  letter-spacing: 0.05em;
  margin-top: -1.1rem;
}
.common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap {
  grid-area: name;
  align-self: start;
  width: 100%;
  min-height: 3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap .concept_lineup_name {
  font-size: 1.8rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 0.6rem 0 0 6.9rem;
}
.common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap .concept_lineup_name .calsans {
  font-family: "CalSans";
  font-size: 2.2rem;
  margin-right: 0.8rem;
}
.common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap .concept_lineup_name::before {
  content: "";
  width: 5.3rem;
  height: 3rem;
  background: url(../images/common/products_arrow02.svg) no-repeat center/1.6rem, #fff;
  position: absolute;
  top: 0;
  left: 0.1rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 1350px) {
  .common_lineup_sec .container .concept_lineup_list li a {
    grid-template-columns: 8rem minmax(0, 29.4rem);
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 1350px) and (max-width: 1150px) {
  .common_lineup_sec .container .concept_lineup_list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    padding: 3rem 1rem;
  }
  .common_lineup_sec .container .concept_lineup_list li a .concept_lineup_copy {
    text-align: center;
  }
  .common_lineup_sec .container .concept_lineup_list li a .concept_lineup_img {
    margin-top: auto;
  }
  .common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap .concept_lineup_name {
    padding-left: 4.5rem;
  }
  .common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap .concept_lineup_name::before {
    width: 3.5rem;
  }
}
.common_lineup_sec .container .concept_lineup_list li a:hover {
  opacity: 0.7;
}

.concept_history_sec {
  padding-top: 14.4rem;
  padding-bottom: 15.4rem;
  border-radius: 3.5rem;
  background-color: #f0f1f3;
}
.concept_history_sec .container .concept_history_ttl .en {
  margin-top: 1.6rem;
}
.concept_history_sec .container .concept_history_list {
  width: 100%;
  max-width: 120rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7.95rem;
  margin: 8.8rem auto 0;
}
.concept_history_sec .container .concept_history_list .concept_history_item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year {
  width: 41.6667%;
  padding-right: 18.9167%;
  padding-left: 3.9rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.7rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year::before {
  content: "";
  width: 1.1rem;
  aspect-ratio: 1/1;
  background-color: #003968;
  position: absolute;
  top: 2.8rem;
  left: 0;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year::after {
  content: "";
  width: auto;
  height: 0.1rem;
  background-color: #c0c4ca;
  position: absolute;
  top: 3.3rem;
  left: 28.4rem;
  right: 8%;
}
@media screen and (max-width: 950px) {
  .concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year::after {
    left: 27rem;
    right: 1rem;
  }
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item {
  width: 100%;
  font-size: 4rem;
  color: #c0c4ca;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item::before {
  content: "";
  width: 0.4rem;
  height: 3.3rem;
  background-color: #c0c4ca;
  position: absolute;
  top: -1.1rem;
  left: 7.2rem;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item:last-of-type {
  margin-bottom: 0;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item:first-of-type {
  margin-bottom: 0;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item:first-of-type::before {
  display: none;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item .calsans {
  font-size: 7rem;
  color: #c0c4ca;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  padding-top: 0.5rem;
  margin-right: 0.5rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item .year {
  padding-top: 1.8rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item .concept_history_year_now {
  font-size: 5.4rem;
  padding-top: 0.4rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_body {
  width: 58.3333%;
  padding-left: 1.2rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_body .concept_history_item_ttl {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_body .concept_history_txt {
  width: 100%;
  margin-top: 1rem;
}

.concept_reason_sec {
  padding-top: 14.4rem;
  padding-bottom: 16rem;
}
.concept_reason_sec .container .concept_reason_ttl {
  text-align: left;
}
.concept_reason_sec .container .concept_reason_list {
  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: 8rem;
  margin-top: 7.9rem;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_label {
  font-family: "CalSans";
  font-size: 2.4rem;
  color: #003968;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.8rem;
  position: absolute;
  top: 0;
  right: calc(50% + 1.3rem);
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_label .num {
  position: relative;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_label .num::after {
  content: "";
  width: 1.4rem;
  height: 0.1rem;
  background-color: #003968;
  position: absolute;
  top: calc(100% + 0.8rem);
  left: 0.8rem;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap {
  width: 50%;
  min-height: 42rem;
  padding: 3rem 5%;
  background-color: #f0f1f3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt .concept_reason_item_ttl {
  width: 100%;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4375;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1000px) {
  .concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt .concept_reason_item_ttl br {
    display: none;
  }
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt .concept_reason_item_ttl .calsans {
  line-height: 1;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt .concept_reason_img {
  width: 50%;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt .concept_reason_img picture {
  display: block;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt .concept_reason_item_txt {
  margin-top: 2.5rem;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt .concept_reason_item_txt .calsans {
  line-height: 1;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item:nth-of-type(odd) .concept_reason_img:not(.animation-on) picture {
  clip-path: inset(0 0 0 100%);
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item:nth-of-type(even) .concept_reason_label {
  right: calc(50% - 3rem);
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item:nth-of-type(even) .concept_reason_txt_wrap {
  padding: 3rem 5% 3rem 6.75%;
  margin: 0 0 0 auto;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item:nth-of-type(even) .concept_reason_img {
  right: auto;
  left: 0;
}

.concept_sustainability_sec {
  padding-top: 14.4rem;
  padding-bottom: 16rem;
}
.concept_sustainability_sec .container .concept_sustainability_ttl {
  text-align: left;
}
.concept_sustainability_sec .container .concept_sustainability_ttl .jp span {
  letter-spacing: -0.035em;
}
.concept_sustainability_sec .container .concept_sustainability_body {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 5.5rem;
}
.concept_sustainability_sec .container .concept_sustainability_body .concept_sustainability_txt {
  width: calc(100% - (43.75% + 3rem));
  max-width: 81rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.3rem;
  padding-bottom: 0.8rem;
}
.concept_sustainability_sec .container .concept_sustainability_body .concept_sustainability_txt .calsans {
  line-height: 1;
}
.concept_sustainability_sec .container .concept_sustainability_body .concept_sustainability_img {
  width: 43.75%;
}
@media screen and (max-width: 1000px) {
  .concept_sustainability_sec .container .concept_sustainability_body {
    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;
  }
  .concept_sustainability_sec .container .concept_sustainability_body .concept_sustainability_txt {
    width: 100%;
    max-width: auto;
    max-width: initial;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .concept_sustainability_sec .container .concept_sustainability_body .concept_sustainability_img {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.products_select_sec {
  padding-bottom: 15.4rem;
  border-bottom: solid 0.1rem #d0d0d0;
}
.products_select_sec .container .products_select_block {
  margin-top: 6.3rem;
}

.products_select_block {
  max-width: 120rem;
  margin: 0 auto;
}
.products_select_block .products_select_tab {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  margin-bottom: 4rem;
}
.products_select_block .products_select_tab .products_select_tab_btn {
  min-height: 7.5rem;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 1rem 1rem 1.1rem;
  background-color: #003968;
  border: solid 0.1rem #003968;
  border-bottom: none;
}
.products_select_block .products_select_tab .products_select_tab_btn.is-active {
  color: #003968;
  background-color: transparent;
}
.products_select_block .products_select_panel {
  width: 100%;
  display: none;
}
.products_select_block .products_select_panel.is-active {
  display: block;
}
.products_select_block .products_select_panel .products_filter {
  width: 100%;
  padding: 5rem 6rem;
  background-color: #f0f1f3;
}
.products_select_block .products_select_panel .products_filter .products_filter_group {
  width: 100%;
  display: grid;
  grid-template-columns: 7rem auto;
}
.products_select_block .products_select_panel .products_filter .products_filter_group.products_filter_capacity {
  padding-bottom: 3rem;
  border-bottom: solid 0.1rem #d0d0d0;
}
.products_select_block .products_select_panel .products_filter .products_filter_group.is-disabled {
  opacity: 0.5;
}
.products_select_block .products_select_panel .products_filter .products_filter_group.products_filter_usage {
  padding-top: 3rem;
}
.products_select_block .products_select_panel .products_filter .products_filter_group.products_filter_usage .products_filter_body .products_filter_list .products_filter_item .products_filter_label .products_filter_txt {
  padding-right: 3.9rem;
  padding-left: 3.9rem;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_ttl {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.03em;
  padding-left: 0;
  position: relative;
  padding: 0.9rem 1rem 0.5rem 1.8rem;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_ttl::before {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1/1;
  background-color: #003968;
  position: absolute;
  top: 1.6rem;
  left: 0;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_body .products_filter_list {
  width: 100%;
  padding-left: 0.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_body .products_filter_list .products_filter_item .products_filter_label .products_filter_input {
  display: none;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_body .products_filter_list .products_filter_item .products_filter_label .products_filter_txt {
  min-width: 12rem;
  height: 4rem;
  font-size: 1.6rem;
  color: #003968;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  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 2rem 0.7rem;
  border: solid 0.1rem #003968;
  border-radius: 5rem;
  cursor: pointer;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_body .products_filter_list .products_filter_item .products_filter_label .products_filter_txt .calsans {
  position: relative;
  top: 0.3rem;
  margin-right: 0.2rem;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_body .products_filter_list .products_filter_item.is-checked .products_filter_label .products_filter_txt {
  color: #fff;
  background-color: #003968;
}
.products_select_block .products_select_panel .products_result {
  width: 100%;
  margin-top: 5.9rem;
}
.products_select_block .products_select_panel .products_result .products_result_count {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
}
.products_select_block .products_select_panel .products_result .products_result_count .num {
  color: #003968;
  font-size: 2rem;
  margin-left: -0.1rem;
}
.products_select_block .products_select_panel .products_result .products_result_list {
  grid-template-columns: repeat(3, 1fr);
  gap: 6rem 3.75%;
  margin-top: 2.7rem;
}
.products_select_block .products_select_panel .products_result .products_result_empty {
  text-align: center;
}
.products_select_block .products_select_panel .products_series_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.1rem;
  padding: 0.1rem;
  background-color: #003968;
  margin-top: 6rem;
  margin-bottom: 0.6rem;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a {
  width: 100%;
  padding: 4rem 1rem 4.4rem;
  background: url(../images/products/products_series_item_bg.png) repeat center, #ececee;
  border-radius: 3rem;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-items: start;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a .products_series_img {
  max-width: 20rem;
  height: 25rem;
  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;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a .products_series_copy {
  max-width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
  margin-top: 2.7rem;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a .products_series_name_wrap {
  padding-left: 0.3rem;
  margin-top: 2.3rem;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a .products_series_name_wrap .products_series_name {
  font-family: "CalSans";
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-left: 6.8rem;
  position: relative;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a .products_series_name_wrap .products_series_name::before {
  content: "";
  width: 5.3rem;
  height: 3rem;
  background: url(../images/common/products_arrow02_w.svg) no-repeat center/1.6rem, #003968;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a:hover {
  opacity: 0.7;
}

.support_sec {
  padding-bottom: 16.3rem;
}
.support_sec .container .support_body {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 4.8rem;
}
.support_sec .container .support_body .support_nav {
  width: 31rem;
  margin-top: 1.5rem;
}
.support_sec .container .support_body .support_nav .support_nav_list {
  width: 100%;
  border-top: solid 0.2rem #003968;
  position: sticky;
  top: 11.3rem;
}
.support_sec .container .support_body .support_nav .support_nav_list .support_nav_item {
  width: 100%;
  border-bottom: solid 0.1rem #003968;
}
.support_sec .container .support_body .support_nav .support_nav_list .support_nav_item a {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
  padding: 2.4rem 5rem 2.5rem 0.8rem;
  position: relative;
}
.support_sec .container .support_body .support_nav .support_nav_list .support_nav_item a::before {
  content: "";
  width: 1.6rem;
  height: 1.1rem;
  background: url(../images/common/products_arrow02.svg) no-repeat center/contain;
  position: absolute;
  top: 3.3rem;
  right: 1.8rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.support_sec .container .support_body .support_nav .support_nav_list .support_nav_item a:hover::before {
  top: 4.3rem;
}
.support_sec .container .support_body .support_contents {
  width: calc(100% - 33rem);
  max-width: 120rem;
}
.support_sec .container .support_body .support_contents .common_txt01 {
  letter-spacing: 0.02em;
}
.support_sec .container .support_body .support_contents .common_txt01 .calsans {
  line-height: 1;
}
.support_sec .container .support_body .support_contents .support_flow_sec {
  width: 100%;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_lead {
  margin-top: 2.2rem;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list {
  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: 7rem;
  margin-top: 5.5rem;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item {
  width: 100%;
  min-height: 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 4.1667%;
  border: solid 0.1rem #003968;
  background-color: #f0f1f3;
  position: relative;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item::before {
  content: "";
  width: 0.2rem;
  height: 4rem;
  border-right: dotted 0.3rem #003968;
  position: absolute;
  bottom: -1.7rem;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item:last-of-type::before {
  display: none;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_num {
  width: 19.8rem;
  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: 6.8rem 3.4rem 1rem 1rem;
  position: relative;
  margin-right: 6.2718%;
  overflow: hidden;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_num::before {
  content: "";
  width: 200%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #003968;
  border-radius: 50%;
  z-index: 1;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_num .calsans {
  min-width: 1.29em;
  font-size: 7rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: left;
  position: relative;
  z-index: 2;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_icon {
  width: 8rem;
  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-right: 5.2265%;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_txt {
  width: calc(100% - 27.8rem - 11.4983%);
  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;
  -ms-flex-line-pack: center;
      align-content: center;
  padding-bottom: 0.2rem;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_txt .support_flow_item_ttl {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_txt .support_flow_item_txt {
  width: 100%;
  margin-top: 0.7rem;
}
.support_sec .container .support_body .support_contents .support_block {
  width: 100%;
}
.support_sec .container .support_body .support_contents .support_block .support_ttl + .support_txt {
  margin-top: 3rem;
}
.support_sec .container .support_body .support_contents .support_block .support_stt {
  margin-top: 3.3rem;
}
.support_sec .container .support_body .support_contents .support_block .support_txt {
  margin-top: 0.9rem;
}
.support_sec .container .support_body .support_contents .support_block .support_txt + .support_txt {
  margin-top: 2.3rem;
}
.support_sec .container .support_body .support_contents .support_block .support_txt + .support_stt {
  margin-top: 3.5rem;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap {
  width: 100%;
  margin-top: 2.4rem;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table {
  width: 100%;
  display: table;
  border: solid 0.1rem #dddddd;
  letter-spacing: 0.05em;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table thead {
  width: 100%;
  background-color: #f0f1f3;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table thead tr {
  width: 100%;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table thead tr th {
  padding: 1.8rem 2rem;
  border: solid 0.1rem #dddddd;
  text-align: center;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table thead tr th:nth-of-type(1) {
  width: 23.3333%;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table thead tr th:nth-of-type(2) {
  width: 53.3334%;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table thead tr th:nth-of-type(3) {
  width: 23.3333%;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table tbody tr th {
  text-align: center;
  padding: 1.8rem 2rem 1.9rem;
  border: solid 0.1rem #dddddd;
  background-color: #f0f1f3;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table tbody tr th span {
  min-width: 7em;
  text-align: left;
  display: inline-block;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table tbody tr td {
  padding: 1.8rem 2rem 1.9rem;
  text-align: center;
  border: solid 0.1rem #dddddd;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table tbody tr td:nth-of-type(1) span {
  min-width: 27em;
  text-align: left;
  display: inline-block;
}
.support_sec .container .support_body .support_contents .support_block .support_box {
  width: 100%;
  padding: 3.1rem 3.6rem 3.4rem;
  background-color: #f0f1f3;
  margin-top: 1.4rem;
  margin-bottom: 3.1rem;
}
.support_sec .container .support_body .support_contents .support_block .support_box .support_box_list {
  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: 0.2rem;
}
.support_sec .container .support_body .support_contents .support_block .support_box .support_box_list li {
  padding-left: 1.2rem;
  position: relative;
}
.support_sec .container .support_body .support_contents .support_block .support_box .support_box_list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.support_sec .container .support_body .support_contents .support_block .support_box .support_box_order {
  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: 0.2rem;
  list-style: none;
  counter-reset: support_order;
  padding-top: 0.1rem;
}
.support_sec .container .support_body .support_contents .support_block .support_box .support_box_order li {
  padding-left: 2.7rem;
  position: relative;
  counter-increment: support_order;
}
.support_sec .container .support_body .support_contents .support_block .support_box .support_box_order li::before {
  content: counter(support_order) ".";
  font-family: "CalSans";
  color: #003968;
  position: absolute;
  top: 0.3rem;
  left: 0.5rem;
}
.support_sec .container .support_body .support_contents .support_block .support_box + .support_stt {
  margin-top: 4.2rem;
}
.support_sec .container .support_body .support_contents .support_fire_sec {
  margin-top: 11rem;
}
.support_sec .container .support_body .support_contents .support_maintenance_sec {
  margin-top: 10.2rem;
}
.support_sec .container .support_body .support_contents .support_after_sec {
  margin-top: 9.9rem;
}
.support_sec .container .support_body .support_contents .support_after_sec .support_note {
  margin-top: 2rem;
  margin-bottom: 3.7rem;
}

.common_block_ttl06 {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-left: 1.6rem;
  position: relative;
}
.common_block_ttl06::before {
  content: "";
  width: 0.7rem;
  aspect-ratio: 1/1;
  background-color: #003968;
  position: absolute;
  top: 1.4rem;
  left: 0;
}

.common_block_ttl05 {
  width: 100%;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-bottom: 1.6rem;
  border-bottom: #dddddd solid 0.1rem;
}

.common_block_ttl04 {
  width: 100%;
  text-align: center;
  position: relative;
}
.common_block_ttl04::before, .common_block_ttl04::after {
  content: "";
  width: 20.6rem;
  height: 20.6rem;
  border: solid 0.1rem #dbdfe6;
  position: absolute;
  top: calc(50% + 0.7rem);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  z-index: 1;
}
.common_block_ttl04 .jp {
  width: 100%;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.5263157895;
  letter-spacing: 0.05em;
  display: block;
  position: relative;
  z-index: 2;
}
.common_block_ttl04 .jp .calsans {
  line-height: 1;
  display: inline-block;
}
.common_block_ttl04 .en {
  width: 100%;
  font-family: "CalSans";
  font-size: 1.8rem;
  line-height: 1.5555555556;
  font-weight: 600;
  letter-spacing: 0.08em;
  display: block;
  margin-top: 0.5rem;
  position: relative;
  z-index: 2;
}
.common_block_ttl04 .en.mt {
  margin-top: 1.4rem;
}
.common_block_ttl04.small .jp {
  font-size: 2.6rem;
  line-height: 1.9230769231;
}
.common_block_ttl04.small .en {
  margin-top: 2.4rem;
}
.common_block_ttl04.nobg::before, .common_block_ttl04.nobg::after {
  display: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** animation
*******************************************************************************/
.animation-trigger.slide-up {
  overflow: hidden;
}
.animation-trigger.slide-up > * {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.animation-trigger.slide-up.animation-on > * {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.animation-trigger.fade-in > * {
  opacity: 0;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: 1.2s cubic-bezier(0, 0, 0.2, 1);
  transition: 1.2s cubic-bezier(0, 0, 0.2, 1);
}
.animation-trigger.fade-in.animation-on > * {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.animation-trigger.text-continuous-fade-up .char {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}
.animation-trigger.text-continuous-fade-up.animation-on .char {
  -webkit-animation: fadeUp 0.3s ease-out forwards;
          animation: fadeUp 0.3s ease-out forwards;
  /* CSS側での nth-child は削除 */
}
.animation-trigger.wave::before, .animation-trigger.wave::after {
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
}
.animation-trigger.wave.animation-on::before, .animation-trigger.wave.animation-on::after {
  -webkit-animation: ripple 2s ease-out infinite;
          animation: ripple 2s ease-out infinite;
}
.animation-trigger.wave.animation-on::after {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.animation-trigger.img-slide-in picture {
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  -webkit-transition: opacity 1.5s ease, clip-path 1.3s cubic-bezier(0.76, 0, 0.24, 1);
  transition: opacity 1.5s ease, clip-path 1.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.animation-trigger.img-slide-in picture img {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition: -webkit-transform 1.5s 0.08s ease;
  transition: -webkit-transform 1.5s 0.08s ease;
  transition: transform 1.5s 0.08s ease;
  transition: transform 1.5s 0.08s ease, -webkit-transform 1.5s 0.08s ease;
}
.animation-trigger.img-slide-in.animation-on picture {
  -webkit-transform: scale(1);
          transform: scale(1);
  clip-path: inset(0 0 0 0);
  opacity: 1;
}
.animation-trigger.img-slide-in.animation-on picture img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.animation-trigger.img-slide-up picture {
  display: block;
  clip-path: inset(100% 0 0 0);
  opacity: 0;
  -webkit-transition: opacity 1.5s ease, clip-path 1.3s cubic-bezier(0.76, 0, 0.24, 1);
  transition: opacity 1.5s ease, clip-path 1.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.animation-trigger.img-slide-up picture img {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition: -webkit-transform 1.5s 0.08s ease;
  transition: -webkit-transform 1.5s 0.08s ease;
  transition: transform 1.5s 0.08s ease;
  transition: transform 1.5s 0.08s ease, -webkit-transform 1.5s 0.08s ease;
}
.animation-trigger.img-slide-up.animation-on picture {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}
.animation-trigger.img-slide-up.animation-on picture img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.animation-trigger.txt-slide-up > * {
  clip-path: inset(100% 0 0 0);
  opacity: 0;
  -webkit-transition: opacity 1.5s ease, clip-path 1.3s cubic-bezier(0.76, 0, 0.24, 1);
  transition: opacity 1.5s ease, clip-path 1.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.animation-trigger.txt-slide-up.animation-on > * {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}

@-webkit-keyframes ripple {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  70% {
    opacity: 0.5;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.5);
            transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}

@keyframes ripple {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  70% {
    opacity: 0.5;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.5);
            transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft {
  width: 100%;
  padding-top: 8.3rem;
  padding-bottom: 6.4rem;
  background-color: #fff;
  overflow: hidden;
}
.ft .container {
  width: 100%;
}
.ft .container .ft_navigation_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 0.2rem;
}
.ft .container .ft_navigation_list a {
  width: calc((100% - 2rem) / 3);
  max-width: 49.4rem;
  min-height: 11rem;
  padding: 0.6rem 0.5rem 0.5rem;
  border: solid 0.1rem #003968;
  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;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_navigation_list a.reservation {
  background: -webkit-image-set(url(../images/common/ft_navigation_reservation_bg.webp) 1x, url(../images/common/ft_navigation_reservation_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/ft_navigation_reservation_bg.webp) 1x, url(../images/common/ft_navigation_reservation_bg@2x.webp) 2x) no-repeat center/cover;
}
.ft .container .ft_navigation_list a.contact {
  background: -webkit-image-set(url(../images/common/ft_navigation_contact_bg.webp) 1x, url(../images/common/ft_navigation_contact_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/ft_navigation_contact_bg.webp) 1x, url(../images/common/ft_navigation_contact_bg@2x.webp) 2x) no-repeat center/cover;
}
.ft .container .ft_navigation_list a.catalog {
  background: -webkit-image-set(url(../images/common/ft_navigation_catalog_bg.webp) 1x, url(../images/common/ft_navigation_catalog_bg.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/ft_navigation_catalog_bg.webp) 1x, url(../images/common/ft_navigation_catalog_bg.webp) 2x) no-repeat center/cover;
}
.ft .container .ft_navigation_list a::before {
  content: "";
  width: 1.5rem;
  height: 1.1rem;
  background: url(../images/common/products_arrow02_w.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 3rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 999px) {
  .ft .container .ft_navigation_list a::before {
    top: auto;
    bottom: 1rem;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
.ft .container .ft_navigation_list a .ttl {
  width: 100%;
  text-align: center;
  display: block;
}
.ft .container .ft_navigation_list a .ttl .jp {
  min-height: 4rem;
  font-size: 2.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.06em;
  display: block;
}
.ft .container .ft_navigation_list a .ttl .en {
  font-family: "CalSans";
  font-size: 1.6rem;
  color: #fff;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.06em;
  margin-top: -0.1rem;
  display: block;
}
.ft .container .ft_navigation_list a .square {
  width: 0.7rem;
  aspect-ratio: 1/1;
  background-color: #003968;
  position: absolute;
}
.ft .container .ft_navigation_list a .square:nth-of-type(1) {
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.ft .container .ft_navigation_list a .square:nth-of-type(2) {
  top: 0;
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.ft .container .ft_navigation_list a .square:nth-of-type(3) {
  bottom: 0;
  left: 0;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
.ft .container .ft_navigation_list a .square:nth-of-type(4) {
  bottom: 0;
  right: 0;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
.ft .container .ft_navigation_list a:hover {
  opacity: 0.7;
}
.ft .container .ft_navigation_list a:hover::before {
  right: 2rem;
}
.ft .container .ft_block {
  width: 100%;
  border-top: solid 0.1rem #d0d0d0;
  padding-top: 8.1rem;
  margin-top: 8.4rem;
}
.ft .container .ft_block .ft_logo a {
  width: 31.5rem;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_block .ft_logo a:hover {
  opacity: 0.7;
}
.ft .container .ft_block .ft_nav {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 7.4rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col.ft_nav_col01 {
  width: calc(100% - (43.75% + 3rem));
  max-width: 78rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col.ft_nav_col02 {
  width: 43.75%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.4rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li {
  width: 100%;
}
.ft .container .ft_block .ft_nav .ft_nav_col li.option {
  margin-top: 3.5rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li.compare {
  margin-top: 6.1rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_ttl {
  width: 100%;
  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;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_ttl:hover {
  opacity: 0.7;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_ttl .label {
  font-family: "CalSans";
  font-size: 2.2rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  display: inline-block;
  padding: 0.9rem 0.8rem 0.5rem 1.1rem;
  background-color: #003968;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_ttl .jp {
  font-size: 1.6rem;
  color: #666666;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding: 0 0 0.2rem 1.2rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_nav_ttl {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 0.8rem;
  border-bottom: solid 0.1rem #d0d0d0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_nav_ttl:hover {
  opacity: 0.7;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_nav_ttl .en {
  font-family: "CalSans";
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.065em;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_nav_ttl .jp {
  font-size: 1.6rem;
  color: #666666;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-top: 0.5rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap {
  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;
  gap: 1rem;
  margin-top: 2.9rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series.samax {
  padding-left: 4.5rem;
}
@media screen and (max-width: 1520px) {
  .ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series.samax {
    padding-left: 0;
  }
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series dt {
  width: 100%;
  margin-bottom: 2.9rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series dd {
  width: 100%;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series dd .ft_series_list {
  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: 1.8rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series dd .ft_series_list li {
  width: 100%;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series dd .ft_series_list li a {
  font-family: "CalSans";
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.065em;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series dd .ft_series_list li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1300px) {
  .ft .container .ft_block .ft_nav {
    display: block;
    max-width: 90rem;
    margin: 7.4rem auto 0;
  }
  .ft .container .ft_block .ft_nav .ft_nav_col.ft_nav_col01 {
    width: 100%;
    max-width: initial;
    max-width: auto;
  }
  .ft .container .ft_block .ft_nav .ft_nav_col.ft_nav_col02 {
    width: 100%;
    max-width: initial;
    max-width: auto;
    margin-top: 5.4rem;
  }
}
.ft .container .ft_block .ft_bottom {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 5.9rem;
}
.ft .container .ft_block .ft_bottom .ft_sub_navi {
  width: calc(100% - 42rem);
  max-width: 52.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
}
.ft .container .ft_block .ft_bottom .ft_sub_navi li a {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_block .ft_bottom .ft_sub_navi li a:hover {
  opacity: 0.7;
}
.ft .container .ft_block .ft_bottom .copyright {
  width: 40rem;
  font-family: "CalSans";
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 950px) {
  .ft .container .ft_block .ft_bottom {
    display: block;
  }
  .ft .container .ft_block .ft_bottom .ft_sub_navi {
    width: 100%;
  }
  .ft .container .ft_block .ft_bottom .copyright {
    width: 100%;
    margin-top: 3rem;
  }
}

.pagetop {
  width: 6rem;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  opacity: 0;
  pointer-events: none;
  z-index: 90;
}
.pagetop.show {
  opacity: 1;
  pointer-events: auto;
}
.pagetop.show:hover {
  opacity: 0.7;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

/**webp非対応デバイス用class
.no-webp {

}
**/
/**background webp
background: image-set(url(../webp) 1x, url(../@2x.webp) 2x) no-repeat center / cover;
**/
/**IE用css
@media all and (-ms-high-contrast: none) {

}
**/
.grecaptcha-badge {
  bottom: 10rem !important;
  z-index: 90;
}

@-webkit-keyframes lineupMarquee {
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes lineupMarquee {
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes boothMarquee {
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes boothMarquee {
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}/*# sourceMappingURL=pc.css.map */