@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
html {
  scrollbar-gutter: stable;
  font-size: 2.6666666667vw;
}

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

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

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

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

.hd {
  width: 100%;
  min-height: 5.4rem;
  padding: 1.5rem 2rem;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 105;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd.hide {
  opacity: 0;
  pointer-events: none;
}
.hd .container {
  position: relative;
}
.hd .container .hd_navi_wrap {
  width: 100%;
  height: 100vh;
  padding: 5rem 2rem 3rem 3.65rem;
  background-color: #fff;
  position: fixed;
  top: 0;
  right: 0;
  opacity: 0 !important;
  z-index: 100;
  pointer-events: none;
  -webkit-transition: 0.4s !important;
  transition: 0.4s !important;
}
.hd .container .hd_navi_wrap.open {
  opacity: 1 !important;
  pointer-events: auto;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area {
  width: 100%;
  height: 100%;
  padding-top: 4.4rem;
  overflow-y: scroll;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi {
  width: 100%;
  padding-left: 0.85rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li {
  width: 100%;
  margin-top: 1.45rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li:first-of-type {
  margin-top: 0;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a {
  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;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a .en {
  font-family: "CalSans";
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.06em;
  display: inline-block;
  margin-right: 0.9rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a .jp {
  font-size: 1.1rem;
  color: #999999;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-top: 0.1rem;
  display: inline-block;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li > a:hover {
  opacity: 0.7;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap {
  width: 100%;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block {
  width: 100%;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 {
  width: 100%;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt {
  width: 100%;
  margin-top: 1.45rem;
}
.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 {
  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;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a .en {
  font-family: "CalSans";
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.06em;
  display: inline-block;
  margin-right: 0.9rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi01 dt a .jp {
  font-size: 1.1rem;
  color: #999999;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-top: 0.1rem;
  display: inline-block;
}
.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 dd {
  width: 100%;
  margin-top: 0.95rem;
}
.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: 100%;
}
.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 {
  width: 100%;
  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 .hd_cnavi_list li: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 li a {
  font-family: "CalSans";
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 2.3rem;
  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: 0.75rem;
  height: 0.05rem;
  background-color: #000;
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
}
.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_cnavi02 {
  width: 100%;
  margin-top: 2.7rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li {
  width: 100%;
  margin-top: 1.45rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li: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_cnavi02 li a {
  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;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a .en {
  font-family: "CalSans";
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.06em;
  display: inline-block;
  margin-right: 0.9rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a .en.ls {
  letter-spacing: 0;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi > li .hd_navi_block_wrap .hd_navi_block .hd_cnavi02 li a .jp {
  font-size: 1.1rem;
  color: #999999;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-bottom: 0.3rem;
  display: inline-block;
}
.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_navi02 {
  width: 100%;
  padding-top: 3.35rem;
  border-top: solid 0.05rem #dddddd;
  display: grid;
  grid-template-columns: 13rem auto;
  gap: 1rem;
  margin-top: 3.65rem;
}
.hd .container .hd_navi_wrap .hd_navi_scroll_area .hd_navi02 li a {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  display: inline-block;
}
.hd .container .navi_trigger {
  width: 5.2rem;
  aspect-ratio: 1/1;
  background-color: #fff;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 101;
}
.hd .container .navi_trigger span {
  height: 0.2rem;
  background-color: #000;
  display: inline-block;
  position: absolute;
  left: 0.7rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.hd .container .navi_trigger span:nth-of-type(1) {
  width: 3.6rem;
  top: calc(50% - 0.75rem);
}
.hd .container .navi_trigger span:nth-of-type(2) {
  width: 2.6rem;
  top: calc(50% + 0.75rem);
}
.hd .container .navi_trigger.active span {
  width: 3.2rem;
  top: 50%;
  left: 50%;
}
.hd .container .navi_trigger.active span:nth-of-type(1) {
  -webkit-transform: translate(-50%, -50%) rotate(30deg);
          transform: translate(-50%, -50%) rotate(30deg);
}
.hd .container .navi_trigger.active span:nth-of-type(2) {
  -webkit-transform: translate(-50%, -50%) rotate(-30deg);
          transform: translate(-50%, -50%) rotate(-30deg);
}

.logo_wrap {
  width: 100%;
  padding-top: 0.2rem;
  position: relative;
  z-index: 101;
}
.logo_wrap .logo {
  line-height: 1;
  overflow: hidden;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
.logo_wrap .logo a {
  width: 13rem;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.logo_wrap .logo a:hover {
  opacity: 0.7;
}
.logo_wrap.open {
  position: absolute;
  top: 0;
  left: 0;
}

.common_sec_ttl01 {
  width: 100%;
  text-align: center;
}
.common_sec_ttl01 .jp {
  width: 100%;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  display: block;
}
.common_sec_ttl01 .en {
  width: 100%;
  font-family: "CalSans";
  font-size: 1.4rem;
  color: #003968;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.09em;
  display: block;
  padding-left: 0.2rem;
  margin-top: 1rem;
}
.common_sec_ttl01.white .jp {
  color: #fff;
}
.common_sec_ttl01.white .en {
  color: #fff;
}

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

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

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

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

.mv {
  padding: 0 1.5rem 7.4rem;
  margin-top: 5.4rem;
}
.mv .container {
  max-width: initial;
  max-width: auto;
  min-height: 54rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: -webkit-image-set(url(../images/top/mv_bg.webp) 1x, url(../images/top/mv_bg@2x.webp) 2x) no-repeat center right -32rem/cover;
  background: image-set(url(../images/top/mv_bg.webp) 1x, url(../images/top/mv_bg@2x.webp) 2x) no-repeat center right -32rem/cover;
  border-radius: 1rem;
  position: relative;
}
.mv .container .mv_ttl {
  width: 100%;
  font-family: "CalSans";
  font-size: 3rem;
  color: #fff;
  line-height: 1.3333333333;
  letter-spacing: 0.065em;
  padding-left: 1rem;
  margin: 0 auto;
}
.mv .container .mv_news {
  width: 100%;
  height: 7.4rem;
  padding: 0.5rem;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.mv .container .mv_news li {
  width: 100%;
  height: 6.4rem;
}
.mv .container .mv_news li a {
  width: 100%;
  height: 100%;
  padding: 1rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  padding-top: 0.3rem;
  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;
  display: inline-block;
  margin-top: 0.2rem;
}
.mv .container .mv_news li a:hover {
  opacity: 0.7;
}

.index01 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #fff;
  border-bottom-left-radius: 2rem;
  border-bottom-right-radius: 2rem;
  position: relative;
  z-index: 2;
  overflow: clip;
}
.index01 .index01_bg {
  position: absolute;
  top: 22rem;
  bottom: 5rem;
  left: 0;
  width: 100%;
  z-index: 0;
}
.index01 .index01_bg .index01_bg_img {
  width: 100%;
  height: calc(100vh - 10.9rem);
  position: sticky;
  top: 5.4rem;
  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 {
  width: 10.3rem;
  aspect-ratio: 310/420;
  position: absolute;
  top: 0;
  right: 0;
}
.index01 .index01_bg .index01_bg_img .index01_bg_img02 {
  width: 16.6rem;
  aspect-ratio: 500/678;
  position: absolute;
  top: 16rem;
  left: 0;
}
.index01 .index01_bg .index01_bg_img .index01_bg_img03 {
  width: 20.4rem;
  aspect-ratio: 611/401;
  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%;
  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-top: 5rem;
}
.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: 20rem;
}
.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:first-of-type span:first-of-type {
  padding-top: 1rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span:last-of-type span:last-of-type {
  padding-bottom: 1.2rem;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span > span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  padding: 0.3rem 1.2rem 1rem;
  display: inline-block;
  vertical-align: top;
  margin-bottom: -1px;
}
.index01 .container .index01_txt_wrap .index01_txt .index01_txt_face > span > span .calsans {
  letter-spacing: 0.05em;
}
.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 > 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 > 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 {
  padding-top: 8.5rem;
  padding-bottom: 5rem;
  background: url(../images/top/koplus_sec_item.png) no-repeat top -2rem right/75rem, #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: 5rem;
  padding-bottom: 5rem;
  background: url(../images/top/lineup_sec_item.png) no-repeat right bottom/26rem;
}
.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: 5rem;
  margin-top: 5rem;
}
.lineup_sec .container .product_lineup .product_list_wrap {
  width: 100%;
  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-sp, 40s) linear infinite;
          animation: lineupMarquee var(--marquee-dur-sp, 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: 6.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%;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dt .name {
  font-family: "CalSans";
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.1em;
  padding-left: 2rem;
  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 .desc {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.045em;
  padding-left: 2rem;
  display: block;
  margin-top: 1rem;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd {
  width: 100%;
  margin-top: 2rem;
}
.lineup_sec .container .product_lineup .product_list_wrap .product_list dd ul {
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.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(2rem);
          transform: translateY(2rem);
  -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: 2rem;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  margin-top: 1rem;
}
.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;
  display: none;
}
.common_product_list li a:hover {
  opacity: 0.7;
}

.booth_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  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: 2.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 5rem;
}
.booth_sec .container .booth_marquee {
  width: calc(100% + 4rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin-top: 5rem;
  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: 3rem;
  padding-right: 3rem;
  -webkit-animation: boothMarquee 40s linear infinite;
          animation: boothMarquee 40s linear infinite;
}
.booth_sec .container .booth_marquee .booth_marquee_inner figure {
  width: 20rem;
  -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: 5rem;
}

.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 {
  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: 5rem;
  padding-bottom: 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: 4rem;
}
.reason_sec .container .reason_block01 .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: 2rem;
}
.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 1.5rem;
  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: 2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.6363636364;
  letter-spacing: 0.04em;
  text-align: right;
  position: relative;
  z-index: 1;
}
.reason_sec .container .reason_block01 .reason_list li .reason_item_wrap .reason_item .reason_item_ttl_en {
  font-family: "CalSans";
  font-size: 6rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  opacity: 0.35;
  position: absolute;
  right: -0.5rem;
  bottom: -1.5rem;
}
.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;
}
.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;
}
.reason_sec .container .reason_block01 .reason_img {
  width: 52.9375%;
  position: absolute;
  top: -18rem;
  right: -5rem;
}
.reason_sec .container .reason_btn {
  width: 100%;
  margin-top: 5rem;
}

.answer_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #f0f1f3;
  border-radius: 2rem;
}
.answer_sec .container .answer_ttl {
  text-align: left;
}
.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: 3rem;
}
.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: 26rem;
  height: auto;
  margin-right: 2rem;
}
.answer_sec .container .answer_slide .swiper-slide .common_case_box a .case_box_img {
  border-radius: 0;
}
.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: 2rem;
}
.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 {
  margin-top: 3rem;
}

.common_column_block {
  width: 100%;
}
.common_column_block .column_box {
  width: 100%;
  margin-top: 2rem;
  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(1) {
  margin-top: 0;
}
.common_column_block .column_box .column_box_wrap {
  width: 100%;
  height: 100%;
  padding-top: 4rem;
  padding-right: 2rem;
  position: relative;
}
.common_column_block .column_box .column_box_wrap::before {
  content: "";
  width: 28rem;
  height: 6rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 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%;
  padding: 2rem 3rem;
  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: 2rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.common_column_block .column_box .column_box_wrap .column_box_inner .column_box_inner_img {
  width: 10rem;
  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;
}
.common_column_block.color .column_box .column_box_wrap .column_box_inner {
  background-color: #f7f7f7 !important;
}

.idealspace_sec {
  padding-top: 8rem;
  padding-bottom: 8rem;
  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: 5rem;
}
.idealspace_sec .container .idealspace_btn {
  margin-top: 5rem;
}

.common_btn01 {
  width: 100%;
  text-align: center;
}
.common_btn01 .btn01_wrap {
  display: inline-block;
  position: relative;
}
.common_btn01 .btn01_wrap::before {
  content: "";
  width: 20rem;
  height: 4rem;
  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: 26rem;
  height: 5.2rem;
  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;
  position: relative;
  z-index: 2;
}
.common_btn01 .btn01_wrap a span {
  font-family: "CalSans";
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  display: inline-block;
}
.common_btn01 .btn01_wrap a span::before {
  content: "";
  width: 5.43634rem;
  height: 5.2rem;
  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: -3rem;
}
.common_btn01.jp .btn01_wrap a span {
  font-family: YakuHanJP, "Noto Sans JP";
  font-size: 1.6rem;
}
.common_btn01.small {
  padding: 0 1rem;
}
.common_btn01.small .btn01_wrap {
  width: 100%;
}
.common_btn01.small .btn01_wrap::before {
  content: "";
  width: 6.5rem;
  height: 2.5rem;
}
.common_btn01.small .btn01_wrap a {
  width: 100%;
  height: auto;
  padding-left: 0;
  padding-right: 0;
}
.common_btn01.small .btn01_wrap a span {
  font-size: 1.2rem;
  line-height: 1.2;
}
.common_btn01.small .btn01_wrap a span::before {
  display: none;
}
.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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.common_contact_btn .btn01_wrap {
  display: inline-block;
  position: relative;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.common_contact_btn .btn01_wrap::before {
  content: "";
  width: 20rem;
  height: 4rem;
  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: 5.43634rem;
  height: 5.2rem;
  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: 30rem;
  height: 5.2rem;
  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;
  margin: 0 auto;
  position: relative;
}
.common_contact_btn .btn01_wrap .wrap:hover::before {
  right: -3rem;
}
.common_contact_btn .btn01_wrap.back {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 2rem;
}
.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: -3rem;
}

.showroom_sec {
  padding-top: 5rem;
}
.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;
}
.showroom_sec .container .showroom_ttl .en {
  letter-spacing: 0.08em;
}
.showroom_sec .container .showroom_block {
  width: 100%;
  position: relative;
  margin-top: 3rem;
}
.showroom_sec .container .showroom_block .showroom_block_txt {
  line-height: 2;
  text-align: left;
  margin-top: 2rem;
}
.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_img {
  width: 100%;
  aspect-ratio: 1/0.75;
  margin-top: 3rem;
}
.showroom_sec .container .showroom_block .showroom_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.showroom_sec .container .showroom_block .showroom_block_btn {
  margin-top: 5rem;
}

.news_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #fff;
}
.news_sec .container .news_block {
  width: 100%;
}
.news_sec .container .news_block .news_sec_ttl {
  width: 100%;
  text-align: center;
}
.news_sec .container .news_block .news_list {
  width: 100%;
  margin-top: 3rem;
}
.news_sec .container .news_block .news_btn {
  margin-top: 5rem;
}

.navigation_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../images/common/navigation_sec_item.png) no-repeat center, #003968;
  border-radius: 2rem;
  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-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.navigation_sec .container .navigation_block .navigation_item {
  width: 100%;
  border: solid 0.1rem #fff;
  overflow: hidden;
}
.navigation_sec .container .navigation_block .navigation_item a {
  width: 100%;
  height: 100%;
  display: block;
  padding: 3rem 2rem;
  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: 2.4rem;
  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: 6.4rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  opacity: 0.28;
  position: absolute;
  bottom: -1.5rem;
  right: -0.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: 3rem;
}
.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.2rem 0 0 6rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.navigation_sec .container .navigation_block .navigation_item a .navigation_item_btn span::before {
  content: "";
  width: 4.8rem;
  height: 2.6rem;
  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;
}

aside {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  z-index: 103;
  opacity: 0;
  pointer-events: none;
}
aside.show {
  opacity: 1;
  pointer-events: auto;
}
aside:hover {
  right: 0;
}
aside .sp_resize {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
aside .sp_resize li {
  width: 50%;
}
aside .sp_resize li:last-of-type a {
  border-left: solid 0.1rem #fff;
}
aside .sp_resize li a {
  padding: 1rem;
  min-height: 5.5rem;
  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;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
aside .sp_resize li a .icon_wrap {
  width: 2.5rem;
  margin-right: 1rem;
}
aside .sp_resize li a .wrap {
  display: inline-block;
}
aside .sp_resize li a .wrap .en {
  display: none;
}
aside .sp_resize li a .wrap .jp {
  width: 100%;
  font-size: 1.4rem;
  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.3rem;
}
aside .sp_resize li.contact a .icon_wrap .icon {
  width: 2.2rem;
}

.dib {
  display: inline-block;
}

/*----------------------------------------------------------------------------
******************************************************************************
** common cslass
******************************************************************************
----------------------------------------------------------------------------*/
.breadcrumb {
  width: 100%;
  padding: 2rem 1.5rem;
  margin-top: 5.2rem;
}
.breadcrumb ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.breadcrumb ul li {
  margin-right: 3rem;
  position: relative;
}
.breadcrumb ul li::before {
  content: "";
  width: 1rem;
  height: 0.1rem;
  background-color: #808080;
  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.6rem;
  font-family: "CalSans";
  line-height: 1;
  padding-top: 0.5rem;
}

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

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

.common_showroom_box {
  width: 100%;
  padding: 5rem 0;
  border-bottom: #ddd solid 0.1rem;
}
.common_showroom_box:first-of-type {
  padding-top: 0;
}
.common_showroom_box:last-of-type {
  border-bottom: none;
}
.common_showroom_box .showroom_name {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}
.common_showroom_box .showroom_place_name {
  font-family: "CalSans";
  font-size: 5rem;
  color: #edeff3;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  position: absolute;
  top: -3.4rem;
  right: 0;
  z-index: 1;
}
.common_showroom_box .showroom_slider {
  margin-top: 5rem;
  position: relative;
}
.common_showroom_box .showroom_slider.tokyo {
  margin-top: 3rem;
}
.common_showroom_box .showroom_data {
  margin-top: 1rem;
}
.common_showroom_box .showroom_btn {
  width: 100%;
  float: left;
  margin-top: 3rem;
}

.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: 2rem;
}
.common_slide_wrap .slide_guide .guide_wrap {
  display: inline-block;
  position: relative;
  padding: 0 3rem;
}
.common_slide_wrap .slide_guide .guide_wrap .swiper-button {
  width: 1rem;
  height: 2rem;
  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: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: #cdcfd4;
  margin-right: 0.8rem;
}
.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;
}

.common_data_list {
  width: 100%;
}
.common_data_list > dt,
.common_data_list > dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.common_data_list > dt:last-of-type,
.common_data_list > dd:last-of-type {
  border-bottom: none;
}
.common_data_list > dt {
  font-weight: 700;
  padding-top: 1.5rem;
}
.common_data_list > dt:first-of-type {
  margin-top: 0;
}
.common_data_list > dd {
  padding-bottom: 1.5rem;
  border-bottom: solid 0.1rem #dddddd;
}
.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;
}

.common_flow_sec {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background-color: #fff;
}
.common_flow_sec .container .flow_list {
  width: 100%;
  margin-top: 5rem;
}
.common_flow_sec .container .flow_list li {
  width: 100%;
  list-style-type: none;
  margin-top: 6rem;
  position: relative;
}
.common_flow_sec .container .flow_list li:first-of-type {
  margin-top: 0;
}
.common_flow_sec .container .flow_list li:last-of-type::before {
  display: none;
}
.common_flow_sec .container .flow_list li::before {
  content: "";
  width: 4.6rem;
  height: 0.4rem;
  background: url(../images/common/flow_arrow.png) no-repeat center/contain;
  position: absolute;
  bottom: -3rem;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
}
.common_flow_sec .container .flow_list li .flow_ttl {
  width: 18rem;
  height: 3rem;
  font-size: 1.6rem;
  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: 6rem;
  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: 1rem auto 0;
}
.common_flow_sec .container .flow_list li .flow_txt {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 1rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** products
******************************************************************************
----------------------------------------------------------------------------*/
.common_product_others_list {
  width: 100%;
}
.common_product_others_list li {
  margin-top: 2rem;
}
.common_product_others_list li:first-of-type {
  margin-top: 0;
}
.common_product_others_list li a {
  width: 100%;
  height: 12rem;
  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;
  border-radius: 1rem;
  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: 1.8rem;
  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.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  display: block;
  margin-top: 1rem;
}
.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 a::after {
  background: -webkit-image-set(url(../images/products/option_bg.webp) 1x, url(../images/products/option_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/option_bg.webp) 1x, url(../images/products/option_bg@2x.webp) 2x) no-repeat center/cover;
}
.common_product_others_list li.compare a::after {
  background: -webkit-image-set(url(../images/products/compare_bg.webp) 1x, url(../images/products/compare_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/products/compare_bg.webp) 1x, url(../images/products/compare_bg@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;
}

.products_page_sec01 .products_hero {
  width: 100%;
  aspect-ratio: 1400/600;
  margin-top: 3rem;
}
.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 {
  margin-top: 5rem;
}
.products_page_sec01 .container .products_case_block .products_case_ttl {
  margin-bottom: 3rem;
}
.products_page_sec01 .container .products_case_block .products_case_ttl span {
  padding-left: 0;
}
.products_page_sec01 .container .products_case_block .products_case_ttl span::before {
  display: none;
}
.products_page_sec01 .container .common_case_block {
  margin-top: 0;
}
.products_page_sec01 .container .products_select_block {
  margin-top: 5rem;
}
.products_page_sec01 .container.new-layout .product_block {
  width: 100%;
}
.products_page_sec01 .container.new-layout .product_block .products_box {
  margin-bottom: 5rem;
}
.products_page_sec01 .container.new-layout .product_block .products_box:last-of-type {
  margin-bottom: 0;
}
.products_page_sec01 .container.old-layout .product_block {
  width: 100%;
  margin-top: 3rem;
}
.products_page_sec01 .container.old-layout .product_block .products_box {
  margin-bottom: 5rem;
}
.products_page_sec01 .container.old-layout .product_block .products_box:last-of-type {
  margin-bottom: 0;
}
.products_page_sec01 .container .products_navi {
  width: 100%;
  margin-top: 5rem;
}
.products_page_sec01 .container .products_navi .products_navi_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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 2rem;
}
.products_page_sec01 .container .products_navi .products_navi_box:first-of-type {
  margin-top: 0;
}
.products_page_sec01 .container .products_navi .products_navi_box dl dt {
  font-family: "CalSans";
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.products_page_sec01 .container .products_navi .products_navi_box dl dd {
  width: 100%;
}
.products_page_sec01 .container .products_navi ul {
  background-color: #e4e7ed;
  padding: 1rem;
  border-radius: 0.5rem;
  display: inline-block;
}
.products_page_sec01 .container .products_navi ul li {
  margin-right: 2rem;
  margin-top: 1rem;
  display: inline-block;
}
.products_page_sec01 .container .products_navi ul li:last-of-type {
  margin-right: 0;
}
.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: 1.8rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-left: 4.4rem;
  display: inline-block;
  position: relative;
}
.products_page_sec01 .container .products_navi ul li a span::before {
  content: "";
  width: 2rem;
  aspect-ratio: 30/53;
  position: absolute;
  top: -0.5rem;
  left: 0.9rem;
  background: url(../images/common/products_arrow02_w.svg) center center/1rem 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;
}
.products_page_sec01 .container .product_block02 {
  width: 100%;
  margin-top: 5rem;
}
.products_page_sec01 .container .products_option_block {
  width: 100%;
  margin-top: 3rem;
}
.products_page_sec01 .container .products_option_block .option_box {
  width: 100%;
  margin-top: 3rem;
}
.products_page_sec01 .container .products_option_block .option_box:nth-of-type(1) {
  margin-top: 0;
}
.products_page_sec01 .container .products_option_movie {
  width: 100%;
  margin-top: 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.2rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 4.3rem;
  position: relative;
}
.products_page_sec01 .container .products_option_movie .movie_ttl span::before {
  content: "";
  width: 3.3rem;
  height: 2.325rem;
  background: url(../images/common/movie_icon.png) no-repeat center/contain;
  position: absolute;
  top: 0.8rem;
  left: 0;
}
.products_page_sec01 .container .products_option_movie .movie {
  width: 100%;
  aspect-ratio: 1/0.5625;
  background-color: #ccc;
  border-radius: 1rem;
  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 {
  font-size: 1.4rem;
  margin-top: 1rem;
}

.common_product_series_list {
  width: 100%;
}
.common_product_series_list dt {
  width: 100%;
  margin-top: 5.5rem;
}
.common_product_series_list dt:first-of-type {
  margin-top: 0;
}
.common_product_series_list dt a {
  width: 100%;
  max-width: 16rem;
  display: inline-block;
  position: relative;
  padding-right: 5rem;
}
.common_product_series_list dt a::before {
  content: "";
  width: 2.6rem;
  height: 2.6rem;
  background: url(../images/common/products_arrow.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_product_series_list dt a:hover::before {
  right: 0;
}
.common_product_series_list dt a picture {
  width: 100%;
  text-align: center;
  display: block;
}
.common_product_series_list dd {
  width: 100%;
  margin-top: 3rem;
}
.common_product_series_list dd ul {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.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.2637795276;
  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.6rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-top: 1.5rem;
}
.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);
}

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

.common_option_box {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #fff;
  border-radius: 1rem;
  border: solid 0.2rem #dddddd;
}
.common_option_box .option_box_inner01 {
  width: 100%;
}
.common_option_box .option_box_inner01 .option_name {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: center;
}
.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: 16rem;
  margin: 2rem auto 0;
}
.common_option_box .option_box_inner02 {
  width: 100%;
}
.common_option_box .option_box_inner02 .option_support_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;
  margin-top: 2rem;
  gap: 1rem;
}
.common_option_box .option_box_inner02 .option_support_list li:not(.note) {
  width: calc((100% - 1rem) / 2);
  font-family: "CalSans";
  font-size: 1.4rem;
  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;
}
.common_option_box .option_box_inner02 .option_support_list .note {
  width: 100%;
  font-size: 1.4rem;
  color: #828893;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 0.9rem 0 0.3rem;
}
.common_option_box .option_box_inner02 .option_spec_list {
  width: 100%;
  margin-top: 3rem;
}
.common_option_box .option_box_inner02 .option_spec_list > dd {
  width: 100%;
  margin-top: 2rem;
}
.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 {
  font-size: 1.4rem;
  letter-spacing: 0.01em;
  margin-top: 0.5rem;
}
.common_option_box .option_box_inner02 .option_color_list {
  width: 100%;
  margin-top: 3rem;
}
.common_option_box .option_box_inner02 .option_color_list > dd {
  width: 100%;
  margin-top: 1rem;
}
.common_option_box .option_box_inner02 .option_color_list > dd .color_data_list {
  width: 100%;
  margin-top: 1rem;
}
.common_option_box .option_box_inner02 .option_color_list > dd .color_data_list:first-of-type {
  margin-top: 0;
}
.common_option_box .option_box_inner02 .option_price_list {
  width: 100%;
  margin-top: 3rem;
}
.common_option_box .option_box_inner02 .option_price_list dd {
  width: 100%;
  margin-top: 2rem;
}

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

.new-layout .common_products_box {
  width: 100%;
  padding: 3rem 0 5rem;
  background-color: #fff;
  border-radius: 1rem;
}
.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 80rem right 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/25rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem right 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/25rem, #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 80rem right 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/27rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem right 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/27rem, #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 80rem left 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/31rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem left 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/31rem, #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 80rem left 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem left 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #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 80rem right 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/24rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem right 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/24rem, #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 80rem left 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem left 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #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/28.8rem, -webkit-image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 64rem right 0/32.5rem, -webkit-image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 83rem left 0/21.65rem, -webkit-image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 65rem left 3.65rem/25.15rem, -webkit-image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/34.45rem, #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/28.8rem, image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 64rem right 0/32.5rem, image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 83rem left 0/21.65rem, image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 65rem left 3.65rem/25.15rem, image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/34.45rem, #fff;
}
.new-layout .common_products_box .products_chatch {
  margin-bottom: 3rem;
}
.new-layout .common_products_box .products_name {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 5rem;
}
.new-layout .common_products_box .products_name:first-of-type {
  margin-top: 0;
}
.new-layout .common_products_box .products_simulator_block {
  width: 100%;
}
.new-layout .common_products_box .products_simulator_block .products_design_box {
  width: 100%;
  position: relative;
}
.new-layout .common_products_box .products_simulator_block .products_design_box canvas {
  width: 100%;
  aspect-ratio: 1/1;
  display: block !important;
  border-radius: 0.5rem;
  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 .slide_guide {
  margin-top: 2rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list {
  width: 100%;
  margin-top: 5rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dt {
  margin-top: 3rem;
}
.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: 2rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .products_color_list > dd .color_data_list dt {
  width: 100%;
  margin-top: 1rem;
}
.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%;
  margin-top: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .product_price_list {
  width: 100%;
  margin-top: 3rem;
  display: none;
}
.new-layout .common_products_box .products_simulator_block .products_design_box .product_price_list > dd {
  width: 100%;
  margin-top: 2rem;
}
.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: 8rem auto;
  gap: 2rem 1rem;
}
.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: 100%;
  margin-top: 3rem;
  overflow: hidden;
  position: relative;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .custom_color_slide_guide {
  width: 6rem;
  height: 2rem;
  position: absolute;
  top: 0.7rem;
  right: 1rem;
  z-index: 10;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .custom_color_slide_guide .swiper-button {
  width: 1rem;
  height: 2rem;
  background: url(../images/common/slider_arrow.png) no-repeat center/contain;
  margin: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.new-layout .common_products_box .products_simulator_block .products_data_box .custom_color_slide_guide .swiper-button.custom_color_slide_button-prev {
  left: 0;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .custom_color_slide_guide .swiper-button.custom_color_slide_button-next {
  right: 0;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.new-layout .common_products_box .products_simulator_block .products_data_box .custom_color_slide_guide .swiper-button::after {
  display: none;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box {
  width: 100%;
  padding: 0 1rem;
}
.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%;
  overflow-x: scroll;
  margin-top: 1rem;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 dd .common_color_list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 dd .common_color_list li {
  padding: 0.5rem;
  display: inline-block;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 dd.scrollable-inner {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.new-layout .common_products_box .products_simulator_block .products_data_box .products_color_box .products_color_list02 dd.scrollable-inner::-webkit-scrollbar {
  display: none;
}
.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 {
  font-size: 1.4rem;
  margin-top: 1rem;
}
.new-layout .common_products_box .products_data_box02 {
  width: 100%;
  margin-top: 5rem;
}
.new-layout .common_products_box .products_data_box02 .products_description {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.new-layout .common_products_box .products_data_box02 .product_spec_list {
  width: 100%;
  margin-top: 3rem;
}
.new-layout .common_products_box .products_data_box02 .product_spec_list > dd {
  width: 100%;
  padding-top: 0.5rem;
}
.new-layout .common_products_box .products_data_box02 .product_spec_list > dd .option_list {
  padding-top: 1.5rem;
}
.new-layout .common_products_box .products_data_box02 .product_views {
  width: 100%;
  margin-top: 3rem;
}
.new-layout .common_products_box .products_data_box02 .product_views > dd {
  width: 100%;
}
.new-layout .common_products_box .products_data_box02 .product_views > dd .product_click_view {
  width: 100%;
  padding-top: 2rem;
  position: relative;
  cursor: pointer;
  padding-bottom: 4rem;
}
.new-layout .common_products_box .products_data_box02 .product_views > dd .product_click_view::before {
  content: "";
  width: 3rem;
  height: 3rem;
  background: url(../images/common/view_icon.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  display: none;
}
.new-layout .common_products_box .products_data_box02 .product_views > dd .product_click_view .img {
  width: 100%;
}
.new-layout .common_products_box .products_data_box02 .product_option_list {
  width: 100%;
  margin-top: 3rem;
}
.new-layout .common_products_box .products_data_box02 .product_option_list > dd {
  width: 100%;
  margin-top: 2rem;
}
.new-layout .common_products_box .products_data_box02 .product_option_btn {
  margin-top: 5rem;
}

.old-layout .common_products_box {
  width: 100%;
  padding: 5rem 2rem;
  background-color: #fff;
  border-radius: 1rem;
}
.old-layout .common_products_box .sub_page_ttl {
  padding: 0;
  padding-bottom: 1rem;
  margin-top: -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 80rem right 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/25rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem right 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/25rem, #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 80rem right 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/27rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem right 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/27rem, #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 80rem left 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/31rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem left 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/31rem, #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 80rem left 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem left 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #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 80rem right 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/24rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem right 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 left 0/24rem, #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 80rem left 0/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top 80rem left 0/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom 0 right 0/24rem, #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/28.8rem, -webkit-image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 64rem right 0/32.5rem, -webkit-image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 83rem left 0/21.65rem, -webkit-image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 65rem left 3.65rem/25.15rem, -webkit-image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/34.45rem, #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/28.8rem, image-set(url(../images/products/option_bg02.webp) 1x, url(../images/products/option_bg02@2x.webp) 2x) no-repeat top 64rem right 0/32.5rem, image-set(url(../images/products/option_bg03.webp) 1x, url(../images/products/option_bg03@2x.webp) 2x) no-repeat top 83rem left 0/21.65rem, image-set(url(../images/products/option_bg04.webp) 1x, url(../images/products/option_bg04@2x.webp) 2x) no-repeat bottom 65rem left 3.65rem/25.15rem, image-set(url(../images/products/option_bg05.webp) 1x, url(../images/products/option_bg05@2x.webp) 2x) no-repeat bottom 0 right 0/34.45rem, #fff;
}
.old-layout .common_products_box .products_chatch {
  margin-bottom: 3rem;
}
.old-layout .common_products_box .products_name {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 5rem;
}
.old-layout .common_products_box .products_name:first-of-type {
  margin-top: 0;
}
.old-layout .common_products_box .products_design_box {
  width: 100%;
}
.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 .slide_guide {
  margin-top: 3.8rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list {
  width: 100%;
  margin-top: 5rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dt {
  margin-top: 3rem;
}
.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: 2rem;
}
.old-layout .common_products_box .products_design_box .produts_color_list > dd .color_data_list dt {
  width: 100%;
  margin-top: 1rem;
}
.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%;
  margin-top: 1rem;
}
.old-layout .common_products_box .products_design_box .product_price_list {
  width: 100%;
  margin-top: 3rem;
  display: none;
}
.old-layout .common_products_box .products_design_box .product_price_list > dd {
  width: 100%;
  margin-top: 2rem;
}
.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: 8rem auto;
  gap: 2rem 1rem;
}
.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,
.old-layout .common_products_box .products_data_box02 {
  width: 100%;
  margin-top: 3rem;
}
.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: 2rem;
  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.6rem;
  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: 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%;
  padding-top: 0.5rem;
}
.old-layout .common_products_box .products_data_box .product_spec_list > dd .option_list,
.old-layout .common_products_box .products_data_box02 .product_spec_list > dd .option_list {
  padding-top: 1.5rem;
}
.old-layout .common_products_box .products_data_box .product_views,
.old-layout .common_products_box .products_data_box02 .product_views {
  width: 100%;
  margin-top: 3rem;
}
.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: 2rem;
  position: relative;
  cursor: pointer;
  padding-bottom: 4rem;
}
.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: 3rem;
  height: 3rem;
  background: url(../images/common/view_icon.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  display: none;
}
.old-layout .common_products_box .products_data_box .product_views > dd .product_click_view .img,
.old-layout .common_products_box .products_data_box02 .product_views > dd .product_click_view .img {
  width: 100%;
}
.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: 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: 2rem;
}

.click_view_modal {
  display: none;
}

.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);
  height: calc(100% + 0.8rem);
  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);
  height: calc(100% + 0.1rem);
  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).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: 0.5rem;
}
.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;
}
.common_color_list_old li:not(.note):nth-of-type(8n) {
  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: 1.8rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  border-bottom: solid 0.1rem #000;
}
.common_product_list_ttl span {
  font-size: 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: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
.common_option_list li {
  width: 100%;
  font-size: 1.4rem;
  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: 3rem 2rem 5rem;
  background-color: #fff;
  border-radius: 1rem;
}
.contact_page_sec01 .container .form_block .form_txt {
  margin-top: 3rem;
}
.contact_page_sec01 .container .form_block .form_txt02 {
  margin-top: 1rem;
}
.contact_page_sec01 .container .form_block .form_caution_box {
  width: 100%;
  max-width: 100rem;
  padding: 3rem 2rem;
  background-color: #f5f7fb;
  margin-top: 3rem;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_list {
  width: 100%;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_list li {
  width: 100%;
  padding-left: 1.5rem;
  position: relative;
  margin-top: 1rem;
}
.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.1rem;
  left: 0;
}
.contact_page_sec01 .container .form_block .form_caution_box .caution_txt01,
.contact_page_sec01 .container .form_block .form_caution_box .caution_txt02 {
  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: 5rem;
}
.contact_page_sec01 .container .form_block .form_wrap {
  width: 100%;
  margin-top: 5rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form {
  width: 100%;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form:nth-of-type(n + 2) {
  border-top: solid 0.1rem #dddddd;
  margin-top: 3rem;
  padding-top: 3rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt {
  padding-top: 1rem;
}
.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;
  position: relative;
  padding-right: 5.5rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dt span::before {
  content: "任意";
  width: 4.2rem;
  height: 2.4rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 0.2rem;
  padding-bottom: 0.1rem;
  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: 0.5rem;
  right: 0;
}
.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-top: 1rem;
  padding-bottom: 1rem;
}
.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% - 7rem);
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.products_select .num {
  width: 6rem;
}
.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.52185258;
  padding-top: 0.3rem;
}
.contact_page_sec01 .container .form_block .form_wrap .common_form dd .input_box.unit {
  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: 1.5rem;
}
.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%;
  color: #000;
  padding: 1.3rem 1.5rem;
  background-color: #f8f8f8;
  border-radius: 0.5rem;
  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: 0.8rem 0;
  display: inline-block;
}
.contact_page_sec01 .container .form_block .form_wrap .wpcf7-radio .wpcf7-list-item {
  display: inline-block;
  margin-right: 1.5rem;
}
.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.2rem 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: 2.4rem;
  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.4rem;
  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.7rem;
  left: 0.3rem;
  display: none;
}
.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: 2rem;
}
.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.5rem 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: 2.4rem;
  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.4rem;
  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.7rem;
  left: 0.7rem;
  -webkit-transform: rotate(46deg);
          transform: rotate(46deg);
  display: none;
}
.contact_page_sec01 .container .form_block .form_wrap .agree_text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  white-space: nowrap;
  margin-top: 3rem;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.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-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 7rem;
  gap: 2rem;
}
.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 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.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::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;
}

/*----------------------------------------------------------------------------
******************************************************************************
** Privacy Policy
******************************************************************************
----------------------------------------------------------------------------*/
.policy_page_sec01 {
  padding-bottom: 8rem;
}
.policy_page_sec01 .container .policy_block {
  width: 100%;
  padding: 3rem 2rem 5rem;
  background-color: #fff;
  border-radius: 1rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap {
  margin-top: 3rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_ttl01 {
  width: 100%;
  font-size: 1.6rem;
  margin-top: 3rem;
  margin-bottom: 1rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_txt01 {
  word-break: break-all;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.policy_page_sec01 .container .policy_block .policy_block_wrap .privacy_policy_txt01.border {
  padding-top: 2rem;
  padding-bottom: 2rem;
  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;
}

/*----------------------------------------------------------------------------
******************************************************************************
** news detail
******************************************************************************
----------------------------------------------------------------------------*/
.news_detail .container .detail_block_wrap {
  width: 100%;
  padding: 3rem 0 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
  border-radius: 1rem;
  margin-top: 2rem;
}
.news_detail .container .detail_block_wrap .detail_block01 {
  width: 100%;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_data {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_data .news_date {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: inline-block;
  margin-right: 1rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_data .news_category {
  min-width: 9rem;
  height: 2.6rem;
  font-family: "CalSans";
  font-size: 1.2rem;
  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: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-bottom: 1.4rem;
  border-bottom: solid 0.1rem #dddddd;
  margin-top: 2rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_read_txt {
  margin-top: 2rem;
}
.news_detail .container .detail_block_wrap .detail_block01 .news_thumb {
  width: 100%;
  aspect-ratio: 1/0.6666666667;
  position: relative;
  margin-top: 2rem;
}
.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 {
  width: 100%;
  margin-top: 5rem;
}

.editor_area {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 3rem;
}
.editor_area h2 {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 1.4rem 0;
  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: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0 0 0.2rem 1.5rem;
  border-left: solid 0.2rem #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.3rem;
  -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: 8rem;
  padding-bottom: 8rem;
}
.notfound_sec .container .notfound_txt {
  text-align: center;
  margin-top: 3rem;
}
.notfound_sec .container .notfound_btn {
  margin-top: 5rem;
}

.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;
}

.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 {
  width: 6.3rem;
  -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;
  padding-bottom: 0.1rem;
}

#autozip {
  display: none !important;
}

/*----------------------------------------------------------------------------
******************************************************************************
** BUSINESS CUSTOMERS
******************************************************************************
----------------------------------------------------------------------------*/
.custom-password-wrapper {
  max-width: 100%;
  padding: 3rem 0 5rem;
  background-color: #fff;
  border-radius: 1rem;
  margin: 2rem 2rem 10rem;
}
.custom-password-wrapper .custom-password-heading {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: center;
}
.custom-password-wrapper .custom-password-form {
  width: 100%;
  margin-top: 2rem;
  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% - 9rem);
  max-width: 54rem;
  font-size: 1.2rem;
  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: 1rem;
}
.custom-password-wrapper .custom-password-form button {
  width: 8rem;
  height: 4rem;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 1rem;
  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.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  padding-left: 1em;
  text-indent: -1em;
}

/*----------------------------------------------------------------------------
******************************************************************************
** case list
******************************************************************************
----------------------------------------------------------------------------*/
.two_column_container_wrap {
  width: 100%;
  padding: 0 2rem;
}
.two_column_container_wrap .two_column_container {
  width: 100%;
  margin-top: 3rem;
}
.two_column_container_wrap .two_column_container .two_column_container_box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 0 5rem;
  background-color: #fff;
  border-radius: 1rem;
}
.two_column_container_wrap .two_column_container .two_column_container_box .sub_container {
  width: 100%;
  -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: 100%;
  margin-top: 3rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.common_category_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 0.5rem;
  margin-bottom: 5rem;
  display: none;
}
.common_category_list li a {
  width: 100%;
  padding: 0.5rem 0.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;
  border: solid 0.1rem #000;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_category_list li a span {
  font-family: "CalSans";
  font-size: 1.4rem;
  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_case_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem;
}

.common_case_box {
  width: 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.6rem;
  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.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: solid 0.1rem #ddd;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
.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.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%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.aside_category_list li a,
.aside_category_list li > .wrap {
  width: 100%;
  aspect-ratio: 1/0.45;
  padding: 1.5rem 1rem 1rem;
  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 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%;
  font-size: 1.2rem;
  display: inline-block;
  margin-top: 0.5rem;
}
.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 {
  grid-template-columns: repeat(3, 1fr);
}
.aside_category_list.case li a span {
  font-family: "CalSans";
  font-size: 1.4rem;
  margin-top: 0;
}

.wp-pagenavi_wrap {
  width: 100%;
  margin-top: 5rem;
  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: 3rem;
  height: 3rem;
  font-family: "CalSans";
  font-size: 1.4rem;
  color: #003968;
  font-weight: 600;
  line-height: 1;
  border-radius: 50%;
  padding: 0.6rem 0.5rem 0.4rem 0.6rem;
  border: solid 0.1rem #003968;
  display: inline-block;
  text-align: center;
  margin: 0 0.5rem;
  -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.4rem;
  letter-spacing: 0.05em;
  margin: 0 0.5rem;
  position: relative;
  top: -0.2rem;
}
.wp-pagenavi_wrap .wp-pagenavi .previouspostslink,
.wp-pagenavi_wrap .wp-pagenavi .nextpostslink {
  width: 0.7rem;
  height: 1.4rem;
  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 dt {
  padding-top: 0;
}
.common_faq_list:last-of-type dd {
  border-bottom: none;
}
.common_faq_list dt {
  width: 100%;
  padding: 2rem 0;
}
.common_faq_list dt .ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 3.4rem;
  position: relative;
}
.common_faq_list dt .ttl::before, .common_faq_list dt .ttl::after {
  content: "";
  width: 1.7rem;
  height: 0.1rem;
  background-color: #000000;
  position: absolute;
  top: 1.3rem;
  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-bottom: 2rem;
  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;
  margin-top: 2rem;
}
.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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem 4rem 2rem 2rem;
  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: 1.5rem;
  -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: 9rem;
  font-family: "CalSans";
  font-size: 1.4rem;
  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: 9rem;
  height: 2.6rem;
  font-family: "CalSans";
  font-size: 1.2rem;
  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 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 1rem;
}
.common_news_list li a:hover {
  opacity: 0.7;
}
.common_news_list li a:hover::before {
  right: 0.5rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** case study detail
******************************************************************************
----------------------------------------------------------------------------*/
.case_study_detail .container .detail_block_wrap {
  width: 100%;
  padding: 3rem 2rem 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
  border-radius: 1rem;
  margin-top: 2rem;
}
.case_study_detail .container .detail_block_wrap .detail_block01 {
  width: 100%;
  position: relative;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl {
  width: 100%;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .ttl {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-bottom: 1.5rem;
  position: relative;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .ttl::before {
  content: "";
  width: calc(100% - 9rem);
  height: 0.1rem;
  background-color: #000000;
  position: absolute;
  bottom: 0;
  left: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .ttl::after {
  content: "";
  width: 9rem;
  height: 2.3rem;
  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.1rem;
  right: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_ttl .company {
  margin-top: 1rem;
}
.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_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: calc(100% + 0.5rem);
  margin-top: 2rem;
  margin-left: -0.5rem;
  position: relative;
}
.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 0.5rem;
}
.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;
}
.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: 100%;
  margin-top: 3rem;
  border-top: solid 0.1rem #dddddd;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding: 2rem 1rem 0;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding: 1rem 1rem 2rem;
  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(3, 1fr);
  gap: 0.5rem;
}
.case_study_detail .container .detail_block_wrap .detail_block01 .detail_data dd .detail_category_list li {
  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: 1rem 0.5rem 0.7rem;
}
.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;
}
.case_study_detail .container .detail_block_wrap .detail_block02 {
  width: 100%;
  margin-top: 5rem;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box {
  width: 100%;
  padding: 3rem 2rem;
  position: relative;
  background-color: #f2f3f4;
  border-radius: 1rem;
  margin-top: 3rem;
}
.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: 100%;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_ttl span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-left: 3.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: 2.2rem;
  height: 1.6rem;
  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.7rem;
  left: 0;
}
.case_study_detail .container .detail_block_wrap .detail_block02 .detail_free_box .free_box_img {
  width: 100%;
  margin-top: 2rem;
  aspect-ratio: 1/0.665;
  overflow: hidden;
  border-radius: 1rem;
  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: 100%;
  margin-top: 2rem;
}
.case_study_detail .container .detail_block_wrap .detail_btn {
  width: 100%;
  margin-top: 5rem;
}

.common_case_block {
  width: 100%;
  margin-top: 5rem;
}
.common_case_block .case_block_list {
  margin-top: 3rem;
}

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

/*----------------------------------------------------------------------------
******************************************************************************
** company
******************************************************************************
----------------------------------------------------------------------------*/
.company01 .container .company_block01 {
  width: 100%;
}
.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: 3rem;
}
.company01 .container .company_block01 .company_btn {
  margin-top: 5rem;
}
.company01 .container .company_block01 .company_btn a span {
  font-size: 1.6rem;
}

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

.common_list01 {
  width: 100%;
  border-top: solid 0.1rem #dddddd;
}
.common_list01 dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding: 2rem 1rem 0;
}
.common_list01 dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding: 1rem 1rem 2rem;
  border-bottom: solid 0.1rem #dddddd;
}
.common_list01 dd .map {
  width: 100%;
  aspect-ratio: 1/0.5427408412;
  position: relative;
  margin-top: 2rem;
}
.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 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.compare01 {
  padding-bottom: 8rem;
}
.compare01 .container .common_contents_wrap .compare_block01 {
  width: 100%;
}
.compare01 .container .common_contents_wrap .compare_block01 .compare_tab {
  margin-top: 3rem;
}
.compare01 .container .common_contents_wrap .compare_scrollbar_track {
  width: 100%;
  margin: 3rem auto 0;
  overflow: hidden;
  height: 0.4rem;
  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: 0.5rem 1rem;
  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;
  min-width: 53rem;
  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: 3.4rem;
  height: 3.4rem;
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  right: -3.4rem;
  -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: -3.4rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .viewmore {
  min-width: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 0 3rem;
  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;
  max-width: 140rem;
  min-width: 53rem;
  display: grid;
  grid-auto-flow: column;
  /* 自動生成されるすべての列の幅を12remに固定 */
  grid-auto-columns: 12rem;
  gap: 2rem;
  margin: 0 auto;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_name {
  width: 100%;
  min-height: 4.4rem;
  font-family: "CalSans";
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -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: 1rem;
  -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%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn {
  padding: 0 0.5rem;
  margin-top: 1rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn a {
  height: 4.6rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn a::before {
  display: none;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_block .product_box .product_btn a span:not(.square) {
  font-size: 1.4rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box {
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 12rem;
  gap: 2rem;
  margin-top: 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: 2rem 0;
  position: relative;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_data_box .product_data_box .data_box::before {
  content: "";
  width: calc(100% + 2rem);
  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.2rem;
  color: #777777;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box {
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  /* 自動生成されるすべての列の幅を12remに固定 */
  grid-auto-columns: 12rem;
  gap: 2rem;
  margin-top: 2rem;
}
.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: 2rem 0;
  position: relative;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box::before {
  content: "";
  width: calc(100% + 2rem);
  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: 1.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  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: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box .feature.no::before {
  width: 1.8rem;
  height: 0.2rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_products_feature_box .product_feature_box .feature_box .name {
  font-size: 1.4rem;
  color: #777777;
  font-weight: 400;
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
  margin-top: 1rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_note {
  width: 30.5rem;
  position: relative;
  margin-top: 3rem;
}
.compare01 .container .common_contents_wrap .compare_block02 .compare_note li {
  font-size: 1.4rem;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: 0;
  padding-left: 1em;
  text-indent: -1em;
}

.compare_tab {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.compare_tab li span {
  width: 100%;
  height: 4.2rem;
  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: 0.7rem;
}
.compare_tab li.active span {
  color: #fff;
  background-color: #000000;
}

/*----------------------------------------------------------------------------
******************************************************************************
** BUSINESS CUSTOMERS
******************************************************************************
----------------------------------------------------------------------------*/
.common_list02 {
  width: 100%;
}
.common_list02 li {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-left: 1.7rem;
  position: relative;
  margin-top: 1rem;
}
.common_list02 li:first-of-type {
  margin-top: 0;
}
.common_list02 li::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: #828894;
  position: absolute;
  top: 0.7rem;
  left: 0;
}

.business_customers01 {
  padding-bottom: 3rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 {
  width: 100%;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_txt01 {
  text-align: center;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_note_box {
  width: 100%;
  padding: 2rem;
  border: solid 0.2rem #d9dbdf;
  border-radius: 1rem;
  background-color: #f4f4f5;
  margin-top: 3rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_file {
  width: 100%;
  margin-top: 5rem;
}
.business_customers01 .container .common_contents_wrap .business_customers_block01 .business_customers_file .file_box {
  width: 100%;
  margin-top: 5rem;
}
.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(2, 1fr);
  gap: 3rem 2rem;
  margin-top: 3rem;
}
.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%;
  font-family: "CalSans", "Noto Sans JP";
  font-size: 1.4rem;
  color: #000000;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7rem 0.5rem 0.4rem;
  background-color: #e6e7e9;
  border-radius: 5rem;
}
.common_file_list li a .file_icon {
  width: 100%;
  text-align: center;
  display: block;
  margin-top: 2rem;
  padding-left: 1rem;
}
.common_file_list li a .file_icon picture {
  width: 50%;
  display: inline-block;
}
.common_file_list li a:hover {
  opacity: 0.7;
}

/*----------------------------------------------------------------------------
******************************************************************************
** PRECAUTIONS
******************************************************************************
----------------------------------------------------------------------------*/
.precautions01 {
  padding-bottom: 8rem;
}
.precautions01 .container .common_contents_wrap {
  padding-top: 5rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block {
  width: 100%;
  margin-top: 5rem;
}
.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: 2rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f2f3f4;
  border-radius: 1rem;
  margin-top: 3rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list_box .precautions_block_list_ttl {
  width: 100%;
  padding-left: 4rem;
  position: relative;
  margin-bottom: 2rem;
}
.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: 1.8rem;
  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_list02 {
  padding: 2rem;
  counter-reset: number 0;
  background-color: #fff;
  border-radius: 0.75rem;
  margin-top: 2.9rem;
}
.precautions01 .container .common_contents_wrap .precautions_block_wrap .precautions_block .precautions_block_list02 li {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-left: 2.5rem;
  margin-top: 0.5rem;
  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: 2rem;
  height: 2rem;
  font-family: "CalSans";
  font-size: 1.2rem;
  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;
  background-color: #000;
  position: absolute;
  top: 0.2rem;
  left: 0;
}

.common_block_ttl02 {
  width: 100%;
  padding-bottom: 1rem;
  position: relative;
}
.common_block_ttl02::before {
  content: "";
  width: 8rem;
  height: 8rem;
  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: -2rem;
  left: -1.4rem;
  z-index: 1;
}
.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: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: inline-block;
  position: relative;
  z-index: 2;
}

/*----------------------------------------------------------------------------
******************************************************************************
** series
******************************************************************************
----------------------------------------------------------------------------*/
.series_sec01 {
  padding-bottom: 5rem;
}
.series_sec01 .container .series_block {
  margin-top: 3rem;
}

.common_block_ttl03 {
  width: 100%;
  text-align: center;
}
.common_block_ttl03 > span {
  min-height: 5.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: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  padding: 0 5.2rem;
  position: relative;
}
.common_block_ttl03 > span span::before, .common_block_ttl03 > span span::after {
  content: "";
  width: 3.2rem;
  height: 5.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_series_block {
  width: 100%;
  background-color: #fff;
  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/28rem, -webkit-image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom left/25rem, #fff;
  background: image-set(url(../images/products/bg_item01.webp) 1x, url(../images/products/bg_item01@2x.webp) 2x) no-repeat top right/28rem, image-set(url(../images/products/bg_item02.webp) 1x, url(../images/products/bg_item02@2x.webp) 2x) no-repeat bottom left/25rem, #fff;
}
.common_series_block .series_chatch {
  margin-bottom: 2rem;
}
.common_series_block .series_hero {
  margin-top: 3rem;
}
.common_series_block .series_column_box {
  width: 100%;
  margin-top: 3rem;
}
.common_series_block .series_column_box .column_box_img {
  width: 100%;
}
.common_series_block .series_column_box .column_box_txt {
  width: 100%;
  margin-top: 2rem;
}
.common_series_block .series_column_box .column_box_txt .column_box_txt01 {
  text-align: left;
  margin-top: 1rem;
}
.common_series_block .series_column_box .column_box_txt .column_box_txt01:first-of-type {
  margin-top: 0;
}
.common_series_block .series_video {
  width: 100%;
  aspect-ratio: 1/0.5607476636;
  overflow: hidden;
  margin-top: 3rem;
}
.common_series_block .series_video video {
  width: 100%;
  height: 100%;
}
.common_series_block .series_box01 {
  width: 100%;
  margin-top: 5rem;
}
.common_series_block .series_box01 .series_box_txt01 {
  margin-top: 2rem;
}
.common_series_block .series_box01 .series_inner {
  margin-top: 3rem;
}
.common_series_block .series_box02 {
  margin-top: 5rem;
}
.common_series_block .series_box03 {
  margin-top: 5rem;
}
.common_series_block .series_box03 .series_box03_list01 {
  margin-top: 3rem;
}
.common_series_block .series_box03 .series_box03_list02 {
  margin-top: 5rem;
}
.common_series_block.lineup {
  background: #fff;
  margin-top: 5rem;
}
.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: 3rem;
}
.common_series_block.lineup .lineup_list02 {
  margin-top: 3rem;
}

.common_lineup_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.common_lineup_list .product_box a {
  width: 100%;
  display: block;
}
.common_lineup_list .product_box a .product_img {
  width: 100%;
  aspect-ratio: 1/1.2625;
  overflow: hidden;
  position: relative;
  margin-top: 1.9rem;
  -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: 1.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 2rem;
}
.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%;
  margin-top: 5rem;
}
.common_series_inner:first-of-type {
  margin-top: 0;
}
.common_series_inner .series_inner_contents {
  width: 100%;
}
.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;
}
.common_series_inner .series_inner_contents .inner_contents_tt01 .point {
  width: 6.4rem;
  height: 6.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: 0.8rem 0.2rem 0.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.2rem;
  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: 2rem;
  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% - 6.4rem);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-left: 1rem;
}
.common_series_inner .series_inner_contents .inner_contents_txt01 {
  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: 1em;
}
.common_series_inner .series_inner_img {
  width: 100%;
  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;
  margin-top: 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;
}

/*----------------------------------------------------------------------------
******************************************************************************
** concept
******************************************************************************
----------------------------------------------------------------------------*/
.concept_intro_sec {
  padding-bottom: 5rem;
  background: url(../images/concept/concept_intro_sec_item.png) no-repeat bottom right/42rem;
}
.concept_intro_sec .container .concept_intro_mv {
  width: 100%;
  aspect-ratio: 1/0.55;
  margin-top: 3rem;
}
.concept_intro_sec .container .concept_intro_mv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.concept_intro_sec .container .concept_intro_body {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_imgs {
  width: 100%;
  aspect-ratio: 889/981;
  position: relative;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.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: 100%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_catch {
  width: 100%;
  margin-top: -2rem;
  margin-left: 0.4rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_catch .concept_intro_catch_line {
  font-family: "CalSans";
  font-size: 2.6rem;
  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 1rem 0.5rem 1.4rem;
  margin-top: -0.1rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_lead {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 3rem;
}
.concept_intro_sec .container .concept_intro_body .concept_intro_txt .concept_intro_lead .calsans {
  line-height: 1;
}

.common_lineup_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../images/common/lineup_sec_item.png) repeat-x bottom -1.7rem center, #003968;
  border-radius: 2rem;
}
.common_lineup_sec .container .concept_lineup_ttl {
  width: 100%;
  font-size: 3.2rem;
  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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 3rem;
}
.common_lineup_sec .container .concept_lineup_list li a {
  width: 100%;
  display: grid;
  grid-template-columns: 8rem minmax(0, 29.4rem);
  grid-template-areas: "img copy" "img name";
  gap: 2rem;
  -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: 3rem 2rem;
  border: solid 0.1rem #fff;
  background-color: rgba(0, 0, 0, 0.1);
}
.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: 1.8rem;
  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.6rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 0.4rem 0 0 6rem;
}
.common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap .concept_lineup_name .calsans {
  font-family: "CalSans";
  font-size: 1.8rem;
  padding-top: 0.3rem;
  margin-right: 0.5rem;
}
.common_lineup_sec .container .concept_lineup_list li a .concept_lineup_name_wrap .concept_lineup_name::before {
  content: "";
  width: 4.8rem;
  height: 2.6rem;
  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;
}

.concept_history_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
  border-radius: 2rem;
  background-color: #f0f1f3;
}
.concept_history_sec .container .concept_history_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: 4rem;
  margin-top: 5rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item {
  width: 100%;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year {
  width: 100%;
  padding-left: 2rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year::before {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: #003968;
  position: absolute;
  top: 1.3rem;
  left: 0;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item {
  font-size: 2.2rem;
  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: 2.6rem;
  height: 0.2rem;
  background-color: #c0c4ca;
  position: absolute;
  top: 1.8rem;
  left: -1.2rem;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.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: 4.2rem;
  color: #c0c4ca;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-right: 0.5rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item .year {
  padding-top: 0.9rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_year .concept_history_year_item .concept_history_year_now {
  font-size: 3.2rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_body {
  width: 100%;
  padding-left: 1.8rem;
  margin-top: 1rem;
}
.concept_history_sec .container .concept_history_list .concept_history_item .concept_history_body .concept_history_item_ttl {
  width: 100%;
  font-size: 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: 5rem;
  padding-bottom: 5rem;
}
.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: 2rem;
  margin-top: 3rem;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f0f1f3;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_label {
  font-family: "CalSans";
  font-size: 2rem;
  color: #003968;
  font-weight: 600;
  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;
  gap: 1.8rem;
}
.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: 0.1rem;
  height: 1.4rem;
  background-color: #003968;
  position: absolute;
  top: 0.2rem;
  left: calc(100% + 0.8rem);
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap {
  width: 100%;
}
.concept_reason_sec .container .concept_reason_list .concept_reason_item .concept_reason_txt_wrap .concept_reason_txt {
  width: 100%;
}
.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: 2.4rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
  margin-top: 0.5rem;
}
.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: 100%;
  margin-top: 2rem;
}
.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: 2rem;
}
.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_sustainability_sec {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.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%;
  margin-top: 3rem;
}
.concept_sustainability_sec .container .concept_sustainability_body .concept_sustainability_txt {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.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: 100%;
  margin-top: 2rem;
}

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

.products_select_block {
  width: 100%;
}
.products_select_block .products_select_tab {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}
.products_select_block .products_select_tab .products_select_tab_btn {
  min-height: 7.5rem;
  font-size: 1.6rem;
  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: 3rem 2rem;
  background-color: #f0f1f3;
}
.products_select_block .products_select_panel .products_filter .products_filter_group {
  width: 100%;
}
.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_ttl {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.03em;
  padding-left: 0;
  position: relative;
  padding-left: 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: 0.7rem;
  left: 0;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_body {
  width: 100%;
  margin-top: 2rem;
}
.products_select_block .products_select_panel .products_filter .products_filter_group .products_filter_body .products_filter_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  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 {
  height: 4rem;
  font-size: 1.5rem;
  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.1rem;
  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: 3rem;
}
.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;
  margin-right: 0.1rem;
  position: relative;
  top: 0.1rem;
}
.products_select_block .products_select_panel .products_result .products_result_list {
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}
.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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.1rem;
  padding: 0.1rem;
  background-color: #003968;
  margin-top: 4rem;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a {
  width: 100%;
  padding: 3rem 1rem;
  background: url(../images/products/products_series_item_bg.png) repeat center, #ececee;
  border-radius: 2rem;
  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: 18rem;
  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: 2rem;
  font-weight: 700;
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
  margin-top: 2rem;
}
.products_select_block .products_select_panel .products_series_list .products_series_item a .products_series_name_wrap {
  margin-top: 2rem;
}
.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: 5rem;
}
.support_sec .container .support_body {
  width: 100%;
  margin-top: 3rem;
}
.support_sec .container .support_body .support_nav {
  width: 100%;
}
.support_sec .container .support_body .support_nav .support_nav_list {
  width: 100%;
  border-top: solid 0.2rem #003968;
}
.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.6rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
  padding: 1.5rem 5rem 1.5rem 1rem;
  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: 2.3rem;
  right: 2rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.support_sec .container .support_body .support_contents {
  width: 100%;
}
.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%;
  margin-top: 5rem;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_lead {
  margin-top: 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: 5rem;
  margin-top: 3rem;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.5rem 2rem 2rem 7.5rem;
  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: 3rem;
  border-right: dotted 0.3rem #003968;
  position: absolute;
  bottom: -1rem;
  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: 6.4rem;
  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;
  padding: 0.5rem 2.6rem 1rem 1rem;
  position: relative;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
.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;
  bottom: 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 {
  font-size: 2.8rem;
  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: 3.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;
  position: absolute;
  top: 8rem;
  left: 1.2rem;
}
.support_sec .container .support_body .support_contents .support_flow_sec .support_flow_list .support_flow_item .support_flow_txt {
  width: 100%;
}
.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: 2rem;
  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.5rem;
}
.support_sec .container .support_body .support_contents .support_block {
  width: 100%;
  margin-top: 5rem;
}
.support_sec .container .support_body .support_contents .support_block .support_ttl + .support_txt {
  margin-top: 2.5rem;
}
.support_sec .container .support_body .support_contents .support_block .support_stt {
  margin-top: 2rem;
}
.support_sec .container .support_body .support_contents .support_block .support_txt {
  margin-top: 1.5rem;
}
.support_sec .container .support_body .support_contents .support_block .support_txt + .support_txt {
  margin-top: 2rem;
}
.support_sec .container .support_body .support_contents .support_block .support_txt + .support_stt {
  margin-top: 3rem;
}
.support_sec .container .support_body .support_contents .support_block .support_table_txt {
  text-align: center;
  margin-top: 3rem;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap {
  width: 100%;
  overflow: scroll;
  margin-top: 1rem;
}
.support_sec .container .support_body .support_contents .support_block .support_table_wrap .support_table {
  width: 80rem;
  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: 2rem;
  background-color: #f0f1f3;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.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.5rem;
}
.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.2rem;
  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_after_sec .support_note {
  margin-top: 2rem;
  margin-bottom: 3.7rem;
}

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

.common_block_ttl05 {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-bottom: 1rem;
  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: 16rem;
  height: 16rem;
  border: solid 0.1rem #dbdfe6;
  position: absolute;
  top: 50%;
  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: 2rem;
  font-weight: 700;
  line-height: 1.5;
  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.4rem;
  line-height: 1.5555555556;
  font-weight: 600;
  letter-spacing: 0.08em;
  display: block;
  margin-top: 1rem;
  position: relative;
  z-index: 2;
}
.common_block_ttl04.small .jp {
  font-size: 1.6rem;
  line-height: 1.7;
}
.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-animation: ripple 2s ease-out infinite;
          animation: ripple 2s ease-out infinite;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
}
.animation-trigger.wave::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.4);
            transform: translate(-50%, -50%) scale(1.4);
    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.4);
            transform: translate(-50%, -50%) scale(1.4);
    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: 5rem;
  padding-bottom: 6rem;
  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-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.ft .container .ft_navigation_list a {
  width: 100%;
  min-height: 8rem;
  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;
}
.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: 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.4rem;
  color: #fff;
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.06em;
  margin-top: -0.5rem;
  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: 5rem;
  margin-top: 5rem;
}
.ft .container .ft_block .ft_logo a {
  width: 22rem;
  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%;
  margin-top: 5rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col.ft_nav_col01 {
  width: 100%;
}
.ft .container .ft_block .ft_nav .ft_nav_col.ft_nav_col02 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
.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: 2rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li.compare {
  margin-top: 3rem;
}
.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: 1.8rem;
  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.3rem;
  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: 2rem;
  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.4rem;
  color: #666666;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-top: 0.2rem;
}
.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: 2rem;
  margin-top: 2rem;
}
.ft .container .ft_block .ft_nav .ft_nav_col li .ft_series_wrap .ft_series dt {
  width: 100%;
  margin-bottom: 2rem;
}
.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: 1rem;
}
.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;
}
.ft .container .ft_block .ft_bottom {
  width: 100%;
  margin-top: 3rem;
}
.ft .container .ft_block .ft_bottom .ft_sub_navi {
  width: 100%;
  display: grid;
  grid-template-columns: 13rem auto;
  gap: 1rem;
}
.ft .container .ft_block .ft_bottom .ft_sub_navi li a {
  font-size: 1.4rem;
  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: 100%;
  font-family: "CalSans";
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 3rem;
}

.pagetop {
  width: 5rem;
  position: fixed;
  right: 1rem;
  bottom: 6rem;
  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;
}
.pagetop.show.end {
  bottom: 11rem;
}

/**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: 13rem !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=sp.css.map */