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

body {
  width: 100%;
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: #333;
}

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

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

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

.container_100 {
  width: 100%;
  padding: 5rem 2rem;
}
.container_100 .container {
  width: 100%;
}

.common_bg_wrapper {
  background: -webkit-image-set(url(../images/common/bg01.png) 1x, url(../images/common/bg01@2x.png) 2x) repeat top left/12%;
  background: image-set(url(../images/common/bg01.png) 1x, url(../images/common/bg01@2x.png) 2x) repeat top left/12%;
}

.common_ttl01 {
  width: 100%;
}
.common_ttl01 .ttl {
  font-size: 4.2em;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: block;
  margin-left: -0.2rem;
}
.common_ttl01 .txt {
  font-size: 1.6em;
  font-weight: 700;
  letter-spacing: 0.27em;
  display: block;
  margin-top: -0.5rem;
}

.common_ttl02 {
  width: 100%;
  padding-top: 3.5rem;
  position: relative;
}
.common_ttl02::before {
  content: "";
  width: 3rem;
  height: 3rem;
  background: -webkit-image-set(url(../images/common/common_ttl02_item.png) 1x, url(../images/common/common_ttl02_item@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/common_ttl02_item.png) 1x, url(../images/common/common_ttl02_item@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0.1rem;
}
.common_ttl02.no_icon {
  padding-top: 0;
}
.common_ttl02.no_icon::before {
  display: none;
}
.common_ttl02 .en {
  font-size: 2.4em;
  font-weight: 500;
  letter-spacing: 0.13em;
  display: block;
  margin-left: -0.2rem;
}
.common_ttl02 .jp {
  font-size: 1.6em;
  color: rgba(51, 51, 51, 0.5);
  font-weight: 500;
  letter-spacing: 0.12em;
  display: block;
  margin-top: -0.5rem;
}
.common_ttl02.color01 .en {
  color: #fff;
}
.common_ttl02.color01 .jp {
  color: #fff;
}
.common_ttl02.center {
  text-align: center;
}
.common_ttl02.center::before {
  left: 50%;
  transform: translateX(-50%);
}

.common_txt01 {
  width: 100%;
  font-size: 1.6em;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.19em;
}
.common_txt01.color01 {
  color: #fff;
}

.common_txt02 {
  width: 100%;
  font-size: 1.8em;
  font-weight: 700;
  line-height: 1.7778;
  letter-spacing: 0.28em;
}

.common_btn01 {
  width: 100%;
}
.common_btn01 a {
  width: 18rem;
  display: block;
  padding-bottom: 1.2rem;
  border-bottom: solid 0.1rem #333;
  position: relative;
  margin-left: auto;
}
.common_btn01 a::before {
  content: "";
  width: 3.2rem;
  height: 0.5rem;
  background: -webkit-image-set(url(../images/common/arrow01.png) 1x, url(../images/common/arrow01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/arrow01.png) 1x, url(../images/common/arrow01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  right: 0;
  bottom: 2rem;
  transition: opacity 0.1s;
}
.common_btn01 a span {
  font-size: 1.6em;
  font-weight: 400;
  letter-spacing: 0.13em;
  display: inline-block;
}
.common_btn01 a:hover::before {
  opacity: 0;
  transition: opacity 0.1s;
  animation: arrow 0.2s linear 0.4s forwards;
}
.common_btn01.color01 a {
  border-bottom: solid 0.1rem #fff;
}
.common_btn01.color01 a::before {
  background: -webkit-image-set(url(../images/common/arrow01_w.png) 1x, url(../images/common/arrow01_w@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/arrow01_w.png) 1x, url(../images/common/arrow01_w@2x.png) 2x) no-repeat center/contain;
}
.common_btn01.color01 a span {
  color: #fff;
}

@keyframes arrow {
  0% {
    opacity: 1;
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    transform: translateX(0);
  }
}
.common_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.common_list01 dt {
  width: 10rem;
  font-size: 1.4em;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.14em;
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid #dc0000;
  margin-top: 1rem;
}
.common_list01 dt:first-of-type {
  margin-top: 0;
}
.common_list01 dd {
  width: calc(100% - 10rem);
  font-size: 1.4em;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.14em;
  padding-left: 2rem;
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid #b9b9b9;
  margin-top: 1rem;
}
.common_list01 dd:first-of-type {
  margin-top: 0;
}

.common_news_list01 {
  width: 100%;
}
.common_news_list01 li {
  width: 100%;
  margin-top: 1rem;
}
.common_news_list01 li:first-of-type {
  margin-top: 0;
}
.common_news_list01 li a {
  width: 100%;
  display: block;
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid #f6f6f6;
}
.common_news_list01 li a .date {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  color: rgba(51, 51, 51, 0.5);
  letter-spacing: 0.08em;
  display: block;
}
.common_news_list01 li a .ttl {
  width: 100%;
  font-size: 1.4em;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.14em;
  display: block;
  margin-top: 0.5rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.hd_100 {
  width: 100%;
  padding: 2rem 1rem;
  position: fixed;
  z-index: 98;
}
.hd_100 .hd {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.hd_100 .hd .hd_logo {
  width: 10.5rem;
}
.hd_100 .hd .hd_logo a {
  display: block;
  transition: 0.2s;
}
.hd_100 .hd .hd_logo a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.hd_100 .hd .hd_cv_list {
  display: none;
}

.nav_trigger {
  width: 5.5rem;
  height: 5.5rem;
  overflow: hidden;
  position: fixed;
  z-index: 100;
  top: 1rem;
  right: 1rem;
  cursor: pointer;
}
.nav_trigger::before {
  content: "";
  width: 200%;
  height: 200%;
  background: rgb(112, 150, 227);
  background: linear-gradient(45deg, rgb(112, 150, 227) 0%, rgb(32, 78, 171) 33%, rgb(32, 78, 171) 66%, rgb(112, 150, 227) 100%);
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-50%);
  transition: 0.4s;
}
.nav_trigger:hover::before {
  transform: translateX(0);
  transition: 0.4s;
}
.nav_trigger span {
  width: 2rem;
  height: 0.1rem;
  background-color: #fff;
  display: block;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.2s;
}
.nav_trigger span:nth-of-type(1) {
  top: calc(50% - 0.6rem);
}
.nav_trigger span:nth-of-type(2) {
  top: 50%;
}
.nav_trigger span:nth-of-type(3) {
  top: calc(50% + 0.6rem);
}
.nav_trigger.active::before {
  opacity: 0;
  transition: 0.4s;
}
.nav_trigger.active span {
  transition: 0.2s;
}
.nav_trigger.active span:nth-of-type(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.nav_trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.nav_trigger.active span:nth-of-type(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.nav {
  width: 100%;
  height: 100%;
  padding: 8rem 2rem 3rem;
  background-color: #1e489d;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  left: 0;
  transition: 0.4s;
  opacity: 0;
  z-index: -100;
  pointer-events: none;
  -ms-overflow-style: none;
}
.nav::-webkit-scrollbar {
  display: none;
}
.nav.open {
  left: 0;
  opacity: 1;
  z-index: 99;
  transition: 0.4s, z-index 0s;
  pointer-events: auto;
}
.nav .nav_container {
  width: 100%;
  margin: 0 auto;
}
.nav .nav_container .nav_block01 {
  width: 100%;
  padding-bottom: 3rem;
  border-bottom: solid 0.1rem #fff;
}
.nav .nav_container .nav_block01 .block01_box01 {
  width: 100%;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt {
  width: 100%;
  margin-top: 1.5rem;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt:first-of-type {
  margin-top: 0;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a {
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.2222222;
  letter-spacing: 0.16em;
  display: block;
  padding-bottom: 1.5rem;
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.5);
  position: relative;
  transition: 0.2s;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a::before, .nav .nav_container .nav_block01 .block01_box01 .box01_list dt a::after {
  content: "";
  height: 0.1rem;
  background-color: #fff;
  position: absolute;
  bottom: 2rem;
  right: 0;
  transform-origin: bottom right;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a::before {
  width: 2.5rem;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a::after {
  width: 0.8rem;
  transform: rotate(40deg);
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dd {
  width: 50%;
  margin-top: 1rem;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dd:nth-of-type(-n + 2) {
  margin-top: 2rem;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dd a {
  width: 100%;
  font-size: 1.4em;
  color: #fff;
  font-weight: 500;
  line-height: 1.125;
  letter-spacing: 0.16em;
  display: block;
  padding-left: 1.8rem;
  position: relative;
  transition: 0.2s;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dd a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dd a::before {
  content: "";
  width: 0.8rem;
  height: 0.1rem;
  background-color: #fff;
  position: absolute;
  top: 0.7rem;
  left: 0;
}
.nav .nav_container .nav_block01 .block01_box02 {
  width: 100%;
  margin-top: 3rem;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 {
  width: 100%;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li {
  display: block;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li a {
  width: 100%;
  display: block;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel {
  width: 90%;
  border: solid 0.1rem #fff;
  margin: 0 auto;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a {
  width: 100%;
  height: 7rem;
  display: block;
  padding: 1.1rem 1rem 1.1rem 7rem;
  position: relative;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .icon {
  width: 3rem;
  position: absolute;
  display: block;
  top: 1.2rem;
  left: 3rem;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .num {
  font-size: 2.4em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  display: block;
  padding-left: 0.2rem;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .txt {
  font-size: 1.4em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 1rem;
  padding-left: 0.85rem;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .txt span {
  margin-right: 0.4rem;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail {
  width: 90%;
  border: solid 0.1rem #fff;
  margin: 2rem auto;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail a {
  width: 100%;
  height: 7rem;
  display: flex;
  align-items: center;
  padding: 1rem 1rem 1rem 9rem;
  background-color: #fff;
  position: relative;
  transition: 0.2s;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail a .icon {
  width: 2.6rem;
  position: absolute;
  display: block;
  top: 2.7rem;
  left: 5.3rem;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail a .txt {
  font-size: 1.8em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.11em;
  display: block;
}
.nav .nav_container .nav_block02 {
  width: 100%;
  padding-top: 3rem;
}
.nav .nav_container .nav_block02 .block02_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.nav .nav_container .nav_block02 .block02_list01 li {
  width: 48%;
  margin-top: 1rem;
}
.nav .nav_container .nav_block02 .block02_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.nav .nav_container .nav_block02 .block02_list01 li .wrapper .txt01 {
  width: 100%;
  font-size: 1.4em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 1.8rem;
  position: relative;
}
.nav .nav_container .nav_block02 .block02_list01 li .wrapper .txt01::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.nav .nav_container .nav_block02 .block02_list01 li .wrapper .txt02 {
  width: 100%;
  font-size: 1.4em;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.13em;
}
.nav .nav_container .nav_block02 .block02_list01 li .wrapper .txt03 {
  width: 100%;
  font-size: 1.4em;
  color: #fff;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.17em;
}

/*----------------------------------------------------------------------------
******************************************************************************
** mv
******************************************************************************
----------------------------------------------------------------------------*/
.mv {
  padding: 0;
}
.mv .container {
  max-width: initial;
  max-width: auto;
  position: relative;
}
.mv .container .add_bunner {
  width: 30rem;
  position: absolute;
  bottom: 4rem;
  left: 1rem;
  z-index: 50;
}
.mv .container .add_bunner a {
  width: 100%;
  display: block;
  transition: 0.2s;
}
.mv .container .add_bunner a:hover {
  opacity: 0.7;
}
.mv .container .mv_block01 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  padding-top: 25rem;
  padding-left: 1rem;
}
.mv .container .mv_block01 .block01_txt01 {
  width: 23rem;
  filter: drop-shadow(0 0 0.5rem rgba(0, 0, 0, 0.3));
}
.mv .container .mv_block01 .block01_ttl01 {
  width: 30rem;
  margin-top: 2rem;
  filter: drop-shadow(0 0 0.5rem rgba(0, 0, 0, 0.3));
}
.mv .container .slick-dots {
  bottom: 1rem;
  left: 1rem;
}
.mv .container .mv_scroll {
  display: block;
  position: absolute;
  right: 3rem;
  bottom: 0;
}
.mv .container .mv_scroll a {
  display: block;
}
.mv .container .mv_scroll a .txt {
  font-size: 1.2em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.11em;
  writing-mode: vertical-rl;
  display: block;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.7);
}
.mv .container .mv_scroll a .scrollbar {
  width: 100%;
  height: 6rem;
  display: block;
  position: relative;
  overflow: hidden;
  margin-top: 1rem;
  z-index: 3;
}
.mv .container .mv_scroll a .scrollbar::before {
  content: "";
  width: 0.1rem;
  height: 6rem;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: calc(50% - 0.1rem);
  transform: translateX(-50%);
  z-index: 1;
  animation: slideIn 2s linear infinite;
}

@keyframes slideIn {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(200%);
  }
}
.slider01 .slick-slide {
  text-align: center;
}
.slider01 .slick-slide .wrapper {
  width: 100%;
  height: 65rem;
  display: block;
}
.slider01 .slick-slide .wrapper picture {
  width: 100%;
  height: 100%;
  display: block;
}
.slider01 .slick-slide .wrapper picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.no-webp .index01 {
  background: url(../images/top/index01_bg01.png) no-repeat top 3rem right -47rem/160vw, url(../images/top/index01_bg02.png) no-repeat top 25rem left calc(50% + 4rem)/120vw, #fafafa;
}

.index01 {
  padding-bottom: 8rem;
  background: -webkit-image-set(url(../images/top/index01_bg01.webp) 1x, url(../images/top/index01_bg01@2x.webp) 2x) no-repeat top 3rem right -47rem/160vw, -webkit-image-set(url(../images/top/index01_bg02.webp) 1x, url(../images/top/index01_bg02@2x.webp) 2x) no-repeat top 25rem left calc(50% + 4rem)/120vw, #fafafa;
  background: image-set(url(../images/top/index01_bg01.webp) 1x, url(../images/top/index01_bg01@2x.webp) 2x) no-repeat top 3rem right -47rem/160vw, image-set(url(../images/top/index01_bg02.webp) 1x, url(../images/top/index01_bg02@2x.webp) 2x) no-repeat top 25rem left calc(50% + 4rem)/120vw, #fafafa;
  position: relative;
  z-index: 1;
}
.index01::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 14vw 100vw;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  left: 0;
  bottom: 3rem;
  z-index: 1;
}
.index01::after {
  content: "";
  width: 100%;
  height: 3rem;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.index01 .container {
  position: relative;
  z-index: 2;
}
.index01 .container .index01_txt01 {
  margin-top: 2rem;
}
.index01 .container .index01_txt02 {
  margin-top: 1rem;
}

.index02 {
  padding-top: 3rem;
  padding-bottom: 0;
  background-color: #1e489d;
  position: relative;
  z-index: 2;
}
.index02::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 14vw 100vw;
  border-color: transparent transparent #1e489d transparent;
  position: absolute;
  left: 0;
  top: 0.1rem;
  z-index: 1;
  transform: translateY(-100%);
}
.index02 .container .index02_block01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.index02 .container .index02_block01 .block01_ttl01 {
  width: 100%;
}
.index02 .container .index02_block01 .block02_txt01 {
  width: 100%;
  margin-top: 2rem;
}
.index02 .container .index02_block01 .block02_btn01 {
  width: 100%;
  margin-top: 3rem;
}
.index02 .container .index02_list01 {
  width: 100vw;
  margin-top: 5rem;
  position: relative;
  left: -2rem;
}
.index02 .container .index02_list01 li {
  width: 100%;
  overflow: hidden;
}
.index02 .container .index02_list01 li a {
  width: 100%;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.index02 .container .index02_list01 li a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.3s ease-out;
}
.index02 .container .index02_list01 li a::after {
  content: "";
  width: 10rem;
  height: 0.75rem;
  background: -webkit-image-set(url(../images/common/arrow02.png) 1x, url(../images/common/arrow02@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/arrow02.png) 1x, url(../images/common/arrow02@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  bottom: 2rem;
  right: 4rem;
  z-index: 1;
  transition: 0.3s;
}
.index02 .container .index02_list01 li a:hover::before {
  transform: scale(1.06);
  filter: blur(0.5rem);
  transition: all 0.3s ease-out;
}
.index02 .container .index02_list01 li a:hover::after {
  right: 3rem;
  transition: 0.3s;
}
.index02 .container .index02_list01 li a .txt {
  font-size: 1.8em;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.12em;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.index02 .container .index02_list01 li a .txt .fz {
  font-size: 0.72727272em;
  font-weight: 500;
  letter-spacing: 0.12em;
  display: block;
  margin-bottom: -0.3rem;
  padding-left: 0.1rem;
}
.index02 .container .index02_list01 li.cate01 a::before {
  background: -webkit-image-set(url(../images/top/index02_cate01_bg.webp) 1x, url(../images/top/index02_cate01_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index02_cate01_bg.webp) 1x, url(../images/top/index02_cate01_bg@2x.webp) 2x) no-repeat center/cover;
}
.index02 .container .index02_list01 li.cate02 a::before {
  background: -webkit-image-set(url(../images/top/index02_cate02_bg.webp) 1x, url(../images/top/index02_cate02_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index02_cate02_bg.webp) 1x, url(../images/top/index02_cate02_bg@2x.webp) 2x) no-repeat center/cover;
}
.index02 .container .index02_list01 li.cate03 a::before {
  background: -webkit-image-set(url(../images/top/index02_cate03_bg.webp) 1x, url(../images/top/index02_cate03_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index02_cate03_bg.webp) 1x, url(../images/top/index02_cate03_bg@2x.webp) 2x) no-repeat center/cover;
}
.index02 .container .index02_list01 li.cate04 a::before {
  background: -webkit-image-set(url(../images/top/index02_cate04_bg.webp) 1x, url(../images/top/index02_cate04_bg@2x.webp) 2x) no-repeat center bottom -6rem/cover;
  background: image-set(url(../images/top/index02_cate04_bg.webp) 1x, url(../images/top/index02_cate04_bg@2x.webp) 2x) no-repeat center bottom -6rem/cover;
}
.index02 .container .index02_list01 li.cate05 a::before {
  background: -webkit-image-set(url(../images/top/index02_cate05_bg.webp) 1x, url(../images/top/index02_cate05_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index02_cate05_bg.webp) 1x, url(../images/top/index02_cate05_bg@2x.webp) 2x) no-repeat center/cover;
}

.index03 {
  position: relative;
}
.index03::before {
  content: "";
  width: 18rem;
  height: 54rem;
  background: -webkit-image-set(url(../images/top/index03_bg01.png) 1x, url(../images/top/index03_bg01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/top/index03_bg01.png) 1x, url(../images/top/index03_bg01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(50%);
}
.index03 .container {
  position: relative;
}
.index03 .container .index03_img01 {
  width: 100%;
  margin-top: 2rem;
}
.index03 .container .index03_txt01 {
  margin-top: 2rem;
  padding-right: 8rem;
}
.index03 .container .index03_btn01 {
  margin-top: 3rem;
}

.index04 {
  padding: 0;
}
.index04 .container {
  width: 100%;
  height: 35rem;
  padding: 7rem 2rem;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.index04 .container::before {
  content: "";
  width: 156rem;
  height: 48rem;
  background: -webkit-image-set(url(../images/top/index04_bg01.webp) 1x, url(../images/top/index04_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/top/index04_bg01.webp) 1x, url(../images/top/index04_bg01@2x.webp) 2x) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
}
.index04 .container .index04_btn01 {
  margin-top: 10rem;
}

.index05 {
  position: relative;
}
.index05::before {
  content: "";
  width: 36rem;
  height: 58.5rem;
  background: -webkit-image-set(url(../images/top/index05_bg01.png) 1x, url(../images/top/index05_bg01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/top/index05_bg01.png) 1x, url(../images/top/index05_bg01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: -27rem;
  z-index: 0;
}
.index05 .container {
  position: relative;
}
.index05 .container .index05_ttl01 .en,
.index05 .container .index05_ttl01 .jp {
  position: relative;
}
.index05 .container .index05_ttl01 .en .mask,
.index05 .container .index05_ttl01 .jp .mask {
  width: 7.2rem;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
}
.index05 .container .index05_img01 {
  width: 100%;
  margin-top: 2rem;
}
.index05 .container .index05_list01 {
  margin-top: 3rem;
}
.index05 .container .index05_list01 dt {
  position: relative;
}
.index05 .container .index05_list01 dt .mask {
  width: 7rem;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
}
.index05 .container .index05_btn01 {
  margin-top: 3rem;
}

.index06 {
  background-color: #fafafa;
  position: relative;
}
.index06::before {
  content: "";
  width: 36rem;
  height: 58.5rem;
  background: -webkit-image-set(url(../images/top/index05_bg01.png) 1x, url(../images/top/index05_bg01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/top/index05_bg01.png) 1x, url(../images/top/index05_bg01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: -27rem;
  z-index: 0;
}
.index06::after {
  content: "";
  width: 36rem;
  height: 9rem;
  background: -webkit-image-set(url(../images/top/index06_bg01.png) 1x, url(../images/top/index06_bg01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/top/index06_bg01.png) 1x, url(../images/top/index06_bg01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: -22.2rem;
  z-index: 1;
}
.index06 .container {
  position: relative;
  z-index: 2;
}
.index06 .container .index06_block01 {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #fff;
}
.index06 .container .index06_block01 .block01_ttl01 {
  width: 100%;
}
.index06 .container .index06_block01 .block_list01 {
  width: 100%;
  margin-top: 2rem;
}
.index06 .container .index06_block01 .block01_btn01 {
  width: 100%;
  margin-top: 2rem;
}
.index06 .container .index06_block01 .block01_btn01 a span {
  font-size: 1.4rem;
}

.index07 .container .block01_txt01 {
  text-align: center;
  margin-top: 2rem;
}
.index07 .container .index07_list01 {
  width: 100%;
  margin-top: 3rem;
}
.index07 .container .index07_list01 li {
  display: block;
}
.index07 .container .index07_list01 li a {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}
.index07 .container .index07_list01 li.tel {
  width: 100%;
}
.index07 .container .index07_list01 li.tel a {
  width: 100%;
  height: 7rem;
  display: block;
  padding: 1.1rem 1rem 1.1rem 8rem;
  position: relative;
}
.index07 .container .index07_list01 li.tel a .icon {
  width: 3rem;
  position: absolute;
  display: block;
  top: 1.2rem;
  left: 4rem;
}
.index07 .container .index07_list01 li.tel a .num {
  font-size: 2.4em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  display: block;
  padding-left: 0.2rem;
}
.index07 .container .index07_list01 li.tel a .txt {
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 1rem;
  padding-left: 1rem;
}
.index07 .container .index07_list01 li.tel a .txt span {
  margin-right: 0.4rem;
}
.index07 .container .index07_list01 li.fax {
  width: 100%;
  padding-top: 1.5rem;
  border-top: 0.1rem solid #cbcbcb;
  margin-top: 1.5rem;
}
.index07 .container .index07_list01 li.fax p {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.index07 .container .index07_list01 li.fax p .txt {
  font-size: 1.8em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  display: block;
  margin-right: 0.5rem;
}
.index07 .container .index07_list01 li.fax p .num {
  font-size: 2.4em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  display: block;
}
.index07 .container .index07_list01 li.mail {
  width: 100%;
  margin-top: 2rem;
}
.index07 .container .index07_list01 li.mail a {
  width: 90%;
  height: 7rem;
  display: flex;
  align-items: center;
  position: relative;
  padding: 1rem 1rem 1rem 9rem;
  border-radius: 0.5rem;
  margin: 0 auto;
}
.index07 .container .index07_list01 li.mail a::before {
  content: "";
  width: 200%;
  height: 200%;
  background: rgb(231, 87, 99);
  background: linear-gradient(45deg, rgb(231, 87, 99) 0%, rgb(200, 36, 50) 33%, rgb(200, 36, 50) 66%, rgb(231, 87, 99) 100%);
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-50%);
  transition: 0.4s;
}
.index07 .container .index07_list01 li.mail a:hover::before {
  transform: translateX(0);
  transition: 0.4s;
}
.index07 .container .index07_list01 li.mail a .icon {
  width: 2.6rem;
  position: absolute;
  display: block;
  top: 2.7rem;
  left: 5.3rem;
}
.index07 .container .index07_list01 li.mail a .txt {
  font-size: 1.8em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.11em;
  display: block;
  position: relative;
  z-index: 1;
}

/*----------------------------------------------------------------------------
******************************************************************************
** common class
******************************************************************************
----------------------------------------------------------------------------*/
.no-webp .fv.m-lifeshop::before {
  background: url(../images/mlife/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.construction::before {
  background: url(../images/construction/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.inspection::before {
  background: url(../images/inspection/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.polyurea::before {
  background: url(../images/polyurea/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.environment::before {
  background: url(../images/environment/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.works::before {
  background: url(../images/works/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.company::before, .no-webp .fv.about::before {
  background: url(../images/company/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.business::before {
  background: url(../images/business/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.news::before {
  background: url(../images/news/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.privacy::before {
  background: url(../images/privacy/fv.jpg) no-repeat center/cover;
}
.no-webp .fv.contact::before, .no-webp .fv.confirm::before, .no-webp .fv.thanks::before {
  background: url(../images/contact/fv.jpg) no-repeat center/cover;
}

.fv {
  padding-top: 7.75rem;
  position: relative;
}
.fv::before {
  content: "";
  width: 100%;
  height: 10rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  background-color: #eee;
}
.fv.m-lifeshop::before {
  background: -webkit-image-set(url(../images/mlife/fv.webp) 1x, url(../images/mlife/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/mlife/fv.webp) 1x, url(../images/mlife/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.construction::before {
  background: -webkit-image-set(url(../images/construction/fv.webp) 1x, url(../images/construction/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/construction/fv.webp) 1x, url(../images/construction/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.inspection::before {
  background: -webkit-image-set(url(../images/inspection/fv.webp) 1x, url(../images/inspection/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/inspection/fv.webp) 1x, url(../images/inspection/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.polyurea::before {
  background: -webkit-image-set(url(../images/polyurea/fv.webp) 1x, url(../images/polyurea/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/polyurea/fv.webp) 1x, url(../images/polyurea/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.environment::before {
  background: -webkit-image-set(url(../images/environment/fv.webp) 1x, url(../images/environment/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/environment/fv.webp) 1x, url(../images/environment/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.works::before {
  background: -webkit-image-set(url(../images/works/fv.webp) 1x, url(../images/works/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/works/fv.webp) 1x, url(../images/works/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.company::before, .fv.about::before {
  background: -webkit-image-set(url(../images/company/fv.webp) 1x, url(../images/company/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/company/fv.webp) 1x, url(../images/company/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.business::before {
  background: -webkit-image-set(url(../images/business/fv.webp) 1x, url(../images/business/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/business/fv.webp) 1x, url(../images/business/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.news::before {
  background: -webkit-image-set(url(../images/news/fv.webp) 1x, url(../images/news/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/news/fv.webp) 1x, url(../images/news/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.privacy::before {
  background: -webkit-image-set(url(../images/privacy/fv.webp) 1x, url(../images/privacy/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/privacy/fv.webp) 1x, url(../images/privacy/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv.contact::before, .fv.confirm::before, .fv.thanks::before {
  background: -webkit-image-set(url(../images/contact/fv.webp) 1x, url(../images/contact/fv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/contact/fv.webp) 1x, url(../images/contact/fv@2x.webp) 2x) no-repeat center/cover;
}
.fv .container {
  padding-bottom: 4.5rem;
}

.common_ttl03 {
  width: 100%;
  text-align: center;
}
.common_ttl03 .en {
  width: 100%;
  font-size: 1.8rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  position: relative;
  z-index: 2;
}
.common_ttl03 .jp {
  width: 100%;
  font-size: 2.4rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 1rem;
  position: relative;
  z-index: 2;
}
.common_ttl03 .bg {
  width: 100%;
  font-size: 5rem;
  color: #f5f4f4;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  display: block;
  margin-top: -2rem;
  position: relative;
  z-index: 1;
}

.Breadcrumb {
  width: 100%;
  padding: 1rem 2rem;
}
.Breadcrumb ul {
  width: 100%;
}
.Breadcrumb ul li {
  display: inline-block;
  margin-right: 1.4rem;
}
.Breadcrumb ul li:last-of-type {
  margin-right: 0;
}
.Breadcrumb ul li a,
.Breadcrumb ul li span {
  font-size: 1.2rem;
  color: #1e489d;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  position: relative;
}
.Breadcrumb ul li a::before,
.Breadcrumb ul li span::before {
  content: "";
  width: 0.4rem;
  height: 0.2rem;
  background-color: #94a1c8;
  position: absolute;
  top: 0.6rem;
  right: -0.9rem;
}
.Breadcrumb ul li a {
  color: #94a1c8;
  transition: 0.2s;
}
.Breadcrumb ul li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.Breadcrumb ul li:last-of-type a::before,
.Breadcrumb ul li:last-of-type span::before {
  display: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** mlife
******************************************************************************
----------------------------------------------------------------------------*/
.mlife01 {
  padding-top: 3rem;
  overflow: hidden;
}
.mlife01 .container .mlife01_ttl01 {
  margin-top: 5rem;
}
.mlife01 .container .mlife01_block01 {
  margin-top: 3rem;
}
.mlife01 .container .mlife01_block02 {
  margin-top: 60px;
}

.common_block01 {
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.common_block01::before {
  content: "";
  width: 100vw;
  height: calc(100% - 8rem);
  background-color: #fafafa;
  position: absolute;
  top: 0;
  left: -2rem;
}
.common_block01 .block01_tt01 {
  width: 100%;
  font-size: 4.2rem;
  color: #f1f2f5;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  white-space: nowrap;
  position: relative;
  z-index: 2;
  top: -0.7rem;
  order: 1;
}
.common_block01 .block01_img01 {
  width: 80%;
  position: relative;
  left: 1.5rem;
  z-index: 2;
  order: 3;
  margin-top: 3rem;
}
.common_block01 .block01_img01::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 0.4rem;
  border: solid 0.1rem #1e489d;
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
}
.common_block01 .block01_box01 {
  width: 100%;
  position: relative;
  z-index: 2;
  order: 2;
  margin-top: 2rem;
}
.common_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
}
.common_block01 .block01_box01 .box01_ttl01 .sub {
  font-size: 1.4rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: block;
}
.common_block01 .block01_box01 .box01_ttl01 .ttl {
  font-size: 2.2rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: block;
}
.common_block01 .block01_box01 .box01_txt01 {
  margin-top: 1rem;
}

.no-webp .cv_area .container .cv_block01 .block01_box01 {
  background: url(../images/common/cv_bg01.jpg) no-repeat center/cover;
}

.cv_area {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.cv_area.color01 {
  background-color: #e8ecf5;
}
.cv_area .container .cv_ttl01 {
  width: 100%;
  text-align: center;
  margin-top: -2rem;
  margin-bottom: 3rem;
}
.cv_area .container .cv_ttl01 .ttl {
  font-size: 2rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: inline-block;
  padding: 0 3rem;
  position: relative;
}
.cv_area .container .cv_ttl01 .ttl::before, .cv_area .container .cv_ttl01 .ttl::after {
  content: "";
  width: 0.2rem;
  height: 3rem;
  background-color: #1e489d;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(24deg);
  left: 0;
}
.cv_area .container .cv_ttl01 .ttl::after {
  left: auto;
  right: 0;
}
.cv_area .container .cv_block01 {
  width: 100%;
  position: relative;
}
.cv_area .container .cv_block01 .block01_box01 {
  width: 100%;
  padding: 5rem 2rem;
  background: -webkit-image-set(url(../images/common/cv_bg01.webp) 1x, url(../images/common/cv_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/cv_bg01.webp) 1x, url(../images/common/cv_bg01@2x.webp) 2x) no-repeat center/cover;
  position: relative;
}
.cv_area .container .cv_block01 .block01_box01::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #00339b;
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.cv_area .container .cv_block01 .block01_box01::after {
  content: "";
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border-radius: 0.4rem;
  border: solid 0.1rem #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.cv_area .container .cv_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 3;
}
.cv_area .container .cv_block01 .block01_box01 .box01_ttl01 .sub {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
}
.cv_area .container .cv_block01 .block01_box01 .box01_ttl01 .ttl {
  font-size: 2.4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 1.5rem;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 {
  width: 100%;
  margin-top: 3rem;
  position: relative;
  z-index: 3;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a {
  width: 26rem;
  height: 5rem;
  border-radius: 0.3rem;
  padding-left: 3rem;
  background-color: #dfe5f1;
  display: flex;
  align-items: center;
  margin: 0 auto;
  position: relative;
  transition: 0.2s;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a::before, .cv_area .container .cv_block01 .block01_box01 .box01_btn01 a::after {
  content: "";
  width: 5rem;
  height: 0.1rem;
  background-color: #7490c7;
  position: absolute;
  bottom: 2rem;
  right: 2.5rem;
  transform-origin: bottom right;
  transition: 0.2s;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a::before {
  content: "";
  width: 1rem;
  transform: rotate(40deg);
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a span {
  font-size: 1.4rem;
  font-weight: 700;
  color: #718ec4;
  line-height: 1;
  letter-spacing: 0.12em;
  display: inline-block;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a:hover::before, .cv_area .container .cv_block01 .block01_box01 .box01_btn01 a:hover::after {
  right: 12px;
  transition: 0.2s;
}
.cv_area .container .cv_block01 .block01_img01 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.cv_area .container .cv_block01 .block01_img01 picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.no-webp .common_works_section02 .container .business_nav_list01 li a.cate01 {
  background: url(../images/business/business_nav_img01.jpg) no-repeat center/cover;
}
.no-webp .common_works_section02 .container .business_nav_list01 li a.cate02 {
  background: url(../images/business/business_nav_img02.jpg) no-repeat center/cover;
}
.no-webp .common_works_section02 .container .business_nav_list01 li a.cate03 {
  background: url(../images/business/business_nav_img03.jpg) no-repeat center/cover;
}
.no-webp .common_works_section02 .container .business_nav_list01 li a.cate04 {
  background: url(../images/business/business_nav_img04.jpg) no-repeat center/cover;
}
.no-webp .common_works_section02 .container .business_nav_list01 li a.cate05 {
  background: url(../images/business/business_nav_img05.jpg) no-repeat center/cover;
}

.common_works_section02 {
  padding: 0;
}
.common_works_section02 .container {
  max-width: initial;
  max-width: auto;
}
.common_works_section02 .container .common_works_nav_list01 {
  width: 100%;
}
.common_works_section02 .container .common_works_nav_list01 li {
  width: 100%;
  overflow: hidden;
}
.common_works_section02 .container .common_works_nav_list01 li a {
  width: 100%;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.common_works_section02 .container .common_works_nav_list01 li a.cate01 {
  background: -webkit-image-set(url(../images/business/business_nav_img01.webp) 1x, url(../images/business/business_nav_img01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/business/business_nav_img01.webp) 1x, url(../images/business/business_nav_img01@2x.webp) 2x) no-repeat center/cover;
}
.common_works_section02 .container .common_works_nav_list01 li a.cate02 {
  background: -webkit-image-set(url(../images/business/business_nav_img02.webp) 1x, url(../images/business/business_nav_img02@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/business/business_nav_img02.webp) 1x, url(../images/business/business_nav_img02@2x.webp) 2x) no-repeat center/cover;
}
.common_works_section02 .container .common_works_nav_list01 li a.cate03 {
  background: -webkit-image-set(url(../images/business/business_nav_img03.webp) 1x, url(../images/business/business_nav_img03@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/business/business_nav_img03.webp) 1x, url(../images/business/business_nav_img03@2x.webp) 2x) no-repeat center/cover;
}
.common_works_section02 .container .common_works_nav_list01 li a.cate04 {
  background: -webkit-image-set(url(../images/business/business_nav_img04.webp) 1x, url(../images/business/business_nav_img04@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/business/business_nav_img04.webp) 1x, url(../images/business/business_nav_img04@2x.webp) 2x) no-repeat center/cover;
}
.common_works_section02 .container .common_works_nav_list01 li a.cate05 {
  background: -webkit-image-set(url(../images/business/business_nav_img05.webp) 1x, url(../images/business/business_nav_img05@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/business/business_nav_img05.webp) 1x, url(../images/business/business_nav_img05@2x.webp) 2x) no-repeat center/cover;
}
.common_works_section02 .container .common_works_nav_list01 li a::before {
  content: "";
  width: 10rem;
  height: 0.75rem;
  background: -webkit-image-set(url(../images/common/arrow02.png) 1x, url(../images/common/arrow02@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/arrow02.png) 1x, url(../images/common/arrow02@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  bottom: 2rem;
  right: 4rem;
  z-index: 1;
  transition: 0.3s;
}
.common_works_section02 .container .common_works_nav_list01 li a .ttl {
  font-size: 1.8em;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.12em;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.common_works_section02 .container .common_works_nav_list01 li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.common_works_section02 .container .common_works_nav_list01 li a:hover::before, .common_works_section02 .container .common_works_nav_list01 li a:hover::after {
  right: 3rem;
  transition: 0.2s;
}

.common_ttl04 {
  width: 100%;
  text-align: center;
}
.common_ttl04 .en {
  width: 100%;
  font-size: 1.4rem;
  color: #94a1c8;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  position: relative;
  padding-bottom: 1.5rem;
}
.common_ttl04 .en::before {
  content: "";
  width: 4rem;
  height: 0.2rem;
  background-color: #dc0000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.common_ttl04 .jp {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 0.5rem;
}
.common_ttl04.color01 .en {
  color: #fff;
}
.common_ttl04.color01 .en::before {
  background-color: #fff;
}
.common_ttl04.color01 .jp {
  color: #fff;
}

/*----------------------------------------------------------------------------
******************************************************************************
** construction
******************************************************************************
----------------------------------------------------------------------------*/
.construction01 {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.construction01 .container .construction01_list01 {
  margin-top: 3rem;
}

.construction02 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../images/common/common_bg01.png);
}
.construction02 .container .construction02_block01 {
  margin-top: 3rem;
}
.construction02 .container .construction02_block01 .block01_ttl01 .wrapper {
  padding-left: 5.125rem;
}
.construction02 .container .construction02_block01 .block01_ttl01 .wrapper .icon {
  width: 4.125rem;
}
.construction02 .container .construction02_block01 .block01_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.construction02 .container .construction02_block01 .block01_ttl02 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block01 .block01_box01 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block01 .block01_box02 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block01 .block01_box03 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block01 .block01_box04 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block02 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block02 .block02_ttl01 .wrapper {
  padding-left: 3.85rem;
}
.construction02 .container .construction02_block02 .block02_ttl01 .wrapper .icon {
  width: 2.85rem;
}
.construction02 .container .construction02_block02 .block02_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.construction02 .container .construction02_block02 .block02_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 3rem;
}
.construction02 .container .construction02_block02 .block02_list01 li {
  width: 50%;
}
.construction02 .container .construction02_block03 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block03 .block03_ttl01 .wrapper {
  padding-left: 5.05rem;
}
.construction02 .container .construction02_block03 .block03_ttl01 .wrapper .icon {
  width: 4.05rem;
}
.construction02 .container .construction02_block03 .block03_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.construction02 .container .construction02_block03 .block03_list01 {
  width: 100%;
  margin-top: 3rem;
}
.construction02 .container .construction02_block04 {
  margin-top: 5rem;
}
.construction02 .container .construction02_block04 .block04_ttl01 .wrapper {
  padding-left: 4.15rem;
}
.construction02 .container .construction02_block04 .block04_ttl01 .wrapper .icon {
  width: 3.15;
  left: 0;
}
.construction02 .container .construction02_block04 .block04_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.construction02 .container .construction02_block04 .block04_list01 {
  width: 100%;
  margin-top: 3rem;
}

.common_list02 {
  width: 100%;
}
.common_list02 li {
  width: 100%;
  margin-top: 3rem;
}
.common_list02 li:first-of-type {
  margin-top: 0;
}
.common_list02 li .list_img01 {
  width: 100%;
}
.common_list02 li .list_txt01 {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  color: #94a1c8;
  letter-spacing: 0.12em;
  margin-top: 0.5rem;
}
.common_list02 li .list_ttl01 {
  width: 100%;
  font-size: 2rem;
  color: #1e489d;
  line-height: 1.545454;
  letter-spacing: 0.12em;
}
.common_list02 li .list_txt02 {
  width: 100%;
  margin-top: 1rem;
}

.common_block02 {
  width: 100%;
  padding: 6rem 2rem 4rem;
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
.common_block02 .common_ttl05 {
  position: absolute;
  top: 0;
  left: 0;
}

.common_ttl05 {
  width: 100%;
  height: 6rem;
  padding: 0.5rem 2rem;
  background-color: #1e489d;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.common_ttl05::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 2rem 0 2rem;
  border-color: #1e489d transparent transparent transparent;
  position: absolute;
  bottom: 0.1rem;
  left: 50%;
  transform: translate(-50%, 100%);
}
.common_ttl05 .wrapper {
  position: relative;
}
.common_ttl05 .wrapper .icon {
  width: 3rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.common_ttl05 .wrapper .ttl {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: inline-block;
}

.common_ttl06 {
  width: 100%;
  position: relative;
}
.common_ttl06::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 5rem;
  background: url(../images/common/common_ttl06_bg01.png);
  position: absolute;
  bottom: -0.5rem;
  right: -0.5rem;
}
.common_ttl06 .ttl_wrapper {
  padding: 0.5rem;
  border: solid 0.2rem #17397f;
  border-radius: 5rem;
  background-color: #fff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.common_ttl06 .ttl_wrapper::before {
  content: "";
  width: 3rem;
  height: 0.2rem;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 52%;
  transform: translate(-50%, 100%);
}
.common_ttl06 .ttl_wrapper::after {
  content: "";
  width: 3rem;
  height: 0.2rem;
  background-color: #17397f;
  position: absolute;
  bottom: 0;
  left: 52%;
  transform: translate(-50%, 100%) rotate(-45deg);
  transform-origin: right;
}
.common_ttl06 .ttl_wrapper .txt {
  font-size: 1.6rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  display: inline-block;
  text-align: center;
}
.common_ttl06 .ttl_wrapper .txt .bold {
  font-weight: 700;
}
.common_ttl06 .ttl_wrapper .txt .color {
  color: #1e489d;
}

.common_box01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.common_box01 .box01_img01 {
  width: 100%;
  order: 2;
  margin-top: 3rem;
}
.common_box01 .box01_inner01 {
  width: 100%;
  order: 1;
}
.common_box01 .box01_inner01 .inner01_ttl01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.common_box01 .box01_inner01 .inner01_ttl01 .color01 {
  width: 100%;
  line-height: 1;
  display: block;
}
.common_box01 .box01_inner01 .inner01_ttl01 .color01 span {
  font-size: 1.6rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.16em;
  display: inline-block;
  padding: 0.5rem 0 0.7rem 1rem;
  border: solid 0.2rem #1e489d;
  display: inline-block;
}
.common_box01 .box01_inner01 .inner01_ttl01 .color02 {
  width: 100%;
  line-height: 1;
  display: block;
}
.common_box01 .box01_inner01 .inner01_ttl01 .color02 span {
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.16em;
  display: inline-block;
  background-color: #1e489d;
  padding: 0.5rem 0 0.7rem 1rem;
  border: solid 0.2rem #1e489d;
  display: inline-block;
}
.common_box01 .box01_inner01 .inner01_txt01 {
  margin-top: 1rem;
}
.common_box01 .box01_inner01 .inner01_note01 {
  margin-top: 1rem;
}
.common_box01 .box01_inner01 .inner01_img01 {
  margin-top: 2rem;
}

.common_note01 {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.common_cv_block01 {
  width: 100%;
  border-radius: 0.8rem;
  border: solid 2px #1e489d;
  padding: 3rem 2rem;
  background-color: #e8ecf5;
}
.common_cv_block01 .block01_ttl01 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
}
.common_cv_block01 .block01_list01 {
  width: 100%;
  margin-top: 3rem;
}
.common_cv_block01 .block01_list01 li {
  display: block;
}
.common_cv_block01 .block01_list01 li a {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}
.common_cv_block01 .block01_list01 li.tel {
  width: 100%;
}
.common_cv_block01 .block01_list01 li.tel a {
  width: 100%;
  display: block;
  padding-left: 6rem;
  position: relative;
}
.common_cv_block01 .block01_list01 li.tel a .icon {
  width: 2.4rem;
  position: absolute;
  display: block;
  top: 0.6rem;
  left: 2.5rem;
}
.common_cv_block01 .block01_list01 li.tel a .num {
  font-size: 2.4em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  display: block;
}
.common_cv_block01 .block01_list01 li.tel a .txt {
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 0.5rem;
  padding-left: 0.5rem;
}
.common_cv_block01 .block01_list01 li.tel a .txt span {
  margin-right: 0.4rem;
}
.common_cv_block01 .block01_list01 li.fax {
  width: 100%;
  padding-top: 1.5rem;
  border-top: 0.1rem solid #cbcbcb;
  margin-top: 1.5rem;
}
.common_cv_block01 .block01_list01 li.fax p {
  width: 100%;
  padding-left: 6rem;
  position: relative;
}
.common_cv_block01 .block01_list01 li.fax p .txt {
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  position: absolute;
  display: block;
  top: 0.6rem;
  left: 2rem;
}
.common_cv_block01 .block01_list01 li.fax p .num {
  font-size: 2.4em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  display: block;
}
.common_cv_block01 .block01_list01 li.mail {
  width: 100%;
  margin-top: 2rem;
}
.common_cv_block01 .block01_list01 li.mail a {
  width: 100%;
  height: 6rem;
  display: flex;
  align-items: center;
  position: relative;
  padding: 1rem 1rem 1rem 9rem;
  border-radius: 0.5rem;
  margin: 0 auto;
}
.common_cv_block01 .block01_list01 li.mail a::before {
  content: "";
  width: 200%;
  height: 200%;
  background: rgb(231, 87, 99);
  background: linear-gradient(45deg, rgb(231, 87, 99) 0%, rgb(200, 36, 50) 33%, rgb(200, 36, 50) 66%, rgb(231, 87, 99) 100%);
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-50%);
  transition: 0.4s;
}
.common_cv_block01 .block01_list01 li.mail a:hover::before {
  transform: translateX(0);
  transition: 0.4s;
}
.common_cv_block01 .block01_list01 li.mail a .icon {
  width: 2.6rem;
  position: absolute;
  display: block;
  top: 2.2rem;
  left: 5rem;
}
.common_cv_block01 .block01_list01 li.mail a .txt {
  font-size: 1.8em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.11em;
  display: block;
  position: relative;
  z-index: 1;
}

.common_btn02 {
  width: 100%;
}
.common_btn02 a {
  display: inline-block;
  position: relative;
}
.common_btn02 a::before {
  content: "";
  width: 3.2rem;
  height: 0.5rem;
  background: -webkit-image-set(url(../images/common/arrow01.png) 1x, url(../images/common/arrow01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/arrow01.png) 1x, url(../images/common/arrow01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  right: 0;
  bottom: 0.8rem;
  transition: 0.2s;
}
.common_btn02 a span {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: inline-block;
  padding-right: 5rem;
}
.common_btn02 a:hover::before {
  right: -1rem;
  transition: 0.2s;
}
.common_btn02.color01 a::before {
  background: -webkit-image-set(url(../images/common/arrow01_w.png) 1x, url(../images/common/arrow01_w@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/arrow01_w.png) 1x, url(../images/common/arrow01_w@2x.png) 2x) no-repeat center/contain;
}
.common_btn02.color01 a span {
  color: #fff;
}

.no-webp .common_works_section01::before {
  background: url(../images/common/common_works_section01_bg01.jpg) no-repeat center/cover;
}

.common_works_section01 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #1b1b1b;
  position: relative;
}
.common_works_section01::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-image-set(url(../images/common/common_works_section01_bg01.webp) 1x, url(../images/common/common_works_section01_bg01@2x.webp) 2x) no-repeat center left -37rem/cover;
  background: image-set(url(../images/common/common_works_section01_bg01.webp) 1x, url(../images/common/common_works_section01_bg01@2x.webp) 2x) no-repeat center left -37rem/cover;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
.common_works_section01 .container {
  position: relative;
  z-index: 3;
}
.common_works_section01 .container .common_works_ttl01 {
  text-align: left;
}
.common_works_section01 .container .common_works_ttl01 .en::before {
  left: 0;
  transform: translateX(0);
}
.common_works_section01 .container .common_works_txt01 {
  width: 100%;
  margin-top: 2rem;
}
.common_works_section01 .container .common_works_btn01 {
  margin-top: 3rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** inspection
******************************************************************************
----------------------------------------------------------------------------*/
.inspection01 {
  padding-top: 3rem;
}
.inspection01 .container .inspection01_block01 {
  width: 100%;
  padding: 5rem 0;
  margin-top: 3rem;
  position: relative;
}
.inspection01 .container .inspection01_block01 .wrapper {
  width: 100%;
  position: relative;
  z-index: 1;
}
.inspection01 .container .inspection01_block01::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #f2f2f2;
  position: absolute;
  top: 0;
  left: -2rem;
}
.inspection01 .container .inspection01_block02 {
  width: 100%;
  background: -webkit-image-set(url(../images/inspection/inspection01_bg01.webp) 1x, url(../images/inspection/inspection01_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/inspection/inspection01_bg01.webp) 1x, url(../images/inspection/inspection01_bg01@2x.webp) 2x) no-repeat center/cover;
  position: relative;
}
.inspection01 .container .inspection01_block02::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3rem 8rem 0 8rem;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
.inspection01 .container .inspection01_block02::after {
  content: "";
  width: 100vw;
  height: 100%;
  background: -webkit-image-set(url(../images/inspection/inspection01_bg01.webp) 1x, url(../images/inspection/inspection01_bg01@2x.webp) 2x) no-repeat center left -1rem/cover;
  background: image-set(url(../images/inspection/inspection01_bg01.webp) 1x, url(../images/inspection/inspection01_bg01@2x.webp) 2x) no-repeat center left -1rem/cover;
  position: absolute;
  top: 0;
  left: -2rem;
  z-index: 1;
}
.inspection01 .container .inspection01_block02 .wrapper {
  width: 100%;
  padding: 7rem 0 4rem;
  position: relative;
  z-index: 2;
}
.inspection01 .container .inspection01_block02 .wrapper .block02_txt01 {
  width: 100%;
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
}

.common_list04 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 4.5rem;
}
.common_list04 li {
  width: 49%;
  padding: 3rem 1rem;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin-top: 2.5rem;
}
.common_list04 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.common_list04 li::before {
  content: "";
  width: 3rem;
  height: 3rem;
  background: -webkit-image-set(url(../images/inspection/inspection01_icon01.png) 1x, url(../images/inspection/inspection01_icon01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/inspection/inspection01_icon01.png) 1x, url(../images/inspection/inspection01_icon01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.common_list04 li .list01_txt01 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
.common_list04 li .list01_txt01 .fz01 {
  font-size: 0.8em;
  display: block;
  margin-top: 0.5rem;
}

.inspection02 {
  padding-top: 5rem;
  padding-bottom: 3rem;
}
.inspection02 .container .inspection02_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.inspection02 .container .inspection02_list01 {
  width: 100%;
  margin-top: 3rem;
}
.inspection02 .container .inspection02_list01 li {
  width: 100%;
  padding: 5rem 2rem 2rem;
  background-color: #eeeeee;
  position: relative;
  margin-top: 2rem;
}
.inspection02 .container .inspection02_list01 li:first-of-type {
  padding-top: 3rem;
  margin-top: 0;
}
.inspection02 .container .inspection02_list01 li::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3rem 16.75rem 0 16.75rem;
  border-color: #eeeeee transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  z-index: 2;
}
.inspection02 .container .inspection02_list01 li::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3rem 16.75rem 0 16.75rem;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.inspection02 .container .inspection02_list01 li:first-of-type::after {
  display: none;
}
.inspection02 .container .inspection02_list01 li .list_tt01 {
  width: 100%;
}
.inspection02 .container .inspection02_list01 li .list_tt01 .ttl {
  width: 24rem;
  height: 4rem;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1e489d;
  border-radius: 5rem;
  margin: 0 auto;
}
.inspection02 .container .inspection02_list01 li .list_txt01 {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 1rem;
}

.inspection03 {
  padding-top: 5rem;
  padding-bottom: 0;
}
.inspection03 .container .inspection03_block01 {
  width: 100%;
  padding: 5rem 0;
  background-color: #e8ecf5;
  margin-top: 3rem;
  position: relative;
}
.inspection03 .container .inspection03_block01::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #e8ecf5;
  position: absolute;
  top: 0;
  left: -2rem;
}
.inspection03 .container .inspection03_block01 .wrapper {
  width: 100%;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box {
  width: 100%;
  padding: 5rem 2rem 3rem;
  background-color: #fff;
  border-radius: 0.3rem;
  position: relative;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box::before {
  content: "";
  width: 100%;
  height: 100%;
  border: solid 0.1rem #ddd;
  border-radius: 0.3rem;
  position: absolute;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_ttl01 {
  width: 20rem;
  height: 4.6rem;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 7px;
  left: 50%;
  transform: translate(-50%, -50%);
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01 {
  width: 100%;
  margin-top: 3rem;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01:first-of-type {
  margin-top: 0;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01 dt {
  width: 100%;
  display: flex;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01 dt .num {
  width: 4rem;
  height: 4rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  background-color: #ddd;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01 dt .dt_txt {
  width: calc(100% - 5rem);
  font-size: 2em;
  font-weight: 700;
  line-height: 1.416666;
  letter-spacing: 0.1em;
  padding-top: 0.7rem;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01 dd {
  width: 100%;
  margin-top: 0.5rem;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box01::before {
  border: solid 0.1rem #cd2c3a;
  top: 1rem;
  left: -1rem;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box01 .box_ttl01 {
  background: rgb(231, 87, 99);
  background: linear-gradient(225deg, rgb(231, 87, 99) 5%, rgb(200, 36, 50) 100%);
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box01 .box_list01 dt .num {
  background: rgb(231, 87, 99);
  background: linear-gradient(225deg, rgb(231, 87, 99) 5%, rgb(200, 36, 50) 100%);
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box01 .box_list01 dt .dt_txt {
  color: #db4451;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box02 {
  margin-top: 5rem;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box02::before {
  border: solid 0.1rem #1e489d;
  top: 1rem;
  left: 1rem;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box02 .box_ttl01 {
  background: rgb(112, 150, 227);
  background: linear-gradient(225deg, rgb(112, 150, 227) 0%, rgb(32, 78, 171) 100%);
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box02 .box_list01 dt .num {
  background: rgb(112, 150, 227);
  background: linear-gradient(225deg, rgb(112, 150, 227) 0%, rgb(32, 78, 171) 100%);
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box02 .box_list01 dt .dt_txt {
  color: #1e489d;
}

.inspection04 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.inspection04 .container .inspection04_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 3rem;
}
.inspection04 .container .inspection04_list01 li {
  width: 50%;
}

/*----------------------------------------------------------------------------
******************************************************************************
** polyurea
******************************************************************************
----------------------------------------------------------------------------*/
.no-webp .polyurea01 .container .polyurea01_block01 {
  background: url(../images/polyurea/polyurea01_bg01.jpg) no-repeat top center/cover;
}

.polyurea01 {
  padding: 0;
  padding-top: 3rem;
}
.polyurea01 .container {
  max-width: initial;
  max-width: auto;
}
.polyurea01 .container .add_bunner {
  width: 28rem;
  margin: 0 auto 3rem;
}
.polyurea01 .container .add_bunner a {
  width: 100%;
  display: block;
  transition: 0.2s;
}
.polyurea01 .container .add_bunner a:hover {
  opacity: 0.7;
}
.polyurea01 .container .polyurea_txt01 {
  text-align: center;
}
.polyurea01 .container .polyurea01_nav_list {
  width: calc(100% - 4rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 3rem auto 0;
}
.polyurea01 .container .polyurea01_nav_list li {
  width: 49%;
  margin-top: 2%;
}
.polyurea01 .container .polyurea01_nav_list li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.polyurea01 .container .polyurea01_nav_list li a {
  width: 100%;
  min-height: 6rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1rem 2.5rem;
  background-color: #1e489d;
  position: relative;
}
.polyurea01 .container .polyurea01_nav_list li a::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-right: solid 0.2rem #fff;
  border-bottom: solid 0.2rem #fff;
  box-sizing: border-box;
  position: absolute;
  bottom: 1.2rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  transition: 0.2s;
}
.polyurea01 .container .polyurea01_nav_list li a:hover {
  opacity: 0.7;
}
.polyurea01 .container .polyurea01_nav_list li a:hover::before {
  top: calc(50% + 8px);
}
.polyurea01 .container .polyurea01_block01 {
  width: 100%;
  padding: 5rem 2rem;
  background: -webkit-image-set(url(../images/polyurea/polyurea01_bg01.webp) 1x, url(../images/polyurea/polyurea01_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/polyurea/polyurea01_bg01.webp) 1x, url(../images/polyurea/polyurea01_bg01@2x.webp) 2x) no-repeat center/cover;
  margin-top: 5rem;
  overflow: hidden;
  position: relative;
}
.polyurea01 .container .polyurea01_block01 > .wrapper {
  width: 100%;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 {
  width: 100%;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 .box01_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 .box01_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 3rem;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 .box01_list01 li {
  width: 49%;
  margin-top: 2%;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 .box01_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}

.polyurea02 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  overflow: hidden;
}
.polyurea02 .container .polyurea02_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.polyurea02 .container .polyurea02_block01 {
  width: 100%;
  margin-top: 3rem;
}
.polyurea02 .container .polyurea02_block01 .block01_img01 {
  width: 100%;
}
.polyurea02 .container .polyurea02_block01 .block01_box01 {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #e8ecf5;
  margin-top: 3rem;
}
.polyurea02 .container .polyurea02_block01 .block01_box01 .box01_txt02 {
  margin-top: 2rem;
}

.common_block03 {
  width: 100%;
  position: relative;
  padding-bottom: 70px;
}
.common_block03::before {
  content: "";
  width: 420px;
  height: 222px;
  background-color: #1e489d;
  opacity: 0.26;
  position: absolute;
  top: 0;
  left: -360px;
}
.common_block03 .block03_wrapper {
  width: 1114px;
  min-height: 330px;
  padding: 69px 500px 37px 37px;
  background-color: #fff;
  border: solid 2px #1e489d;
  position: relative;
}
.common_block03 .block03_wrapper::before {
  content: "";
  width: 340px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 70px;
  transform: translateY(-100%);
}
.common_block03 .block03_wrapper .block03_ttl01 {
  font-size: 2.5em;
  color: rgba(30, 72, 157, 0.6);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  position: absolute;
  top: -24px;
  left: 89px;
}
.common_block03 .block03_wrapper .block03_ttl01 .num {
  font-size: 1.05em;
  margin-left: 7px;
  display: inline-block;
}
.common_block03 .block03_wrapper .block03_ttl02 {
  width: 100%;
  font-size: 1.5em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.common_block03 .block03_wrapper .block03_txt01 {
  margin-top: 26px;
}
.common_block03 .block03_wrapper .block03_img01 {
  position: absolute;
  top: 58px;
  right: -86px;
}
.common_block03 .block03_wrapper .block03_img02 {
  width: 100%;
  margin-top: 23px;
}
.common_block03 .block03_wrapper .block03_img02 img {
  margin: 0 auto;
}
.common_block03.revese::before {
  left: auto;
  right: -360px;
}
.common_block03.revese .block03_wrapper {
  padding: 69px 37px 37px 500px;
  margin-left: auto;
}
.common_block03.revese .block03_wrapper::before {
  left: auto;
  right: 70px;
}
.common_block03.revese .block03_wrapper .block03_ttl01 {
  left: auto;
  right: 89px;
  justify-content: flex-end;
}
.common_block03.revese .block03_wrapper .block03_img01 {
  right: auto;
  left: -86px;
}

.polyurea03 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #fafafa;
}
.polyurea03 .container .polyurea03_ilst01 {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #fff;
  margin-top: 3rem;
}
.polyurea03 .container .polyurea03_ilst01 li {
  width: 100%;
  margin-top: 3rem;
}
.polyurea03 .container .polyurea03_ilst01 li:first-of-type {
  margin-top: 0;
}
.polyurea03 .container .polyurea03_ilst01 li .list_ttl {
  width: 100%;
  height: 4rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 5rem;
  padding: 0.5rem;
  background-color: #1e489d;
  display: flex;
  align-items: center;
  justify-content: center;
}
.polyurea03 .container .polyurea03_ilst01 li .list_video {
  width: 100%;
  margin-top: 2rem;
}
.polyurea03 .container .polyurea03_ilst01 li .list_video .wrap {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.polyurea03 .container .polyurea03_ilst01 li .list_video .wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.common_ttl12 {
  width: 100%;
  text-align: center;
}
.common_ttl12 span {
  width: 100%;
  min-height: 4rem;
  font-size: 1.8rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  background-color: #efefef;
  border-radius: 5rem;
}

.common_txt03 {
  width: 100%;
  font-size: 1.6rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.11em;
  text-align: center;
}

.polyurea04 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.polyurea04 .container .polyurea04_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.polyurea04 .container .polyurea04_block01 {
  width: 100%;
  margin-top: 3rem;
}
.polyurea04 .container .polyurea04_block01 .block01_txt01 {
  margin-top: 2rem;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap {
  width: 100%;
  overflow-x: scroll;
  margin-top: 3rem;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table {
  width: 120rem;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table {
  width: 100%;
  table-layout: fixed;
  display: table;
  border: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr {
  border-bottom: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr th {
  width: calc((100% - 710px) / 6);
  height: 50px;
  text-align: center;
  background-color: #e8ecf5;
  border-right: solid 1px #333333;
  vertical-align: middle;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr th span {
  font-size: 16px;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.12em;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  position: relative;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr th:nth-of-type(1) {
  width: 140px;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr th:nth-of-type(2) {
  width: 220px;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr th:nth-of-type(3) {
  width: 350px;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr th:nth-of-type(8) span {
  left: 50%;
  transform: translateX(-50%);
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr th:last-of-type {
  border-right: none;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr td {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  padding: 7px 5px 10px;
  border-right: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr td:nth-of-type(1) {
  background-color: #fafafa;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr td:nth-of-type(3) {
  text-align: left;
  padding: 7px 21px 10px;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table table tr td:last-of-type {
  border-right: none;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table .table_box01 {
  width: 100%;
  padding: 27px 35px 17px 35px;
  border: solid 1px #333333;
  border-top: none;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table .table_box01 .box01_ttl01 {
  width: 135px;
  height: 40px;
  font-size: 16px;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e8ecf5;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table .table_box01 .box01_txt01 {
  margin-top: 12px;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table .table_note {
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
  margin-top: 8px;
}
.polyurea04 .container .polyurea04_block02 {
  width: 100%;
  margin-top: 74px;
}
.polyurea04 .container .polyurea04_block02 .block01_txt01 {
  margin-top: 15px;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap {
  width: 100%;
  overflow-x: scroll;
  margin-top: 3rem;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table {
  width: 120rem;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table {
  width: 100%;
  table-layout: fixed;
  display: table;
  border: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr {
  border-bottom: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr th {
  width: calc((100% - 710px) / 4);
  height: 50px;
  text-align: center;
  background-color: #e8ecf5;
  border-right: solid 1px #333333;
  vertical-align: middle;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr th span {
  font-size: 16px;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.12em;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  position: relative;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr th:nth-of-type(1) {
  width: 140px;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr th:nth-of-type(2) {
  width: 220px;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr th:nth-of-type(3) {
  width: 350px;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr th:last-of-type {
  border-right: none;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr td {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  padding: 7px 5px 10px;
  border-right: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr td:nth-of-type(1) {
  background-color: #fafafa;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr td:nth-of-type(3) {
  text-align: left;
  padding: 7px 21px 10px;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table > table tr td:last-of-type {
  border-right: none;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 {
  width: 100%;
  padding: 27px 35px 37px 35px;
  border: solid 1px #333333;
  border-top: none;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 .box01_ttl01 {
  width: 135px;
  height: 40px;
  font-size: 16px;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e8ecf5;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table {
  width: 100%;
  table-layout: fixed;
  display: table;
  border: solid 1px #333333;
  margin-top: 22px;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr {
  border-bottom: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr th {
  width: calc((100% - 140px) / 4);
  height: 40px;
  text-align: center;
  border-right: solid 1px #333333;
  background-color: #fafafa;
  vertical-align: middle;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr th span {
  font-size: 16px;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.12em;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  position: relative;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr th:nth-of-type(1) {
  width: 140px;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr th:last-of-type {
  border-right: none;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr td {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  padding: 7px 5px 6px;
  border-right: solid 1px #333333;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr td:first-child {
  background-color: #fafafa;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_box01 table tr td:last-of-type {
  border-right: none;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table .table_note {
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
  margin-top: 8px;
}

.polyurea05 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../images/common/common_bg01.png);
}
.polyurea05 .container .polyurea05_nav01 {
  width: 100%;
  padding: 1rem 2rem 3rem;
  background-color: #fff;
  margin-top: 3rem;
}
.polyurea05 .container .polyurea05_nav01 li {
  display: inline-block;
  margin-top: 2rem;
  margin-right: 2rem;
}
.polyurea05 .container .polyurea05_nav01 li a {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: inline-block;
  padding-right: 3rem;
  position: relative;
  transition: 0.2s;
}
.polyurea05 .container .polyurea05_nav01 li a::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-right: solid 0.2rem #1e489d;
  border-bottom: solid 0.2rem #1e489d;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%) rotate(45deg);
}
.polyurea05 .container .polyurea05_nav01 li a::after {
  content: "";
  width: calc(100% - 1rem);
  height: 0.2rem;
  background-color: #1e489d;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: center left;
  transition: 0.2s;
}
.polyurea05 .container .polyurea05_nav01 li a:hover {
  color: #1e489d;
}
.polyurea05 .container .polyurea05_nav01 li a:hover::after {
  transform: scale(1, 1);
}
.polyurea05 .container .common_polyurea_block01 {
  margin-top: 3rem;
}

.common_polyurea_block01 {
  width: 100%;
  border-radius: 0.8rem;
  overflow: hidden;
}
.common_polyurea_block01 .block01_ttl01 {
  width: 100%;
  padding: 2rem;
  background-color: #1e489d;
  position: relative;
}
.common_polyurea_block01 .block01_ttl01::before {
  content: "";
  width: 5rem;
  height: 2rem;
  background-color: #1e489d;
  -webkit-clip-path: polygon(50% 2rem, 0% 0%, 5rem 0%);
          clip-path: polygon(50% 2rem, 0% 0%, 5rem 0%);
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translate(-50%, 100%);
}
.common_polyurea_block01 .block01_ttl01 .title {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
}
.common_polyurea_block01 .block01_ttl01 .title .icon {
  display: inline-block;
  margin-right: 13px;
}
.common_polyurea_block01 .block01_ttl01 .title .ttl {
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
.common_polyurea_block01 .block01_ttl01 .txt {
  width: 100%;
  display: flex;
  align-items: center;
  margin-top: 1rem;
}
.common_polyurea_block01 .block01_ttl01 .txt p {
  letter-spacing: 0.05em;
}
.common_polyurea_block01 .block01_box01 {
  width: 100%;
  padding: 4rem 2rem 3rem;
  background-color: #fff;
}
.common_polyurea_block01 .block01_box01 .box01_list01 {
  width: 100%;
}
.common_polyurea_block01 .block01_box01 .box01_list01 li {
  width: 100%;
  margin-top: 1rem;
}
.common_polyurea_block01 .block01_box01 .box01_list01 li:first-of-type {
  margin-top: 0;
}
.common_polyurea_block01 .block01_box01 .box01_list01 li .wrap {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.common_polyurea_block01 .block01_box01 .box01_list01 li .wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.common_polyurea_block01 .block01_box01 .box01_list02 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 5rem;
}
.common_polyurea_block01 .block01_box01 .box01_list02 li {
  width: 100%;
  position: relative;
  margin-top: 1rem;
}
.common_polyurea_block01 .block01_box01 .box01_list02 li:first-of-type {
  margin-top: 0;
}
.common_polyurea_block01 .block01_box01 .box01_list02 li .list_ttl {
  width: 100%;
  height: 4rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #858585;
  position: absolute;
  top: 0;
  left: 0;
}
.common_polyurea_block01.cat01 .block01_ttl01 .title .icon {
  width: 5rem;
}
.common_polyurea_block01.cat02 .block01_ttl01 .title .icon {
  width: 5rem;
}
.common_polyurea_block01.cat03 .block01_ttl01 .title .icon {
  width: 3rem;
}
.common_polyurea_block01.cat03 .box01_list02 {
  margin-top: 0;
}
.common_polyurea_block01.cat03 .box01_list02 li:nth-of-type(2), .common_polyurea_block01.cat03 .box01_list02 li:nth-of-type(3) {
  width: 49%;
}
.common_polyurea_block01.cat03 .box01_list02 li:nth-of-type(4n) {
  margin-right: 0 !important;
}
.common_polyurea_block01.cat04 .block01_ttl01 .title .icon {
  width: 4rem;
}
.common_polyurea_block01.cat04 .box01_list02 li {
  width: 49%;
}
.common_polyurea_block01.cat04 .box01_list02 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.common_polyurea_block01.cat05 .block01_ttl01 .title .icon {
  width: 2rem;
}
.common_polyurea_block01.cat06 .block01_ttl01 .title .icon {
  width: 4rem;
}
.common_polyurea_block01.cat06 .box01_list02 {
  margin-top: 0;
}
.common_polyurea_block01.cat07 .block01_ttl01 .title .icon {
  width: 3rem;
}
.common_polyurea_block01.cat08 .block01_ttl01 .title .icon {
  width: 4rem;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(2) {
  width: 18rem;
  margin: 1rem auto 0;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(4) {
  margin-top: 3rem;
}
.common_polyurea_block01.cat09 .block01_ttl01 .title .icon {
  width: 2rem;
}
.common_polyurea_block01.cat09 .box01_list02 {
  margin-top: 0;
}

.common_block03 {
  width: 100%;
  position: relative;
}
.common_block03::before {
  content: "";
  width: 8rem;
  height: 25rem;
  background-color: #1e489d;
  opacity: 0.26;
  position: absolute;
  top: 0;
  left: -2rem;
}
.common_block03 .block03_wrapper {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #fff;
  border: solid 0.2rem #1e489d;
  position: relative;
}
.common_block03 .block03_wrapper::before {
  content: "";
  width: 20rem;
  height: 0.2rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 2rem;
  transform: translateY(-100%);
}
.common_block03 .block03_wrapper .block03_ttl01 {
  font-size: 2.4rem;
  color: rgba(30, 72, 157, 0.6);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  position: absolute;
  top: -1.4rem;
  left: 3rem;
}
.common_block03 .block03_wrapper .block03_ttl01 .num {
  font-size: 1.05em;
  margin-left: 0.5rem;
  display: inline-block;
}
.common_block03 .block03_wrapper .block03_ttl02 {
  width: 100%;
  font-size: 1.8rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.common_block03 .block03_wrapper .block03_txt01 {
  margin-top: 2rem;
}
.common_block03 .block03_wrapper .block03_img01 {
  width: 100%;
  margin-top: 2rem;
}
.common_block03 .block03_wrapper .block03_img02 {
  width: 100%;
  margin-top: 23px;
}
.common_block03 .block03_wrapper .block03_img02 img {
  margin: 0 auto;
}
.common_block03.revese::before {
  left: auto;
  right: -2rem;
}
.common_block03.revese .block03_wrapper {
  margin-left: auto;
}
.common_block03.revese .block03_wrapper::before {
  left: auto;
  right: 2rem;
}
.common_block03.revese .block03_wrapper .block03_ttl01 {
  left: auto;
  right: 3rem;
  justify-content: flex-end;
}

.common_ttl07 {
  width: 100%;
  text-align: center;
}
.common_ttl07 .ttl {
  font-size: 1.8rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: inline-block;
  padding: 0 2rem;
  position: relative;
}
.common_ttl07 .ttl::before, .common_ttl07 .ttl::after {
  content: "";
  width: 0.2rem;
  height: 2rem;
  background-color: #1e489d;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(30deg);
}
.common_ttl07 .ttl::after {
  right: auto;
  left: 0;
}

.common_list03 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.common_list03 li {
  width: 48%;
  margin-top: 1rem;
}
.common_list03 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.common_list03 li:nth-of-type(2n), .common_list03 li:last-of-type {
  margin-right: 0;
}
.common_list03 li:nth-of-type(2n) .list_img01::before, .common_list03 li:nth-of-type(2n) .list_img01::after, .common_list03 li:last-of-type .list_img01::before, .common_list03 li:last-of-type .list_img01::after {
  display: none;
}
.common_list03 li .list_img01 {
  position: relative;
}
.common_list03 li .list_img01 picture {
  position: relative;
  z-index: 4;
}
.common_list03 li .list_img01::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2rem 0 2rem 1.1rem;
  border-color: transparent transparent transparent #607db9;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(100%, -50%);
  z-index: 2;
}
.common_list03 li .list_img01::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2rem 0 2rem 1.1rem;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 0.6rem;
  transform: translate(100%, -50%);
  z-index: 3;
}
.common_list03 li .list_ttl {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.16em;
  margin-top: 0.5rem;
}

.polyurea06 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.polyurea06 .container .polyurea04_list01 {
  width: 100%;
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.polyurea06 .container .polyurea04_list01 li {
  width: 49%;
  margin-top: 2rem;
}
.polyurea06 .container .polyurea04_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.polyurea06 .container .polyurea04_list01 li .list_txt {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.16em;
  margin-top: 1rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** environment
******************************************************************************
----------------------------------------------------------------------------*/
.environment01 {
  padding-top: 3rem;
  padding-bottom: 0;
}
.environment01 .container .environment_txt01 {
  text-align: center;
}
.environment01 .container .environment01_block01 {
  width: 100%;
  padding: 5rem 0;
  margin-top: 3rem;
  position: relative;
}
.environment01 .container .environment01_block01::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: -webkit-image-set(url(../images/environment/environment01_bg01.webp) 1x, url(../images/environment/environment01_bg01@2x.webp) 2x) no-repeat center right/cover;
  background: image-set(url(../images/environment/environment01_bg01.webp) 1x, url(../images/environment/environment01_bg01@2x.webp) 2x) no-repeat center right/cover;
  position: absolute;
  top: 0;
  right: -2rem;
  z-index: 1;
}
.environment01 .container .environment01_block01 > .wrapper {
  width: 100%;
  position: relative;
  z-index: 2;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 {
  width: 100%;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_ttl01 {
  width: 100%;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_ttl01 .jp {
  margin-top: 1rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_ttl01 .jp .ruby_p {
  position: relative;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_ttl01 .jp .ruby_p .ruby {
  width: 100%;
  font-size: 0.375em;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  position: absolute;
  top: 0.5rem;
  left: 0;
  transform: translateY(-100%);
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_txt01 {
  margin-top: 3rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_inner01 {
  width: 100%;
  margin-top: 3rem;
  padding-bottom: 6rem;
  position: relative;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_inner01 .inner01_img01 {
  width: 90%;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_inner01 .inner01_img02 {
  width: 60%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box02 {
  width: 100%;
  margin-top: 5rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box02 .box02_list01 {
  margin-top: 5rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 {
  width: 100%;
  margin-top: 5rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner {
  margin-top: 5rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_ttl01 {
  width: 100%;
  font-size: 2rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_txt01 {
  width: 100%;
  text-align: center;
  margin-top: 1rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_txt01.arrow {
  padding-bottom: 2.4rem;
  position: relative;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_txt01.arrow::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.2rem 1rem 0 1rem;
  border-color: #1e489d transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_img01 {
  width: 100%;
  margin-top: 2rem;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_img01 img {
  margin: 0 auto;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box04 {
  margin-top: 5rem;
}

.common_ttl10 {
  width: 100%;
  font-size: 2rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 25px;
  padding-bottom: 2.4rem;
  position: relative;
}
.common_ttl10::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.2rem 1rem 0 1rem;
  border-color: #1e489d transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.environment02 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.environment02 .container .environment02_txt01 {
  width: 100%;
  margin-top: 3rem;
}
.environment02 .container .environment02_ttl02 {
  margin-top: 5rem;
}
.environment02 .container .environment02_img01 {
  width: 100%;
  margin-top: 3rem;
}
.environment02 .container .environment02_img01 img {
  margin: 0 auto;
}
.environment02 .container .environment02_block01 {
  margin-top: 5rem;
}
.environment02 .container .environment02_block01 .block01_ttl02 {
  margin-top: 3rem;
}
.environment02 .container .environment02_block01 .block01_txt01 {
  margin-top: 1rem;
}
.environment02 .container .environment02_block01 .block01_ttl03 {
  margin-top: 3rem;
}
.environment02 .container .environment02_block01 .block01_img01 {
  margin-top: 1.5rem;
}
.environment02 .container .environment02_block01 .block01_img01 img {
  margin: 0 auto;
}
.environment02 .container .environment02_block02 {
  margin-top: 5rem;
}
.environment02 .container .environment02_block02 .block02_txt01 {
  margin-top: 1rem;
}
.environment02 .container .environment02_block02 .block02_img01 {
  margin-top: 1.5rem;
}
.environment02 .container .environment02_block02 .block02_img01 img {
  margin: 0 auto;
}
.environment02 .container .environment02_block03 {
  width: 100%;
  margin-top: 5rem;
}
.environment02 .container .environment02_block03 .block03_ttl01 {
  width: 100%;
  font-size: 2rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
}
.environment02 .container .environment02_block03 .block03_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 3rem;
}
.environment02 .container .environment02_block03 .block03_list01 li {
  width: 49%;
  border: solid 0.1rem #1e489d;
  margin-top: 1rem;
}
.environment02 .container .environment02_block03 .block03_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.environment02 .container .environment02_block03 .block03_list01 li .list_ttl01 {
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  padding: 1rem 1rem 1.2rem;
  background-color: #1e489d;
  text-align: center;
  position: relative;
}
.environment02 .container .environment02_block03 .block03_list01 li .list_ttl01::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.6rem 1.6rem 0 1.6rem;
  border-color: #1e489d transparent transparent transparent;
  position: absolute;
  bottom: 0.1rem;
  left: 50%;
  transform: translate(-50%, 100%);
}
.environment02 .container .environment02_block03 .block03_list01 li .list_txt01 {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  padding: 1rem;
}
.environment02 .container .environment02_block03 .block03_box01 {
  width: 100%;
  margin-top: 3rem;
  border: 0.1rem dashed #1e489d;
  padding: 2rem;
}
.environment02 .container .environment02_block03 .block03_box01 .box01_ttl01 {
  width: 100%;
  font-size: 1.8rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
.environment02 .container .environment02_block03 .block03_box01 .box01_txt01 {
  width: 100%;
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  margin-top: 0.5rem;
}

.common_ttl09 {
  width: 100%;
  padding-top: 5rem;
  position: relative;
}
.common_ttl09 .num01 {
  font-size: 4.8rem;
  color: #dfe2ed;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translateX(-50%);
}
.common_ttl09 .txt01 {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
  display: block;
}

.common_ttl08 {
  width: 100%;
  text-align: center;
}
.common_ttl08 .ttl {
  font-size: 2.2rem;
  color: #1e489d;
  line-height: 1;
  letter-spacing: 0.12em;
  display: inline-block;
  padding-bottom: 0.3rem;
  border-bottom: 0.4rem solid #1e489d;
}
.common_ttl08 .ttl .ruby_p {
  position: relative;
  padding-top: 1.4rem;
  display: inline-block;
}
.common_ttl08 .ttl .ruby_p .ruby {
  width: 100%;
  font-size: 0.42857143em;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** works
******************************************************************************
----------------------------------------------------------------------------*/
.works01 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.works01 .container .works01_nav {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.works01 .container .works01_nav li {
  width: 49%;
  margin-top: 2%;
}
.works01 .container .works01_nav li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.works01 .container .works01_nav li a {
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1e489d;
  border: solid 0.2rem #1e489d;
  transition: 0.2s;
}
.works01 .container .works01_nav li a:hover {
  color: #1e489d;
  background-color: #fff;
  transition: 0.2s;
}
.works01 .container .works01_block01 {
  margin-top: 5rem;
}
.works01 .container .works01_block02 {
  margin-top: 5rem;
}
.works01 .container .works01_block03 {
  margin-top: 5rem;
}
.works01 .container .works01_block04 {
  margin-top: 5rem;
}

.common_works_block01 .block01_list01 {
  margin-top: 3rem;
}
.common_works_block01 .block01_list02 {
  margin-top: 2rem;
}
.common_works_block01 .block01_btn01 {
  margin-top: 3rem;
}

.common_works_list01 {
  width: 100%;
}
.common_works_list01 li {
  margin-top: 2rem;
}
.common_works_list01 li:first-of-type {
  margin-top: 0;
}
.common_works_list01 li a {
  width: 100%;
  height: 100%;
  padding-right: 6rem;
  border: solid 0.2rem #1e489d;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  position: relative;
  transition: 0.2s;
}
.common_works_list01 li a::before {
  content: "";
  width: 3rem;
  height: 3rem;
  background: url(../images/common/common_btn01.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  transition: 0.2s;
}
@media all and (-ms-high-contrast: none) {
  .common_works_list01 li a::before {
    background: url(../images/common/common_btn01.png) no-repeat center/contain;
  }
}
.common_works_list01 li a .list_data01 {
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: inline-block;
  padding: 0.6rem 2rem 0.8rem;
  background-color: #1e489d;
}
.common_works_list01 li a .list_ttl01 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  padding: 1rem 0 1rem 2rem;
}
.common_works_list01 li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.common_works_list01 li a:hover::before {
  right: 3px;
  transition: 0.2s;
}
.common_works_list01 li a.none {
  pointer-events: none;
  padding-right: 0;
}
.common_works_list01 li a.none::before {
  display: none;
}
.common_works_list01 li a.none .list_ttl01 {
  padding-right: 2rem;
}

.common_btn03 {
  width: 100%;
  text-align: center;
}
.common_btn03 a,
.common_btn03 span {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1e489d;
  line-height: 1.4;
  display: inline-block;
  letter-spacing: 0.12em;
  border-bottom: 0.2rem solid #1e489d;
  padding-right: 6rem;
  padding-bottom: 1rem;
  position: relative;
  cursor: pointer;
}
.common_btn03 a::before, .common_btn03 a::after,
.common_btn03 span::before,
.common_btn03 span::after {
  content: "";
  width: 1.4rem;
  height: 0.2rem;
  background-color: #1e489d;
  position: absolute;
  top: 1.1rem;
  right: 0;
}
.common_btn03 a::after,
.common_btn03 span::after {
  transform: rotate(90deg);
}
.common_btn03.active a::after,
.common_btn03.active span::after {
  transform: rotate(0);
}

.toggle_area {
  display: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** company
******************************************************************************
----------------------------------------------------------------------------*/
.company01 {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.company01 .container .company01_block01 {
  width: 100%;
  margin-top: 3rem;
}
.company01 .container .company01_block01 .block01_txt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.12em;
  margin-top: 1rem;
}
.company01 .container .company01_block01 .block01_txt.block01_txt01 {
  margin-top: 0;
}
.company01 .container .company01_block01 .block01_txt08 {
  width: 100%;
  margin-top: 3rem;
  text-align: right;
}
.company01 .container .company01_block01 .block01_txt08 img {
  width: 21rem;
}

.company02 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #f2f2f2;
}
.company02 .container .company02_block01 {
  padding: 3rem 2rem;
  background-color: #fff;
  margin-top: 3rem;
}

.company03 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.company03 .container .company03_block01 {
  margin-top: 5rem;
}

.common_list05 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.common_list05 > dt {
  width: 8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  padding: 1rem 0;
  border-bottom: 0.2rem solid #0067a2;
}
.common_list05 > dd {
  width: calc(100% - 8rem);
  padding: 1rem 1rem 1rem 2rem;
  border-bottom: 1px solid #cbcbcb;
}
.common_list05 > dd .dd_txt01 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.12em;
}
.common_list05 > dd .dd_list01 {
  width: 100%;
}
.common_list05 > dd .dd_list01 dt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  padding-left: 2rem;
  margin-top: 2rem;
  position: relative;
}
.common_list05 > dd .dd_list01 dt::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: #1e489d;
  position: absolute;
  top: 0.8rem;
  left: 0;
}
.common_list05 > dd .dd_list01 dt:first-of-type {
  margin-top: 0;
}
.common_list05 > dd .dd_list01 dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  margin-top: 0.5rem;
}
.common_list05 > dd .dd_list02 {
  width: 100%;
}
.common_list05 > dd .dd_list02 li {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875em;
  letter-spacing: 0.12em;
}

.common_company_block01 {
  width: 100%;
}
.common_company_block01 .block01_box01 {
  width: 100%;
}
.common_company_block01 .block01_box01 .box01_list01 {
  width: 100%;
}
.common_company_block01 .block01_box01 .box01_list01 dt {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.666666;
  letter-spacing: 0.05em;
  padding-left: 2rem;
  position: relative;
}
.common_company_block01 .block01_box01 .box01_list01 dt::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: #1e489d;
  position: absolute;
  top: 0.9rem;
  left: 0;
}
.common_company_block01 .block01_box01 .box01_list01 dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.666666;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}
.common_company_block01 .block01_box01 .box01_list02 {
  width: 100%;
  margin-top: 2rem;
}
.common_company_block01 .block01_box01 .box01_list02 dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-bottom: 0.5rem;
  border-bottom: 0.1rem solid #cbcbcb;
}
.common_company_block01 .block01_box01 .box01_list02 dd {
  width: 100%;
}
.common_company_block01 .block01_box01 .box01_list02 dd ul {
  width: 100%;
  margin-top: 0.5rem;
}
.common_company_block01 .block01_box01 .box01_list02 dd ul li {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  padding-left: 1.6rem;
  position: relative;
}
.common_company_block01 .block01_box01 .box01_list02 dd ul li::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background-color: #1e489d;
  position: absolute;
  top: 1.2rem;
  left: 0;
}
.common_company_block01 .block01_box02 {
  width: 100%;
  margin-top: 2rem;
}
.common_company_block01 .block01_box02 .wrapper {
  width: 100%;
  padding-top: 63.4615385%;
  position: relative;
}
.common_company_block01 .block01_box02 .wrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** business
******************************************************************************
----------------------------------------------------------------------------*/
.business01 {
  padding-top: 3rem;
  padding-bottom: 5rem;
  overflow: hidden;
}
.business01 .container .business01_txt01 {
  width: 100%;
}
.business01 .container .business01_block01 {
  position: relative;
}
.business01 .container .business01_block01::before {
  content: "";
  width: 12rem;
  height: 30rem;
  background-color: #dbe2ef;
  position: absolute;
  bottom: -2rem;
  left: -2rem;
}
.business01 .container .business01_block02 {
  margin-top: 10rem;
}
.business01 .container .business01_block02::before {
  content: "";
  width: 30rem;
  height: 479px;
  background-color: #dbe2ef;
  position: absolute;
  top: -3rem;
  right: -2rem;
}
.business01 .container .business01_block02::after {
  content: "";
  width: 8.8rem;
  height: 10.1rem;
  background: -webkit-image-set(url(../images/business/business01_item01.png) 1x, url(../images/business/business01_item01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/business/business01_item01.png) 1x, url(../images/business/business01_item01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
}
.business01 .container .business01_block03 {
  margin-top: 10rem;
}
.business01 .container .business01_block03::before {
  content: "";
  width: 30rem;
  height: 32rem;
  background-color: #dbe2ef;
  position: absolute;
  top: -3rem;
  right: -2rem;
}
.business01 .container .business01_block03::after {
  content: "";
  width: 13rem;
  height: 6.15rem;
  background: -webkit-image-set(url(../images/business/business01_item02.png) 1x, url(../images/business/business01_item02@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/business/business01_item02.png) 1x, url(../images/business/business01_item02@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 40rem;
  left: 0;
  z-index: 3;
}
.business01 .container .business01_block04 {
  margin-top: 10rem;
}
.business01 .container .business01_block04::before {
  content: "";
  width: 12rem;
  height: 60rem;
  background-color: #dbe2ef;
  position: absolute;
  top: -5rem;
  left: -2rem;
}
.business01 .container .business01_block04::after {
  content: "";
  width: 9rem;
  height: 5.5rem;
  background: -webkit-image-set(url(../images/business/business01_item03.png) 1x, url(../images/business/business01_item03@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/business/business01_item03.png) 1x, url(../images/business/business01_item03@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 3rem;
  right: 1rem;
  z-index: 3;
}
.business01 .container .business01_block05 {
  margin-top: 10rem;
}
.business01 .container .business01_block05 .block01_box01 {
  position: relative;
}
.business01 .container .business01_block05 .block01_box01 .box01_btn01 {
  margin-top: 6rem;
}
.business01 .container .business01_block05 .block01_box01 .box01_img01 {
  width: 16rem;
  position: absolute;
  bottom: -6rem;
  left: -2rem;
  z-index: 1;
}

.common_business_block01 {
  width: 100%;
  padding-top: 5rem;
  position: relative;
  margin-top: 3rem;
}
.common_business_block01 .block01_img01 {
  width: 35.5rem;
  height: 30rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.common_business_block01 .block01_img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_business_block01 .block01_box01 {
  width: 35.5rem;
  position: relative;
  z-index: 2;
  padding: 3rem 2rem;
  background-color: rgba(255, 255, 255, 0.8);
  margin-left: auto;
}
.common_business_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
  padding-left: 6rem;
  position: relative;
}
.common_business_block01 .block01_box01 .box01_ttl01 .num {
  font-family: "Roboto";
  font-size: 4.8rem;
  color: #1e489d;
  line-height: 1;
  letter-spacing: -0.02em;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.common_business_block01 .block01_box01 .box01_ttl01 .en {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #94a1c8;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
}
.common_business_block01 .block01_box01 .box01_ttl01 .jp {
  width: 100%;
  font-size: 2rem;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 0.4rem;
}
.common_business_block01 .block01_box01 .box01_txt01 {
  width: 100%;
  margin-top: 1rem;
}
.common_business_block01 .block01_box01 .box01_btn01 {
  margin-top: 2rem;
}
.common_business_block01 .block01_box01 .box01_btn01 a {
  margin-left: auto;
}
.common_business_block01.revese .block01_img01 {
  right: auto;
  left: 0;
}
.common_business_block01.revese .block01_box01 {
  position: relative;
  right: 2rem;
}
.common_business_block01.revese .block01_box01 .box01_btn01 a {
  margin-left: 0;
  margin-right: auto;
}

.common_btn04 {
  width: 100%;
}
.common_btn04 a {
  width: 20rem;
  height: 5rem;
  font-size: 1.6rem;
  color: #1e489d;
  font-weight: 700;
  letter-spacing: 0.12em;
  border: solid 0.1rem #1e489d;
  display: flex;
  align-items: center;
  padding: 0.3rem 7rem 0.3rem 1rem;
  position: relative;
}
.common_btn04 a::before {
  content: "";
  width: 3.2rem;
  height: 0.5rem;
  background: -webkit-image-set(url(../images/common/arrow01_b.png) 1x, url(../images/common/arrow01_b@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/common/arrow01_b.png) 1x, url(../images/common/arrow01_b@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  transition: 0.2s;
}
.common_btn04 a:hover::before {
  right: 1rem;
  transition: 0.2s;
}

/*----------------------------------------------------------------------------
******************************************************************************
** news
******************************************************************************
----------------------------------------------------------------------------*/
.news01 {
  padding-top: 1rem;
  padding-bottom: 5rem;
}

.news_detail01 {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.news_detail01 .news_detail01_block01 {
  padding-bottom: 5rem;
}
.news_detail01 .news_detail01_block01 .category {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.news_detail01 .news_detail01_block01 .category span {
  font-size: 1.4rem;
  color: #0067a2;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 3px 10px;
  border: solid 1px #0067a2;
  display: inline-block;
}
.news_detail01 .news_detail01_block01 .block01_ttl01 {
  width: 100%;
  font-size: 2em;
  color: #0067A2;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-bottom: 0.8rem;
  border-bottom: 0.2rem solid #0067A2;
  margin-top: 2rem;
}
.news_detail01 .news_detail01_block01 .block01_data {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: right;
  margin-top: 0.5rem;
}
.news_detail01 .news_detail01_block01 .block01_box01 {
  width: 100%;
  margin-top: 1rem;
}

.wp-pagenavi {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.wp-pagenavi a,
.wp-pagenavi span {
  width: 3rem;
  height: 3rem;
  font-size: 1.4em;
  color: #0067A2;
  font-weight: 500;
  border: solid 0.1rem transparent;
  border-radius: 0.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.25rem;
  transition: 0.2s;
}
.wp-pagenavi a:hover,
.wp-pagenavi span:hover {
  border: solid 0.2rem #0067A2;
  transition: 0.2s;
}
.wp-pagenavi span {
  pointer-events: none;
}
.wp-pagenavi span.current {
  border: solid 0.2rem #0067A2;
}

.common_article_btn01 {
  width: 100%;
  margin-top: 5rem;
}
.common_article_btn01 .wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
}
.common_article_btn01 .wrapper a {
  width: 10rem;
  height: 4rem;
  border: solid 0.1rem #0067a2;
  border-radius: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
}
.common_article_btn01 .wrapper a span {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #0067a2;
  position: relative;
}
.common_article_btn01 .wrapper a.prev {
  left: 0;
}
.common_article_btn01 .wrapper a.prev span {
  padding-left: 2rem;
}
.common_article_btn01 .wrapper a.prev span::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-left: solid 0.2rem #0067a2;
  border-bottom: solid 0.2rem #0067a2;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.2s;
}
.common_article_btn01 .wrapper a.next {
  right: 0;
}
.common_article_btn01 .wrapper a.next span {
  padding-right: 2rem;
}
.common_article_btn01 .wrapper a.next span::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-right: solid 0.2rem #0067a2;
  border-bottom: solid 0.2rem #0067a2;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(-45deg);
  transition: 0.2s;
}
.common_article_btn01 .wrapper a.list {
  width: 12rem;
  position: static;
}
.common_article_btn01 .wrapper a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

.editor_area h3 {
  width: 100%;
  font-size: 1.8em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-bottom: 0.8rem;
  border-bottom: 0.2rem solid #0067A2;
  margin-top: 5rem;
}
.editor_area h4 {
  width: 100%;
  font-size: 1.6em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1rem;
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid #cbcbcb;
  position: relative;
  margin-top: 3rem;
}
.editor_area h4::before {
  content: "";
  width: 0.3rem;
  height: calc(100% - 1rem);
  background-color: #0067a2;
  position: absolute;
  left: 0;
  top: 0;
}
.editor_area p {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 2rem;
}
.editor_area img {
  display: block;
  margin-top: 2rem;
}
.editor_area img.alignright {
  margin: 1rem 0 0 auto;
}
.editor_area img.aligncenter {
  margin: 1rem auto 0;
}
.editor_area img.alignleft {
  margin: 1rem auto 0 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** contact
******************************************************************************
----------------------------------------------------------------------------*/
.contact01 {
  padding-top: 5em;
  padding-bottom: 5em;
}
.contact01 .container .error {
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  display: block !important;
}
.contact01 .container .contact01_txt01 {
  width: 100%;
  text-align: center;
}
.contact01 .container .contact01_flow_list01 {
  width: 100%;
  margin-top: 5rem;
}
.contact01 .container .contact01_flow_list01 .list01_block01 {
  width: 24rem;
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: 0 auto;
}
.contact01 .container .contact01_flow_list01 .list01_block01::before {
  content: "";
  width: calc(100% - 4rem);
  height: 0.2rem;
  background-color: #dddddd;
  position: absolute;
  top: 0.8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.contact01 .container .contact01_flow_list01 .list01_block01 .block01_txt {
  width: 5rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #0067a2;
  text-align: center;
  padding-top: 2.5rem;
  position: relative;
  z-index: 2;
}
.contact01 .container .contact01_flow_list01 .list01_block01 .block01_txt::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background-color: #fff;
  border: solid 1px #a5a5a5;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.contact01 .container .contact01_flow_list01 .list01_block01 .block01_txt.active {
  color: #0067a2;
}
.contact01 .container .contact01_flow_list01 .list01_block01 .block01_txt.active::before {
  border: solid 0.1rem #0067a2;
  background-color: #0067a2;
}
.contact01 .container .contact01_list01 {
  width: 100%;
  margin-top: 3rem;
}
.contact01 .container .contact01_ttl01 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 2rem;
}
.contact01 .container .agree_block01 {
  width: 100%;
  height: 20rem;
  padding: 1.5rem;
  border: 0.1rem solid #cbcbcb;
  overflow-y: scroll;
  margin-top: 1rem;
}
.contact01 .container .agree_block01 .block01_box01 {
  width: 100%;
}
.contact01 .container .agree_block01 .block01_box01 .box01_ttl {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 1.5rem;
}
.contact01 .container .agree_block01 .block01_box01 .box01_ttl:first-of-type {
  margin-top: 0;
}
.contact01 .container .agree_block01 .block01_box01 .box01_txt {
  font-size: 1.4rem;
  margin-top: 0.3rem;
}
.contact01 .container .agree_check {
  width: 100%;
  text-align: center;
  margin-top: 1rem;
}
.contact01 .container .agree_check span {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  cursor: pointer;
}
.contact01 .container .contact_btn01 {
  width: 100%;
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.contact01 .container .contact_btn01 button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 17rem;
  height: 5rem;
  border: solid 0.2rem #0067a2;
  background-color: #0067a2;
  border-radius: 0.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.2s;
  margin-right: 1.5rem;
}
.contact01 .container .contact_btn01 button:last-of-type {
  margin-right: 0;
}
.contact01 .container .contact_btn01 button::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-top: solid 0.2rem #fff;
  border-right: solid 0.2rem #fff;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.2s;
}
.contact01 .container .contact_btn01 button span {
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: inline-block;
  transition: 0.2s;
}
.contact01 .container .contact_btn01 button:hover {
  background-color: #fff;
  transition: 0.2s;
}
.contact01 .container .contact_btn01 button:hover::before {
  border-top: solid 0.2rem #0067a2;
  border-right: solid 0.2rem #0067a2;
  right: 1rem;
  transition: 0.2s;
}
.contact01 .container .contact_btn01 button:hover span {
  color: #0067a2;
  transition: 0.2s;
}
.contact01 .container .contact_btn01 button.back {
  border: solid 2px #929292;
  background-color: #929292;
}
.contact01 .container .contact_btn01 button.back::before {
  display: none;
}
.contact01 .container .contact_btn01 button.back:hover {
  background-color: #929292;
  opacity: 0.7;
}
.contact01 .container .contact_btn01 button.back:hover span {
  color: #fff;
}
.contact01 .container .contact01_btn02 {
  margin-top: 5rem;
}
.contact01 .container .contact01_btn03 {
  margin-top: 5rem;
}
.contact01 .container .contact01_btn03 a {
  margin: 0 auto;
}
.contact01.confirm .confirm_none {
  display: none;
}
.contact01.confirm .contact_btn01 {
  margin-top: 5rem;
}

.common_contact_list01 {
  width: 100%;
}
.common_contact_list01 dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 2rem 1rem 1rem;
  position: relative;
}
.common_contact_list01 dt .indnet {
  text-indent: -0.5em;
  display: inline-block;
}
.common_contact_list01 dt > span {
  position: relative;
  padding-right: 5rem;
}
.common_contact_list01 dt > span::before {
  content: "";
  font-size: 1.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  background-color: #929292;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: 0;
  padding: 0.5rem 0.8rem;
  box-sizing: border-box;
  transform: translateY(-50%);
}
.common_contact_list01 dt > span.required::before {
  content: "必須";
  background-color: #0067a2;
}
.common_contact_list01 dt > span.any::before {
  content: "任意";
  background-color: #929292;
}
.common_contact_list01 dd {
  width: 100%;
  padding: 0 1rem 2rem;
  border-bottom: 0.2rem solid #0067a2;
}
.common_contact_list01 dd .wrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.common_contact_list01 dd .wrapper .txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.common_contact_list01 dd .wrapper .dd_name_box {
  display: flex;
  align-items: center;
  margin-right: 1rem;
}
.common_contact_list01 dd .wrapper .dd_name_box:last-of-type {
  margin-right: 0;
}
.common_contact_list01 dd .wrapper .dd_name_box .txt {
  margin-right: 1rem;
}
.common_contact_list01 dd .wrapper .dd_name_box input {
  width: 12rem;
}
.common_contact_list01 dd .wrapper .dd_address_box01 {
  width: 100%;
  display: flex;
  align-items: center;
}
.common_contact_list01 dd .wrapper .dd_address_box01 .txt {
  margin-right: 1rem;
}
.common_contact_list01 dd .wrapper .dd_address_box01 input {
  width: 12rem;
}
.common_contact_list01 dd .wrapper .dd_address_box02,
.common_contact_list01 dd .wrapper .dd_address_box03,
.common_contact_list01 dd .wrapper .dd_address_box04 {
  width: 100%;
  margin-top: 1rem;
}
.common_contact_list01 dd .wrapper .dd_address_box02 .txt,
.common_contact_list01 dd .wrapper .dd_address_box03 .txt,
.common_contact_list01 dd .wrapper .dd_address_box04 .txt {
  width: 100%;
}
.common_contact_list01 dd .wrapper .dd_address_box02 input,
.common_contact_list01 dd .wrapper .dd_address_box03 input,
.common_contact_list01 dd .wrapper .dd_address_box04 input {
  width: 100%;
  margin-top: 1rem;
}
.common_contact_list01 dd .wrapper .dd_address_box02.flex .wrapper,
.common_contact_list01 dd .wrapper .dd_address_box03.flex .wrapper,
.common_contact_list01 dd .wrapper .dd_address_box04.flex .wrapper {
  margin-top: 1rem;
}
.common_contact_list01 dd .wrapper .dd_address_box02.flex .wrapper:first-of-type,
.common_contact_list01 dd .wrapper .dd_address_box03.flex .wrapper:first-of-type,
.common_contact_list01 dd .wrapper .dd_address_box04.flex .wrapper:first-of-type {
  margin-top: 0;
}
.common_contact_list01 dd .wrapper .mwform-radio-field {
  width: 100%;
  display: block;
  margin-top: 1rem;
  margin-left: 0;
}
.common_contact_list01 dd .wrapper .mwform-radio-field:first-of-type {
  margin-top: 0;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label {
  cursor: pointer;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label input {
  display: none;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label span {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 2.4rem;
  position: relative;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label span::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border: solid 0.1rem #cbcbcb;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0;
  box-sizing: border-box;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label span::after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border: solid 0.1rem #0067a2;
  background-color: #0067a2;
  border-radius: 50%;
  position: absolute;
  top: 0.7rem;
  left: 0.2rem;
  box-sizing: border-box;
  opacity: 0;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label input:checked + span::after {
  opacity: 1;
}
.common_contact_list01 dd input,
.common_contact_list01 dd textarea {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0.3rem 0.5rem;
}
.common_contact_list01 dd textarea {
  min-height: 15rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** privacy
******************************************************************************
----------------------------------------------------------------------------*/
.privacy01 {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.privacy01 .container .privacy01_ttl {
  margin-top: 3rem;
}
.privacy01 .container .privacy01_ttl:first-of-type {
  margin-top: 0;
}
.privacy01 .container .privacy01_txt {
  margin-top: 1rem;
}
.privacy01 .container .dd_list01 {
  margin-top: 1rem;
}

.common_ttl11 {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 0.5rem;
  position: relative;
}
.common_ttl11::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #217CB0;
  position: absolute;
  bottom: 0;
  left: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** notfound
******************************************************************************
----------------------------------------------------------------------------*/
.notfound01 {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.notfound01 .container .notfound01_txt01 {
  width: 100%;
  text-align: center;
}
.notfound01 .container .notfound01_btn01 {
  margin-top: 3rem;
}
.notfound01 .container .notfound01_btn01 a {
  margin: 0 auto;
}

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft_100 {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #1e489d;
}
.ft_100 .ft {
  width: 100%;
}
.ft_100 .ft .ft_block01 {
  display: none;
}
.ft_100 .ft .ft_block02 {
  width: 100%;
}
.ft_100 .ft .ft_block02 .ft_logo {
  width: 14rem;
  margin: 0 auto;
}
.ft_100 .ft .ft_block02 .ft_logo a {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.ft_100 .ft .ft_block02 .ft_logo a .img {
  display: block;
}
.ft_100 .ft .ft_block02 .ft_logo a .txt {
  font-size: 1.2em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 0.5rem;
  text-align: center;
}
.ft_100 .ft .ft_block02 .copyright {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.135em;
  text-align: center;
  margin-top: 2rem;
}

.pagetop {
  display: block;
  position: fixed;
  right: 3rem;
  bottom: 1rem;
  z-index: 98;
  cursor: pointer;
  opacity: 0;
  z-index: -100;
  pointer-events: none;
  transition: opacity 0.2s;
}
.pagetop.show {
  opacity: 1;
  z-index: 1100;
  pointer-events: auto;
  transition: opacity 0.2s;
}
.pagetop div {
  display: block;
}
.pagetop div .txt {
  font-size: 1.2em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.11em;
  writing-mode: vertical-rl;
  display: block;
}
.pagetop div .scrollbar {
  width: 100%;
  height: 6rem;
  display: block;
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
}
.pagetop div .scrollbar::before {
  content: "";
  width: 0.1rem;
  height: 6rem;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  animation: slideIn 2s linear reverse infinite;
}
.pagetop.color01 div .txt {
  color: #1e489d;
}
.pagetop.color01 div .scrollbar::before {
  background-color: #1e489d;
}

.add_section01 {
  padding-top: 0;
}/*# sourceMappingURL=sp.css.map */