@charset "utf-8";
.sp-only {
  display: none !important;
}
.inner {
  width: min(95%, 1238px);
  margin: auto;
}
.inner--small {
  width: min(95%, 1120px);
  margin: auto;
}
body {
  margin: 60px 0 0;
}
.img--hover {
  overflow: hidden;
  display: block;
}
.img--hover img {
  transform: scale(1);
  transition: all .3s ease-out 0s;
}
.img--hover:hover img {
  transform: scale(1.08);
}
.overflow {
  overflow: hidden;
}
.indent {
  display: block;
  padding: 0 0 0 1em;
  text-indent: -1em;
}
sub {
  line-height: 1;
  font-size: 65%;
  font-family: "Barlow", sans-serif;
  vertical-align: text-bottom;
}
/* == parts ============================================== */
.title_base {
  position: relative;
}
.title_base:not(.type--noBorder) {
  padding: 0 0 1.55em;
  border-bottom: solid 2px #E9E9E9;
}
.title_base:not(.type--noBorder)::before {
  content: '';
  width: 6.5625em;
  height: 2px;
  background: #861C3C;
  position: absolute;
  left: 0;
  bottom: -2px;
  z-index: 5;
  pointer-events: none;
}
.title_base.type--smallBorder {
  padding: 0 0 1.05em;
  margin: 0 0 1em;
}
.title_base.type--smallBorder::before {
  content: '';
  width: 2.5em;
  height: 3px;
  background: #861C3C;
  position: absolute;
  left: 0;
  bottom: -2px;
  z-index: 5;
  pointer-events: none;
}
.title_base.type--center {
  text-align: center;
}
.title_base.type--center::before {
  right: 0;
  margin: auto;
}
.title_base .en {
  color: #861C3C;
  line-height: 1;
  font-size: 87.5%;
  font-weight: 700;
}
.title_base .jp {
  font-size: 200%;
  font-weight: 600;
}
.title_base.type--tate {
  text-align: center;
}
.title_base.type--tate .jp span {
  display: block;
  width: 1em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: .5em;
  line-height: 1;
  margin: .5em auto 0;
}
.title_base small {
  font-size: 75%;
}
.title_border {
  background: #F5F5F5;
  border-left: solid 2px #861C3C;
  font-size: 125%;
  font-weight: 700;
  padding: .7em .85em;
}
.title_border.small {
  font-size: 112.5%;
  padding: .7em 1.2em;
}
/*-----*/
.btn_base {
  max-width: 540px;
  box-sizing: border-box;
  border: solid 1px #D4D4D4;
  border-radius: 3em;
  text-align: center;
  margin: auto;
  background: #fff;
  overflow: hidden;
  position: relative;
}
.btn_base::after {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: #861C3C;
  transition: all .5s;
}
.btn_base:hover::after {
  width: 100%;
  left: 0;
  right: auto;
}
.btn_base a {
  display: block;
  font-size: 112.5%;
  font-weight: 600;
  padding: .6em 2em;
  position: relative;
  z-index: 5;
  transition: all .5s;
}
.btn_base:hover a {
  color: #fff;
}
.btn_base a::before {
  content: '';
  width: 2.2em;
  height: .85em;
  background-color: #861C3C;
  background-image: url(../img/arrow01--on.svg);
  background-repeat: no-repeat;
  background-size: .7em auto;
  background-position: center;
  border-radius: 2em;
  position: absolute;
  z-index: 5;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all .5s;
}
.btn_base:hover a::before {
  background-color: #fff;
  background-image: url(../img/arrow01.svg);
}
.btn_base.type--small {
  width: 240px;
  text-align: left;
  margin: 0;
}
.btn_baseWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1em 4%;
}
.btn_baseWrap .btn_base {
  width: 48%;
  margin: 0;
}
.btn_baseWrap .btn_base a {
  font-size: 100%;
  text-align: left;
  padding: .6em 1.2em;
  letter-spacing: 0;
}
/**/
span.linkHover {
  display: block;
  width: 45px;
  height: 14px;
  box-sizing: border-box;
  border: solid 1px #861C3C;
  border-radius: 1em;
  background-color: #861C3C;
  position: absolute;
  right: 0;
  top: .04em;
  bottom: 0;
  margin: auto;
  overflow: hidden;
}
span.linkHover::before {
  content: '';
  width: 14px;
  height: 8px;
  background-image: url(../img/arrow01--on.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all .5s;
  z-index: 10;
}
span.linkHover::after {
  content: '';
  width: 0;
  height: 100%;
  background: #fff;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
a:hover span.linkHover::before {
  background-image: url(../img/arrow01.svg);
}
a:hover span.linkHover::after {
  width: 100%;
  left: 0;
  right: auto;
}
span.linkHover.type--white {
  background-color: #fff;
}
span.linkHover.type--white::before {
  background-image: url(../img/arrow01.svg);
}
span.linkHover.type--white::after {
  background-color: #861C3C;
}
a:hover span.linkHover.type--white::before {
  background-image: url(../img/arrow01--on.svg);
}
/**/
.link_more {
  position: relative;
  border-bottom: solid 1px #D4D4D4;
}
.link_more a {
  display: block;
  font-size: 112.5%;
  font-weight: 600;
  padding: .45em 0;
}
.link_more a::before {
  content: '';
  width: 0;
  height: 1px;
  position: absolute;
  right: 0;
  bottom: -1px;
  background: #861C3C;
  transition: all .5s;
}
.link_more a:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
/**/
.parts_otherLinks {
  background: #F8F7F3;
  padding: 4.05em 0;
}
.list_otherLinks {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.list_otherLinks > li {
  width: 31.584%;
}
.list_otherLinks > li a {
  display: block;
  width: 100%;
  height: 0;
  padding: 61.3% 0 0;
  position: relative;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  overflow: hidden;
  border-radius: .8em;
  transition: all .3s ease-out 0s;
}
.list_otherLinks > li a:hover {
  background-size: 108% auto;
}
.list_otherLinks > li.other01 a {
  background-image: url("../img/other_links01.webp");
}
.list_otherLinks > li.other02 a {
  background-image: url("../img/other_links02.webp");
}
.list_otherLinks > li.other03 a {
  background-image: url("../img/other_links03.webp");
}
.list_otherLinks > li span.other_name {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: rgba(255, 255, 255, .8);
  text-align: center;
  font-weight: 600;
  padding: .65em 0;
}
.list_otherLinks > li span.other_name .linkHover {
  right: 1.6em;
}
@media all and (max-width:1024px) {
  .list_otherLinks > li {
    font-size: 1.5625vw;
  }
}
/* == header ============================================== */
body.logged-in header {
  top: 32px;
}
@media all and (min-width:1025px) {
  #navTrigger {
    display: none;
  }
  header {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    background: #FFFFFF;
  }
  header .h_inner {
    max-width: 1300px;
    margin: auto;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 10;
  }
  header .h_logo {
    width: 135px;
    height: 28px;
    margin: 0 0 0 2.4%;
  }
  header .h_logo a {
    display: block;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 150%;
    background-image: url(../img/logo.svg);
    background-repeat: no-repeat;
    background-size: contain;
    transition: opacity .5s;
  }
  header .h_logo a:hover {
    opacity: .6;
  }
  header nav {
    width: min(calc(90% - 80px), 940px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 0 auto;
  }
  .list_mainNav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(95%, 645px);
  }
  .list_mainNav .bigLink {
    font-size: 93.75%;
    font-weight: 700;
  }
  .list_mainNav .bigLink > span, .list_mainNav .bigLink a {
    display: block;
    padding: 1.1em 1em 1.1em 0;
    position: relative;
  }
  .list_mainNav .bigLink.none a {
    padding: 1.1em 0;
  }
  .list_mainNav .bigLink > span::before {
    content: '';
    width: .5em;
    height: .5em;
    border-top: solid 1px #861C3C;
    border-right: solid 1px #861C3C;
    box-sizing: border-box;
    transform: rotateZ(135deg);
    position: absolute;
    right: 0;
    top: 0;
    bottom: .2em;
    margin: auto;
  }
  .list_mainNav .bigLink > span::after, .list_mainNav .bigLink > a::after {
    content: '';
    width: 0;
    height: 1px;
    background: #861C3C;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: all .5s;
  }
  .list_mainNav > li:hover .bigLink > span::after, .list_mainNav > li:hover .bigLink > a::after, .list_mainNav > li.active .bigLink > span::after {
    width: 100%;
    left: 0;
    right: auto;
  }
  .h_contact {
    margin: 0 3.2% 0 0;
    width: 150px;
  }
  .h_contact a {
    display: block;
    font-size: 93.75%;
    font-weight: 600;
    position: relative;
  }
  /*-----*/
  .list_mainNav .megaLink {
    position: fixed;
    left: 0;
    top: 60px;
    width: 100%;
    box-sizing: border-box;
    border-top: solid 1px #D4D4D4;
    background: #FFFFFF;
    padding: 2.5em 0 5.5em;
  }
  body.logged-in .list_mainNav .megaLink {
    top: 92px;
  }
  .list_mainNav .megaLink .mega_topLink {
    position: relative;
    font-size: 175%;
    font-weight: 600;
    border-bottom: solid 2px #D4D4D4;
  }
  .list_mainNav .megaLink .mega_topLink a {
    display: block;
    position: relative;
    padding: .48em 0;
  }
  .list_mainNav .megaLink .mega_topLink a::before {
    content: '';
    width: 0;
    height: 2px;
    background: #861C3C;
    position: absolute;
    right: 0;
    bottom: -2px;
    transition: all .5s;
  }
  .list_mainNav .megaLink .mega_topLink a:hover::before {
    width: 100%;
    left: 0;
    right: auto;
  }
  .list_mainNav .megaLink .megaSeparate {
    display: flex;
    justify-content: space-between;
    margin: 2.5em 0 0;
  }
  .list_mainNav .megaLink .megaSeparate .separateLeft {
    width: 48.466%;
  }
  .list_mainNav .megaLink .megaSeparate .separateRight {
    width: 48.466%;
  }
  .list_mainNav .megaLink .sec_title {
    background: #F8F7F3;
    text-align: center;
    font-size: 112.5%;
    font-weight: 600;
    padding: .2em 0;
    margin: 0 0 -.7em;
  }
  .list_megaLinks {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6em 3.176%;
    margin: 2.5em 0 0;
  }
  .list_megaLinks > li {
    width: 22.618%;
    border-bottom: solid 1px #D4D4D4;
  }
  .list_megaLinks > li a {
    display: block;
    position: relative;
    font-weight: 600;
    padding: .5em 0;
  }
  .list_megaLinks > li a::before {
    content: '';
    width: 0;
    height: 1px;
    background: #861C3C;
    position: absolute;
    right: 0;
    bottom: -1px;
    transition: all .5s;
  }
  .list_megaLinks > li a:hover::before {
    width: 100%;
    left: 0;
    right: auto;
  }
  .list_mainNav .megaLink .megaSeparate .list_megaLinks {
    gap: 1.6em 6%;
  }
  .list_mainNav .megaLink .megaSeparate .list_megaLinks > li {
    width: 47%;
  }
  /**/
  .list_mainNav > li .megaLink {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all .5s ease .3s;
  }
  .list_mainNav > li:hover .megaLink {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: all .5s;
    z-index: 10;
  }
}
@media all and (max-width:1024px) {
  header {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    background: #FFFFFF;
  }
  header .h_inner {
    width: 90%;
    margin: auto;
    position: relative;
    padding: 11px 0;
  }
  header .h_logo {
    width: 135px;
    height: 28px;
  }
  header .h_logo a {
    display: block;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 150%;
    background-image: url(../img/logo.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #navTrigger {
    position: absolute;
    right: -5px;
    top: 10px;
    width: 30px;
    height: 30px;
  }
  #navTrigger span {
    display: block;
    width: 100%;
    height: 1px;
    background: #861C3C;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: all .5s;
  }
  #navTrigger span:nth-child(1) {
    bottom: 16px;
  }
  #navTrigger span:nth-child(3) {
    top: 16px;
  }
  body.nav--open #navTrigger span:nth-child(1) {
    transform: translateY(8px) rotateZ(45deg);
  }
  body.nav--open #navTrigger span:nth-child(2) {
    opacity: 0;
  }
  body.nav--open #navTrigger span:nth-child(3) {
    transform: translateY(-8px) rotateZ(-45deg);
  }
  header nav {
    position: fixed;
    left: 0;
    top: 50px;
    width: 100%;
    height: calc(100svh - 50px);
    box-sizing: border-box;
    background: #fff;
    overflow-y: scroll;
    padding: 0 0 3em;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all .5s;
    border-top: solid 1px #D4D4D4;
  }
  body.logged-in header nav {
    top: 82px;
  }
  body.nav--open header nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .list_mainNav {
    width: 92%;
    margin: auto;
  }
  .list_mainNav > li {
    border-bottom: solid 1px #D4D4D4;
  }
  .list_mainNav .inner {
    width: 100%;
  }
  .list_mainNav .bigLink:not(.none) {
    display: none;
  }
  .list_mainNav .bigLink a {
    display: block;
    padding: 1.6em 0;
    position: relative;
    font-size: 107.143%;
    font-weight: 600;
  }
  .list_mainNav .megaLink {
    box-sizing: border-box;
    background: #FFFFFF;
  }
  .list_mainNav .megaLink .mega_topLink {
    position: relative;
    font-size: 107.143%;
    font-weight: 600;
  }
  .list_mainNav .megaLink .mega_topLink::before {
    content: '';
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(../img/icon_accordion.svg);
    background-size: 1.4em auto;
    background-position: center;
    background-repeat: no-repeat;
    transition: all .5s;
  }
  .list_mainNav .megaLink .mega_topLink.active::before {
    background-image: url(../img/icon_accordion--on.svg);
  }
  .list_mainNav .megaLink .mega_topLink a {
    display: block;
    position: relative;
    padding: 1.6em 0;
    margin: 0 2.3em 0 0;
  }
  .list_mainNav .megaLink .mega_topLink span.linkHover {
    background-color: #fff;
    width: 2.2em;
  }
  .list_mainNav .megaLink .mega_topLink span.linkHover::before {
    background-image: url(../img/arrow01.svg);
  }
  .list_mainNav .megaLink .megaSeparate .separateLeft {
    margin: 1em 0 0;
  }
  .list_mainNav .megaLink .megaSeparate .separateRight {
    margin: 2em 0 0;
  }
  .list_mainNav .megaLink .sec_title {
    background: #F8F7F3;
    text-align: center;
    font-size: 107.14%;
    font-weight: 600;
    padding: .2em 0;
    margin: 0 0 1em;
  }
  .list_mainNav .sp_linkWrap {
    overflow: hidden;
    max-height: 0;
    transition: max-height .5s ease;
    padding: 0;
    position: relative;
    z-index: 5;
    margin: -1em 0 1em;
  }
  .list_megaLinks {
    display: flex;
    flex-wrap: wrap;
    gap: 0 4%;
  }
  .list_megaLinks > li {
    width: 48%;
  }
  .list_megaLinks .linkHover {
    display: none;
  }
  .list_megaLinks > li a {
    display: block;
    position: relative;
    font-weight: 600;
    padding: .5em 0 .5em 1.2em;
    line-height: 1.5;
  }
  .list_megaLinks > li a::before {
    content: '';
    width: .6em;
    height: .6em;
    border-top: solid 1px #3E3A39;
    border-right: solid 1px #3E3A39;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotateZ(45deg);
  }
  /*-----*/
  .h_contact {
    width: 75%;
    margin: 3em auto;
    border: solid 1px #861C3C;
    border-radius: 3em;
    box-sizing: border-box;
    text-align: center;
  }
  .h_contact a {
    display: block;
    font-size: 107.14%;
    font-weight: 600;
    position: relative;
    padding: .7em;
  }
  .h_contact a .linkHover {
    right: 1.3em;
    width: 2.2em;
  }
}
/* == footer ============================================== */
footer {
  padding: 5em 0;
}
footer .f_inner {
  width: min(95%, 1238px);
  margin: auto;
}
footer .f_logo {
  width: 258px;
  height: 74px;
  margin: 0 0 2.5em;
}
footer .f_logo a {
  display: block;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background-image: url(../img/f_logo.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all .5s;
}
footer .f_logo a:hover {
  opacity: .7;
}
footer .f_navFlex {
  display: flex;
  justify-content: space-between;
  margin: 0 0 4em;
}
footer .f_navWrap {
  width: 29.888%;
}
.list_fNav > li {
  border-top: solid 1px #D4D4D4;
}
.list_fNav > li + li {
  margin: 2.5em 0 0;
}
.list_fNav.sp--long > li + li {
  margin: 1.3em 0 0;
  border: none;
}
.list_fNav .f_bigLink a {
  display: block;
  position: relative;
  padding: .767em 0;
  font-size: 93.75%;
  font-weight: 600;
}
.list_fNav .sec_title {
  background: #F8F7F3;
  font-size: 87.5%;
  font-weight: 600;
  padding: .3em 1em;
  margin: 0 0 .75em;
}
.list_fsubLinks > li {
  line-height: 1.7;
  position: relative;
}
.list_fsubLinks > li::before {
  content: '';
  width: .5em;
  height: .5em;
  box-sizing: border-box;
  border-top: solid 1px #3E3A39;
  border-right: solid 1px #3E3A39;
  transform: rotateZ(45deg);
  position: absolute;
  left: .2em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.list_fsubLinks > li a {
  display: inline-block;
  font-size: 87.5%;
  margin: 0 0 0 1.4em;
  position: relative;
}
.list_fsubLinks > li a::after {
  content: '';
  width: 0;
  height: 1px;
  background: #861C3C;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: all .5s;
}
.list_fsubLinks > li a:hover::after {
  width: 100%;
  left: 0;
  right: auto;
}
.list_fsubNav {
  display: flex;
  gap: 0 3.15%;
}
.list_fsubNav > li {
  width: 11.713%;
  border-top: solid 1px #D4D4D4;
}
.list_fsubNav > li a {
  display: block;
  padding: .8em 0;
  font-size: 93.75%;
  font-weight: 600;
  position: relative;
}
.list_fsubNav > li a span {
  position: relative;
  display: inline-block;
}
.list_fsubNav > li a span::before {
  content: '';
  width: 0;
  height: 1px;
  background: #3E3A39;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: all .5s;
}
.list_fsubNav > li a:hover span::before {
  width: 100%;
  left: 0;
  right: auto;
}
footer .copyright {
  margin: 5.6em 0 0;
  text-align: center;
  font-size: 75%;
}
@media all and (max-width:1024px) {
  footer {
    padding: 3em 0;
  }
  footer .f_logo {
    width: 172px;
    height: 50px;
    margin: 0 auto 2em;
  }
  .list_fsubNav {
    gap: 0 5%;
    flex-wrap: wrap;
  }
  .list_fsubNav > li {
    width: 30%;
  }
  footer .f_navFlex {
    margin: 0 0 2.5em;
  }
}
/* == frontpage ==============================================*/
.block_frontMovie .videoWrap {
  width: min(98%, 1300px);
  height: 0;
  padding: min(56.7%, 775px) 0 0;
  margin: auto;
  position: relative;
  overflow: hidden;
  border-radius: 2em;
}
.block_frontMovie .videoWrap video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.block_frontMovie .videoWrap .video_title {
  position: absolute;
  left: 3.6%;
  bottom: 6.3%;
  width: 100%;
  color: #fff;
  font-size: 481.25%;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1;
  letter-spacing: .13em;
  display: flex;
  overflow: hidden;
}
.block_frontMovie .videoWrap .video_title span.wrap {
  display: block;
  transform: translateY(1.1em);
  transition: transform .8s ease-out 0s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(1) {
  transition-delay: .1s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(2) {
  transition-delay: .15s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(3) {
  transition-delay: .2s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(4) {
  transition-delay: .25s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(5) {
  transition-delay: .3s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(6) {
  transition-delay: .35s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(7) {
  transition-delay: .4s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(8) {
  transition-delay: .45s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(9) {
  transition-delay: .5s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(10) {
  transition-delay: .55s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(11) {
  transition-delay: .6s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(12) {
  transition-delay: .65s;
}
body.page--open .block_frontMovie .videoWrap .video_title span {
  transform: translateY(0);
}
@media all and (max-width:1380px) {
  .block_frontMovie .videoWrap {
    font-size: 1.16vw;
  }
}
/*------*/
.block_frontMission {
  padding: 5.4em 0 0;
}
.block_frontMission .missionWrap {
  position: relative;
  padding: 0 59% 0 0;
}
.block_frontMission .mission_title .en {
  color: #861C3C;
  line-height: 1;
  font-size: 87.5%;
  font-weight: 700;
  margin: 0 0 .3em;
}
.block_frontMission .mission_title .jp {
  font-size: 200%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
}
.block_frontMission .missionWrap .mission_img {
  position: absolute;
  right: 0;
  top: 1em;
  width: 55.574%;
}
.block_frontMission .missionWrap .mission_text {
  margin: 1.5em 0 0;
}
.block_frontMission .missionWrap .mission_text p + p {
  margin: 1em 0 0;
}
@media all and (max-width:1024px) {
  .block_frontMission .missionWrap {
    padding: 0;
  }
  .block_frontMission .missionWrap .mission_img {
    position: relative;
    top: 0;
    width: 100%;
  }
}
/*------*/
.block_frontBusiness {
  padding: 5.3em 0 5.2em;
}
.block_frontBusiness .list_businessSummary {
  margin: 3em 0 3em;
}
.list_businessSummary {
  display: flex;
  justify-content: space-between;
}
.list_businessSummary > li {
  width: 48.062%;
}
.list_businessSummary > li .business_thumbnail img {
  pointer-events: none;
}
.list_businessSummary > li .business_name {
  font-size: 150%;
  font-weight: 600;
  margin: .6em 0 .4em;
}
/*------*/
.block_frontVision {
  padding: 5.6em 0;
  background: #F8F7F3;
  position: relative;
}
.block_frontVision::before {
  content: '';
  width: 12px;
  height: 100%;
  background: #861C3C;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  pointer-events: none;
}
.block_frontVision .list_visionSummary {
  margin: 2.6em 0 0;
}
.list_visionSummary > li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.list_visionSummary > li:nth-child(even) {
  flex-direction: row-reverse;
}
.list_visionSummary > li + li {
  margin: 3.5em 0 0;
}
.list_visionSummary > li .vision_thumbnail {
  width: 53.556%;
  overflow: hidden;
  border-radius: .5em;
}
.list_visionSummary > li .textBox {
  width: 42.5%;
}
.list_visionSummary > li .vision_title {
  font-size: 112.5%;
  font-weight: 600;
  margin: 0 0 .5em;
}
.list_visionSummary .link_more {
  width: 240px;
  margin: 1em 0 0;
}
#page_service .list_visionSummary .link_more a {
  font-size: 100%;
}
/*------*/
.block_frontWorks {
  padding: 5.7em 0 0;
}
.block_frontWorks .list_worksSummary {
  margin: 3em 0 3em;
}
.list_worksSummary {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2.745%;
}
.list_worksSummary > li {
  width: 31.503%;
}
.list_worksSummary > li .works_thumbnail {
  overflow: hidden;
  border-radius: .6em;
    position: relative;
}
.list_worksSummary > li .works_thumbnail .img_catch{
    display: block;
    position: relative;
    z-index: 1;
        cursor: pointer;
        transition: transform .5s;
}
.list_worksSummary > li .works_thumbnail .img_catch:hover{
    transform:scale(1.1);
}
.list_worksSummary > li .works_thumbnail .img_certificate{
    display: block;
    position: absolute;
    z-index: 5;
    top:.6em;
    width: 31.5%;
    cursor: pointer;
    transition: opacity .3s;
}
.list_worksSummary > li .works_thumbnail .img_certificate:hover{
    opacity: .6;
}
.list_worksSummary > li .works_thumbnail .img_certificate.left{
    left: .6em;
}
.list_worksSummary > li .works_thumbnail .img_certificate.right{
    right: .6em;
}
.list_worksSummary > li .works_name {
  font-size: 112.5%;
  font-weight: 600;
  margin: 1.3em 0 .6em;
}
.list_worksSummary > li .modalWrap{
    position: fixed;
    z-index: 1000;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.5);
    display: none;
}
.list_worksSummary > li .modalWrap.active{
    display: block;
}
.list_worksSummary > li .modalWrap .modalAdjust{

    position: absolute;
    left:0;
    top:0;
    right:0;
    bottom:0;
    margin: auto;
    display: flex;
    align-items: center;
        width: min(95%,1028px);
}
.list_worksSummary > li .modalWrap .modalBg{
        background: #fff;
    position: relative;
    width: 100%;
    border-radius: 0.6em;
}
.list_worksSummary > li .modalWrap .modalBg .modal_close{
    position: absolute;
        right: 1.55em;
        top: 1.4em;
    width: 40px;
    height: 40px;
    background: #861C3C;
    border-radius: 50%;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 150%;
    cursor: pointer;
    transition: opacity .3s;
}
.list_worksSummary > li .modalWrap .modalBg .modal_close:hover{
    opacity: .6;
}
.list_worksSummary > li .modalWrap .modalBg .modal_close::before,.list_worksSummary > li .modalWrap .modalBg .modal_close::after{
    content: '';
    width: 60%;
    height: 1px;
    background: #fff;
    position: absolute;
    right:0;
    top:0;
    bottom:0;
    left:0;
    margin: auto;
    transform-origin: center;
}
.list_worksSummary > li .modalWrap .modalBg .modal_close::before{
    transform: rotateZ(45deg);
}
.list_worksSummary > li .modalWrap .modalBg .modal_close::after{
    transform: rotateZ(-45deg);
}
.list_worksSummary > li .modalWrap .modal_contents{
    padding: 4.7em 0;
    margin: auto;
    display: none;
}
.list_worksSummary > li .modalWrap .modal_contents.open{
    display: block;
}
.list_worksSummary > li .modalWrap .modal_contents.type01{
    width: min(80%,820px);
}
.list_worksSummary > li .modalWrap .modal_contents.type02{
    width: min(80%,700px);
}
.list_worksSummary > li .modalWrap .modal_contents.type03{
    width: min(80%,700px);
}
.list_worksSummary > li .modalWrap .modal_contents .contents_image{
        margin: 0 auto .8em;
}
.list_worksSummary > li .modalWrap .modal_contents .contents_caption{
    font-weight: 600;
}

/*------*/
.block_frontRecruit {
  padding: 5.9em 0 0;
}
.block_frontRecruit .recruitFlex {
  background: #F8F7F3;
  border-radius: 1.1em;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.block_frontRecruit .recruit_imgBox {
  width: 50%;
}
.block_frontRecruit .recruit_textBox {
  width: 50%;
  box-sizing: border-box;
  padding: 0 0 0 6%;
}
.block_frontRecruit .recruit_lead {
  font-size: 112.5%;
  margin: .5em 0 2em;
}
@media all and (max-width:1200px) {
  .block_frontRecruit .recruit_textBox {
    font-size: 1.3333vw;
  }
}
/*------*/
.block_frontNews {
  padding: 5.6em 0;
}
.block_frontNews .newsFlex {
  display: flex;
  justify-content: space-between;
}
.block_frontNews .newsLeft {
  background: #F5F5F5;
  border-radius: .8em;
  width: 28.7561%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.block_frontNews .newsLeft .titleWrap {
  width: 190px;
}
.block_frontNews .newsLeft .titleWrap .link_more {
  margin: 1em 0 0;
}
.block_frontNews .newsRight {
  width: 67.852%;
}
.list_newsSummary {
  border-top: solid 1px #E9E9E9;
}
.list_newsSummary > li {
  border-bottom: solid 1px #E9E9E9;
  position: relative;
}
.list_newsSummary > li::before {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: #F8F7F3;
  transition: all .5s;
}
.list_newsSummary > li:hover::before {
  width: 100%;
  right: auto;
  left: 0;
}
.list_newsSummary > li a {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 5;
  padding: 1.2em 0 1.2em 1.2em;
}
.list_newsSummary > li span.en {
  font-size: 87.5%;
  display: block;
  width: 12%;
}
.list_newsSummary > li span.category {
  display: block;
  border: solid 1px #BEBEBE;
  border-radius: 2em;
  text-align: center;
  width: 11%;
  font-size: 81.25%;
  background: #fff;
}
.list_newsSummary > li span.title {
  display: flex;
  align-items: center;
  width: 77%;
  box-sizing: border-box;
  padding: 0 70px 0 2em;
  font-size: 87.5%;
  min-height: 3.6em;
  position: relative;
}
.list_newsSummary > li span.title span.height {
  width: 100%;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media all and (max-width:1024px) {
  .block_frontNews .newsFlex {
    display: block;
  }
  .block_frontNews .newsLeft {
    width: 100%;
    box-sizing: border-box;
    padding: 1.5em;
  }
  .block_frontNews .newsLeft .titleWrap {
    width: 100%;
    margin: 0 auto;
  }
  .block_frontNews .newsLeft .titleWrap .link_more {
    width: 12em;
    margin: 0 0 0 auto;
  }
  .block_frontNews .newsRight {
    width: 100%;
  }
}
/* == underpage ============================================== */
.block_pageTitle {
  padding: 1.5em 0 5.2em;
  position: relative;
  z-index: 10;
}
.block_pageTitle.page--padding {
  padding: 4em 0 5.8em;
}
.block_pageTitle .page_bnr {
  overflow: hidden;
  border-radius: 1.9em;
  width: min(98%, 1300px);
  margin: 0 auto 2.5em;
}
.title_page .en {
  color: #861C3C;
  letter-spacing: .08em;
}
.title_page .en span {
  display: inline-block;
  border: solid 1px #861C3C;
  line-height: 1;
  padding: .1em 1.1em .3em;
  font-size: 125%;
  font-weight: 700;
  font-variant-caps: all-small-caps;
}
.title_page .jp {
  font-size: 360%;
  font-weight: 600;
  line-height: 1.6;
}
.title_page .jp.small {
  font-size: 300%;
}
/**/
.title_page.type--small {
  display: flex;
  align-items: center;
}
.title_page.type--small .en span {
  font-size: 100%;
}
.title_page.type--small .jp {
  font-size: 112.5%;
  font-weight: 600;
  margin: 0 0 0 .7em;
}
/**/
.contentsBase {
  padding: 4.5em 0;
}
.contentsBase.small--padding {
  padding: .5em 0 4.5em;
}
.contentsBase.bg {
  background: #F8F7F3;
}
.contentsBase.bg--long {
  position: relative;
}
.contentsBase.bg--long::before {
  content: '';
  position: absolute;
  width: max(calc((100vw - 1238px) / 2 + (100% + 5em)), 1000px);
  height: 100%;
  background: #F8F7F3;
  right: -5em;
  top: 0;
}
@media all and (max-width:1024px) {
  .contentsBase.bg--long::before {
    width: 110%;
    right: -5%;
  }
}
.contentsBase .lead_center {
  text-align: center;
  font-size: 125%;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .08em;
  margin: 1em 0 0;
}
.contentsBase .text_base {
  margin: 1.5em 0 0;
}
.contentsBase .text_base p + p {
  margin: .9em 0 0;
}
@media all and (max-width:1024px) {
  .title_page .jp {
    font-size: 300%;
  }
  .title_page .jp.small {
    font-size: 200%;
  }
}
.bread {
  margin: -1.8em 0 0;
}
.list_bread {
  display: flex;
  justify-content: flex-end;
}
.list_bread > li {
  font-size: 87.5%;
  position: relative;
}
.list_bread > li + li {
  padding: 0 0 0 1em;
  margin: 0 0 0 .5em;
}
.list_bread > li + li::before {
  content: '/';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.list_bread > li a {
  display: block;
  border-bottom: solid 1px #3E3A39;
  position: relative;
  transition: border-color .5s ease .25s
}
.list_bread > li a:hover {
  border-color: #fff;
  transition: border-color .5s;
}
.list_bread > li:first-child a {
  padding: 0 0 0 1.5em;
  background: url("../img/icon_home.svg") no-repeat;
  background-size: 1.1em auto;
  background-position: left center;
}
.list_bread > li a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #861C3C;
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: -1px;
  transition: all .5s;
}
.list_bread > li a:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.block_pageTitle .page_info {
  background: #F5F5F5;
  margin: 3.4em 0 0;
}
.block_pageTitle .page_info .infoFlex {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  padding: 3.68em 3.68em 3.1em;
  border-left: solid 2px #861C3C;
}
.block_pageTitle .page_info .info_img {
  width: 42.403%;
  overflow: hidden;
  border-radius: .5em;
}
.block_pageTitle .page_info .info_text {
  width: 53%;
}
.block_pageTitle .page_info .info_text p + p {
  margin: .8em 0 0;
}
.block_pageTitle .page_info ul {
  text-indent: -1em;
  padding: 0 0 0 1em;
  margin: .3em 0 0;
}
@media all and (max-width:1280px) {
  .block_pageTitle {
    font-size: 1.25vw;
  }
}
/* ====================================
page-name #service
====================================*/
.block_service .area_overall .overallWrap {
  position: relative;
  padding: 0 54.5% 8.6em 0;
}
.block_service .area_overall .title_base .jp {
  letter-spacing: .08em;
}
.block_service .area_overall .overall_img {
  position: absolute;
  right: 0;
  top: -.4em;
  width: 49.92%;
}
.block_service .area_overall .overall_lead {
  margin: 1.4em 0 0;
}
.block_service .area_overall .overall_lead p + p {
  margin: 1em 0 0;
}
.block_service .area_technology {
  padding: 5em 0;
}
.list_technologySummary {
  margin: 3em 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 3em 3.23%;
}
.list_technologySummary > li {
  width: 31.18%;
  position: relative;
  padding: 0 0 3.6em;
}
.list_technologySummary > li .technology_thumbnail {
  overflow: hidden;
  border-radius: .6em;
}
.list_technologySummary > li .technology_name {
  margin: 1.25em 0 .5em;
  font-size: 112.5%;
  font-weight: 600;
}
.list_technologySummary > li .link_more {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 62%;
}
.list_technologySummary > li .link_more a {
  font-size: 100%;
}
@media all and (max-width:1024px) {
  .block_service .area_overall .overallWrap {
    padding: 0 0 4em 0;
  }
  .block_service .area_overall .overall_img {
    position: relative;
    top: 0;
    margin: 1.5em 0 0;
    width: 100%;
  }
  .list_technologySummary {
    gap: 2em 4%;
  }
  .list_technologySummary > li {
    width: 48%;
  }
}
/*--------------------*/
.block_service .stickyWrap {
  position: relative;
  top: 0;
  left: 0;
}
.block_service .stickyWrap .sideSticky {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 7em;
  height: calc(100% - 7em);
}
.block_service .stickyWrap .sideSticky .list_stickyLinks {
  position: sticky;
  left: 0;
  top: 5em;
}
.list_stickyLinks {
  width: 150px;
}
@media all and (max-width:1350px) {
  .list_stickyLinks {
    width: 130px;
    font-size: 85%;
  }
}
.list_stickyLinks > li {
  font-size: 87.5%;
  font-weight: 600;
  color: #A9A9A9;
  transition: all .5s;
  position: relative;
  overflow: hidden;
}
.list_stickyLinks > li::before {
  content: '';
  background: #9D163A;
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
.list_stickyLinks > li:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_stickyLinks > li + li {
  margin: .1em 0 0;
}
.list_stickyLinks > li a {
  display: block;
  padding: .4em 0 .4em .8em;
  transition: all .5s;
  position: relative;
  z-index: 5;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: left;
}
.list_stickyLinks > li a:hover {
  color: #fff;
}
.list_stickyLinks > li a.active {
  background: #861C3C;
  color: #fff;
}
.inner--sticky {
  width: min(95%, 1236px);
  margin: auto;
  box-sizing: border-box;
  padding: 0 0 0 116px;
}
.inner--stickySmall {
  width: min(95%, 844px);
  margin: auto;
  box-sizing: border-box;
  padding: 0 0 0 116px;
}
@media all and (min-width:1400px) {
  .inner--sticky {
    padding: 0;
    width: min(78%, 1236px);
  }
  .inner--stickySmall {
    padding: 0;
    width: min(78%, 728px);
  }
}
/**/
.block_service .area_desc {
  padding: 7em 0 5.3em;
  margin: -7em 0 0;
}
.block_service .area_desc .descWrap {
  position: relative;
  padding: 0 52% 0 0;
  min-height: 22.3em;
}
.block_service .area_desc .desc_image {
  width: 48.214286%;
  position: absolute;
  right: 0;
  top: 0;
  overflow: hidden;
  border-radius: .5em;
}
.block_service .area_desc .desc_title {
  font-size: 150%;
  font-weight: 600;
  margin: -.3em 0 .5em;
}
.block_service .area_works {
  background: #F8F7F3;
  padding: 5.4em 0;
}
.list_representativeWorks {
  margin: 1.6em 0 0;
}
.list_representativeWorks > li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.list_representativeWorks > li:nth-child(even) {
  flex-direction: row-reverse;
}
.list_representativeWorks.type--reverse > li:nth-child(odd) {
  flex-direction: row-reverse;
}
.list_representativeWorks.type--reverse > li:nth-child(even) {
  flex-direction: row;
}
.list_representativeWorks > li + li {
  margin: 4em 0 0;
}
.list_representativeWorks > li .works_thumbnail {
  width: 48.214286%;
  overflow: hidden;
  border-radius: .5em;
}
.list_representativeWorks > li .textBox {
  width: 51.785%;
  box-sizing: border-box;
  padding: 0 0 0 3.6%;
}
.list_representativeWorks > li:nth-child(even) .textBox {
  padding: 0 3.6% 0 0;
}
.list_representativeWorks.type--reverse > li:nth-child(odd) .textBox {
  padding: 0 3.6% 0 0;
}
.list_representativeWorks.type--reverse > li:nth-child(even) .textBox {
  padding: 0 0 0 3.6%;
}
.list_representativeWorks > li .works_title {
  background: #fff;
  border-left: solid 2px #861C3C;
  font-size: 112.5%;
  padding: .65em 1.2em;
  margin: 0 0 1.8em;
}
.list_representativeWorks > li .works_text {
  margin: 0 0 2em;
}
.list_representativeWorks > li .btn_base {
  max-width: 400px;
  margin: 0;
}
.block_service .area_links {
  padding: 5em 0;
}
.block_service .area_links .linkSet {
  margin: 2.1em 0 0;
}
.block_service .area_links .linkSet + .linkSet {
  margin: 3.5em 0 0;
}
.list_serviceLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 2em 3.125%;
  margin: 2.1em 0 0;
}
.list_serviceLinks > li {
  width: 31.25%;
  overflow: hidden;
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  box-sizing: border-box;
}
.list_serviceLinks > li a {
  display: flex;
  align-items: center;
}
.list_serviceLinks > li .thumbnail {
  width: 25.574713%;
  overflow: hidden;
}
.list_serviceLinks > li .textBox {
  width: 74.425%;
  box-sizing: border-box;
  padding: 0 .8em;
  line-height: 1.5;
  font-weight: 600;
  position: relative;
}
.list_serviceLinks > li .textBox .linkHover {
  right: 1em;
  width: 40px;
}
.list_check > li {
  font-weight: 600;
  background-image: url("../img/icon_check.svg");
  background-repeat: no-repeat;
  background-position: left top .5em;
  background-size: 1em auto;
  padding: 0 0 0 1.3em;
}
.list_check > li + li {
  margin: .3em 0 0;
}
.block_service .area_plant {
  padding: 5.1em 0 0;
}
.block_service .area_plant .plantFlex {
  margin: 2em 0 0;
  display: flex;
  justify-content: space-between;
}
.block_service .area_plant .plant_image {
  width: 59.465%;
}
.block_service .area_plant .plant_data {
  width: 37.5%;
}
.table_data {
  width: 100%;
}
.table_data th {
  background: #F8F7F3;
  border: solid 1px #D4D4D4;
  text-align: center;
  font-weight: 600;
  padding: .3em 0;
}
.table_data td {
  border: solid 1px #D4D4D4;
  line-height: 1.5;
  padding: .45em .8em;
}
.table_data td.center {
  text-align: center;
}
.table_data strong {
  color: #861C3C;
}
.table_data.data--fixed {
  table-layout: fixed;
}
.table_data.data--small {
  font-size: 87.5%;
  font-weight: 600;
}
.table_data.data--small td {
  padding: .35em 1em;
}
@media all and (max-width:1024px) {
  .block_service .area_desc .descWrap {
    display: block;
    padding: 0;
  }
  .block_service .area_desc .desc_image {
    width: 100%;
    margin: 1.5em 0;
    position: relative;
  }
  .block_service .area_desc .desc_textBox {
    width: 100%;
    padding: 0;
  }
  .list_representativeWorks > li {
    font-size: 1.5625vw;
  }
  .list_serviceLinks {
    gap: 1em 2%;
    margin: 1.5em 0 0;
  }
  .list_serviceLinks > li {
    width: 49%;
    font-size: 1.5625vw;
  }
  .block_service .area_plant .plantFlex {
    display: block;
  }
  .block_service .area_plant .plant_image {
    width: 100%;
    margin: 0 0 1.5em;
  }
  .block_service .area_plant .plant_data {
    width: 100%;
  }
}
/*--------------------*/
.block_service .area_about {
  background: #F8F7F3;
  padding: 5em 0;
}
.block_service .area_about .aboutWrap {
  position: relative;
  box-sizing: border-box;
  padding: 0 52% 0 0;
}
.block_service .area_about .about_image {
  position: absolute;
  right: 0;
  top: 0;
  width: 48.215%;
  overflow: hidden;
  border-radius: .5em;
}
.block_service .area_about .about_movie {
  position: absolute;
  right: 0;
  top: 0;
  width: 48.215%;
  overflow: hidden;
  border-radius: 1em;
  height: 0;
  padding: 31% 0 0;
}
.block_service .area_about .about_movie video {
  position: absolute;
  left: -1%;
  top: -1%;
  width: 102%;
  height: 102%;
}
.block_service .area_about .about_text {
  margin: 1.6em 0 0;
}
.block_service .area_about .about_longImage {
  margin: 1.8em 0 0;
  max-width: 1015px;
}
.block_service .area_about .about_imgText {
  margin: 1.5em 0 0;
}
.block_service .area_about .aboutFlex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
  margin: 1.7em 0 0;
}
.block_service .area_about .flexImage {
  width: 48.215%;
  overflow: hidden;
  border-radius: .5em;
}
.block_service .area_about .flexText {
  width: 48%;
}
.block_service .area_about .flexText p + p {
  margin: 1em 0 0;
}
@media all and (min-width:1025px) {
  .block_service .area_about .about_text {
    min-height: 18em;
  }
}
@media all and (max-width:1024px) {
  .block_service .area_about .aboutWrap {
    padding: 0;
  }
  .block_service .area_about .about_image {
    position: relative;
    margin: 1em 0 0;
    width: 100%;
  }
  .block_service .area_about .about_movie {
    position: relative;
    margin: 1em 0 0;
    width: 100%;
    padding: 64% 0 0;
  }
  .block_service .area_about .aboutFlex {
    display: block;
  }
  .block_service .area_about .flexImage {
    width: 100%;
  }
  .block_service .area_about .flexText {
    width: 100%;
    margin: 1.5em 0 0;
  }
}
/**/
.block_service .area_feature {
  padding: 5.3em 0 5em;
}
.block_service .area_feature.padding--small {
  padding: 5.3em 0 2em;
}
.list_feature {
  display: flex;
  justify-content: space-between;
  margin: 1.9em auto 3.5em;
}
.list_feature > li {
  width: 100%;
  box-sizing: border-box;
  position: relative;
}
.list_feature > li + li::before {
  content: '';
  width: 1px;
  height: 100%;
  background: #D4D4D4;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.list_feature > li .feature_thumbnail {
  width: min(32.145%, 120px);
  margin: auto;
}
.list_feature .dl_feature dt {
  text-align: center;
  font-size: 112.5%;
  font-weight: 600;
  margin: .6em 0 .3em;
}
.list_feature .dl_feature dd {
  text-align: center;
  line-height: 1.6;
  padding: 0 1.2em;
}
.list_feature .dl_feature dd.none {
  text-align: left;
}
.block_service .area_feature .feature_movie .movieWrap {
  width: min(98%, 650px);
  margin: auto;
  position: relative;
  height: 0;
  padding: min(53%, 380px) 0 0;
  overflow: hidden;
  border-radius: .5em;
}
.block_service .area_feature .feature_movie video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block_service .area_feature .feature_movie .movie_desc {
  text-align: center;
  line-height: 1.6;
  margin: 1em 0 0;
}
.block_service .area_feature .feature_movie .movie_desc strong {
  font-size: 112.5%;
  font-weight: 600;
}
.block_service .area_feature .feature_movie .movie_desc small {
  font-weight: 600;
}
.block_service .area_feature .imgWrap {
  background: #F8F7F3;
  padding: 3.5em 0;
}
.block_service .area_feature .imgWrap .list_featureImage {
  background: #fff;
  width: min(95%, 970px);
  margin: auto;
  border-radius: .5em;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 2.5em 3em 4.5em;
}
.list_featureImage > li:nth-child(1) {
  width: 63.616%;
  margin: 3em 0 0;
}
.list_featureImage > li:nth-child(2) {
  width: 33.868%;
}
@media all and (max-width:1024px) {
  .list_feature .dl_feature {
    font-size: 1.5625vw;
  }
}
/**/
.block_service .area_ability .ability_bg {
  background: #F8F7F3;
  padding: 4em 0 4.5em;
}
.list_ability {
  width: min(90%, 710px);
  margin: 1.8em auto 0;
  display: flex;
  justify-content: space-between;
}
.list_ability > li {
  width: 47%;
  background: #fff;
}
.dl_ability {
  text-align: center;
}
.dl_ability dt {
  font-size: 112.5%;
  font-weight: 600;
  line-height: 1.4;
  padding: .85em 0;
}
.dl_ability dt small {
  display: block;
  font-size: 77.78%;
}
.dl_ability dt small .num01 {
  font-family: "Barlow", sans-serif;
  font-size: 115.3%;
}
.dl_ability dd {
  background: #686868;
  color: #fff;
  font-weight: 600;
  padding: .2em 0 .2em;
}
.dl_ability dd .num02 {
  font-family: "Barlow", sans-serif;
  font-size: 150%;
}
.dl_ability dd sup {
  font-size: 50%;
}
.block_service .area_ability .heatimg_time {
  width: min(95%, 708px);
  margin: 1.8em auto 0;
}
.block_service .area_ability .case_study {
  width: min(95%, 966px);
  margin: 1.8em auto 0;
}
/**/
.block_service .area_concept {
  padding: 5.4em 0 0;
}
.list_heatingConcept {
  max-width: 970px;
  margin: 1.8em auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.4em 0;
}
.list_heatingConcept > li.concept01 {
  width: 48.145%;
}
.list_heatingConcept > li.concept02 {
  width: 47.217%;
}
.list_heatingConcept > li.concept03, .list_heatingConcept > li.concept04, .list_heatingConcept > li.concept05 {
  width: 32.372%;
}
/**/
.block_service .area_data {
  padding: 5.4em 0 0;
}
.separateBase {
  display: flex;
  justify-content: space-between;
}
.separateBase .separateBox {
  width: 48.215%;
}
.separateBase .separate_textBase {
  margin: 1em 0;
  text-align: left;
}
.separateBase .separate_textBase.ex {
  letter-spacing: .04em;
}
.separateBase .separate_image {
  margin: auto;
}
.block_service .area_data .separateBase {
  margin: 1.85em 0 0;
}
.block_service .area_data .separateBase + .separateBase {
  margin: 3em 0 0;
}
.block_service .area_data .img01 {
  width: 57.44%;
}
.block_service .area_data .img02 {
  width: 57.44%;
}
.block_service .area_data .img03 {
  width: 61.24%;
}
.block_service .area_data .table_data {
  margin: 1.5em 0 0;
}
@media all and (max-width:1024px) {
  .separateBase {
    display: block;
  }
  .separateBase .separateBox {
    width: 100%;
  }
  .separateBase .separateBox + .separateBox {
    margin: 3em auto 0;
  }
  .separateBase .separate_image {
    margin: 2em auto 0;
  }
}
/**/
.block_service .area_spec {
  padding: 5.4em 0 5em;
}
.block_service .area_spec.none {
  padding: 5.4em 0 0;
}
.dl_spec {
  margin: 1.8em 0 0;
  display: flex;
  justify-content: space-between;
}
.dl_spec + .dl_spec {
  margin: 3em 0 0;
}
.dl_spec dt {
  width: 34.375%;
  text-align: center;
}
.dl_spec dt figcaption {
  font-weight: 600;
}
.dl_spec dd {
  width: 62%;
}
.dl_spec .table_data tr td {
  width: 47%;
}
.dl_spec .table_data tr td.num {
  width: 6%;
  box-sizing: border-box;
  text-align: center;
}
.spec_flx{
  display: flex;
}
.spec_flx_box{
  width: 50%;
}

.list_specDetail {
  display: flex;
  justify-content: space-between;
  margin: 2em auto 0;
}
.list_specDetail > li:nth-child(1) {
  width: 41.608%;
}
.list_specDetail > li:nth-child(2) {
  width: 48.394%;
}
.list_specDetail > li .list_check {
  line-height: 1.5;
}
.list_specDetail .spec_text {
  margin: .8em 0 0;
}
@media all and (max-width:1024px) {
  .dl_spec {
    display: block;
  }
  .dl_spec dt {
    width: 100%;
  }
  .dl_spec dd {
    width: 100%;
    margin: 2em 0 0;
  }
}
/**/
.block_service .area_procedure {
  padding: 5em 0;
  background: #F8F7F3;
}
.list_procedure {
  position: relative;
  margin: 1.8em 0 0;
}
.list_procedure > li {
  position: relative;
  z-index: 5;
}
.list_procedure > li:not(:last-child) {
  padding: 0 0 4em;
}
.list_procedure > li:not(:last-child)::before {
  content: '';
  width: 4px;
  height: 100%;
  background: #861C3C;
  position: absolute;
  left: calc(2em - 2px);
  top: 0;
}
.list_procedure .titleWrap {
  background: #fff;
  position: relative;
  z-index: 5;
  padding: .85em 0 .85em 3.8em;
  margin: 0 0 0 2em;
}
.list_procedure .titleWrap .procedure_num {
  position: absolute;
  left: -2em;
  top: 0;
  background: #861C3C;
  border-radius: 50%;
  width: 4em;
  height: 4em;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  align-items: center;
}
.list_procedure .titleWrap .procedure_num span.en {
  width: 100%;
  color: #fff;
  line-height: 1;
  font-weight: 700;
}
.list_procedure .titleWrap .procedure_num .num {
  display: block;
  font-size: 137.5%;
}
.list_procedure .titleWrap .procedure_num .step {
  display: block;
  font-size: 81.25%;
}
.list_procedure .titleWrap .procedure_title {
  color: #000;
  font-weight: 700;
  font-size: 125%;
}
.list_procedure .descWrap {
  margin: 2.5em 0 0 5.8em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.list_procedure .descWrap .desc_image {
  width: 31.154%;
  overflow: hidden;
  border-radius: .5em;
}
.list_procedure .descWrap .desc_text {
  width: 68.846%;
  box-sizing: border-box;
  padding: 0 0 0 4%;
}
.list_procedure .descWrap .desc_text p {
  font-size: 93.75%;
  letter-spacing: .03em;
}
.list_procedure .procedure_smallImage {
  width: min(100%, 453px);
  margin: .9em 0 0;
}
/**/
.block_service .area_procedure02 {
  padding: 5.4em 0 5em;
}
.list_procedure02 {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5em 3.57%;
  margin: 1.8em 0 0;
}
.list_procedure02 > li {
  width: 48.215%;
}
.list_procedure02 > li figcaption {
  display: flex;
  align-items: center;
  background: #F5F5F5;
  margin: 0 0 1em;
}
.list_procedure02 > li figcaption .en {
  width: 11%;
  text-align: center;
  color: #fff;
  font-size: 150%;
  font-weight: 600;
  background: #861C3C;
  padding: .3em 0;
}
.list_procedure02 > li figcaption .title {
  width: 89%;
  font-size: 112.5%;
  font-weight: 600;
  box-sizing: border-box;
  padding: .1em .8em;
  line-height: 1.5;
}
.list_procedure02 > li .procedure_thumbnail {
  overflow: hidden;
  border-radius: .5em;
}
/**/
.block_service .area_result {
  padding: 5em 0 4.6em;
}
.block_service .area_result .resultBg {
  background: #F8F7F3;
  padding: 3.5em 0 7.3em;
}
.block_service .area_result .resultWrap {
  width: min(90%, 860px);
  margin: auto;
  position: relative;
  box-sizing: border-box;
  padding: 0 0 0 28em;
}
.block_service .area_result .resultWrap .result_detailBox {
  position: absolute;
  left: 0;
  top: 0;
  width: 47.442%;
  text-align: center;
  font-weight: 700;
}
.block_service .area_result .resultWrap .result_textBox {
  padding: 4em 0 4em;
}
.block_service .area_result .resultWrap .result_textBox .result_text {
  font-weight: 600;
  margin: 1em 0 2em;
}
.block_service .area_result .resultWrap .result_textBox h2 {
  font-size: 140%;
}
.block_service .area_result .resultWrap .btn_base {
  max-width: 350px;
  margin: 0;
}
.block_service .area_result .resultWrap .btn_base a {
  font-size: 100%;
  padding: .8em 0;
}
@media all and (max-width:1024px) {
  .block_service .area_result .resultBg {
    padding: 3.5em 0;
  }
  .block_service .area_result .resultWrap {
    padding: 0;
  }
  .block_service .area_result .resultWrap .result_detailBox {
    position: relative;
    width: 100%;
  }
  .block_service .area_result .resultWrap .result_textBox {
    padding: 0;
  }
  .block_service .area_result .resultWrap .btn_base {
    margin: 2em auto 0;
  }
}
/**/
.block_service .area_contact {
  padding: 5em 0 5em;
  background: #F8F7F3;
}
.block_service .area_contact .contactFlex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 800px;
  margin: auto;
  transform: translateX(-2em);
}
.block_service .area_contact .contact_titleBox {
  width: 56%;
}
.block_service .area_contact .contact_titleBox .contact_text {
  font-weight: 600;
  font-feature-settings: "palt";
  margin: .5em 0 0;
}
.block_service .area_contact .contact_titleBox .contact_tel {
  margin: 1.3em 0 0;
  display: inline-block;
  background: url(../img/icon_tel.svg);
  background-repeat: no-repeat;
  background-size: 2em auto;
  background-position: left .8em top .6em;
  padding: 0 0 0 3.3em;
}
.block_service .area_contact .contact_titleBox .contact_tel a {
  display: block;
  font-size: 300%;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.block_service .area_contact .contact_titleBox .contact_tel .tel_period {
  display: block;
  text-align: center;
}
.block_service .area_contact .contact_btnBox {
  width: 44%;
}
.block_service .area_contact .contact_btnBox .btn_base {
  text-align: left;
}
.block_service .area_contact .contact_btnBox .btn_base a {
  padding: 1em 1.8em;
}
.block_service .area_contact .contact_btnBox .contact_mail {
  text-align: center;
  font-weight: 600;
  margin: .2em 0 1.5em;
}
@media all and (max-width:1024px) {
  .block_service .area_contact {
    padding: 4em 0;
  }
  .block_service .area_contact .contactFlex {
    display: block;
    max-width: 100%;
    transform: translateX(0);
    text-align: center;
  }
  .block_service .area_contact .contact_titleBox {
    width: auto;
    text-align: left;
    display: inline-block;
  }
  .block_service .area_contact .contact_btnBox {
    width: 60%;
    margin: 3em auto 0;
  }
}
/**/
.block_service .area_example {
  padding: 5.5em 0 5em;
}
.block_service .area_example.bg {
  background: #F5F5F5;
}
.block_service .area_example .separateBase {
  margin: 2em 0 0;
}
.figureBase .image {
  overflow: hidden;
  border-radius: .5em;
}
.figureBase figcaption {
  text-align: center;
  font-weight: 600;
  margin: .3em 0 0;
}
.block_service .area_example .exampleBox {
  background: #F8F7F3;
  margin: 2em 0 0;
  padding: 3em 0;
}
.list_exampleBox {
  display: flex;
  justify-content: space-between;
  width: min(90%, 960px);
  margin: auto;
}
.list_exampleBox > li {
  width: 30%;
}
.list_exampleBox > li dl dt {
  text-align: center;
  background: #fff;
  border: solid 1px #7E7E7E;
  font-weight: 600;
}
.list_exampleBox > li dl dd {
  margin: .5em 0 0;
  text-align: left;
}
.table_base {
  background: #fff;
  font-size: 87.5%;
  font-weight: 600;
  margin: 1em 0 0;
}
.table_base th {
  border: solid 1px #BEBEBE;
}
.table_base td {
  border: solid 1px #BEBEBE;
  padding: .5em .7em;
}
.block_service .area_example .exampleBg {
  background: #fff;
}
.block_service .area_example .exampleWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: min(95%, 970px);
  margin: 2em auto 0;
  padding: 2.8em 0;
}
.block_service .area_example .exampleWrap .example_img {
  width: 48.455%;
  overflow: hidden;
  border-radius: .5em;
}
.block_service .area_example .exampleWrap .example_text {
  width: 48%;
}
.block_service .area_example .exampleWrap dl {
  line-height: 1.6;
}
.block_service .area_example .exampleWrap dl dt span {
  display: inline-block;
  border: solid 1px #7E7E7E;
  border-radius: .2em;
  font-weight: 600;
  padding: 0 2.5em;
}
.block_service .area_example .exampleWrap dl + dl {
  margin: 1.5em 0 0;
}
.block_service .area_example .exampleWrap dl dd {
  margin: .8em 0 0;
}
@media all and (max-width:1024px) {
  .block_service .area_example .exampleWrap {
    display: block;
    width: 90%;
    padding: 2em 0;
  }
  .block_service .area_example .exampleWrap .example_img {
    width: 100%;
  }
  .block_service .area_example .exampleWrap .example_text {
    width: 100%;
    margin: 1.5em 0 0;
  }
}
/**/
.block_service .area_caution {
  padding: 5em 0 5em;
}
.block_service .area_caution .cautionBg {
  background: #F5F5F5;
  padding: 4em 0;
}
.list_discAnalog {
  width: min(95%, 900px);
  margin: 1.4em auto 0;
}
.list_discAnalog > li {
  position: relative;
  padding: 0 0 0 1em;
  letter-spacing: .03em;
}
.list_discAnalog > li::before {
  content: '';
  width: .25em;
  height: .25em;
  background: #000000;
  position: absolute;
  left: .3em;
  top: .9em;
  border-radius: 50%;
}
/**/
.block_service .area_process .process_bg {
  background: #F8F7F3;
  padding: 4em 0 3.4em;
}
.block_service .area_process .imageWrap {
  width: min(95%, 980px);
  margin: 1.6em auto 6em;
  background: #fff;
  padding: 3em 0 2.5em;
  border-radius: .5em;
  position: relative;
}
.block_service .area_process .imageWrap::before {
  content: '';
  width: 100%;
  height: 1px;
  background: #D4D4D4;
  position: absolute;
  left: 0;
  bottom: -3em;
}
.block_service .area_process .imageWrap .process_img {
  width: min(95%, 869px);
  margin: auto;
}
.block_service .area_process .imageWrap .list_discAnalog {
  width: min(95%, 860px);
}
.block_service .area_process .movieWrap {
  width: min(98%, 650px);
  margin: auto;
  position: relative;
  height: 0;
  padding: min(53%, 380px) 0 0;
  overflow: hidden;
  border-radius: .5em;
}
.block_service .area_process .movieWrap video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block_service .area_process .movie_desc {
  text-align: center;
  margin: .8em 0 0;
}
.block_service .area_process .movie_desc strong {
  font-size: 112.5%;
  font-weight: 600;
}
/**/
.block_service .area_device {
  padding: 5.4em 0;
}
.block_service .area_device .separateBase {
  margin: 1.9em 0 0;
}
/**/
.block_service .area_manufacture {
  padding: 3.7em 0 4.2em;
  background: #F5F5F5;
}
.block_service .area_manufacture .separateBase {
  margin: 1.7em 0 0;
}
.block_service .area_plant.padding {
  padding: 5.5em 0 5em;
}
.block_service .area_plant .separateBase {
  margin: 2.1em 0 0;
}
/**/
.block_service .area_material {
  padding: 4em 0;
  background: #F5F5F5;
}
.block_service .material_bg {
  background: #fff;
  margin: 2em 0 0;
  padding: 3em;
}
.table_material {
  width: 100%;
  max-width: 900px;
  margin: auto;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.5;
  border-bottom: solid 1px #3E3A39;
}
.table_material th {
  border-top: solid 1px #3E3A39;
  font-weight: 600;
}
.table_material th span {
  display: block;
  border-bottom: solid 1px #3E3A39;
  margin: 0 0 .1em;
  padding: .1em 0 .1em;
}
.table_material th + th {
  border-left: solid 1px #3E3A39;
}
.table_material thead {
  border-bottom: solid 1px #3E3A39;
}
.table_material thead th {
  font-size: 112.5%;
}
.table_material tbody th {
  border-right: solid 1px #3E3A39;
}
.table_material td {
  border-top: solid 1px #3E3A39;
  font-weight: 600;
  padding: .65em 1em;
}
.table_material td + td {
  border-left: solid 1px #3E3A39;
}
.block_service .area_material .material_tableAtt {
  font-weight: 600;
  text-align: right;
  margin: .5em auto 0;
  width: min(95%, 900px);
}
@media all and (max-width:1024px) {
  .block_service .material_bg {
    font-size: 1.5625vw;
  }
}
/**/
.block_service .area_sample {
  padding: 3.8em 0 3.4em;
  background: #F5F5F5;
}
.block_service .area_sample .sampleBg {
  background: #fff;
  padding: 3em 0;
  margin: 1.8em 0 0;
  border-radius: .5em;
}
.list_colorSample {
  display: flex;
  flex-wrap: wrap;
  width: min(95%, 930px);
  margin: auto;
  gap: 2.3em 6.667%;
}
.list_colorSample > li {
  text-align: center;
  width: 20%;
}
.list_colorSample > li div[class*="color"] {
  height: 7.5em;
}
.list_colorSample > li .color01 {
  background: #486180;
}
.list_colorSample > li .color02 {
  background: #B0C1DC;
}
.list_colorSample > li .color03 {
  background: #0078AD;
}
.list_colorSample > li .color04 {
  background: #72331D;
}
.list_colorSample > li .color05 {
  background: #4C8362;
}
.list_colorSample > li .color06 {
  background: #9F977E;
}
.list_colorSample > li .color07 {
  background: #D4A26F;
}
.list_colorSample > li .color08 {
  background: #996147;
}
.list_colorSample > li figcaption {
  font-weight: 600;
}
.block_service .sample_att {
  text-align: right;
  font-size: 87.5%;
  margin: .8em 0 0;
}
@media all and (min-width:1025px) {
  .list_procedure02.column3 {
    gap: 2.5em 2.762%;
  }
  .list_procedure02.column3 > li {
    width: 31.492%;
  }
  .list_procedure02.column3 > li figcaption .en {
    width: 18%;
  }
}
/**/
.block_service .area_constructionExample {
  padding: 5em 0;
}
.list_constructionExample {
  display: flex;
  flex-wrap: wrap;
  margin: 2em 0 0;
  gap: 1.9em 3.5255%;
}
.list_constructionExample > li {
  width: 30.983%;
}
.list_constructionExample > li .image {
  overflow: hidden;
  border-radius: .5em;
}
.list_constructionExample figcaption {
  text-align: center;
  font-size: 112.5%;
  font-weight: 600;
  margin: .3em 0 0;
}
@media all and (max-width:1024px) {
  .list_constructionExample {
    gap: 1.5em 2%;
  }
  .list_constructionExample > li {
    width: 49%;
  }
}
/* ====================================
page-name #works
====================================*/
.block_works {
  padding: 1.5em 0 0;
}
.block_works .area_archiveTitle {
  position: relative;
  min-height: 37em;
  max-width: 1366px;
  margin: auto;
}
.block_works .area_archiveTitle .archive_bnr {
  position: absolute;
  left: 54.1%;
  top: 0;
  width: 564px;
  height: 594px;
  overflow: hidden;
  border-radius: 1.5em;
}
.block_works .area_archiveTitle .textBox {
  width: 49%;
  padding: 4em 0 0;
}
.block_works .area_archiveTitle .bread {
  margin: 0;
}
.block_works .area_archiveTitle .bread .list_bread {
  justify-content: flex-start;
}
.block_works .area_archiveTitle .archive_title {
  margin: 1.2em 0 1em;
  font-size: 150%;
  line-height: 1.6;
  letter-spacing: .08em;
}
.block_works .area_categoryLinks {
  margin: 5.1em 0;
}
.list_categoryLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 2em 2.745%;
}
.list_categoryLinks > li {
  width: 31.503%;
  position: relative;
}
.list_categoryLinks > li .category_thumbnail {
  overflow: hidden;
  border-radius: .6em;
}
.list_categoryLinks > li .category_name {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, .8);
  width: 100%;
  text-align: center;
  font-weight: 600;
  padding: .65em 0;
}
.list_categoryLinks > li .category_name .linkHover {
  right: 1em;
}
.block_works .area_categoryTitle .title_page .jp {
  line-height: 1.3;
}
.block_works .area_categoryTitle .inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
}
.block_works .area_categoryTitle .category_fv {
  width: 60.178%;
  overflow: hidden;
  border-radius: 1.5em;
}
.block_works .area_categoryTitle .textBox {
  width: 38%;
}
.block_works .area_categoryTitle .bread {
  margin: .6em 0 1em;
}
.block_works .area_categoryTitle .bread .list_bread {
  justify-content: flex-start;
}
@media all and (max-width:1024px) {
  .block_works {
    padding: 0;
  }
  .block_works .area_categoryTitle .inner {
    display: block;
  }
  .block_works .area_categoryTitle .category_fv {
    width: 100%;
  }
  .block_works .area_categoryTitle .textBox {
    width: 100%;
    margin: 1.5em 0 0;
  }
}
@media all and (max-width:1280px) {
  .block_works .area_archiveTitle {
    font-size: 1.25vw;
  }
  .block_works .area_archiveTitle .archive_bnr {
    left: 54.1%;
    width: 44.5%;
    height: 100%;
  }
}
/**/
.block_works .list_worksSummary {
  gap: 2.4em 2.745%;
}
.block_works .list_worksSummary .works_name {
  font-size: 100%;
  margin: .8em 0 .4em;
  line-height: 1.6;
}
.list_worksSummary .textWrap {
  width: 92%;
  margin: auto;
}
.list_worksSummary .works_info {
  display: flex;
  margin: 0 0 .65em;
}
.list_worksSummary .works_info .info_text {
  line-height: 1.3;
}
.list_worksSummary .works_info .info_text + .info_text {
  margin: 0 0 0 1em;
}
.list_worksSummary .works_info .info_text span.dt {
  display: inline-block;
  vertical-align: middle;
  color: #7E7E7E;
  border: solid 2px #A9A9A9;
  font-size: 81.25%;
  border-radius: .2em;
  font-weight: 600;
  padding: 0 .8em;
}
.list_worksSummary .works_info .info_text span.dd {
  display: inline-block;
  vertical-align: middle;
  font-size: 87.5%;
  margin: 0 0 0 .5em;
}
.list_worksSummary .works_topic {
  font-size: 87.5%;
}
.list_worksSummary .works_topic strong {
  color: #D4A26F;
  font-weight: 500;
}
.list_worksSummary .works_topic span{
    text-decoration: underline;
    transition: opacity .3s;
    cursor: pointer;
}
.list_worksSummary .works_topic span:hover{
    opacity: .6;
}
.list_worksSummary .works_topic.color01 span{
      color: #ea8d30;
}
.list_worksSummary .works_topic.color02 span{
      color: #2929cf;
}
.list_worksSummary .btn_base {
  margin: .7em auto 0;
}
.list_worksSummary .btn_base a {
  font-size: 87.5%;
  padding: .4em 2em;
}
.parts_worksCategory {
  padding: 4.7em 0 5.1em;
}
/* ====================================
page-name #works--single
====================================*/
.block_works .area_singleTitle {
  padding: 2.5em 0 0;
  margin: 0 0 2.8em;
}
.block_works .area_singleTitle .bread {
  margin: .5em;
}
.block_works .area_singleSlider {
  margin: 0 0 5em;
}
.block_works .area_singleSlider .sliderFlex {
  display: flex;
  justify-content: space-between;
}
.block_works .area_singleSlider .swiper-slide {
  overflow: hidden;
  border-radius: .5em;
}
.block_works .area_singleSlider .slideThumbnail .swiper-slide {
  border-radius: .25em;
}
.block_works .area_singleSlider .slideMain {
  width: 84.007%;
}
.block_works .area_singleSlider .slideThumbnail {
  width: 14.54%;
}
.block_works .area_singleSlider .slideThumbnail .swiper-wrapper {
  display: block !important;
}
.block_works .area_singleSlider .slideThumbnail .swiper-slide {
  cursor: pointer;
  position: relative;
}
.block_works .area_singleSlider .slideThumbnail .swiper-slide::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4);
  pointer-events: none;
  transition: all .2s;
}
.block_works .area_singleSlider .slideThumbnail .swiper-slide.swiper-slide-thumb-active::before {
  background: rgba(0, 0, 0, 0);
}
.block_works .area_singleSlider .slideThumbnail .swiper-slide + .swiper-slide {
  margin: 11.9% 0 0;
}
.block_works .area_singleNote {
  font-size: 112.5%;
  margin: 0 0 2em;
  letter-spacing: 0.1em;
}
.block_works .area_singleInfo {
  background: #F8F7F3;
  padding: 4em 0;
}
.block_works .area_singleInfo .inner {
  width: min(95%, 1076px);
}
.block_works .area_singleInfo .singleInfoBg {
  background: #fff;
}
.list_singleInfo > li + li {
  border-top: solid 1px #D4D4D4;
}
.list_singleInfo dl {
  display: flex;
  align-items: center;
  line-height: 1.6;
}
.list_singleInfo dl dt {
  width: 19.5%;
  box-sizing: border-box;
  font-weight: 600;
  padding: .9em 1.3em;
  font-size: 112.5%;
}
.list_singleInfo dl dd {
  width: 80.5%;
  box-sizing: border-box;
  border-left: solid 1px #D4D4D4;
  padding: .9em 1.3em;
  font-weight: 400;
}
.block_works .area_singleVoice {
  padding: 4.9em 0;
}
.block_works .area_singleVoice .singleVoiceFlex {
  display: flex;
  align-items: center;
  width: min(95%, 1028px);
  margin: auto;
}
.block_works .area_singleVoice .singleVoiceThumb {
  width: 120px;
  text-align: center;
}
.block_works .area_singleVoice .singleVoiceThumb figcaption {
  line-height: 1.6;
  margin: .6em 0 0;
}
.block_works .area_singleVoice .singleVoiceThumb figcaption span {
  display: inline-block;
}
.block_works .area_singleVoice .singleVoiceThumb figcaption strong {
  display: inline-block;
  font-size: 112.5%;
  font-weight: 600;
  margin: 0 0 0 .5em;
}
.block_works .area_singleVoice .singleVoiceText {
  width: calc(100% - 120px);
  box-sizing: border-box;
  padding: 0 0 0 2em;
  line-height: 2;
}
.block_works .area_singleVoice .singleVoiceText p + p {
  margin: .5em 0 0;
}
.block_works .area_singleVoice .singleVoiceText .indent{
  line-height: 1.6;
  margin-bottom: 1em;
}

.block_works .area_youtube {
  padding: 4.2em 0 3.8em;
  background: #F5F5F5;
}
.block_works .area_youtube .youtube_title {
  margin: 0 0 2em;
}
.block_works .area_youtube .youtube_title span {
  display: block;
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background: url("../img/icon_youtube.webp") no-repeat;
  background-size: contain;
  width: 226px;
  height: 51px;
  margin: auto;
}
.block_works .area_youtube .youtubeWrap {
  width: min(100%, 820px);
  height: 0;
  padding: min(56.25%, 460px) 0 0;
  margin: auto;
  /* overflow: hidden; */
  position: relative;
}
.block_works .area_youtube .youtubeWrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.block_works .area_youtube .youtubeWrap p{
  text-align: right;
}


@media all and (max-width:1024px) {
  .block_works .area_singleTitle {
    padding: 1.5em 0 0;
    margin: 0 0 2em;
  }
  .block_works .area_singleSlider {
    margin: 0 0 3em;
  }
  .block_works .area_singleInfo, .block_works .area_singleVoice {
    font-size: 1.5625vw;
  }
}
/* ====================================
page-name #sustainability
====================================*/
.block_sustain .stickyWrap {
  position: relative;
  top: 0;
  left: 0;
}
.block_sustain .stickyWrap .sideSticky {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 7em;
  height: calc(100% - 7em);
}
.block_sustain .stickyWrap .sideSticky .list_stickyLinks {
  position: sticky;
  left: 0;
  top: 5em;
}
.block_sustain .area_topMessage {
  padding: 7.5em 0 0;
  margin: -8.8em 0 0;
}
.block_sustain .area_topMessage .messageWrap {
  position: relative;
  padding: 0 51.7% 6.4em 0;
}
.block_sustain .area_topMessage .message_image {
  position: absolute;
  right: 0;
  top: -.5em;
  width: 48.215%;
}
.block_sustain .area_topMessage .message_text {
  margin: .8em 0 0;
}
.block_sustain .area_topMessage .message_text p + p {
  margin: .7em 0 0;
}
@media all and (max-width:1024px) {
  .block_sustain .area_topMessage .messageWrap {
    padding: 0 0 6.4em 0;
  }
  .block_sustain .area_topMessage .message_image {
    position: relative;
    margin: 1.5em 0;
    width: 100%;
  }
}
/**/
.block_sustain .area_topPolicyGuide {
  background: #F8F7F3;
}
.block_sustain .area_topPolicyGuide .spot_policy {
  padding: 5.5em 0 3.55em;
  border-bottom: solid 1px #D4D4D4;
}
.block_sustain .area_topPolicyGuide .spot_policy .policy_lead {
  text-align: center;
  font-size: 150%;
  font-weight: 600;
  letter-spacing: .05em;
}
.block_sustain .area_topPolicyGuide .spot_guide {
  padding: 3.5em 0 5em;
}
.list_sustainGuide {
  font-size: 112.5%;
  font-weight: 600;
  counter-reset: sustainGuide 0;
}
.list_sustainGuide > li {
  counter-increment: sustainGuide 1;
  padding: 0 0 0 1.3em;
  position: relative;
}
.list_sustainGuide > li + li {
  margin: .21em 0 0;
}
.list_sustainGuide > li::before {
  content: counter(sustainGuide) ".";
  font-family: "Barlow", sans-serif;
  color: #861C3C;
  position: absolute;
  left: 0;
  top: 0;
}
.block_sustain .area_topPolicyGuide .guide_time {
  text-align: right;
  font-size: 87.5%;
  font-weight: 600;
  margin: .5em 0 0;
}
/**/
.block_sustain .area_topFunction {
  padding: 5.4em 0 5em;
}
.block_sustain .area_topFunction .topFunctionFlex {
  display: flex;
  justify-content: space-between;
  margin: 1.4em 0 0;
}
.block_sustain .area_topFunction .box {
  width: 48.3%;
}
.block_sustain .area_topFunction .topFunction_image {
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  margin: 2.5em 0 0;
  padding: 3.4em 0;
}
.block_sustain .area_topFunction .topFunction_image img {
  width: min(95%, 950px);
  display: block;
  margin: auto;
}
@media all and (max-width:1024px) {
  .block_sustain .area_topFunction .topFunctionFlex {
    display: block;
  }
  .block_sustain .area_topFunction .box {
    width: 100%;
  }
  .block_sustain .area_topFunction .box + .box {
    margin: 1.5em 0 0;
  }
  .block_sustain .area_topFunction .topFunction_image {
    padding: 2em 0;
  }
}
/**/
.block_sustain .area_topEnvironment {
  background: #F8F7F3;
  padding: 5.6em 0 5em;
}
.list_menuBase {
  margin: 2.5em 0 0;
}
.list_menuBase > li {
  position: relative;
  padding: 0 min(52%, 580px) 0 0;
  min-height: 20em;
  box-sizing: border-box;
  max-width: 1120px;
}
.list_menuBase > li + li {
  margin: 3.35em 0 0;
}
.list_menuBase > li .menu_thumbnail {
  position: absolute;
  right: 0;
  top: 0;
  width: min(48.214286%, 540px);
}
.list_menuBase > li .menu_title {
  background: #fff;
  border-left: solid 2px #861C3C;
  font-size: 112.5%;
  padding: .65em .8em;
  margin: 0 0 1.3em;
}
.list_menuBase > li .menu_text {
  margin: 0 0 1.5em;
}
.list_menuBase > li .btn_base {
  max-width: 400px;
  margin: 0;
}
.list_menuBase > li:nth-child(even) {
  padding: 0 0 0 52%;
}
.list_menuBase > li:nth-child(even) .menu_thumbnail {
  right: auto;
  left: 0;
}
@media all and (max-width:1024px) {
  .list_menuBase > li {
    padding: 0 !important;
    min-height: 0;
  }
  .list_menuBase > li .menu_thumbnail {
    position: relative;
    width: 100%;
    margin: 0 0 2em;
  }
  .list_menuBase > li .btn_base {
    margin: auto;
  }
}
/**/
.block_sustain .area_topSocial {
  padding: 5em 0 1.3em;
}
.block_sustain .area_topSocial .topSocial_textBox {
  width: min(95%, 912px);
  margin: -4.4em auto 0;
  background: #fff;
  position: relative;
  z-index: 5;
  box-sizing: border-box;
  padding: 3.6em;
}
.block_sustain .area_topSocial .topSocialFlex {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.block_sustain .area_topSocial .topSocialFlex::before {
  content: '';
  width: 8.6%;
  height: 1px;
  background: #A9A9A9;
  position: absolute;
  left: 16%;
  top: 24%;
}
.block_sustain .area_topSocial .flex_left {
  width: 14%;
  position: relative;
  padding: 1.6em 0 0;
}
.block_sustain .area_topSocial .flex_left::before {
  content: '';
  height: 1px;
  background: #A9A9A9;
  position: absolute;
  right: 0;
  top: 2em;
}
.block_sustain .area_topSocial .flex_right {
  width: 72%;
  box-sizing: border-box;
  padding: 1.6em 1.7em 1.6em .7em;
}
.block_sustain .area_topSocial .flex_right .topSocial_lead {
  margin: -.5em 0 2em;
}
.block_sustain .area_topSocial .topSocial_textBox {
  padding: 2em;
}
.block_sustain .area_topSocial .flex_right .btn_baseWrap {
  width: min(100%, 520px);
}
@media all and (max-width:1024px) {
  .block_sustain .area_topSocial .topSocialFlex {
    display: block;
  }
  .block_sustain .area_topSocial .topSocialFlex::before {
    display: none;
  }
  .block_sustain .area_topSocial .flex_left {
    width: 100%;
    margin: 0 0 1.5em;
  }
  .block_sustain .area_topSocial .flex_left::before {
    display: none;
  }
  .block_sustain .area_topSocial .flex_right {
    width: 100%;
  }
}
/**/
.block_sustain .area_topGovernance {
  background: #F8F7F3;
  padding: 5.4em 0 10.6em;
  border-bottom: solid 1px #D4D4D4;
}
.block_sustain .area_topGovernance .topGovernance_position {
  position: relative;
  padding: 0 52% 0 0;
}
.block_sustain .area_topGovernance .topGovernance_text {
  margin: 1em 0 2em;
}
.block_sustain .area_topGovernance .topGovernance_image {
  position: absolute;
  right: 0;
  top: -.4em;
  width: 48.215%;
}
@media all and (max-width:1024px) {
  .block_sustain .area_topGovernance .topGovernance_position {
    padding: 0;
  }
  .block_sustain .area_topGovernance .topGovernance_image {
    position: relative;
    top: 0;
    width: 100%;
    margin: 1.5em 0;
  }
}
/**/
.block_sustain .area_socialSafety {
  padding: 7.5em 0 0;
  margin: -8.8em 0 4.9em;
}
.block_sustain .area_socialSafety .socialSafetyFlex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 1.7em 0 0;
}
.block_sustain .area_socialSafety .flexImage {
  width: 48.215%;
}
.block_sustain .area_socialSafety .flexText {
  width: 48.5%;
}
.block_sustain .area_socialSafety .safetySet + .safetySet {
  margin: 2.5em 0 0;
}
.block_sustain .area_socialSafety .safetySet_title {
  font-weight: 600;
  margin: 0 0 .5em;
}
.block_sustain .area_socialSafety .safetySet_title span {
  display: inline-block;
  border: solid 1px #861C3C;
  padding: .1em .7em;
}
.block_sustain .area_socialSafety .safetySet_lead {
  font-size: 150%;
  font-weight: 600;
  letter-spacing: .05em;
  margin: 0 0 .25em;
}
.block_sustain .area_socialSafety .safetySet_text + .safetySet_lead {
  margin: .7em 0 .25em;
}
.block_sustain .area_socialSafety .safetySet_strong {
  margin: .8em 0 .4em;
  font-size: 112.5%;
  font-weight: 700;
}
.list_safetySet {
  margin: 0 0 0 1.2em;
  list-style: decimal;
}
.list_safetySet > li {
  font-weight: 600;
}
.block_sustain .area_socialSafety .safety_diagram {
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  margin: 3.5em 0 0;
  padding: 2.7em 0;
}
.block_sustain .area_socialSafety .safety_diagram .diagram_title {
  text-align: center;
  font-size: 150%;
  font-weight: 600;
  letter-spacing: .05em;
  margin: 0 0 1.7em;
}
.block_sustain .area_socialSafety .safety_diagram .diagram_image {
  width: min(95%, 950px);
  margin: auto;
}
@media all and (max-width:1024px) {
  .block_sustain .area_socialSafety .socialSafetyFlex {
    display: block;
  }
  .block_sustain .area_socialSafety .flexImage {
    width: 100%;
    margin: 0 0 1.5em;
  }
  .block_sustain .area_socialSafety .flexText {
    width: 100%;
  }
}
/**/
.block_sustain .area_socialEnsure {
  background: #F8F7F3;
  padding: 5.4em 0 5em;
}
.block_sustain .area_socialEnsure .socialEnsureFlex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 1.8em 0 0;
}
.block_sustain .area_socialEnsure .flexImage {
  width: 48.215%;
}
.block_sustain .area_socialEnsure .flexText {
  width: 48%;
}
.block_sustain .area_socialEnsure .socialEnsureSet + .socialEnsureSet {
  margin: 2.5em 0 0;
}
.block_sustain .area_socialEnsure .title_border {
  background: #fff;
  padding: .7em .9em;
}
.block_sustain .area_socialEnsure .socialEnsure_desc {
  margin: 1em 0 0;
}
.list_socialEnsure {
  margin: 1em 0 2em 1.4em;
  list-style: decimal;
}
.block_sustain .area_socialEnsure .btn_base {
  max-width: 400px;
  margin: 0;
}
@media all and (max-width:1024px) {
  .block_sustain .area_socialEnsure .socialEnsureFlex {
    display: block;
  }
  .block_sustain .area_socialEnsure .flexImage {
    width: 100%;
    margin: 0 0 1.5em;
  }
  .block_sustain .area_socialEnsure .flexText {
    width: 100%;
  }
}
/**/
.parts_sustainMenu {
  padding: 5.1em 0;
}
.list_sustainMenu {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 3.125%;
  margin: 2.1em 0 0;
}
.list_sustainMenu > li {
  width: 31.25%;
  border: solid 1px #D4D4D4;
  box-sizing: border-box;
  border-radius: .5em;
  overflow: hidden;
}
.list_sustainMenu > li .sustainMenu_thumbnail {
  overflow: hidden;
}
.list_sustainMenu > li .sustainMenu_thumbnail img {
  transition: all .4s;
}
.list_sustainMenu > li a:hover .sustainMenu_thumbnail img {
  transform: scale(1.1);
}
.list_sustainMenu > li .textBox {
  padding: 1em 2em;
}
.list_sustainMenu > li .textBox .sustainMenu_name {
  font-weight: 600;
  position: relative;
  margin: 0 0 .1em;
}
.list_sustainMenuSmall > li {
  position: relative;
  font-size: 87.5%;
  padding: .1em 0 .1em 1em;
}
.list_sustainMenuSmall > li::before {
  content: '';
  width: .4em;
  height: .4em;
  background: #861C3C;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: .85em;
}
@media all and (max-width:1024px) {
  .list_sustainMenu > li {
    width: 48.4375%;
  }
  .list_sustainMenu > li .textBox {
    padding: .8em;
  }
}
/*-----*/
.block_sustain .area_decarbonSociety {
  padding: 7.5em 0 0;
  margin: -8.8em 0 0;
}
.block_sustain .area_decarbonSociety .decarbonSocietyFlex {
  margin: 1.7em 0 3.55em;
  display: flex;
  justify-content: space-between;
}
.block_sustain .area_decarbonSociety .flexLeft {
  width: 48.215%;
}
.block_sustain .area_decarbonSociety .flexRight {
  width: 48.215%;
}
.block_sustain .area_decarbonSociety .decarbonSociety_data {
  background: #F5F5F5;
  border-radius: .5em;
  padding: 1.8em 0 2.2em;
}
.block_sustain .area_decarbonSociety .decarbonSociety_lead {
  margin: 0 0 2.4em;
}
.block_sustain .area_decarbonSociety .decarbonSociety_title {
  font-size: 150%;
  margin: 0 0 .3em;
}
.block_sustain .area_decarbonSociety .decarbonSociety_desc {
  letter-spacing: .04em;
}
.table_decarbonSociety {
  width: min(95%, 465px);
  margin: auto;
  box-sizing: border-box;
  background: #fff;
  border: solid 1px #D4D4D4;
  table-layout: fixed;
}
.table_decarbonSociety caption {
  text-align: center;
  font-weight: 600;
  margin: 0 0 .8em;
}
.table_decarbonSociety tr {
  position: relative;
}
.table_decarbonSociety th {
  font-weight: 500;
  text-align: center;
  font-size: 87.5%;
  padding: .8em 0;
}
.table_decarbonSociety td {
  font-size: 87.5%;
  padding: 1em;
  position: relative;
  vertical-align: top;
}
.table_decarbonSociety td .table_range {
  text-align: right;
  font-size: 93%;
}
.table_decarbonSociety td.tableIndent {
  padding: .2em 1em 1.4em 2em;
  text-indent: -1.3em;
  width: 100%;
}
.table_decarbonSociety .borderTate::before {
  content: '';
  width: 1px;
  height: 85%;
  background: #D4D4D4;
  position: absolute;
  left: 0;
  bottom: 0;
}
.table_decarbonSociety .borderTate.tate--top::before {
  bottom: auto;
  top: 0;
}
.table_decarbonSociety .borderYoko::after {
  content: '';
  width: 96%;
  height: 1px;
  background: #D4D4D4;
  position: absolute;
  right: 0;
  top: 0;
}
.table_decarbonSociety .borderYoko.yoko--left::after {
  left: 0;
  right: auto;
}
.block_sustain .area_decarbonSociety .spot_emissions {
  margin: 0 0 3.5em;
}
.block_sustain .area_decarbonSociety .spot_emissions .emissionsWrap {
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  padding: 2.3em 1em 2.7em;
  text-align: center;
  margin: 0 0 2em;
}
.block_sustain .area_decarbonSociety .spot_emissions .emissions_title {
  font-weight: 600;
  margin: 0 0 1.9em;
}
.block_sustain .area_decarbonSociety .spot_emissions .emissions_img {
  display: inline-block;
  width: 44.2%;
}
.block_sustain .area_decarbonSociety .spot_emissions .emissions_img + .emissions_img {
  margin: 0 0 0 3.3%;
}
.block_sustain .area_decarbonSociety .spot_emissions .list_discAnalog {
  margin: 0;
}
.block_sustain .area_decarbonSociety .spot_evaluation {
  background: #F5F5F5;
  padding: 3em 0 3.8em;
}
.block_sustain .area_decarbonSociety .spot_evaluation .evaluation_title {
  text-align: center;
  font-size: 150%;
  font-weight: 600;
  letter-spacing: .05em;
}
.block_sustain .area_decarbonSociety .spot_evaluation .evaluationFlex {
  display: flex;
  width: min(900px, 95%);
  margin: 2em auto 0;
  justify-content: space-between;
}
.block_sustain .area_decarbonSociety .spot_evaluation .evaluation_logo {
  width: 45.556%;
  margin: 0 0 0 1.7%;
}
.block_sustain .area_decarbonSociety .spot_evaluation .evaluation_textBox {
  width: 48%;
}
.block_sustain .area_decarbonSociety .spot_evaluation .evaluation_subTitle {
  font-size: 125%;
  font-weight: 600;
  letter-spacing: .05em;
  margin: 0 0 .4em;
}
.block_sustain .area_decarbonSociety .spot_evaluation .btn_base {
  margin: 1em 0 0;
  max-width: 400px;
}
.block_sustain .area_decarbonSociety .spot_roadMap {
  padding: 3.5em 0 6.5em;
}
.block_sustain .area_decarbonSociety .spot_roadMap .roadMapWrap {
  padding: 0 52% 0 0;
  position: relative;
}
.block_sustain .area_decarbonSociety .spot_roadMap .roadMap_title {
  font-size: 150%;
  font-weight: 600;
  margin: 0 0 .5em;
}
.block_sustain .area_decarbonSociety .spot_roadMap .roadMap_lead p + p {
  margin: .9em 0 0;
}
/*-----*/
.block_sustain .area_decarbonBusiness {
  background: #F8F7F3;
  padding: 5.4em 0 .4em;
}
.block_sustain .area_decarbonBusiness .spot_attempt01 {
  margin: 1.8em 0 3.6em;
}
.block_sustain .area_decarbonBusiness .spot_attempt01 .attempt01_title {
  font-size: 150%;
}
.block_sustain .area_decarbonBusiness .attempt01Flex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 1em 0 0;
}
.block_sustain .area_decarbonBusiness .attempt01_image {
  width: 48.215%;
  overflow: hidden;
  border-radius: .5em;
}
.block_sustain .area_decarbonBusiness .attempt01_text {
  width: 48.215%;
}
.block_sustain .area_decarbonBusiness .attempt01_text p + p {
  margin: .8em 0 0;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 {
  background: #FFFFFF;
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  padding: 2.2em 0 0;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_title {
  text-align: center;
  position: relative;
  width: min(95%, 1000px);
  margin: 0 auto 2.3em;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_title .title {
  font-size: 150%;
  font-weight: 600;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_title .title small {
  font-size: 80%;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_title .lead {
  font-size: 112.5%;
  font-weight: 600;
  color: #0A4E7D;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_title .company {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 87.5%;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02Flex01 {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  border-top: solid 1px #D4D4D4;
  border-bottom: solid 1px #D4D4D4;
  padding: 2em 1.7em;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02Flex01 .flexBox {
  width: 48.215%;
}
.table_base {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  font-size: 87.5%;
  line-height: 1.3;
}
.table_base th {
  border: solid 1px #D4D4D4;
  font-weight: 500;
  padding: .5em .3em;
}
.table_base td {
  border: solid 1px #D4D4D4;
  padding: .5em .3em;
}
.table_base td .color {
  color: #0A4E7D;
  display: block;
  padding: .2em 0 0;
}
.list_attempt02 {
  margin: 1.3em 0 0;
  font-size: 87.5%;
  line-height: 1.6;
}
.list_attempt02 > li {
  padding: 0 0 0 1em;
  text-indent: -1em;
}
.list_attempt02 > li + li {
  margin: .5em 0 0;
}
.list_attempt02 dl dd {
  margin: .3em 0 0;
  position: relative;
  padding: 0 0 0 1.5em;
  text-indent: 0;
}
.list_attempt02 dl dd::before {
  content: '→';
  position: absolute;
  left: 0;
  top: 0;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02Flex02 {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding: 2em 1.7em;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02Flex02 .flexBox {
  width: 48.215%;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_titleRed {
  color: #861C3C;
  margin: 0 0 1em;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 {
  padding: 4.8em 0;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 .attempt03_title {
  font-size: 150%;
  font-weight: 600;
  margin: 0 0 .7em;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 .attempt03Wrap {
  position: relative;
  padding: 0 51.8% 0 0;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 .attempt03_strong {
  margin: 1em 0 .3em;
  font-weight: 600;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 .attempt03Flex {
  margin: 2.5em 0 0;
  display: flex;
  justify-content: space-between;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 .attempt03Flex .flexBox {
  width: 48.215%;
}
/*-----------*/
.block_sustain .area_strategyFuture {
  padding: 7.5em 0 0;
  margin: -8.8em 0 0;
}
.block_sustain .area_strategyFuture .spot_leadBox {
  display: flex;
  justify-content: space-between;
  margin: 1.8em 0 0;
}
.block_sustain .area_strategyFuture .leadBox {
  width: 48.215%;
}
.block_sustain .area_strategyFuture .leadBox p + p {
  margin: .7em 0 0;
}
.block_sustain .area_strategyFuture .spot_strategyImage {
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  margin: 2em 0 0;
  padding: 3.8em 0 5.2em;
}
.block_sustain .area_strategyFuture .spot_strategyImage img {
  width: min(95%, 956px);
  margin: auto;
  display: block;
}
@media all and (max-width:1024px) {
  .block_sustain .area_strategyFuture .spot_leadBox {
    display: block;
  }
  .block_sustain .area_strategyFuture .leadBox {
    width: 100%;
  }
  .block_sustain .area_strategyFuture .spot_strategyImage {
    padding: 2em 0;
  }
}
/*-----------*/
.block_sustain .area_complianceConduct {
  padding: 7.5em 0 5em;
  margin: -8.8em 0 0;
}
.block_sustain .area_complianceConduct .conduct_startTitle {
  margin: 1.8em 0 -3.5em;
  font-weight: 600;
}
.block_sustain .area_complianceSystem {
  background: #F8F7F3;
  padding: 5.4em 0 5em;
}
.block_sustain .area_complianceSystem .complianceSystemWrap {
  background: #fff;
  margin: 1.8em 0 0;
  padding: 2.3em 0 3em;
}
.block_sustain .area_complianceSystem .complianceSystem_title {
  text-align: center;
  color: #861C3C;
  font-size: 112.5%;
  font-weight: 700;
  margin: 0 0 .7em;
}
.block_sustain .area_complianceSystem .complianceSystem_image {
  width: min(98%, 1083px);
  margin: auto;
}
/* ====================================
page-name #company
====================================*/
.block_company {
  padding: 1.5em 0 0;
}
.block_company .area_topTitle .inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
}
.block_company .area_topTitle .company_fv {
  width: 59.37%;
  overflow: hidden;
  border-radius: 2em;
}
.block_company .area_topTitle .textBox {
  width: 38%;
}
.block_company .area_topTitle .textBox .bread {
  margin: .6em 0 1em;
}
.block_company .area_topTitle .textBox .bread .list_bread {
  justify-content: flex-start;
}
.block_company .area_companyMenu {
  margin: 5.1em 0 0;
  background: #F8F7F3;
  padding: 5em 0;
}
.block_company .list_visionSummary > li {
  flex-direction: row-reverse;
}
.block_company .list_visionSummary > li + li {
  margin: 4.5em 0 0;
}
.block_company .list_visionSummary > li:nth-child(even) {
  flex-direction: row;
}
.block_company .list_visionSummary > li .vision_title {
  font-size: 150%;
}
.block_company .list_visionSummary > li .link_more {
  width: 280px;
}
@media all and (max-width:1024px) {
  .block_company {
    padding: 0 0 0;
  }
  .block_company .area_topTitle .inner {
    display: block;
  }
  .block_company .area_topTitle .company_fv {
    width: 100%;
  }
  .block_company .area_topTitle .textBox {
    width: 100%;
    margin: 1.5em 0 0;
  }
}
/*----*/
.parts_companyLinks {
  padding: 5.8em 0 7.5em;
}
.list_companyLinks {
  display: flex;
  flex-wrap: wrap;
  width: min(95%, 1120px);
  margin: 2.1em auto 0;
  gap: 2em 3.125%;
}
.list_companyLinks > li {
  width: 31.25%;
  overflow: hidden;
  border-radius: .5em;
  border: solid 1px #861C3C;
  box-sizing: border-box;
}
.list_companyLinks > li a {
  display: block;
  background: #861C3C;
  color: #fff;
  padding: 1.1em 1.3em;
  position: relative;
  overflow: hidden;
  transition: all .5s;
}
.list_companyLinks > li:hover a {
  color: #861C3C;
}
.list_companyLinks > li a::after {
  content: '';
  width: 0;
  height: 100%;
  background: #fff;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
.list_companyLinks > li:hover a::after {
  width: 100%;
  left: 0;
  right: auto;
}
.list_companyLinks > li a span.name {
  display: block;
  font-weight: 600;
  position: relative;
  z-index: 5;
}
.list_companyLinks > li a span.linkHover {
  right: 1.2em;
  z-index: 5;
}
@media all and (max-width:1024px) {
  .parts_companyLinks {
    padding: 4em 0 5em;
  }
  .list_companyLinks {
    display: flex;
    gap: 2em 2%;
  }
  .list_companyLinks > li {
    width: 49%;
  }
}
/*----*/
.block_company .area_companyPage .companyPage_img {
  width: min(98%, 1300px);
  margin: auto;
  overflow: hidden;
  border-radius: 2em;
}
.block_company .area_companyPage .titleBox {
  margin: 2.5em 0 0;
}
/**/
.block_company .area_contents {
  margin: 5em 0 0;
}
.block_company .area_contents .contentsWrap {
  position: relative;
  margin: 0 0 7em;
}
.block_company .area_contents .contentsRight {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 290px;
}
.block_company .area_contents .contentsSticky {
  position: sticky;
  left: 0;
  top: 70px;
}
.block_company .area_contents .contentsSticky .sticky_title {
  color: #fff;
  background: #7E7E7E;
  font-weight: 600;
  padding: .85em 1.4em;
}
.list_stickyCompany li {
  border-bottom: solid 1px #D4D4D4;
  background: #F5F5F5;
  position: relative;
}
.list_stickyCompany li::before {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: #fff;
  transition: all .5s;
}
.list_stickyCompany li:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_stickyCompany li a {
  display: block;
  font-weight: 600;
  padding: .82em 1.4em;
  position: relative;
  z-index: 5;
  letter-spacing: 0;
}
@media all and (max-height:700px) {
  .list_stickyCompany li a {
    padding: .5em 1.4em;
  }
}
.list_stickyCompany li a .linkHover {
  right: 1.3em;
}
.list_stickyCompany li.active {
  background: #fff;
}
.list_stickyCompany li.active a .linkHover {
  display: none;
}
.list_stickyCompany li.active a {
  color: #861C3C;
}
/**/
.block_company .area_contents .contentsLeft {
  padding: 0 min(32.2%, 398px) 0 0;
}
.block_company .area_contents .spot_message .message_title {
  font-size: 175%;
  font-weight: 700;
  line-height: 1.6;
  color: #861C3C;
  letter-spacing: .08em;
}
.block_company .area_contents .spot_message .message_text {
  margin: 1.9em 0 0;
  font-size: 112.5%;
}
.block_company .area_contents .spot_message .message_president {
  text-align: right;
  font-size: 112.5%;
  font-weight: 600;
  margin: 1em 0 0;
}
/**/
.block_company .area_contents .spot_philosophyTop {
  margin: 0 0 4em;
}
.dl_philosophy + .dl_philosophy {
  margin: 3em 0 0;
}
.dl_philosophy dt {
  font-weight: 600;
  margin: 0 0 1em;
}
.dl_philosophy dt span {
  display: inline-block;
  background: #861C3C;
  color: #fff;
  line-height: 2;
  padding: 0 1em;
}
.dl_philosophy dd .philosophy_strong {
  font-size: 125%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
  margin: 0 0 .6em;
}
.dl_philosophy ul > li {
  font-size: 125%;
  font-weight: 700;
  line-height: 1.6;
  text-indent: -1.4em;
  padding: 0 0 0 1.3em;
}
.dl_philosophy ul > li + li {
  margin: .4em 0 0;
}
.list_philosophyMessage {
  display: flex;
  justify-content: space-between;
  width: min(95%, 760px);
  margin: 1.4em auto 0;
}
.list_philosophyMessage > li {
  width: 48.026316%;
}
.block_company .area_contents .imgMargin {
  margin: 1.25em auto 0;
}
.block_company .area_contents .quality_img {
  width: min(95%, 760px);
}
.block_company .area_contents .visionMessage_img {
  margin: 1.5em 0 3em;
}
/**/
.block_company .area_contents .spot_conduct, .parts_conduct {
  margin: 3.5em 0 0;
}
.block_company .area_contents .spot_conduct .conduct_lead, .parts_conduct .conduct_lead {
  font-size: 81.25%;
  line-height: 1.6;
}
.list_conduct {
  font-size: 81.25%;
  line-height: 1.6;
  margin: .8em 0 0;
}
.list_conduct > li {
  display: flex;
  text-align: left;
}
.list_conduct > li + li {
  margin: .4em 0 0;
}
.list_conduct span.num {
  display: block;
  width: 2.5em;
}
.list_conduct span.text {
  display: block;
  width: calc(100% - 2.5em);
}
.dl_base {
  margin: 2em 0 0;
}
.dl_base.no--margin {
  margin: 0;
}
.dl_base dt {
  font-weight: 600;
  margin: 0 0 .4em;
}
.list_revision > li {
  display: flex;
  font-size: 81.25%;
}
.list_revision > li + li {
  margin: .45em 0 0;
}
.list_revision > li span.time {
  display: block;
  width: 8.7em;
}
.list_revision > li span.text {
  display: block;
  width: calc(100% - 8.7em);
}
/**/
.block_company .area_contents .spot_history .history_title {
  position: relative;
  line-height: 2;
  padding: 0 0 0 1em;
  margin: 0 0 1em;
}
.block_company .area_contents .spot_history .history_title::before {
  content: '';
  width: .5em;
  height: .5em;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #861C3C;
}
.block_company .area_contents .spot_history .history_title strong {
  font-size: 150%;
  font-weight: 600;
  display: inline-block;
  vertical-align: middle;
}
.block_company .area_contents .spot_history .history_title small {
  font-weight: 600;
  display: inline-block;
  vertical-align: middle;
}
.block_company .area_contents .spot_history .historySet + .historySet {
  margin: 4em 0 0;
}
.list_companyHistory {
  position: relative;
  border-top: solid 1px #D4D4D4;
}
.list_companyHistory::before {
  content: '';
  position: absolute;
  left: 0;
  top: -1px;
  width: 8.3em;
  height: 1px;
  background: #861C3C;
}
.list_companyHistory > li {
  display: flex;
  align-items: center;
  padding: 1em 0;
  position: relative;
  border-bottom: solid 1px #D4D4D4;
}
.list_companyHistory > li.align {
  align-items: flex-start;
}
.list_companyHistory > li::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 8.3em;
  height: 1px;
  background: #861C3C;
}
.list_companyHistory > li .history_time {
  width: 8.3em;
  box-sizing: border-box;
  padding: .4em 1.6em .1em;
}
.list_companyHistory > li .history_time span.num {
  font-size: 112.5%;
  line-height: 1.8;
  font-weight: 600;
  font-family: "Barlow", sans-serif;
}
.list_companyHistory > li .history_time span.unit {
  font-size: 75%;
  font-weight: 600;
}
.list_companyHistory > li .history_contents {
  width: calc(100% - 8.3em);
  box-sizing: border-box;
  padding: .5em 1em .46em 1.8em;
}
.list_companyHistory > li .history_contents p {
  line-height: 1.6;
}
.list_companyHistory > li .history_contents p + p {
  margin: .8em 0 0;
}
.list_companyHistory > li .history_contents figure {
  margin: 1em 0 0;
}
.list_companyHistory > li .history_contents figcaption {
  font-size: 87.5%;
  text-align: left;
  white-space: nowrap;
  margin: .5em 0 0;
}
.block_company .area_contents .spot_history .history_img01 {
  width: min(50%, 324px);
}
.block_company .area_contents .spot_history .figureFlex01 {
  display: flex;
  width: min(100%, 630px);
  justify-content: space-between;
}
.block_company .area_contents .spot_history .history_img02 {
  width: 55.556%;
}
.block_company .area_contents .spot_history .history_img03 {
  width: 39.685%;
}
.block_company .area_contents .spot_history .history_img04 {
  width: 32.46%;
}
.block_company .area_contents .spot_history .history_img05 {
  width: min(50%, 324px);
}

/**/
.dl_outline {
  display: flex;
  border-top: solid 1px #D4D4D4;
  border-bottom: solid 1px #D4D4D4;
}
.dl_outline + .dl_outline {
  border-top: none;
}
.dl_outline > dt {
  background: #F8F7F3;
  font-weight: 600;
  width: 11em;
  box-sizing: border-box;
  padding: .965em 1em;
  display: flex;
  align-items: center;
}
.dl_outline > dd {
  width: calc(100% - 11em);
  box-sizing: border-box;
  padding: .965em 1em;
}
.dl_outline .list_discAnalog {
  margin: 0;
}
.dl_outline .organization_img {
  width: min(100%, 572px);
  margin: .5em 0;
}
.block_company .officers {
  line-height: 1.9;
}
.block_company .officers th {
  text-align: left;
  padding: .1em 2em .1em 0;
  font-weight: 500;
}
.block_company .officers td {
  padding: .1em 0;
}
/**/
.block_company .area_contents .spot_baseList .baseListSet + .baseListSet {
  margin: 4.2em 0 0;
}
.block_company .area_contents .spot_baseList .baseListFlex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 1.3em 0 0;
}
.block_company .area_contents .spot_baseList .baseList_img {
  width: 48.215%;
}
.block_company .area_contents .spot_baseList .baseListInfo {
  width: 48%;
}
.block_company .area_contents .spot_baseList .baseListInfo .dl_outline > dt {
  font-size: 87.5%;
  width: 7em;
  line-height: 1.6;
  padding: .78em 1em;
  min-height: 4.76em;
}
.block_company .area_contents .spot_baseList .baseListInfo .dl_outline > dt span {
  display: block;
  width: 100%;
}
.block_company .area_contents .spot_baseList .baseListInfo .dl_outline > dd {
  font-size: 87.5%;
  width: calc(100% - 7em);
  line-height: 1.6;
  padding: .78em 1em;
  display: flex;
  align-items: center;
}
.block_company .area_contents .spot_baseList .baseList_map {
  margin: 2em 0 0;
  overflow: hidden;
  position: relative;
  height: 250px;
}
.block_company .area_contents .spot_baseList .baseList_map iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.block_company .area_contents .spot_baseList .bg .baseListSet {
  padding: 0 3.5em;
}
.block_company .area_contents .spot_baseList .bg .baseListSet .baseListInfo {
  margin: 1.5em 0 0;
  width: 100%;
}
.block_company .area_contents .spot_baseList .bg .dl_outline dt {
  background: #fff;
}
.block_company .area_contents .spot_baseList .bg .dl_outline dd {
  background: #fff;
  border-left: solid 1px #D4D4D4;
}
/**/
.list_takenakaGroup {
  display: flex;
  flex-wrap: wrap;
  gap: 2em 5%;
  margin: 1.8em 0 0;
  position: relative;
  z-index: 5;
}
.list_takenakaGroup > li {
  width: 47.5%;
  box-sizing: border-box;
  border: solid 1px #D4D4D4;
  padding: 2em 0 1.8em;
  background: #fff;
}
.list_takenakaGroup > li .thumbnail {
  text-align: center;
  position: relative;
  padding: 0 0 .85em;
}
.list_takenakaGroup > li .thumbnail::before {
  content: '';
  width: 3em;
  height: 2px;
  background: #861C3C;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.list_takenakaGroup > li .thumbnail img {
  display: block;
  width: min(95%, 335px);
  margin: auto;
}
.list_takenakaGroup > li .takenakaGroup_name {
  text-align: center;
  font-size: 112.5%;
  font-weight: 700;
  margin: .7em 0 0;
  letter-spacing: .08em;
}
.list_takenakaGroup > li .takenakaGroup_desc {
  text-align: center;
  line-height: 1.6;
  margin: .3em 0 1em;
}
.list_takenakaGroup > li .takenakaGroup_btn {
  width: max(44%, 174px);
  box-sizing: border-box;
  text-align: center;
  border: solid 1px #861C3C;
  border-radius: 3em;
  margin: 0 auto;
  font-size: 87.5%;
  font-weight: 600;
}
.list_takenakaGroup > li .takenakaGroup_btn a {
  display: block;
  padding: .2em 1.8em .2em 0;
  background-image: url(../img/icon_blank.svg);
  background-size: 1.2em auto;
  background-repeat: no-repeat;
  background-position: right 1.6em center;
  transition: all .2s;
}
.list_takenakaGroup > li .takenakaGroup_btn a:hover {
  color: #861C3C;
}
.list_takenakaGroup > li.flex {
  display: flex;
  align-items: center;
  min-height: 300px;
}
.list_takenakaGroup > li.flex .takenakaGroupWrap {
  width: 100%;
}
/**/
.block_company .area_contents .spot_group .contentsBase {
  padding: 7.5em 0 4.5em;
  margin: -3em auto 0;
}
.block_company .area_contents .spot_group .contentsBase.bg--long::before {
  height: calc(100% - 3em);
  top: 2em;
}
.block_company .area_contents .spot_group .group_titleBox {
  text-align: center;
}
.block_company .area_contents .spot_group .group_titleImage {
  width: 200px;
  height: 60px;
  margin: 0 auto 1.2em;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background: url("../img/company/group/group_title.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.list_groupAnchor {
  display: flex;
  justify-content: space-between;
}
.block_company .area_contents .spot_group .list_groupAnchor {
  margin: 2em 0 0;
}
.list_groupAnchor > li {
  box-sizing: border-box;
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  width: 31.55%;
  text-align: center;
  overflow: hidden;
  position: relative;
}
.list_groupAnchor > li::before {
  content: '';
  width: 0;
  height: 100%;
  background: #F5F5F5;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
.list_groupAnchor > li:hover::before {
  width: 100%;
  right: auto;
  left: 0;
}
.list_groupAnchor > li a {
  display: block;
  padding: 1.5em 0;
  position: relative;
  z-index: 5;
}
.list_groupAnchor > li .en {
  color: #A9A9A9;
  font-size: 81.25%;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: .05em;
  margin: 0 0 .1em;
}
.list_groupAnchor > li .name {
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .05em;
}
.list_groupAnchor > li .name span {
  height: 2.6em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.list_groupAnchor > li .image {
  width: 91.255%;
  margin: 0 auto .1em;
}
.list_groupAnchor > li .arrow {
  width: 1.626em;
  height: 1.626em;
  box-sizing: border-box;
  border: solid 1px #861C3C;
  border-radius: 50%;
  margin: auto;
  position: relative;
  overflow: hidden;
}
.list_groupAnchor > li .arrow::before {
  content: '';
  width: .45em;
  height: .45em;
  box-sizing: border-box;
  border-top: solid 1px #861C3C;
  border-right: solid 1px #861C3C;
  position: absolute;
  z-index: 5;
  left: 0;
  top: 0;
  bottom: .15em;
  right: 0;
  margin: auto;
  transform: rotateZ(135deg);
  transition: all .5s;
}
.list_groupAnchor > li .arrow::after {
  content: '';
  width: 0;
  height: 100%;
  background: #861C3C;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
.list_groupAnchor > li:hover .arrow::before {
  border-color: #fff;
}
.list_groupAnchor > li:hover .arrow::after {
  width: 100%;
  right: auto;
  left: 0;
}
/**/
.block_company .area_contents .spot_privacy .privacy_lead {
  font-size: 81.25%;
  margin: 1.7em 0 1.1em;
}
.list_privacy {
  font-size: 81.25%;
  list-style: decimal;
  margin: 0 0 0 1.4em;
  line-height: 1.6;
}
.list_privacy li + li {
  margin: 1.2em 0 0;
}
.list_privacy .privacysectionTitle {
  margin: 0 0 .7em;
}
.dl_privacy + .dl_privacy {
  margin: .7em 0 0;
}
.dl_privacy dd {
  padding: .3em 0 0 1.75em;
}
.privacy_suDl {
  display: flex;
}
.privacy_suDl span.dt {
  width: 5.5em;
  display: flex;
  justify-content: space-between;
  text-align: left;
}
.block_company .area_contents .spot_privacy .security_lead {
  font-size: 81.25%;
  margin: 2.2em 0 1.1em;
  line-height: 1.6;
}
.block_company .area_contents .spot_privacy .security_startTitle {
  font-size: 81.25%;
}
.dl_security {
  font-size: 81.25%;
  margin: 1em 0 0;
}
.dl_security dt {
  font-weight: 700;
}
.dl_security dd {
  margin: 0 0 0 1.32em;
}
@media all and (max-width:1024px) {
  .block_company .area_contents {
    overflow: hidden;
    margin: 3em 0 0;
  }
  .block_company .area_companyPage .titleBox {
    margin: 2em 0 0;
  }
  .block_company .area_contents .contentsRight {
    position: relative;
    height: auto;
    width: 100%;
    margin: 3em 0 0;
  }
  .block_company .area_contents .contentsSticky {
    position: relative;
    top: 0;
  }
  .block_company .area_contents .contentsWrap {
    margin: 0 0 4em;
  }
  .list_stickyCompany {
    display: flex;
    flex-wrap: wrap;
  }
  .list_stickyCompany li {
    width: 50%;
  }
  .block_company .area_contents .contentsLeft {
    padding: 0;
    margin: 1.5em 0 0;
  }
  .list_takenakaGroup {
    font-size: 1.65vw;
  }
  .list_takenakaGroup > li.flex {
    min-height: 0;
  }
}
/* ====================================
page-name #news
====================================*/
.block_news {
  margin: 0 0 7.5em;
}
.block_news .area_archive {
  min-height: 35em;
}
.block_news .newsWrap {
  position: relative;
  padding: 0 0 0 250px;
}
.block_news .newsWrap .newsSticky {
  position: absolute;
  left: 0;
  top: 0;
  width: 210px;
  height: 100%;
}
.block_news .newsWrap .newsSticky .stickyWrap {
  position: sticky;
  left: 0;
  top: 100px;
}
.list_newsColor {
  border-top: solid 1px #E9E9E9;
}
.list_newsColor > li {
  border-bottom: solid 1px #E9E9E9;
  position: relative;
}
.list_newsColor > li::before {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: #F8F7F3;
  transition: all .5s;
}
.list_newsColor > li:hover::before {
  width: 100%;
  right: auto;
  left: 0;
}
.list_newsColor > li a {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 5;
  line-height: 1.6;
  padding: .48em 0;
}
.list_newsColor > li span.time {
  display: block;
  width: 120px;
  color: #A9A9A9;
  letter-spacing: .08em;
}
.list_newsColor > li span.category {
  display: block;
  border: solid 1px #BEBEBE;
  border-radius: .3em;
  text-align: center;
  width: 80px;
  font-size: 87.5%;
  background: #fff;
}
.list_newsColor > li span.category.cat01, .list_newsColor > li span.category.notice {
  border-color: #7E7E7E;
  color: #7E7E7E;
}
.list_newsColor > li span.category.cat02, .list_newsColor > li span.category.recruit {
  border-color: #ED7F02;
  color: #ED7F02;
}
.list_newsColor > li span.category.cat03, .list_newsColor > li span.category.technology {
  border-color: #1C6BD2;
  color: #1C6BD2;
}
.list_newsColor > li span.category.cat04, .list_newsColor > li span.category.csr {
  border-color: #109739;
  color: #109739;
}
.list_newsColor > li span.category.cat05, .list_newsColor > li span.category.topics {
  border-color: #A13616;
  color: #A13616;
}
.list_newsColor > li span.title {
  display: flex;
  align-items: center;
  width: calc(100% - 200px);
  box-sizing: border-box;
  padding: 0 70px 0 2em;
  min-height: 3.6em;
  position: relative;
}
.list_newsColor > li span.title span.height {
  width: 100%;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.dl_newsCategory + .dl_newsCategory {
  margin: 2.6em 0 0;
}
.dl_newsCategory dt {
  background: #F5F5F5;
  line-height: 1.6;
  border-left: solid 1px #861C3C;
  font-weight: 600;
  padding: .45em .7em;
}
.dl_newsCategory dd {
  line-height: 1.6;
  margin: .6em 0 0;
}
.list_newsCategoryLinks {
  display: flex;
  flex-wrap: wrap;
}
.list_newsCategoryLinks > li {
  width: 50%;
}
.list_newsCategoryLinks.type--long > li {
  width: 100%;
}
.list_newsCategoryLinks > li a {
  display: block;
  padding: .5em 0 .5em 1.2em;
  position: relative;
}
.list_newsCategoryLinks > li a::before {
  content: '';
  width: .8em;
  height: .8em;
  border-radius: 50%;
  border: solid 1px #D4D4D4;
  position: absolute;
  left: -.05em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.list_newsCategoryLinks > li a::after {
  content: '';
  width: .8em;
  height: .8em;
  border-radius: 50%;
  background: #861C3C;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: scale(0);
  transform-origin: center;
  transition: transform .5s;
}
.list_newsCategoryLinks > li.active a::after {
  transform: scale(.7);
}
.list_newsCategoryLinks > li a:hover::after {
  transform: scale(.5);
}
.block_news .area_pager {
  margin: 3em auto 0;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: .5em .5em;
}
.block_news .area_pager span, .block_news .area_pager a {
  display: block;
  width: 2em;
  height: 2em;
  line-height: 1.9;
  text-align: center;
  border: solid 1px #E9E9E9;
  transition: all .3s;
}
.block_news .area_pager span.current {
  background: #F8F7F3;
}
.block_news .area_pager a.page-numbers:hover {
  background: #861C3C;
  color: #fff;
}
@media all and (max-width:1024px) {
  .block_news {
    margin: 0 0 3.5em;
  }
  .block_news .newsWrap {
    padding: 0;
  }
  .block_news .newsWrap .newsSticky {
    position: relative;
    width: 100%;
    margin: 3em 0 0;
    height: auto;
  }
  .block_news .newsWrap .newsSticky .stickyWrap {
    position: relative;
    top: 0;
  }
  .list_newsColor > li span.time {
    width: 18%;
  }
  .list_newsColor > li span.category {
    width: 12%;
  }
  .list_newsColor > li span.title {
    width: 70%;
    padding: 0 60px 0 2em;
  }
  .list_newsCategoryLinks > li, .list_newsCategoryLinks.type--long > li {
    width: 20% !important;
  }
}
/* ====================================
page-name #news-single
====================================*/
.block_news .area_single {
  margin: -1em 0 0;
}
.block_news .area_single .inner {
  width: min(95%, 866px);
}
.block_news .area_single .single_category {
  margin: 0 0 .3em;
}
.block_news .area_single .single_category span {
  display: inline-block;
  font-size: 87.5%;
  letter-spacing: .08em;
  border: solid 1px #BEBEBE;
  color: #BEBEBE;
  line-height: 1.5;
  border-radius: .25em;
  padding: 0 .5em;
}
.block_news .area_single .single_category span.cat01, .block_news .area_single .single_category span.notice {
  border-color: #7E7E7E;
  color: #7E7E7E;
}
.block_news .area_single .single_category span.cat02, .block_news .area_single .single_category span.recruit {
  border-color: #ED7F02;
  color: #ED7F02;
}
.block_news .area_single .single_category span.cat03, .block_news .area_single .single_category span.technology {
  border-color: #1C6BD2;
  color: #1C6BD2;
}
.block_news .area_single .single_category span.cat04, .block_news .area_single .single_category span.csr {
  border-color: #109739;
  color: #109739;
}
.block_news .area_single .single_category span.cat05, .block_news .area_single .single_category span.topics {
  border-color: #A13616;
  color: #A13616;
}
.block_news .area_single .single_category span + span {
  margin: 0 0 0 1em;
}
.block_news .area_single .single_title {
  font-size: 250%;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .05em;
  text-align: left;
  margin: 0 0 1em;
}
/* ====================================
page-name #partner
====================================*/
.block_partner .partner_lead {
  font-size: 150%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
  margin: -2em 0 3em;
}
.table_partner {
  width: 100%;
  margin: 1.25em 0 0;
}
.table_partner thead th {
  background: #F5F5F5;
  font-size: 112.5%;
  font-weight: 600;
  border: solid 1px #D4D4D4;
  text-align: center;
  padding: .4em 0;
}
.table_partner td {
  font-size: 112.5%;
  border: solid 1px #D4D4D4;
  text-align: center;
  padding: .4em 1em;
}
.table_partner td.left {
  text-align: left;
}
.table_partner td a {
  color: #0000EE;
  display: inline-block;
  padding: 0 1em 0 0;
  border-bottom: solid 1px #0000EE;
  line-height: 1.2;
  background: url(../img/icon_down.svg);
  background-repeat: no-repeat;
  background-size: .75em auto;
  background-position: right center;
  transition: all .3s;
}
.table_partner td a:hover {
  opacity: .6;
}
.block_partner .partner_att {
  margin: .8em 0 0;
  line-height: 1.6;
  letter-spacing: .08em;
}
.block_partner .partner_att a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  line-height: 1.2;
  transition: opacity .3s;
}
.block_partner .partner_att a:hover {
  opacity: .6;
}
.block_partner .area_adobe {
  text-align: center;
  margin: 2.8em 0;
  background: #F5F5F5;
  padding: 3em 0;
}
.block_partner .area_adobe .adobe_text {
  display: inline-block;
  text-align: left;
  line-height: 1.6;
}
.block_partner .area_adobe .adobe_text a {
  display: block;
  padding: 0 1em 0 7em;
  position: relative;
}
.block_partner .area_adobe .adobe_text a::before {
  content: '';
  width: 5em;
  height: 5em;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/icon_adobe.webp");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transition: opacity .3s;
}
.block_partner .area_adobe .adobe_text a:hover::before {
  opacity: .6;
}
/* ====================================
page-name #sitemap
====================================*/
.block_sitemap {
  margin: -1em 0 4.2em;
}
.block_sitemap .sitemap_inner {
  width: min(95%, 1238px);
  margin: auto;
}
.block_sitemap .sitemap_navFlex {
  display: flex;
  justify-content: space-between;
  margin: 0 0 4em;
}
.block_sitemap .sitemap_navWrap {
  width: 29.888%;
}
/* ====================================
page-name #inquiry
====================================*/
.list_form {
  width: min(95%, 1076px);
  margin: auto;
}
.list_form input, .list_form select {
  -webkit-appearance: none;
  appearance: none;
}
.list_form select option {
  color: #3E3A39;
}
.list_form input[type="text"], .list_form input[type="tel"], .list_form input[type="email"], .list_form textarea {
  border: solid 1px #D4D4D4;
  background: #F8F7F3;
  width: 100%;
  padding: .75em .7em .65em;
  font-size: 16px;
  box-sizing: border-box;
}
.list_form input[type="text"]:disabled {
  background: #eee;
}
.list_form input[type="text"]::placeholder, .list_form input[type="tel"]::placeholder, .list_form input[type="email"]::placeholder, .list_form textarea::placeholder, .list_form select option:first-child {
  color: #BEBEBE;
}
.list_form select:invalid {
  color: #BEBEBE;
}
.list_form select {
  border: solid 1px #D4D4D4;
  width: min(50%, 240px);
  padding: .7em;
  font-size: 16px;
  background-color: #F8F7F3;
  background-image: url("../img/icon_polygon.svg");
  background-repeat: no-repeat;
  background-size: .5em auto;
  background-position: right 1em center;
}
.list_form > li {
  display: flex;
}
.list_form > li + li {
  margin: 3em 0 0;
}
.list_form > li .formLabel {
  width: 290px;
  position: relative;
}
.list_form > li .formLabel .hissu {
  background: #861C3C;
  color: #fff;
  font-size: 87.5%;
  font-weight: 700;
  display: inline-block;
  border-radius: .15em;
  line-height: 1;
  padding: .2em .6em .3em;
  margin: 0 0 0 1em;
  transform: translateY(-.1em);
}
.list_form > li .formLabel label {
  font-size: 112.5%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
}
.list_form > li .formInput {
  width: calc(100% - 290px);
}
.list_form > li .form_radio.radioFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
}
.list_form > li .form_radio.radioFlex .wpcf7-form-control-wrap {
  width: 100%;
}
.list_form > li .form_radio.radioFlex .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
}
.list_form > li .wpcf7-list-item {
  margin: 0;
}
.list_form > li .form_radio .wpcf7-list-item {
  display: block;
  position: relative;
}
.list_form > li .form_radio .wpcf7-list-item label {
  display: inline-block;
  position: relative;
  padding: 0 0 0 1.7em;
  cursor: pointer;
}
.list_form > li .form_radio .wpcf7-list-item label::before {
  content: '';
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  border: solid 1px #D4D4D4;
  background: #F8F7F3;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.list_form > li .form_radio .wpcf7-list-item label::after {
  content: '';
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  background: #861C3C;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: scale(0);
  transition: all .5s;
}
.list_form > li .form_radio .wpcf7-list-item label.active::after {
  transform: scale(.6);
}
.list_form > li .form_radio .wpcf7-list-item input[type="radio"] {
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
}
.list_form > li .form_radio.radioInput input[type="text"] {
  width: calc(100% - 5em);
  display: inline-block;
}
.list_form > li .form_radio.radio_free {
  position: relative;
}
.list_form > li .form_radio.radio_free .wpcf7-list-item + .wpcf7-list-item {
  margin: 1em 0 0;
}
.list_form > li .form_radio.radio_free .free_text {
  position: absolute;
  right: 0;
  top: -.4em;
  width: calc(100% - 1.7em);
}
.list_form > li .other_input {
  margin: .5em 0 0;
}
.list_form > li .form_att {
  font-size: 87.5%;
  line-height: 1.4;
  letter-spacing: .08em;
}
.list_form > li .formInput.separate {
  display: flex;
  justify-content: space-between;
}
.list_form > li .formInput.separate .separateBox {
  width: 47%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.list_form > li .formInput.separate .separateBox .inputText {
  line-height: 1.6;
  width: 2.3em;
  text-align: right;
}
.list_form > li .formInput.separate .separateBox .inputField {
  width: calc(100% - 3em);
}
.block_form .form_privacy {
  background: #F5F5F5;
  padding: 3.3em 1.5em;
  text-align: center;
  margin: 4em auto 0;
  width: min(95%, 1076px);
  box-sizing: border-box;
}
.block_form .form_privacy .privacy_title {
  font-size: 112.5%;
  font-weight: 700;
  margin: 0 0 .5em;
}
.block_form .form_privacy .privacy_text {
  display: inline-block;
  text-align: left;
  letter-spacing: .08em;
}
.block_form .form_privacy .privacy_text a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  transition: opacity .3s;
}
.block_form .form_privacy .privacy_text a:hover {
  opacity: .6;
}
.block_form .area_submit {
  margin: 4em 0 7em;
  text-align: center;
}
.block_form .area_submit .back {
  display: inline-block;
  width: 300px;
  position: relative;
  background: #ddd;
  box-sizing: border-box;
  border: solid 1px #ddd;
  border-radius: 3em;
  overflow: hidden;
  transition: all .3s;
  color: #999;
  margin: 0 1em 0 0;
}
.block_form .area_submit .back:hover {
  background: #eee;
}
.block_form .area_submit .back input {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  z-index: 5;
  border: none;
  background: none;
  color: #fff;
  font-size: 112.5%;
  font-weight: 600;
  display: block;
  width: 100%;
  padding: .75em 0;
  cursor: pointer;
  transition: color .5s;
}
.block_form .area_submit .submit {
  display: inline-block;
  width: 540px;
  position: relative;
  background: #861C3C;
  box-sizing: border-box;
  border: solid 1px #861C3C;
  border-radius: 3em;
  overflow: hidden;
}
.block_form .area_submit .submit::before {
  content: '';
  width: 0;
  height: 100%;
  background: #fff;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
.block_form .area_submit .submit:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.block_form .area_submit .submit input {
  position: relative;
  z-index: 5;
  border: none;
  background: none;
  color: #fff;
  font-size: 112.5%;
  font-weight: 600;
  display: block;
  width: 100%;
  padding: .75em 0;
  cursor: pointer;
  transition: color .5s;
}
.block_form .area_submit .submit:hover input {
  color: #861C3C;
}
.block_form .area_submit span.linkHover.type--white {
  pointer-events: none;
  right: 1em;
  transition: background .5s;
}
.block_form .area_submit .submit:hover span.linkHover.type--white {
  background: #861C3C;
}
.block_form .area_submit .submit:hover span.linkHover.type--white::before {
  background-image: url(../img/arrow01--on.svg);
}
.block_form .form_lead {
  letter-spacing: .08em;
  margin: 0 auto 4em;
  width: min(95%, 1076px);
}
.block_form .form_lead a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  transition: opacity .3s;
}
.block_form .form_lead a:hover {
  opacity: .6;
}
.block_form .area_thanks {
  margin: 0 auto 10em;
  width: min(100%, 900px);
}
.block_form .area_thanks .thanks_text {
  margin: 2em 0 5em;
}

.catchOut {
    animation: catchOut 3s;
    animation-delay: 12s;
    animation-fill-mode: both;
}

.sdg_icon{
  display: flex;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
}

.sdg_icon li{
  max-width: 70px;
  margin-right: 5px;
}

.sdg_icon.three_icon li{
  max-width: 56px;
  margin-right: 5px;
}


@keyframes catchOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}