@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** common
*****************************************************************************
----------------------------------------------------------------------------*/
body {
  width: 100%;
  min-width: 1220px;
}

main {
  overflow: hidden;
}

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

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

picture {
  display: block;
}
picture img {
  display: block;
}

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

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

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

.anker {
  padding-top: 110px;
  margin-top: -110px;
  display: block;
}

.container_100 {
  width: 100%;
  padding: 0 20px;
}
.container_100 .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

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

.common_ttl01 {
  width: 100%;
}
.common_ttl01 .ttl {
  font-size: 3.25em;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: block;
  margin-left: -2px;
}
.common_ttl01 .txt {
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.27em;
  display: block;
  margin-top: -10px;
}

.common_ttl02 {
  width: 100%;
  padding-top: 34px;
  position: relative;
}
.common_ttl02::before {
  content: "";
  width: 21px;
  height: 20px;
  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: 1px;
}
.common_ttl02.no_icon {
  padding-top: 0;
}
.common_ttl02.no_icon::before {
  display: none;
}
.common_ttl02 .en {
  font-size: 1.875em;
  font-weight: 500;
  letter-spacing: 0.13em;
  display: block;
  margin-left: -2px;
}
.common_ttl02 .jp {
  font-size: 1em;
  color: rgba(51, 51, 51, 0.5);
  font-weight: 500;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 1px;
}
.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: 1em;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.12em;
}
.common_txt01.color01 {
  color: #fff;
}

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

.common_btn01 {
  width: 100%;
}
.common_btn01 a {
  width: 180px;
  display: block;
  padding-bottom: 12px;
  border-bottom: solid 1px #333;
  position: relative;
}
.common_btn01 a::before {
  content: "";
  width: 32px;
  height: 5px;
  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: 21px;
  transition: opacity 0.1s;
}
.common_btn01 a span {
  font-size: 1em;
  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 1px #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: 105px;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.14em;
  padding-bottom: 10px;
  border-bottom: 1px solid #dc0000;
  margin-top: 10px;
}
.common_list01 dt:first-of-type {
  margin-top: 0;
}
.common_list01 dd {
  width: calc(100% - 105px);
  font-size: 1em;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.14em;
  padding-left: 64px;
  padding-bottom: 10px;
  border-bottom: 1px solid #b9b9b9;
  margin-top: 10px;
}
.common_list01 dd:first-of-type {
  margin-top: 0;
}

.common_news_list01 {
  width: 100%;
}
.common_news_list01 li {
  width: 100%;
  margin-top: 13px;
}
.common_news_list01 li:first-of-type {
  margin-top: 0;
}
.common_news_list01 li a {
  width: 100%;
  display: block;
  padding-left: 8px;
  padding-bottom: 15px;
  border-bottom: 1px solid #f6f6f6;
  transition: 0.2s;
}
.common_news_list01 li a .date {
  width: 100%;
  font-size: 0.875em;
  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: 1em;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.14em;
  display: block;
  margin-top: 5px;
}
.common_news_list01 li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.hd_100 {
  width: 100%;
  padding: 20px 102px 10px 59px;
  position: fixed;
  z-index: 98;
}
.hd_100 .hd {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.hd_100 .hd .hd_logo {
  width: 170px;
  padding-top: 10px;
}
.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: flex;
}
.hd_100 .hd .hd_cv_list li {
  display: block;
}
.hd_100 .hd .hd_cv_list li a {
  width: 100%;
  height: 80px;
  display: block;
  position: relative;
  overflow: hidden;
}
.hd_100 .hd .hd_cv_list li 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;
}
.hd_100 .hd .hd_cv_list li a:hover::before {
  transform: translateX(0);
  transition: 0.4s;
}
.hd_100 .hd .hd_cv_list li.tel {
  width: 320px;
  margin-right: 2px;
}
.hd_100 .hd .hd_cv_list li.tel a {
  width: 100%;
  display: block;
  padding: 17px 10px 10px 77px;
  position: relative;
}
.hd_100 .hd .hd_cv_list li.tel a .icon {
  position: absolute;
  display: block;
  top: 18px;
  left: 29px;
  z-index: 1;
}
.hd_100 .hd .hd_cv_list li.tel a .num {
  font-size: 1.5em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  position: relative;
  z-index: 1;
  padding-left: 2px;
}
.hd_100 .hd .hd_cv_list li.tel a .txt {
  font-size: 0.875em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  position: relative;
  z-index: 1;
  margin-top: 6px;
}
.hd_100 .hd .hd_cv_list li.mail {
  width: 80px;
}
.hd_100 .hd .hd_cv_list li.mail a {
  width: 100%;
  display: block;
  position: relative;
}
.hd_100 .hd .hd_cv_list li.mail a .icon {
  width: 34px;
  position: absolute;
  display: block;
  top: 28px;
  left: 23px;
}

.nav_trigger {
  width: 80px;
  height: 80px;
  overflow: hidden;
  position: fixed;
  z-index: 100;
  top: 20px;
  right: 20px;
  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: 32px;
  height: 2px;
  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% - 10px);
}
.nav_trigger span:nth-of-type(2) {
  top: 50%;
}
.nav_trigger span:nth-of-type(3) {
  top: calc(50% + 10px);
}
.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: 0 20px;
  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%;
  max-width: 1200px;
  padding: 184px 0 100px;
  margin: 0 auto;
}
@media screen and (max-width: 939px) {
  .nav .nav_container {
    padding: 130px 0 100px;
  }
}
.nav .nav_container .nav_block01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 98px;
  border-bottom: solid 1px #fff;
}
.nav .nav_container .nav_block01 .block01_box01 {
  width: 65%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list {
  width: 180px;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list.box01_list01 {
  width: 100%;
  margin-bottom: 63px;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list.box01_list01 a {
  max-width: 180px;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt {
  width: 100%;
  margin-top: 64px;
}
.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.plivacy {
  margin-top: 45px;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt.plivacy a {
  font-size: 1.125em;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a {
  width: 100%;
  font-size: 1.25em;
  color: #fff;
  font-weight: 700;
  line-height: 1.2222222;
  letter-spacing: 0.16em;
  display: block;
  padding-bottom: 15px;
  border-bottom: 1px 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: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 18px;
  right: 0;
  transform-origin: bottom right;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a::before {
  width: 22px;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dt a::after {
  width: 6px;
  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: 100%;
  margin-top: 13px;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dd:first-of-type {
  margin-top: 16px;
}
.nav .nav_container .nav_block01 .block01_box01 .box01_list dd a {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 500;
  line-height: 1.125;
  letter-spacing: 0.16em;
  display: block;
  padding-left: 17px;
  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: 8px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 10px;
  left: 1px;
}
.nav .nav_container .nav_block01 .block01_box02 {
  width: 280px;
  padding-top: 191px;
}
.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%;
  height: 70px;
  display: block;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel {
  width: 100%;
  border: solid 1px #fff;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a {
  width: 100%;
  display: block;
  padding: 13px 10px 10px 67px;
  position: relative;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .icon {
  position: absolute;
  display: block;
  top: 15px;
  left: 27px;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .num {
  font-size: 1.375em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  display: block;
  padding-left: 2px;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .txt {
  font-size: 0.875em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 6px;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel a .txt span {
  margin-right: 8px;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail {
  width: 100%;
  border: solid 1px #fff;
  margin-top: 20px;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail a {
  width: 100%;
  display: block;
  padding: 24px 10px 10px 72px;
  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 {
  position: absolute;
  display: block;
  top: 25px;
  left: 34px;
}
.nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail a .txt {
  font-size: 1.25em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.11em;
  display: block;
}
@media screen and (max-width: 939px) {
  .nav .nav_container .nav_block01 {
    display: block;
    padding-bottom: 50px;
  }
  .nav .nav_container .nav_block01 .block01_box01 {
    width: 580px;
    margin: 0 auto;
  }
  .nav .nav_container .nav_block01 .block01_box02 {
    width: 580px;
    padding-top: 50px;
    margin: 0 auto;
  }
  .nav .nav_container .nav_block01 .block01_box02 .box02_list01 {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.tel {
    width: 280px;
  }
  .nav .nav_container .nav_block01 .block01_box02 .box02_list01 li.mail {
    width: 280px;
    margin-top: 0;
  }
}
.nav .nav_container .nav_block02 {
  width: 100%;
  padding-top: 94px;
}
.nav .nav_container .nav_block02 .block02_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-right: 3.75%;
}
.nav .nav_container .nav_block02 .block02_list01 li .wrapper .txt01 {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 18px;
  position: relative;
}
.nav .nav_container .nav_block02 .block02_list01 li .wrapper .txt01::before {
  content: "";
  width: 8px;
  height: 8px;
  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: 1em;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.13em;
  margin-top: -2px;
  margin-left: -2px;
}
.nav .nav_container .nav_block02 .block02_list01 li .wrapper .txt03 {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.17em;
  margin-top: -2px;
}
@media screen and (max-width: 1059px) {
  .nav .nav_container .nav_block02 {
    padding-top: 30px;
  }
  .nav .nav_container .nav_block02 .block02_list01 {
    width: 580px;
    margin: 0 auto;
    padding-right: 0;
  }
  .nav .nav_container .nav_block02 .block02_list01 li {
    width: 260px;
  }
  .nav .nav_container .nav_block02 .block02_list01 li:nth-of-type(n + 3) {
    margin-top: 20px;
  }
}

/*----------------------------------------------------------------------------
******************************************************************************
** mv
******************************************************************************
----------------------------------------------------------------------------*/
.mv {
  padding: 0;
}
.mv .container {
  max-width: initial;
  max-width: auto;
  position: relative;
}
.mv .container .add_bunner {
  width: 400px;
  position: absolute;
  bottom: 180px;
  right: -15px;
  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%;
  max-width: 1200px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  padding-top: 348px;
}
.mv .container .mv_block01 .block01_txt01 {
  width: 365px;
}
.mv .container .mv_block01 .block01_ttl01 {
  width: 421px;
  margin-top: 60px;
}
.mv .container .mv_scroll {
  display: block;
  position: absolute;
  right: 54px;
  bottom: 0;
  z-index: 3;
}
.mv .container .mv_scroll a {
  display: block;
}
.mv .container .mv_scroll a .txt {
  font-size: 0.875em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.11em;
  writing-mode: vertical-rl;
  display: block;
}
.mv .container .mv_scroll a .scrollbar {
  width: 100%;
  height: 80px;
  display: block;
  position: relative;
  overflow: hidden;
  margin-top: 22px;
}
.mv .container .mv_scroll a .scrollbar::before {
  content: "";
  width: 1px;
  height: 80px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  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: 920px;
  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 69px left calc(50% - 438px), url(../images/top/index01_bg02.png) no-repeat top 78px left calc(50% + 694px), #fafafa;
}

.index01 {
  background: -webkit-image-set(url(../images/top/index01_bg01.webp) 1x, url(../images/top/index01_bg01@2x.webp) 2x) no-repeat top 69px left calc(50% - 438px), -webkit-image-set(url(../images/top/index01_bg02.webp) 1x, url(../images/top/index01_bg02@2x.webp) 2x) no-repeat top 78px left calc(50% + 694px), #fafafa;
  background: image-set(url(../images/top/index01_bg01.webp) 1x, url(../images/top/index01_bg01@2x.webp) 2x) no-repeat top 69px left calc(50% - 438px), image-set(url(../images/top/index01_bg02.webp) 1x, url(../images/top/index01_bg02@2x.webp) 2x) no-repeat top 78px left calc(50% + 694px), #fafafa;
  padding-top: 166px;
  padding-bottom: 364px;
  position: relative;
  z-index: 1;
}
.index01::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 14.0625vw 100vw;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  left: 0;
  bottom: 80px;
  z-index: 1;
}
.index01::after {
  content: "";
  width: 100%;
  height: 80px;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.index01 .container {
  position: relative;
  z-index: 2;
  padding-right: 710px;
}
.index01 .container .index01_txt01 {
  margin-top: 35px;
}
.index01 .container .index01_txt02 {
  margin-top: 13px;
}

.index02 {
  padding-top: 58px;
  padding-bottom: 615px;
  background-color: #1e489d;
  position: relative;
  z-index: 2;
}
.index02::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 14.0625vw 100vw;
  border-color: transparent transparent #1e489d transparent;
  position: absolute;
  left: 0;
  top: 1px;
  z-index: 1;
  transform: translateY(-100%);
}
.index02 .container .index02_block01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-left: 80px;
}
.index02 .container .index02_block01 .block01_ttl01 {
  width: 520px;
  margin-top: 34px;
}
.index02 .container .index02_block01 .block02_txt01 {
  width: 600px;
}
.index02 .container .index02_block01 .block02_btn01 {
  width: 100%;
  padding-left: 520px;
  margin-top: 19px;
}
.index02 .container .index02_list01 {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
}
.index02 .container .index02_list01 li {
  width: 20%;
  overflow: hidden;
}
.index02 .container .index02_list01 li a {
  width: 100%;
  height: 480px;
  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: 200px;
  height: 15px;
  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: 189px;
  right: 41px;
  z-index: 1;
  transition: 0.3s;
}
.index02 .container .index02_list01 li a:hover::before {
  transform: scale(1.06);
  filter: blur(5px);
  transition: all 0.3s ease-out;
}
.index02 .container .index02_list01 li a:hover::after {
  right: 26px;
  transition: 0.3s;
}
.index02 .container .index02_list01 li a .txt {
  font-size: 1.375em;
  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: -8px;
  padding-left: 1px;
}
.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/cover;
  background: image-set(url(../images/top/index02_cate04_bg.webp) 1x, url(../images/top/index02_cate04_bg@2x.webp) 2x) no-repeat center/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 {
  padding-top: 120px;
  padding-bottom: 120px;
  position: relative;
}
.index03::before {
  content: "";
  width: 480px;
  height: 1440px;
  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: calc(50% - 1200px);
}
.index03 .container {
  padding-right: 600px;
  min-height: 480px;
  padding-top: 69px;
  position: relative;
}
.index03 .container .index03_img01 {
  width: 840px;
  position: absolute;
  top: 0;
  left: calc(50% + 120px);
}
.index03 .container .index03_txt01 {
  margin-top: 36px;
}
.index03 .container .index03_btn01 {
  margin-top: 63px;
}

.index04 .container {
  height: 480px;
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 139px;
  padding-left: 36px;
}
.index04 .container::before {
  content: "";
  width: 1560px;
  height: 480px;
  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: 67px;
}

.index05 {
  padding-top: 120px;
  padding-bottom: 120px;
  position: relative;
}
.index05::before {
  content: "";
  width: 960px;
  height: 1560px;
  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: -120px;
  left: calc(50% - 1440px);
  z-index: 1;
}
.index05 .container {
  padding-left: 600px;
  min-height: 480px;
  padding-top: 22px;
  position: relative;
}
.index05 .container .index05_img01 {
  width: 840px;
  position: absolute;
  top: 0;
  right: calc(50% + 120px);
  z-index: 2;
}
.index05 .container .index05_list01 {
  margin-top: 40px;
}
.index05 .container .index05_btn01 {
  margin-top: 49px;
}

.index06 {
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #fafafa;
  position: relative;
}
.index06::before {
  content: "";
  width: 960px;
  height: 240px;
  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;
  left: calc(50% + 480px);
  z-index: 1;
}
.index06 .container {
  position: relative;
  z-index: 2;
}
.index06 .container .index06_block01 {
  width: 100%;
  min-height: 480px;
  padding: 78px 77px 85px 81px;
  background-color: #fff;
}
.index06 .container .index06_block01 .block01_ttl01 {
  width: calc(100% - 680px);
  float: left;
  margin-top: 39px;
}
.index06 .container .index06_block01 .block_list01 {
  width: 680px;
  float: right;
}
.index06 .container .index06_block01 .block01_btn01 {
  width: calc(100% - 680px);
  float: left;
  margin-top: 66px;
}

.index07 {
  padding-top: 120px;
  padding-bottom: 119px;
}
.index07.color01 {
  padding-top: 61px;
  background-color: #f2f2f2;
}
.index07 .container .block01_txt01 {
  margin-top: 35px;
  text-align: center;
}
.index07 .container .index07_list01 {
  width: 100%;
  padding: 0 130px;
  display: flex;
  justify-content: space-between;
  margin-top: 31px;
}
.index07 .container .index07_list01 li {
  display: block;
}
.index07 .container .index07_list01 li a {
  width: 100%;
  height: 90px;
  display: block;
  position: relative;
  overflow: hidden;
}
.index07 .container .index07_list01 li.tel {
  width: 304px;
}
.index07 .container .index07_list01 li.tel a {
  width: 100%;
  display: block;
  padding: 28px 10px 10px 41px;
  position: relative;
}
.index07 .container .index07_list01 li.tel a .icon {
  position: absolute;
  display: block;
  top: 28px;
  left: 12px;
  z-index: 1;
}
.index07 .container .index07_list01 li.tel a .num {
  font-size: 1.75em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.13em;
  display: block;
  position: relative;
  z-index: 1;
  padding-left: 2px;
}
.index07 .container .index07_list01 li.tel a .txt {
  font-size: 0.875em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  position: relative;
  z-index: 1;
  margin-top: 6px;
  padding-left: 13px;
}
.index07 .container .index07_list01 li.tel a .txt span {
  margin-right: 7px;
}
.index07 .container .index07_list01 li.fax {
  width: 336px;
  border-left: 1px solid #cbcbcb;
}
.index07 .container .index07_list01 li.fax p {
  width: 100%;
  height: 90px;
  padding: 17px 10px 10px 39px;
}
.index07 .container .index07_list01 li.fax p .txt {
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0.06em;
  display: inline-block;
  margin-right: 8px;
}
.index07 .container .index07_list01 li.fax p .num {
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.09em;
  display: inline-block;
  position: relative;
  top: 3px;
}
.index07 .container .index07_list01 li.mail {
  width: 300px;
}
.index07 .container .index07_list01 li.mail a {
  width: 100%;
  display: block;
  position: relative;
  padding: 27px 10px 10px 84px;
  border-radius: 5px;
}
.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: 26px;
  position: absolute;
  display: block;
  top: 36px;
  left: 42px;
}
.index07 .container .index07_list01 li.mail a .txt {
  font-size: 1.25em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.16em;
  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: 220px;
  position: relative;
}
.fv::before {
  content: "";
  width: 100%;
  height: 360px;
  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: 344px;
}

.common_ttl03 {
  width: 100%;
  text-align: center;
}
.common_ttl03 .en {
  width: 100%;
  font-size: 1.125em;
  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.25em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 13px;
  position: relative;
  z-index: 2;
}
.common_ttl03 .bg {
  width: 100%;
  font-size: 8.125em;
  color: #f5f4f4;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  display: block;
  margin-top: -45px;
  position: relative;
  z-index: 1;
}

.Breadcrumb {
  width: 100%;
  padding: 21px 0;
}
.Breadcrumb ul {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.Breadcrumb ul li {
  display: inline-block;
  margin-right: 15px;
}
.Breadcrumb ul li:last-of-type {
  margin-right: 0;
}
.Breadcrumb ul li a,
.Breadcrumb ul li span {
  font-size: 0.875em;
  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: 4px;
  height: 2px;
  background-color: #94a1c8;
  position: absolute;
  top: 7px;
  right: -10px;
}
.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: 90px;
  overflow: hidden;
}
.mlife01 .container .mlife01_txt01 {
  max-width: 760px;
  margin: 0 auto;
}
.mlife01 .container .mlife01_ttl01 {
  margin-top: 122px;
}
.mlife01 .container .mlife01_block01 {
  margin-top: 51px;
}
.mlife01 .container .mlife01_block02 {
  margin-top: 60px;
}

.common_block01 {
  width: 100%;
  display: flex;
  padding-top: 70px;
  padding-bottom: 70px;
  position: relative;
}
.common_block01::before {
  content: "";
  width: calc(810px + (100vw - 100%) / 2);
  min-width: 1000px;
  height: 100%;
  background-color: #fafafa;
  position: absolute;
  top: 0;
  left: 390px;
}
.common_block01 .block01_tt01 {
  font-size: 6.25em;
  color: #f1f2f5;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  white-space: nowrap;
  position: absolute;
  top: -20px;
  left: 840px;
}
.common_block01 .block01_img01 {
  width: 50%;
  position: relative;
  z-index: 2;
}
.common_block01 .block01_img01::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 8px;
  border: solid 1px #1e489d;
  position: absolute;
  top: -21px;
  left: -32px;
}
.common_block01 .block01_box01 {
  width: 50%;
  padding: 70px 0 20px 40px;
  position: relative;
  z-index: 2;
}
.common_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
}
.common_block01 .block01_box01 .box01_ttl01 .sub {
  font-size: 1.25em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: block;
}
.common_block01 .block01_box01 .box01_ttl01 .ttl {
  font-size: 1.75em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: block;
}
.common_block01 .block01_box01 .box01_txt01 {
  margin-top: 13px;
}
.common_block01.revese::before {
  width: calc(890px + (100vw - 100%) / 2);
  left: auto;
  right: 310px;
}
.common_block01.revese .block01_tt01 {
  left: auto;
  right: 300px;
}
.common_block01.revese .block01_img01 {
  order: 2;
}
.common_block01.revese .block01_img01::before {
  top: 19px;
  left: 30px;
}
.common_block01.revese .block01_box01 {
  padding: 57px 40px 20px 0;
  order: 1;
}

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

.cv_area {
  padding-top: 100px;
  padding-bottom: 100px;
}
.cv_area.color01 {
  background-color: #e8ecf5;
}
.cv_area .container .cv_ttl01 {
  width: 100%;
  text-align: center;
  margin-top: -33px;
  margin-bottom: 53px;
}
.cv_area .container .cv_ttl01 .ttl {
  font-size: 2em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: inline-block;
  padding: 0 42px;
  position: relative;
}
.cv_area .container .cv_ttl01 .ttl::before, .cv_area .container .cv_ttl01 .ttl::after {
  content: "";
  width: 4px;
  height: 42px;
  background-color: #1e489d;
  position: absolute;
  top: 8px;
  transform: rotate(24deg);
  left: 0;
}
.cv_area .container .cv_ttl01 .ttl::after {
  left: auto;
  right: 0;
}
.cv_area .container .cv_block01 {
  width: 100%;
  display: flex;
}
.cv_area .container .cv_block01 .block01_box01 {
  width: calc(100% - 657px);
  padding: 95px 20px 20px;
  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% - 24px);
  height: calc(100% - 20px);
  border-radius: 3px;
  border: solid 1px #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.75em;
  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: 2em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 18px;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 {
  width: 100%;
  margin-top: 40px;
  position: relative;
  z-index: 3;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a {
  width: 330px;
  height: 50px;
  border-radius: 3px;
  padding-left: 29px;
  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: 62px;
  height: 1px;
  background-color: #7490c7;
  position: absolute;
  bottom: 17px;
  right: 22px;
  transform-origin: bottom right;
  transition: 0.2s;
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a::before {
  content: "";
  width: 10px;
  transform: rotate(40deg);
}
.cv_area .container .cv_block01 .block01_box01 .box01_btn01 a span {
  font-size: 1.25em;
  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: 657px;
}

.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%;
  display: flex;
}
.common_works_section02 .container .common_works_nav_list01 li {
  width: 25%;
}
.common_works_section02 .container .common_works_nav_list01 li a {
  width: 100%;
  height: 300px;
  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::after {
  content: "";
  width: 200px;
  height: 15px;
  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: 108px;
  right: 40px;
  z-index: 1;
  transition: 0.3s;
}
.common_works_section02 .container .common_works_nav_list01 li a .ttl {
  font-size: 1.5em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: inline-block;
}
.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: 30px;
  transition: 0.2s;
}

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

/*----------------------------------------------------------------------------
******************************************************************************
** construction
******************************************************************************
----------------------------------------------------------------------------*/
.construction01 {
  padding-top: 94px;
  padding-bottom: 92px;
}
.construction01 .container .construction01_list01 {
  margin-top: 48px;
}

.construction02 {
  padding-top: 97px;
  padding-bottom: 90px;
  background: url(../images/common/common_bg01.png);
}
.construction02 .container .construction02_block01 {
  margin-top: 30px;
}
.construction02 .container .construction02_block01 .block01_ttl01 .wrapper .icon {
  width: 55px;
  left: -18px;
}
.construction02 .container .construction02_block01 .block01_txt01 {
  width: 734px;
  margin: 34px auto 0;
}
.construction02 .container .construction02_block01 .block01_ttl02 {
  max-width: 821px;
  margin: 36px auto 0;
}
.construction02 .container .construction02_block01 .block01_box01 {
  margin-top: 48px;
}
.construction02 .container .construction02_block01 .block01_box02 {
  margin-top: 68px;
}
.construction02 .container .construction02_block01 .block01_box03 {
  margin-top: 68px;
}
.construction02 .container .construction02_block01 .block01_box04 {
  margin-top: 76px;
}
.construction02 .container .construction02_block02 {
  margin-top: 83px;
}
.construction02 .container .construction02_block02 .block02_ttl01 .wrapper .icon {
  width: 38px;
  left: -15px;
}
.construction02 .container .construction02_block02 .block02_txt01 {
  width: 734px;
  margin: 34px auto 0;
}
.construction02 .container .construction02_block02 .block02_list01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 36px;
}
.construction02 .container .construction02_block03 {
  margin-top: 73px;
}
.construction02 .container .construction02_block03 .block03_ttl01 .wrapper .icon {
  width: 54px;
  left: -16px;
}
.construction02 .container .construction02_block03 .block03_txt01 {
  width: 734px;
  margin: 34px auto 0;
}
.construction02 .container .construction02_block03 .block03_list01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 36px;
}
.construction02 .container .construction02_block04 {
  margin-top: 73px;
}
.construction02 .container .construction02_block04 .block04_ttl01 .wrapper .icon {
  width: 42px;
  left: 0;
}
.construction02 .container .construction02_block04 .block04_txt01 {
  width: 734px;
  margin: 34px auto 0;
}
.construction02 .container .construction02_block04 .block04_list01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 36px;
}

.common_list02 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.common_list02 li {
  width: 360px;
}
.common_list02 li .list_img01 {
  width: 100%;
}
.common_list02 li .list_txt01 {
  width: 100%;
  font-size: 1em;
  font-weight: 700;
  color: #94a1c8;
  letter-spacing: 0.12em;
  margin-top: 21px;
}
.common_list02 li .list_ttl01 {
  width: 100%;
  min-height: 70px;
  font-size: 1.375em;
  color: #1e489d;
  line-height: 1.545454;
  letter-spacing: 0.12em;
  margin-top: -1px;
}
.common_list02 li .list_txt02 {
  width: 100%;
  line-height: 1.75;
  margin-top: 15px;
}

.common_block02 {
  width: 100%;
  padding: 90px 68px 68px;
  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: 90px;
  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: 14px 19px 0 19px;
  border-color: #1e489d transparent transparent transparent;
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translate(-50%, 100%);
}
.common_ttl05 .wrapper {
  position: relative;
}
.common_ttl05 .wrapper .icon {
  width: 50px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-100%, -50%);
}
.common_ttl05 .wrapper .ttl {
  font-size: 1.5em;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: inline-block;
}

.common_ttl06 {
  width: 100%;
  position: relative;
}
.common_ttl06::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50px;
  background: url(../images/common/common_ttl06_bg01.png);
  position: absolute;
  bottom: -8px;
  right: -8px;
}
.common_ttl06 .ttl_wrapper {
  min-height: 86px;
  border: solid 2px #17397f;
  border-radius: 50px;
  background-color: #fff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.common_ttl06 .ttl_wrapper::before {
  content: "";
  width: 30px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 52%;
  transform: translate(-50%, 100%);
}
.common_ttl06 .ttl_wrapper::after {
  content: "";
  width: 30px;
  height: 2px;
  background-color: #17397f;
  position: absolute;
  bottom: 0;
  left: 52%;
  transform: translate(-50%, 100%) rotate(-53deg);
  transform-origin: right;
}
.common_ttl06 .ttl_wrapper .txt {
  font-size: 1em;
  line-height: 1.9;
  letter-spacing: 0.12em;
  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;
}
.common_box01 .box01_img01 {
  width: 520px;
}
.common_box01 .box01_inner01 {
  width: calc(100% - 520px);
  padding: 39px 0 0 32px;
}
.common_box01 .box01_inner01 .inner01_ttl01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  left: -52px;
}
.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.25em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
  display: inline-block;
  padding: 5px 0 7px 8px;
  border: solid 2px #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.25em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
  display: inline-block;
  background-color: #1e489d;
  padding: 5px 0 7px 8px;
  border: solid 2px #1e489d;
  display: inline-block;
}
.common_box01 .box01_inner01 .inner01_txt01 {
  margin-top: 11px;
}
.common_box01 .box01_inner01 .inner01_note01 {
  margin-top: 7px;
}
.common_box01 .box01_inner01 .inner01_img01 {
  margin-top: 26px;
}
.common_box01 .box01_inner01 .inner01_img01 img {
  margin: 0 auto;
}
.common_box01.revese .box01_img01 {
  order: 2;
}
.common_box01.revese .box01_inner01 {
  padding: 39px 40px 0 0;
  order: 1;
}
.common_box01.revese .box01_inner01 .inner01_ttl01 {
  left: 156px;
}

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

.common_cv_block01 {
  width: 100%;
  border-radius: 8px;
  border: solid 2px #1e489d;
  padding: 36px 60px 38px;
  background-color: #e8ecf5;
}
.common_cv_block01 .block01_ttl01 {
  width: 100%;
  font-size: 1.375em;
  font-weight: 700;
  line-height: 1.36363636;
  letter-spacing: 0.12em;
  text-align: center;
}
.common_cv_block01 .block01_list01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 23px;
}
.common_cv_block01 .block01_list01 li {
  display: block;
}
.common_cv_block01 .block01_list01 li a {
  width: 100%;
  height: 90px;
  display: block;
  position: relative;
  overflow: hidden;
}
.common_cv_block01 .block01_list01 li.tel {
  width: 304px;
}
.common_cv_block01 .block01_list01 li.tel a {
  width: 100%;
  display: block;
  padding: 28px 10px 10px 41px;
  position: relative;
}
.common_cv_block01 .block01_list01 li.tel a .icon {
  position: absolute;
  display: block;
  top: 28px;
  left: 12px;
  z-index: 1;
}
.common_cv_block01 .block01_list01 li.tel a .num {
  font-size: 1.75em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.13em;
  display: block;
  position: relative;
  z-index: 1;
  padding-left: 2px;
}
.common_cv_block01 .block01_list01 li.tel a .txt {
  font-size: 0.875em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
  position: relative;
  z-index: 1;
  margin-top: 6px;
  padding-left: 13px;
}
.common_cv_block01 .block01_list01 li.tel a .txt span {
  margin-right: 7px;
}
.common_cv_block01 .block01_list01 li.fax {
  width: 336px;
  border-left: 1px solid #cbcbcb;
}
.common_cv_block01 .block01_list01 li.fax p {
  width: 100%;
  height: 90px;
  padding: 17px 10px 10px 39px;
}
.common_cv_block01 .block01_list01 li.fax p .txt {
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0.06em;
  display: inline-block;
  margin-right: 8px;
}
.common_cv_block01 .block01_list01 li.fax p .num {
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.09em;
  display: inline-block;
  position: relative;
  top: 3px;
}
.common_cv_block01 .block01_list01 li.mail {
  width: 300px;
}
.common_cv_block01 .block01_list01 li.mail a {
  width: 100%;
  display: block;
  position: relative;
  padding: 27px 10px 10px 84px;
  border-radius: 5px;
}
.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: 26px;
  position: absolute;
  display: block;
  top: 36px;
  left: 42px;
}
.common_cv_block01 .block01_list01 li.mail a .txt {
  font-size: 1.25em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.16em;
  position: relative;
  z-index: 1;
}

.common_btn02 {
  width: 100%;
}
.common_btn02 a {
  display: inline-block;
  position: relative;
}
.common_btn02 a::before {
  content: "";
  width: 32px;
  height: 5px;
  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: 7px;
  transition: 0.2s;
}
.common_btn02 a span {
  font-size: 0.875em;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: inline-block;
  padding-right: 52px;
}
.common_btn02 a:hover::before {
  right: -10px;
  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: 77px;
  padding-bottom: 71px;
  background-color: #1b1b1b;
  position: relative;
}
.common_works_section01::before {
  content: "";
  width: 63.0208333%;
  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/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/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: 510px;
  margin-top: 21px;
}
.common_works_section01 .container .common_works_btn01 {
  margin-top: 13px;
}

/*----------------------------------------------------------------------------
******************************************************************************
** inspection
******************************************************************************
----------------------------------------------------------------------------*/
.inspection01 {
  padding: 87px 0 0;
  overflow: hidden;
}
.inspection01 .container {
  max-width: 100%;
  max-width: initial;
}
.inspection01 .container .inspection01_txt01 {
  width: 740px;
  margin: 0 auto;
}
.inspection01 .container .inspection01_block01 {
  width: 100%;
  background-color: #f2f2f2;
  padding: 76px 20px 121px;
  margin-top: 73px;
}
.inspection01 .container .inspection01_block01 .wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.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: 50px 125px 0 125px;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.inspection01 .container .inspection01_block02 .wrapper {
  width: 100%;
  max-width: 1200px;
  min-height: 306px;
  padding: 75px 20px 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.inspection01 .container .inspection01_block02 .wrapper .block02_txt01 {
  width: 100%;
  font-size: 2em;
  color: #fff;
  font-weight: 700;
  line-height: 1.4375;
  letter-spacing: 0.12em;
  text-align: center;
}

.common_list04 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 72px;
}
.common_list04 li {
  width: 280px;
  min-height: 180px;
  padding: 10px 5px;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
}
.common_list04 li::before {
  content: "";
  width: 50px;
  height: 50px;
  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.25em;
  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: 4px;
}

.inspection02 {
  padding-top: 77px;
  padding-bottom: 80px;
}
.inspection02 .container .inspection02_txt01 {
  width: 520px;
  margin: 42px auto 0;
}
.inspection02 .container .inspection02_list01 {
  width: 100%;
  display: flex;
  margin-top: 60px;
}
.inspection02 .container .inspection02_list01 li {
  width: 380px;
  height: 200px;
  padding: 46px 20px 20px 30px;
  background-color: #eeeeee;
  margin-right: 20px;
  position: relative;
}
.inspection02 .container .inspection02_list01 li:last-of-type {
  margin-right: 0;
}
.inspection02 .container .inspection02_list01 li::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 0 100px 30px;
  border-color: transparent transparent transparent #eeeeee;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(100%);
  z-index: 2;
}
.inspection02 .container .inspection02_list01 li::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 0 100px 30px;
  border-color: transparent transparent transparent #ffffff;
  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: 214px;
  height: 42px;
  font-size: 1.25em;
  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: 50px;
  margin: 0 auto;
}
.inspection02 .container .inspection02_list01 li .list_txt01 {
  width: 100%;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 14px;
}

.inspection03 {
  padding: 77px 0 0;
}
.inspection03 .container {
  max-width: auto;
  max-width: initial;
}
.inspection03 .container .inspection03_block01 {
  width: 100%;
  padding: 100px 20px;
  background-color: #e8ecf5;
  margin-top: 47px;
}
.inspection03 .container .inspection03_block01 .wrapper {
  width: 100%;
  max-width: 1200px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box {
  width: 580px;
  padding: 52px 38px 26px 38px;
  background-color: #fff;
  border-radius: 3px;
  position: relative;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box::before {
  content: "";
  width: 100%;
  height: 100%;
  border: solid 1px #ddd;
  border-radius: 3px;
  position: absolute;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_ttl01 {
  width: 220px;
  height: 48px;
  font-size: 1.375em;
  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: 35px;
}
.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: 44px;
  height: 44px;
  font-size: 1.25em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  background-color: #ddd;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 25px;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01 dt .dt_txt {
  width: calc(100% - 69px);
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.416666;
  letter-spacing: 0.1em;
  padding-top: 4px;
  white-space: nowrap;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box .box_list01 dd {
  width: 100%;
  margin-top: -1px;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box01::before {
  border: solid 1px #cd2c3a;
  top: 9px;
  left: -23px;
}
.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::before {
  border: solid 1px #1e489d;
  top: 9px;
  right: -23px;
}
.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;
}
.inspection03 .container .inspection03_block01 .wrapper .block01_box.block01_box02 .box_list01 dd {
  margin-top: 10px;
}

.inspection04 {
  padding-top: 78px;
  padding-bottom: 119px;
}
.inspection04 .container .inspection04_list01 {
  width: 100%;
  margin-top: 48px;
  display: flex;
  justify-content: space-between;
}

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

.polyurea01 {
  padding: 83px 0 0;
}
.polyurea01 .container {
  max-width: initial;
  max-width: auto;
}
.polyurea01 .container .add_bunner {
  width: 570px;
  margin: 0 auto 30px;
}
.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: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  margin-top: 73px;
}
.polyurea01 .container .polyurea01_nav_list li {
  display: inline-block;
}
.polyurea01 .container .polyurea01_nav_list li a {
  width: 230px;
  height: 80px;
  font-size: 20px;
  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: 5px 23px 5px 5px;
  background-color: #1e489d;
  position: relative;
}
.polyurea01 .container .polyurea01_nav_list li a::before {
  content: "";
  width: 12px;
  height: 12px;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  box-sizing: border-box;
  position: absolute;
  top: calc(50% - 2px);
  right: 19px;
  transform: translateY(-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: 97px 20px 99px;
  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: 120px;
  overflow: hidden;
  position: relative;
}
.polyurea01 .container .polyurea01_block01 > .wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 {
  width: 100%;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 .box01_txt01 {
  max-width: 830px;
  margin: 40px auto 0;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 .box01_list01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 54px;
}
.polyurea01 .container .polyurea01_block01 > .wrapper .block01_box01 .box01_list01 li {
  width: 280px;
}

.polyurea02 {
  padding-top: 96px;
  padding-bottom: 102px;
  overflow: hidden;
}
.polyurea02 .container .polyurea02_txt01 {
  width: 100%;
  max-width: 840px;
  margin: 40px auto 0;
}
.polyurea02 .container .polyurea02_block01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
.polyurea02 .container .polyurea02_block01 .block01_img01 {
  width: 567px;
  margin-top: 4px;
  margin-left: -24px;
}
.polyurea02 .container .polyurea02_block01 .block01_box01 {
  width: 620px;
  padding: 33px 25px 33px 34px;
  background-color: #e8ecf5;
}
.polyurea02 .container .polyurea02_block01 .block01_box01 .box01_txt02 {
  margin-top: 29px;
}

.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: 97px;
  padding-bottom: 99px;
  background-color: #fafafa;
}
.polyurea03 .container .polyurea03_ilst01 {
  width: 100%;
  padding: 60px 20px 61px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  margin-top: 50px;
}
.polyurea03 .container .polyurea03_ilst01 li {
  width: 350px;
  margin-right: 30px;
}
.polyurea03 .container .polyurea03_ilst01 li:last-of-type {
  margin-right: 0;
}
.polyurea03 .container .polyurea03_ilst01 li .list_ttl {
  width: 310px;
  height: 42px;
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 50px;
  padding: 5px;
  background-color: #1e489d;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.polyurea03 .container .polyurea03_ilst01 li .list_video {
  width: 100%;
  margin-top: 20px;
}
.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 {
  min-width: 580px;
  min-height: 50px;
  font-size: 28px;
  color: #1e489d;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  display: inline-block;
  padding: 9px 10px;
  background-color: #efefef;
  border-radius: 50px;
}

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

.polyurea04 {
  padding-top: 97px;
  padding-bottom: 94px;
}
.polyurea04 .container .polyurea04_txt01 {
  width: 639px;
  white-space: nowrap;
  margin: 42px auto 0;
}
.polyurea04 .container .polyurea04_block01 {
  width: 100%;
  margin-top: 30px;
}
.polyurea04 .container .polyurea04_block01 .block01_txt01 {
  margin-top: 15px;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap {
  width: 100%;
  margin-top: 33px;
}
.polyurea04 .container .polyurea04_block01 .block01_table_wrap .block01_table {
  width: 100%;
}
.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: 1036px;
  margin: 33px auto 0;
}
.polyurea04 .container .polyurea04_block02 .block01_table_wrap .block01_table {
  width: 100%;
}
.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:nth-of-type(7) span {
  left: 50%;
  transform: translateX(-50%);
}
.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: 97px;
  padding-bottom: 100px;
  background: url(../images/common/common_bg01.png);
}
.polyurea05 .container .polyurea05_nav01 {
  width: 100%;
  padding: 10px 0 24px 61px;
  background-color: #fff;
  margin-top: 48px;
}
.polyurea05 .container .polyurea05_nav01 li {
  display: inline-block;
  margin-top: 24px;
  margin-right: 31px;
}
.polyurea05 .container .polyurea05_nav01 li a {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  display: inline-block;
  padding-right: 31px;
  position: relative;
  transition: 0.2s;
}
.polyurea05 .container .polyurea05_nav01 li a::before {
  content: "";
  width: 10px;
  height: 10px;
  border-right: solid 2px #1e489d;
  border-bottom: solid 2px #1e489d;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
}
.polyurea05 .container .polyurea05_nav01 li a::after {
  content: "";
  width: calc(100% - 10px);
  height: 2px;
  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: 61px;
}

.common_polyurea_block01 {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.common_polyurea_block01 .block01_ttl01 {
  width: 100%;
  min-height: 90px;
  display: flex;
  background-color: #1e489d;
  position: relative;
}
.common_polyurea_block01 .block01_ttl01::before {
  content: "";
  width: 56px;
  height: 20px;
  background-color: #1e489d;
  -webkit-clip-path: polygon(50% 20px, 0% 0%, 56px 0%);
          clip-path: polygon(50% 20px, 0% 0%, 56px 0%);
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translate(-50%, 100%);
}
.common_polyurea_block01 .block01_ttl01 .title {
  width: 151px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.common_polyurea_block01 .block01_ttl01 .title::before {
  content: "";
  width: 1px;
  height: calc(100% - 20px);
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.common_polyurea_block01 .block01_ttl01 .title .icon {
  display: inline-block;
  margin-right: 13px;
}
.common_polyurea_block01 .block01_ttl01 .title .ttl {
  font-size: 24px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
.common_polyurea_block01 .block01_ttl01 .txt {
  width: calc(100% - 150px);
  padding: 15px 30px;
  display: flex;
  align-items: center;
}
.common_polyurea_block01 .block01_ttl01 .txt p {
  letter-spacing: 0.05em;
}
.common_polyurea_block01 .block01_box01 {
  width: 100%;
  padding: 53px 40px 60px;
  background-color: #fff;
}
.common_polyurea_block01 .block01_box01 .box01_list01 {
  width: 100%;
  display: flex;
  justify-content: center;
}
.common_polyurea_block01 .block01_box01 .box01_list01 li {
  width: 540px;
  margin-right: 34px;
}
.common_polyurea_block01 .block01_box01 .box01_list01 li:nth-of-type(2n), .common_polyurea_block01 .block01_box01 .box01_list01 li:last-of-type {
  margin-right: 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;
  margin-top: 39px;
}
.common_polyurea_block01 .block01_box01 .box01_list02 li {
  width: 360px;
  position: relative;
  margin-top: 30px;
  margin-right: 20px;
}
.common_polyurea_block01 .block01_box01 .box01_list02 li:nth-of-type(-n + 3) {
  margin-top: 0;
}
.common_polyurea_block01 .block01_box01 .box01_list02 li:nth-of-type(3n), .common_polyurea_block01 .block01_box01 .box01_list02 li:last-of-type {
  margin-right: 0;
}
.common_polyurea_block01 .block01_box01 .box01_list02 li .list_ttl {
  width: 100%;
  height: 46px;
  font-size: 20px;
  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 {
  width: 151px;
}
.common_polyurea_block01.cat01 .block01_ttl01 .txt {
  width: calc(100% - 151px);
}
.common_polyurea_block01.cat02 .block01_ttl01 .title {
  width: 331px;
}
.common_polyurea_block01.cat02 .block01_ttl01 .txt {
  width: calc(100% - 331px);
}
.common_polyurea_block01.cat03 .block01_ttl01 .title {
  width: 256px;
}
.common_polyurea_block01.cat03 .block01_ttl01 .txt {
  width: calc(100% - 256px);
}
.common_polyurea_block01.cat03 .box01_list02 {
  margin-top: 0;
}
.common_polyurea_block01.cat03 .box01_list02 li {
  margin-right: 16px !important;
}
.common_polyurea_block01.cat03 .box01_list02 li:nth-of-type(2), .common_polyurea_block01.cat03 .box01_list02 li:nth-of-type(3) {
  width: 174px;
}
.common_polyurea_block01.cat03 .box01_list02 li:nth-of-type(4n) {
  margin-right: 0 !important;
}
.common_polyurea_block01.cat03 .box01_list02 li:nth-of-type(-n + 4) {
  margin-top: 0;
}
.common_polyurea_block01.cat04 .block01_ttl01 .title {
  width: 379px;
}
.common_polyurea_block01.cat04 .block01_ttl01 .txt {
  width: calc(100% - 379px);
  padding: 15px 15px 15px 25px;
}
.common_polyurea_block01.cat04 .box01_list02 {
  width: 950px;
  margin: 0 auto;
}
.common_polyurea_block01.cat04 .box01_list02 li {
  width: 174px;
  margin-right: 20px !important;
}
.common_polyurea_block01.cat04 .box01_list02 li:nth-of-type(5n) {
  margin-right: 0 !important;
}
.common_polyurea_block01.cat04 .box01_list02 li:nth-of-type(-n + 5) {
  margin-top: 0;
}
.common_polyurea_block01.cat05 .block01_ttl01 .title {
  width: 304px;
}
.common_polyurea_block01.cat05 .block01_ttl01 .txt {
  width: calc(100% - 304px);
}
.common_polyurea_block01.cat06 .block01_ttl01 .title {
  width: 178px;
}
.common_polyurea_block01.cat06 .block01_ttl01 .txt {
  width: calc(100% - 178px);
}
.common_polyurea_block01.cat06 .box01_list02 {
  margin-top: 0;
}
.common_polyurea_block01.cat06 .box01_list02 li {
  width: 270px;
  margin-top: 0 !important;
  margin-right: 13.333333px !important;
}
.common_polyurea_block01.cat06 .box01_list02 li:nth-of-type(4n) {
  margin-right: 0 !important;
}
.common_polyurea_block01.cat07 .block01_ttl01 .title {
  width: 229px;
}
.common_polyurea_block01.cat07 .block01_ttl01 .txt {
  width: calc(100% - 229px);
}
.common_polyurea_block01.cat07 .box01_list02 {
  justify-content: center;
  margin-top: 0;
}
.common_polyurea_block01.cat08 .block01_ttl01 .title {
  width: 306px;
}
.common_polyurea_block01.cat08 .block01_ttl01 .txt {
  width: calc(100% - 306px);
}
.common_polyurea_block01.cat08 .box01_list02 li {
  margin-right: 15px !important;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(2) {
  width: 180px;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(3) {
  width: 550px;
  margin-right: 0 !important;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(4) {
  width: 353px;
  margin: 35px 32px 0 3px !important;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(5) {
  margin-right: 12px !important;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(3n) {
  margin-right: 0 !important;
}
.common_polyurea_block01.cat08 .box01_list02 li:nth-of-type(-n + 3) {
  margin-top: 0;
}
.common_polyurea_block01.cat09 .block01_ttl01 .title {
  width: 177px;
}
.common_polyurea_block01.cat09 .block01_ttl01 .txt {
  width: calc(100% - 177px);
}
.common_polyurea_block01.cat09 .box01_list02 {
  margin-top: 0;
}

.common_ttl07 {
  width: 100%;
  text-align: center;
}
.common_ttl07 .ttl {
  font-size: 1.125em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: inline-block;
  padding: 0 35px;
  position: relative;
}
.common_ttl07 .ttl::before, .common_ttl07 .ttl::after {
  content: "";
  width: 2px;
  height: 24px;
  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;
}
.common_list03 li {
  width: 290px;
  margin-top: 36px;
  margin-right: 97px;
}
.common_list03 li:nth-of-type(-n + 3) {
  margin-top: 0;
}
.common_list03 li:nth-of-type(3n), .common_list03 li:last-of-type {
  margin-right: 0;
}
.common_list03 li:nth-of-type(3n) .list_img01::before, .common_list03 li:nth-of-type(3n) .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::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17.11px 0 17.11px 18.41px;
  border-color: transparent transparent transparent #607db9;
  position: absolute;
  top: 50%;
  right: -56px;
  transform: translateY(-50%);
  z-index: 2;
}
.common_list03 li .list_img01::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 10px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: -47px;
  transform: translateY(-50%);
  z-index: 3;
}
.common_list03 li .list_ttl {
  width: 100%;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.16em;
  margin-top: 6px;
}

.polyurea06 {
  padding-top: 100px;
  padding-bottom: 100px;
}
.polyurea06 .container .polyurea06_list01 {
  width: 1064px;
  margin: 46px auto 0;
  display: flex;
  justify-content: space-between;
}
.polyurea06 .container .polyurea06_list01 li {
  width: 310px;
}
.polyurea06 .container .polyurea06_list01 li .list_txt {
  width: 100%;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.16em;
  margin-top: 16px;
  padding-left: 10px;
}
.polyurea06 .container .polyurea06_block01 {
  width: 1064px;
  margin: 0 auto;
}

/*----------------------------------------------------------------------------
******************************************************************************
** environment
******************************************************************************
----------------------------------------------------------------------------*/
.environment01 {
  padding: 90px 0 0;
}
.environment01 .container {
  max-width: initial;
  max-width: auto;
}
.environment01 .container .environment_txt01 {
  text-align: center;
}
.environment01 .container .environment01_block01 {
  width: 100%;
  padding: 97px 20px 100px;
  background: -webkit-image-set(url(../images/environment/environment01_bg01.webp) 1x, url(../images/environment/environment01_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/environment/environment01_bg01.webp) 1x, url(../images/environment/environment01_bg01@2x.webp) 2x) no-repeat center/cover;
  margin-top: 74px;
  overflow: hidden;
  position: relative;
}
.environment01 .container .environment01_block01 > .wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.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: 20px;
}
.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: 10px;
  left: 0;
  transform: translateY(-100%);
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_txt01 {
  width: 478px;
  margin: 13px auto 0;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_inner01 {
  width: 100%;
  margin-top: 53px;
  padding-bottom: 100px;
  position: relative;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box01 .box01_inner01 .inner01_img02 {
  position: absolute;
  right: 0;
  bottom: 0;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box02 {
  width: 100%;
  margin-top: 89px;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box02 .box02_list01 {
  margin-top: 83px;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 {
  width: 100%;
  margin-top: 100px;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_txt01 {
  width: 750px;
  margin: 30px auto 0;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner.box03_inner01 {
  margin-top: 68px;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner.box03_inner02 {
  margin-top: 57px;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_ttl01 {
  width: 100%;
  font-size: 1.5em;
  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: 11px;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_txt01.arrow {
  padding-bottom: 24px;
  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: 12px 10px 0 10px;
  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: 20px;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box03 .box03_inner .inner_img01 img {
  margin: 0 auto;
}
.environment01 .container .environment01_block01 > .wrapper .block01_box04 {
  width: 1064px;
  margin: 100px auto 0;
}

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

.environment02 {
  padding: 102px 0 100px;
}
.environment02 .container .environment02_txt01 {
  width: 750px;
  margin: 13px auto 0;
}
.environment02 .container .environment02_ttl02 {
  margin-top: 25px;
}
.environment02 .container .environment02_img01 {
  width: 100%;
  margin-top: 22px;
}
.environment02 .container .environment02_img01 img {
  margin: 0 auto;
}
.environment02 .container .environment02_block01 {
  margin-top: 92px;
}
.environment02 .container .environment02_block01 .block01_ttl02 {
  margin-top: 57px;
}
.environment02 .container .environment02_block01 .block01_txt01 {
  text-align: center;
  margin-top: 5px;
}
.environment02 .container .environment02_block01 .block01_ttl03 {
  margin-top: 26px;
}
.environment02 .container .environment02_block01 .block01_img01 {
  margin-top: 18px;
}
.environment02 .container .environment02_block01 .block01_img01 img {
  margin: 0 auto;
}
.environment02 .container .environment02_block02 {
  margin-top: 48px;
}
.environment02 .container .environment02_block02 .block02_txt01 {
  text-align: center;
  margin-top: 5px;
}
.environment02 .container .environment02_block02 .block02_img01 {
  margin-top: 33px;
}
.environment02 .container .environment02_block02 .block02_img01 img {
  margin: 0 auto;
}
.environment02 .container .environment02_block03 {
  width: 100%;
  margin-top: 92px;
}
.environment02 .container .environment02_block03 .block03_ttl01 {
  width: 100%;
  font-size: 1.75em;
  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;
  justify-content: space-between;
  margin-top: 30px;
}
.environment02 .container .environment02_block03 .block03_list01 li {
  width: 220px;
  border: solid 1px #1e489d;
}
.environment02 .container .environment02_block03 .block03_list01 li .list_ttl01 {
  width: 100%;
  font-size: 1.125em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  padding: 12px 10px 11px;
  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: 7px 17px 0 17px;
  border-color: #1e489d transparent transparent transparent;
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translate(-50%, 100%);
}
.environment02 .container .environment02_block03 .block03_list01 li .list_txt01 {
  width: 100%;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.12em;
  padding: 10px 10px 16px;
}
.environment02 .container .environment02_block03 .block03_box01 {
  width: 100%;
  margin-top: 29px;
  border: 1px dashed #1e489d;
  padding: 20px 80px 26px 100px;
}
.environment02 .container .environment02_block03 .block03_box01 .box01_ttl01 {
  width: 100%;
  font-size: 1.25em;
  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.125em;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  margin-top: 6px;
}

.common_ttl09 {
  width: 100%;
  padding-top: 63px;
  position: relative;
}
.common_ttl09 .num01 {
  font-size: 4.5em;
  color: #dfe2ed;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
}
.common_ttl09 .txt01 {
  width: 100%;
  font-size: 1.5em;
  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: 1.75em;
  color: #1e489d;
  line-height: 1;
  letter-spacing: 0.12em;
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 4px solid #1e489d;
}
.common_ttl08 .ttl .ruby_p {
  position: relative;
  padding-top: 12px;
  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: 111px;
  padding-bottom: 100px;
}
.works01 .container .works01_nav {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.works01 .container .works01_nav li a {
  width: 286px;
  height: 90px;
  font-size: 1.5em;
  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 2px #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: 177px;
}
.works01 .container .works01_block02 {
  margin-top: 110px;
}
.works01 .container .works01_block03 {
  margin-top: 110px;
}
.works01 .container .works01_block04 {
  margin-top: 110px;
}

.common_works_block01 .block01_list01 {
  margin-top: 49px;
}
.common_works_block01 .block01_list02 {
  margin-top: 38px;
}
.common_works_block01 .block01_btn01 {
  margin-top: 71px;
}

.common_works_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.common_works_list01 li {
  margin-top: 38px;
}
.common_works_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}
.common_works_list01 li a {
  width: 580px;
  height: 100%;
  padding-right: 76px;
  border: solid 2px #1e489d;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  position: relative;
  transition: 0.2s;
}
.common_works_list01 li a::before {
  content: "";
  width: 40px;
  height: 40px;
  background: url(../images/common/common_btn01.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 13px;
  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: 1em;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: inline-block;
  padding: 6px 27px 9px 25px;
  background-color: #1e489d;
}
.common_works_list01 li a .list_ttl01 {
  width: 100%;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  padding: 16px 0 16px 17px;
}
.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: 17px;
}

.common_btn03 {
  width: 100%;
  text-align: center;
}
.common_btn03 a,
.common_btn03 span {
  font-size: 1.25em;
  font-weight: 700;
  color: #1e489d;
  line-height: 1.4;
  display: inline-block;
  letter-spacing: 0.12em;
  border-bottom: 2px solid #1e489d;
  padding-right: 80px;
  padding-bottom: 9px;
  position: relative;
  cursor: pointer;
}
.common_btn03 a::before, .common_btn03 a::after,
.common_btn03 span::before,
.common_btn03 span::after {
  content: "";
  width: 14px;
  height: 2px;
  background-color: #1e489d;
  position: absolute;
  top: 13px;
  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: 108px;
  padding-bottom: 99px;
}
.company01 .container .company01_block01 {
  width: 840px;
  margin: 32px auto 0;
}
.company01 .container .company01_block01 .block01_txt {
  width: 100%;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.444444;
  letter-spacing: 0.12em;
  margin-top: 26px;
}
.company01 .container .company01_block01 .block01_txt.block01_txt01 {
  margin-top: 0;
}
.company01 .container .company01_block01 .block01_txt08 {
  width: 100%;
  padding-right: 10px;
  margin-top: 46px;
}
.company01 .container .company01_block01 .block01_txt08 img {
  margin-left: auto;
}

.company02 {
  padding-top: 98px;
  padding-bottom: 99px;
  background-color: #f2f2f2;
}
.company02 .container .company02_block01 {
  padding: 58px 195px 40px;
  background-color: #fff;
  margin-top: 40px;
}

.company03 {
  padding-top: 89px;
  padding-bottom: 20px;
}
.company03 .container {
  max-width: 1064px;
}
.company03 .container .company03_block01 {
  margin-top: 60px;
}

.common_list05 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.common_list05 > dt {
  width: 120px;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  padding: 17px 0 19px 7px;
  border-bottom: 2px solid #0067a2;
}
.common_list05 > dd {
  width: calc(100% - 120px);
  padding: 17px 10px 19px 64px;
  border-bottom: 1px solid #cbcbcb;
}
.common_list05 > dd .dd_txt01 {
  width: 100%;
  font-size: 1em;
  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: 1em;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  padding-left: 18px;
  margin-top: 30px;
  position: relative;
}
.common_list05 > dd .dd_list01 dt::before {
  content: "";
  width: 11px;
  height: 11px;
  background-color: #1e489d;
  position: absolute;
  top: 7px;
  left: 0;
}
.common_list05 > dd .dd_list01 dt:first-of-type {
  margin-top: 0;
}
.common_list05 > dd .dd_list01 dd {
  width: 100%;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  margin-top: 6px;
}
.common_list05 > dd .dd_list02 {
  width: 100%;
}
.common_list05 > dd .dd_list02 li {
  width: 100%;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.875em;
  letter-spacing: 0.12em;
}

.common_company_block01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.common_company_block01 .block01_box01 {
  width: 50%;
  padding: 9px 0 0 39px;
  order: 2;
}
.common_company_block01 .block01_box01 .box01_list01 {
  width: 100%;
}
.common_company_block01 .block01_box01 .box01_list01 dt {
  width: 100%;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.666666;
  letter-spacing: 0.05em;
  padding-left: 19px;
  position: relative;
}
.common_company_block01 .block01_box01 .box01_list01 dt::before {
  content: "";
  width: 11px;
  height: 11px;
  background-color: #1e489d;
  position: absolute;
  top: 10px;
  left: 2px;
}
.common_company_block01 .block01_box01 .box01_list01 dd {
  width: 100%;
  font-size: 1em;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 0;
}
.common_company_block01 .block01_box01 .box01_list02 {
  width: 100%;
  margin-top: 20px;
}
.common_company_block01 .block01_box01 .box01_list02 dt {
  width: 100%;
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-bottom: 4px;
  border-bottom: 1px 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: 7px;
}
.common_company_block01 .block01_box01 .box01_list02 dd ul li {
  width: 100%;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  padding-left: 9px;
  position: relative;
}
.common_company_block01 .block01_box01 .box01_list02 dd ul li::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #1e489d;
  position: absolute;
  top: 12px;
  left: 2px;
}
.common_company_block01 .block01_box02 {
  width: 520px;
  order: 1;
}
.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: 115px;
  padding-bottom: 91px;
  overflow: hidden;
}
.business01 .container .business01_txt01 {
  width: 600px;
}
.business01 .container .business01_block01 {
  position: relative;
}
.business01 .container .business01_block01::before {
  content: "";
  width: 810px;
  height: 800px;
  background-color: #dbe2ef;
  position: absolute;
  top: -480px;
  right: -360px;
}
.business01 .container .business01_block02 {
  margin-top: 138px;
}
.business01 .container .business01_block02::before {
  content: "";
  width: 571px;
  height: 479px;
  background-color: #dbe2ef;
  position: absolute;
  top: -63px;
  left: -184px;
}
.business01 .container .business01_block02::after {
  content: "";
  width: 173px;
  height: 203px;
  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;
  top: 89px;
  left: -256px;
}
.business01 .container .business01_block03 {
  margin-top: 118px;
}
.business01 .container .business01_block03::before {
  content: "";
  width: 810px;
  height: 479px;
  background-color: #dbe2ef;
  position: absolute;
  top: -77px;
  right: -360px;
}
.business01 .container .business01_block03::after {
  content: "";
  width: 261px;
  height: 123px;
  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: 354px;
  right: -192px;
  z-index: 3;
}
.business01 .container .business01_block04 {
  margin-top: 118px;
}
.business01 .container .business01_block04::before {
  content: "";
  width: 608px;
  height: 515px;
  background-color: #dbe2ef;
  position: absolute;
  top: -85px;
  left: -360px;
}
.business01 .container .business01_block04::after {
  content: "";
  width: 189px;
  height: 110px;
  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: 127px;
  left: -128px;
  z-index: 3;
}
.business01 .container .business01_block05 {
  margin-top: 118px;
}
.business01 .container .business01_block05 .block01_box01 {
  position: relative;
}
.business01 .container .business01_block05 .block01_box01 .box01_img01 {
  position: absolute;
  top: -487px;
  right: -177px;
  z-index: 1;
}

.common_business_block01 {
  width: 100%;
  padding-top: 580px;
  position: relative;
  margin-top: 207px;
}
.common_business_block01 .block01_img01 {
  width: 1560px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.common_business_block01 .block01_box01 {
  width: 880px;
  position: relative;
  z-index: 2;
  padding: 49px 200px 50px 76px;
  background-color: #fff;
  margin-left: auto;
}
.common_business_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
  min-height: 80px;
  padding-top: 8px;
  padding-left: 112px;
  position: relative;
}
.common_business_block01 .block01_box01 .box01_ttl01 .num {
  font-family: "Roboto";
  font-size: 5em;
  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: 0.875em;
  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: 2em;
  color: #1e489d;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  display: block;
  margin-top: 2px;
}
.common_business_block01 .block01_box01 .box01_txt01 {
  width: 100%;
  margin-top: 14px;
}
.common_business_block01 .block01_box01 .box01_btn01 {
  margin-top: 16px;
}
.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 {
  padding: 49px 280px 50px 0;
  margin-left: 0;
  margin-right: auto;
}
.common_business_block01.revese .block01_box01 .box01_btn01 a {
  margin-left: 0;
  margin-right: auto;
}

.common_btn04 {
  width: 100%;
}
.common_btn04 a {
  width: 195px;
  height: 43px;
  font-size: 0.875em;
  color: #1e489d;
  font-weight: 700;
  letter-spacing: 0.12em;
  border: solid 1px #1e489d;
  display: flex;
  align-items: center;
  padding: 3px 70px 3px 13px;
  position: relative;
  transition: 0.2s;
}
.common_btn04 a::before {
  content: "";
  width: 32px;
  height: 5px;
  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: 35px;
  bottom: 17px;
  transition: 0.2s;
}
.common_btn04 a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.common_btn04 a:hover::before {
  right: 25px;
  transition: 0.2s;
}

/*----------------------------------------------------------------------------
******************************************************************************
** news
******************************************************************************
----------------------------------------------------------------------------*/
.news01 {
  padding-top: 60px;
  padding-bottom: 80px;
}
.news01 .container .news01_list01 {
  max-width: 1000px;
  margin: 0 auto;
}

.news_detail01 {
  padding-top: 60px;
  padding-bottom: 80px;
}
.news_detail01 .news_detail01_block01 {
  max-width: 1000px;
  margin: 0 auto;
}
.news_detail01 .news_detail01_block01 .category {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.news_detail01 .news_detail01_block01 .category span {
  font-size: 1em;
  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: 1.75em;
  color: #0067A2;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-bottom: 8px;
  border-bottom: 2px solid #0067A2;
  margin-top: 20px;
}
.news_detail01 .news_detail01_block01 .block01_data {
  width: 100%;
  font-size: 0.875em;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: right;
  margin-top: 7px;
}
.news_detail01 .news_detail01_block01 .block01_box01 {
  width: 100%;
  margin-top: 20px;
}

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

.common_article_btn01 {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 100px;
}
.common_article_btn01 .wrapper {
  position: relative;
  padding: 0 160px;
}
.common_article_btn01 .wrapper a {
  width: 110px;
  height: 40px;
  border: solid 1px #0067a2;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.common_article_btn01 .wrapper a span {
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #0067a2;
}
.common_article_btn01 .wrapper a.list {
  width: 160px;
}
.common_article_btn01 .wrapper a.prev {
  position: absolute;
  top: 0;
  left: 0;
}
.common_article_btn01 .wrapper a.prev span {
  padding-left: 30px;
}
.common_article_btn01 .wrapper a.prev span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-left: solid 2px #0067a2;
  border-bottom: solid 2px #0067a2;
  position: absolute;
  top: calc(50% + 1px);
  left: 11px;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.2s;
}
.common_article_btn01 .wrapper a.next {
  position: absolute;
  top: 0;
  right: 0;
}
.common_article_btn01 .wrapper a.next span {
  padding-right: 30px;
}
.common_article_btn01 .wrapper a.next span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: solid 2px #0067a2;
  border-bottom: solid 2px #0067a2;
  position: absolute;
  top: calc(50% + 1px);
  right: 11px;
  transform: translateY(-50%) rotate(-45deg);
  transition: 0.2s;
}
.common_article_btn01 .wrapper:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.common_article_btn01 .wrapper:hover.prev span::before {
  left: 6px;
  transition: 0.2s;
}
.common_article_btn01 .wrapper:hover.next span::before {
  opacity: 0.7;
  right: 6px;
  transition: 0.2s;
}

.editor_area h3 {
  width: 100%;
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-bottom: 8px;
  border-bottom: 2px solid #0067a2;
  margin-top: 50px;
}
.editor_area h4 {
  width: 100%;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 22px;
  padding-bottom: 13px;
  border-bottom: 1px solid #cbcbcb;
  position: relative;
  margin-top: 30px;
}
.editor_area h4::before {
  content: "";
  width: 4px;
  height: calc(100% - 7px);
  background-color: #0067a2;
  position: absolute;
  left: 0;
  top: -2px;
}
.editor_area p {
  width: 100%;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  margin-top: 20px;
}
.editor_area img {
  display: block;
  margin-top: 20px;
}
.editor_area img.alignright {
  margin: 20px 0 0 auto;
}
.editor_area img.aligncenter {
  margin: 20px auto 0;
}
.editor_area img.alignleft {
  margin: 20px auto 0 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** contact
******************************************************************************
----------------------------------------------------------------------------*/
.contact01 {
  padding-top: 85px;
  padding-bottom: 85px;
}
.contact01 .container .error {
  font-size: 1em !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: 90px;
}
.contact01 .container .contact01_flow_list01 .list01_block01 {
  width: 390px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  position: relative;
}
.contact01 .container .contact01_flow_list01 .list01_block01::before {
  content: "";
  width: calc(100% - 40px);
  height: 3px;
  background-color: #dddddd;
  position: absolute;
  top: 6.5px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.contact01 .container .contact01_flow_list01 .list01_block01 .block01_txt {
  width: 50px;
  font-size: 1em;
  font-weight: 500;
  color: #0067a2;
  text-align: center;
  padding-top: 34px;
  position: relative;
  z-index: 2;
}
.contact01 .container .contact01_flow_list01 .list01_block01 .block01_txt::before {
  content: "";
  width: 14px;
  height: 14px;
  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 1px #0067a2;
  background-color: #0067a2;
}
.contact01 .container .contact01_list01 {
  width: 810px;
  margin: 58px auto 0;
}
.contact01 .container .contact01_ttl01 {
  width: 100%;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 30px;
}
.contact01 .container .agree_block01 {
  width: 810px;
  height: 200px;
  padding: 20px;
  border: 1px solid #cbcbcb;
  overflow-y: scroll;
  margin: 10px auto 0;
}
.contact01 .container .agree_block01 .block01_box01 {
  width: 100%;
}
.contact01 .container .agree_block01 .block01_box01 .box01_ttl {
  width: 100%;
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 20px;
}
.contact01 .container .agree_block01 .block01_box01 .box01_ttl:first-of-type {
  margin-top: 0;
}
.contact01 .container .agree_block01 .block01_box01 .box01_txt {
  font-size: 0.875em;
  margin-top: 3px;
}
.contact01 .container .agree_check {
  width: 100%;
  text-align: center;
  margin-top: 20px;
}
.contact01 .container .agree_check span {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  cursor: pointer;
}
.contact01 .container .contact_btn01 {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.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: 300px;
  height: 70px;
  border: solid 2px #0067a2;
  background-color: #0067a2;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.2s;
  margin: 0 15px;
}
.contact01 .container .contact_btn01 button::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  right: 23px;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.2s;
}
.contact01 .container .contact_btn01 button span {
  font-size: 1em;
  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 2px #0067a2;
  border-right: solid 2px #0067a2;
  right: 13px;
  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: 50px;
}
.contact01 .container .contact01_btn03 {
  margin-top: 100px;
}
.contact01 .container .contact01_btn03 a {
  margin: 0 auto;
}
.contact01.confirm .confirm_none {
  display: none;
}
.contact01.confirm dd {
  padding-top: 31px;
}
.contact01.confirm .contact_btn01 {
  margin-top: 50px;
}

.common_contact_list01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.common_contact_list01 dt {
  width: 190px;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #0067a2;
  padding: 31px 52px 26px 13px;
  position: relative;
}
.common_contact_list01 dt .indnet {
  text-indent: -0.5em;
  display: inline-block;
}
.common_contact_list01 dt > span::before {
  content: "";
  width: 46px;
  height: 24px;
  font-size: 0.875em;
  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: 33px;
  right: 0;
  padding-bottom: 2px;
  box-sizing: border-box;
}
.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: calc(100% - 190px);
  padding: 26px 46px 26px 62px;
  border-bottom: 1px solid #cbcbcb;
}
.common_contact_list01 dd .wrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.common_contact_list01 dd .wrapper .txt {
  font-size: 1em;
  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: 32px;
}
.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: 13px;
}
.common_contact_list01 dd .wrapper .dd_name_box input {
  width: 220px;
}
.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: 13px;
}
.common_contact_list01 dd .wrapper .dd_address_box01 input {
  width: 130px;
}
.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: 10px;
}
.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: 5px;
}
.common_contact_list01 dd .wrapper .dd_address_box02.flex,
.common_contact_list01 dd .wrapper .dd_address_box03.flex,
.common_contact_list01 dd .wrapper .dd_address_box04.flex {
  display: flex;
  justify-content: space-between;
}
.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 {
  width: 49%;
}
.common_contact_list01 dd .wrapper .mwform-radio-field {
  width: 100%;
  display: block;
  padding-top: 5px;
  margin-top: 5px;
  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: 1em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 26px;
  position: relative;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label span::before {
  content: "";
  width: 16px;
  height: 16px;
  border: solid 1px #cbcbcb;
  border-radius: 50%;
  position: absolute;
  top: 4px;
  left: 0;
  box-sizing: border-box;
}
.common_contact_list01 dd .wrapper .mwform-radio-field label span::after {
  content: "";
  width: 12px;
  height: 12px;
  border: solid 1px #0067a2;
  background-color: #0067a2;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  left: 2px;
  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: 1em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 5px 10px;
}
.common_contact_list01 dd textarea {
  min-height: 200px;
}

/*----------------------------------------------------------------------------
******************************************************************************
** privacy
******************************************************************************
----------------------------------------------------------------------------*/
.privacy01 {
  padding-top: 85px;
  padding-bottom: 85px;
}
.privacy01 .container .privacy01_ttl {
  margin-top: 30px;
}
.privacy01 .container .privacy01_ttl:first-of-type {
  margin-top: 0;
}
.privacy01 .container .privacy01_txt {
  margin-top: 10px;
}
.privacy01 .container .dd_list01 {
  margin-top: 10px;
}

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

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

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft_100 {
  width: 100%;
  padding-top: 103px;
  padding-bottom: 19px;
  background-color: #1e489d;
}
.ft_100 .ft {
  width: 100%;
}
.ft_100 .ft .ft_block01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.ft_100 .ft .ft_block01 .block01_list01 {
  width: 560px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
}
.ft_100 .ft .ft_block01 .block01_list01 li {
  width: 260px;
  padding-bottom: 17px;
  border-bottom: solid 1px rgba(255, 255, 255, 0.5);
  margin-top: 22px;
}
.ft_100 .ft .ft_block01 .block01_list01 li:nth-of-type(1) {
  order: 1;
  margin-top: 0;
}
.ft_100 .ft .ft_block01 .block01_list01 li:nth-of-type(2) {
  order: 3;
}
.ft_100 .ft .ft_block01 .block01_list01 li:nth-of-type(3) {
  order: 2;
  margin-top: 0;
}
.ft_100 .ft .ft_block01 .block01_list01 li:nth-of-type(4) {
  order: 4;
}
.ft_100 .ft .ft_block01 .block01_list01 li:nth-of-type(2n) {
  margin-right: 0;
}
.ft_100 .ft .ft_block01 .block01_list01 li .wrapper .txt01 {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 18px;
  position: relative;
}
.ft_100 .ft .ft_block01 .block01_list01 li .wrapper .txt01::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.ft_100 .ft .ft_block01 .block01_list01 li .wrapper .txt02 {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.13em;
  margin-top: -2px;
  margin-left: -2px;
}
.ft_100 .ft .ft_block01 .block01_list01 li .wrapper .txt03 {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.17em;
  margin-top: -1px;
}
.ft_100 .ft .ft_block01 .block01_box01 {
  width: 560px;
  display: flex;
  justify-content: space-between;
  padding-top: 5px;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list {
  width: 160px;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt {
  width: 100%;
  margin-top: 28px;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt:first-of-type {
  margin-top: 0;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt.plivacy {
  margin-top: 12px;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt.plivacy a {
  font-size: 0.875em;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt a {
  width: 100%;
  font-size: 1em;
  color: #fff;
  font-weight: 700;
  line-height: 1.28571429;
  letter-spacing: 0.16em;
  display: block;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  position: relative;
  transition: 0.2s;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt a::before, .ft_100 .ft .ft_block01 .block01_box01 .box01_list dt a::after {
  content: "";
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 18px;
  right: 0;
  transform-origin: bottom right;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt a::before {
  width: 22px;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt a::after {
  width: 6px;
  transform: rotate(40deg);
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dt a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dd {
  width: 100%;
  margin-top: 5px;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dd:first-of-type {
  margin-top: 16px;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dd a {
  width: 100%;
  font-size: 0.875em;
  color: #fff;
  font-weight: 500;
  line-height: 1.28571429;
  letter-spacing: 0.16em;
  display: block;
  padding-left: 17px;
  position: relative;
  transition: 0.2s;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dd a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.ft_100 .ft .ft_block01 .block01_box01 .box01_list dd a::before {
  content: "";
  width: 8px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 9px;
  left: 1px;
}
.ft_100 .ft .ft_block02 {
  width: 100%;
  margin-top: 75px;
  display: flex;
  justify-content: space-between;
}
.ft_100 .ft .ft_block02 .ft_logo {
  display: inline-block;
}
.ft_100 .ft .ft_block02 .ft_logo a {
  display: flex;
  align-items: flex-end;
}
.ft_100 .ft .ft_block02 .ft_logo a .img {
  width: 157px;
  display: inline-block;
  margin-right: 23px;
}
.ft_100 .ft .ft_block02 .ft_logo a .txt {
  font-size: 0.875em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.06em;
  display: inline-block;
  position: relative;
  top: 4px;
}
.ft_100 .ft .ft_block02 .copyright {
  width: 250px;
  font-size: 0.625em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.135em;
  display: flex;
  align-items: flex-end;
  position: relative;
  top: 3px;
  left: 4px;
}

.pagetop {
  display: block;
  position: fixed;
  right: 54px;
  bottom: 10px;
  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: 0.875em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.11em;
  writing-mode: vertical-rl;
  display: block;
}
.pagetop div .scrollbar {
  width: 100%;
  height: 80px;
  display: block;
  position: relative;
  overflow: hidden;
  margin-bottom: 22px;
}
.pagetop div .scrollbar::before {
  content: "";
  width: 1px;
  height: 80px;
  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-bottom: 120px;
}

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

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

}
**//*# sourceMappingURL=pc.css.map */