@charset "utf-8";
html[lang="ja"] {
  margin: 0 !important;
}
body {
  font-size: 3.733vw;
  margin: 50px 0 0;
}
body.nav--open {
  overflow: hidden;
}
#wpadminbar, .pc-only {
  display: none !important;
}
.inner {
  width: 90%;
  margin: auto;
}
.inner--small {
  width: 90%;
  margin: auto;
}
.overflow {
  overflow: hidden;
}
/* == parts ============================================== */
.title_base {
  position: relative;
}
.title_base:not(.type--noBorder) {
  padding: 0 0 1em;
  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--center {
  text-align: center;
}
.title_base.type--center::before {
  right: 0;
  margin: auto;
}
.title_base .en {
  color: #861C3C;
  line-height: 1;
  font-weight: 700;
}
.title_base .jp {
  font-size: 178.57%;
  font-weight: 600;
  line-height: 1.5;
}
.title_base small {
  display: block;
  font-size: 80%;
}
.title_border {
  background: #F5F5F5;
  border-left: solid 2px #861C3C;
  font-size: 125%;
  font-weight: 700;
  padding: .3em .85em;
}
.title_border.small {
  font-size: 114.3%;
}
/*-----*/
.btn_base {
  box-sizing: border-box;
  border: solid 1px #D4D4D4;
  border-radius: 2em;
  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 a {
  display: block;
  font-weight: 600;
  padding: .6em 2em;
  position: relative;
  z-index: 5;
  transition: all .5s;
}
.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.type--small {
  width: 15em;
  text-align: left;
  margin: auto;
}
.btn_baseWrap .btn_base + .btn_base {
  margin: 1em auto 0;
}
/**/
span.linkHover {
  display: block;
  width: 2.5em;
  height: 1em;
  box-sizing: border-box;
  border: solid 1px #861C3C;
  border-radius: 1em;
  background-color: #861C3C;
  position: absolute;
  right: 0;
  top: .05em;
  bottom: 0;
  margin: auto;
  overflow: hidden;
}
span.linkHover::before {
  content: '';
  width: .9em;
  height: 1em;
  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;
  z-index: 10;
}
span.linkHover::after {
  content: '';
  width: 0;
  height: 100%;
  background: #fff;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
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;
}
/**/
.link_more {
  position: relative;
  border-bottom: solid 1px #D4D4D4;
}
.link_more a {
  display: block;
  font-size: 112.5%;
  font-weight: 600;
  padding: .45em 0;
}
/**/
.parts_otherLinks {
  background: #F8F7F3;
  padding: 4em 0;
}
.list_otherLinks > li + li {
  margin: 1em 0 0;
}
.list_otherLinks > li a {
  display: block;
  width: 100%;
  height: 0;
  padding: 61.3% 0 0;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border-radius: .8em;
}
.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;
}
/* == header ============================================== */
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.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: 3em 0 2em;
}
footer .f_inner {
  width: 90%;
  margin: auto;
}
footer .f_logo {
  width: 10em;
  height: 3em;
  margin: 0 auto 2em;
}
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_navFlex {
  margin: 0 0 3em;
}
footer .f_navWrap + .f_navWrap {
  margin: 1.5em 0 0;
}
.list_fNav {
  display: flex;
  flex-wrap: wrap;
  gap: 0 8%;
}
.list_fNav > li {
  width: 46%;
  border-top: solid 1px #D4D4D4;
}
.list_fNav.sp--long {
  display: block;
}
.list_fNav.sp--long > li {
  width: 100%;
}
.list_fNav.sp--long > li + li {
  margin: 1.5em 0 0;
}
.list_fNav.sp--separate > li {
  width: 100%;
}
.list_fNav.sp--separate > li .list_fsubLinks {
  display: flex;
  flex-wrap: wrap;
}
.list_fNav.sp--separate > li .list_fsubLinks > li {
  width: 50%;
}
.list_fNav .f_bigLink a {
  display: block;
  position: relative;
  padding: .767em 0;
  font-weight: 600;
}
.list_fNav .sec_title {
  background: #F8F7F3;
  font-size: 93.75%;
  font-weight: 600;
  padding: .5em 1.25em;
  margin: 1em 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;
  margin: 0 0 0 1.4em;
  position: relative;
  font-size: 92.86%;
}
.list_fsubNav {
  display: flex;
  gap: 0 8%;
  flex-wrap: wrap;
}
.list_fsubNav > li {
  width: 46%;
  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;
}
footer .copyright {
  margin: 3em 0 0;
  text-align: center;
  font-size: 60%;
}
/* == frontpage ==============================================*/
.block_frontMovie {
  padding: .5em 0 0;
}
.block_frontMovie .videoWrap {
  width: 95%;
  height: 0;
  padding: 114% 0 0;
  margin: auto;
  position: relative;
  overflow: hidden;
  border-radius: 1em;
}
.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: 4%;
  bottom: 8%;
  width: 92%;
  color: #fff;
  font-size: 300%;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1;
  letter-spacing: .13em;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  gap: .4em 0;
}
.block_frontMovie .videoWrap .video_title span.wrap {
  display: block;
  width: 14%;
  overflow: hidden;
}
.block_frontMovie .videoWrap .video_title span.wrap span {
  display: block;
  transform: translateY(1.1em);
  transition: transform .8s ease-out 0s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(1) span {
  transition-delay: .1s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(2) span {
  transition-delay: .15s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(3) span {
  transition-delay: .2s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(4) span {
  transition-delay: .25s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(5) span {
  transition-delay: .3s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(6) span {
  transition-delay: .35s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(7) span {
  transition-delay: .4s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(8) span {
  transition-delay: .45s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(9) span {
  transition-delay: .5s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(10) span {
  transition-delay: .55s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(11) span {
  transition-delay: .6s;
}
.block_frontMovie .videoWrap .video_title span.wrap:nth-child(12) span {
  transition-delay: .65s;
}
body.page--open .block_frontMovie .videoWrap .video_title span {
  transform: translateY(0);
}
/*------*/
.block_frontMission {
  padding: 4em 0 0;
}
.block_frontMission .missionWrap {
  position: relative;
}
.block_frontMission .mission_title .en {
  color: #861C3C;
  line-height: 1;
  font-weight: 700;
  margin: 0 0 .3em;
}
.block_frontMission .mission_title .jp {
  font-size: 150%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
}
.block_frontMission .missionWrap .mission_img {
  margin: 1em auto;
}
.block_frontMission .missionWrap .mission_text p + p {
  margin: 1em 0 0;
}
/*------*/
.block_frontBusiness {
  padding: 5em 0 5em;
}
.block_frontBusiness .list_businessSummary {
  margin: 2em 0 3em;
}
.list_businessSummary > li + li {
  margin: 2em 0 0;
}
.list_businessSummary > li .business_thumbnail img {
  pointer-events: none;
}
.list_businessSummary > li .business_name {
  font-size: 128.57%;
  font-weight: 600;
  margin: .6em 0 .4em;
}
/*------*/
.block_frontVision {
  padding: 5em 0;
  background: #F8F7F3;
  position: relative;
}
.block_frontVision::before {
  content: '';
  width: .5em;
  height: 100%;
  background: #861C3C;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  pointer-events: none;
}
.block_frontVision .list_visionSummary {
  margin: 2em 0 0;
}
.list_visionSummary > li + li {
  margin: 3em 0 0;
}
.list_visionSummary > li .vision_thumbnail {
  overflow: hidden;
}
.list_visionSummary > li .vision_title {
  font-size: 114.3%;
  font-weight: 600;
  margin: 1em 0 .5em;
}
.list_visionSummary > li .vision_text {
  font-size: 93%;
}
.list_visionSummary .link_more {
  width: 15em;
  margin: 1em 0 0;
}
#page_service .list_visionSummary .link_more a {
  font-size: 100%;
}
/*------*/
.block_frontWorks {
  padding: 5em 0 0;
}
.block_frontWorks .list_worksSummary {
  margin: 3em 0 3em;
}
.list_worksSummary > li + li {
  margin: 3em 0 0;
}
.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_certificate{
    display: block;
    position: absolute;
    z-index: 5;
    top:.6em;
    width: 35%;
    cursor: pointer;
    transition: opacity .3s;
}
↩
.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: 114.3%;
  font-weight: 600;
  margin: .8em 0 .6em;
  line-height: 1.5;
}
.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: 90%;
}
.list_worksSummary > li .modalWrap .modalBg{
        background: #fff;
    position: relative;
}
.list_worksSummary > li .modalWrap .modalBg .modal_close{
    position: absolute;
        right: -.7em;
        top: -.7em;
    width: 2.5em;
    height: 2.5em;
    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::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: 2em 0 1.2em;
    margin: auto;
    display: none;
        width: 92%;
}
.list_worksSummary > li .modalWrap .modal_contents.open{
    display: block;
}
.list_worksSummary > li .modalWrap .modal_contents .contents_image{
        margin: 0 auto .8em;
}
.list_worksSummary > li .modalWrap .modal_contents .content_caption{
    font-weight: 600;
    font: 86%;
}
/*------*/
.block_frontRecruit {
  padding: 5em 0 0;
}
.block_frontRecruit .recruitFlex {
  background: #F8F7F3;
  overflow: hidden;
  border-radius: .8em;
}
.block_frontRecruit .recruit_imgBox {
  margin: 0 0 1.5em;
}
.block_frontRecruit .recruit_textBox {
  box-sizing: border-box;
  width: 90%;
  margin: auto;
  padding: 0 0 2.5em;
}
.block_frontRecruit .recruit_lead {
  margin: .5em 0 1.5em;
}
/*------*/
.block_frontNews {
  padding: 5em 0;
}
.block_frontNews .newsLeft {
  background: #F5F5F5;
  border-radius: .8em;
  padding: 1.5em;
}
.block_frontNews .newsLeft .titleWrap {
  position: relative;
}
.block_frontNews .newsLeft .titleWrap .link_more {
  width: 12em;
  margin: 0 0 0 auto;
}
.block_frontNews .newsRight {
  margin: 1em 0 0;
}
.list_newsSummary {
  border-top: solid 1px #E9E9E9;
}
.list_newsSummary > li {
  border-bottom: solid 1px #E9E9E9;
}
.list_newsSummary > li a {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 1em 0 1em 1em;
}
.list_newsSummary > li span.en {
  font-size: 86%;
  display: block;
  width: 30%;
}
.list_newsSummary > li span.category {
  display: block;
  border: solid 1px #BEBEBE;
  border-radius: 2em;
  text-align: center;
  width: 25%;
  font-size: 80%;
}
.list_newsSummary > li span.title {
  width: 100%;
  box-sizing: border-box;
  margin: .5em 0 0;
  position: relative;
  padding: 0 3.5em 0 0;
}
.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;
}
/* == underpage ============================================== */
.block_pageTitle {
  padding: .5em 0 3em;
}
.block_pageTitle.page--padding {
  padding: 2em 0 3em;
}
.block_pageTitle .page_bnr {
  overflow: hidden;
  border-radius: 1em;
  width: 95%;
  margin: 0 auto 1.5em;
  position: relative;
  padding: 76% 0 0;
}
.block_pageTitle .page_bnr img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: cover;
  object-position: center;
}
.title_page .en {
  color: #861C3C;
  letter-spacing: .08em;
}
.title_page .en span {
  display: inline-block;
  border: solid 1px #861C3C;
  line-height: 1;
  padding: .1em 1em .3em;
  font-size: 114.3%;
  font-weight: 700;
  font-variant-caps: all-small-caps;
}
.title_page .jp {
  font-size: 185%;
  font-weight: 600;
  line-height: 1.4;
  margin: .3em 0 .8em;
}
.contentsBase {
  padding: 4em 0;
}
.contentsBase.small--padding {
  padding: 2em 0 4em;
}
.contentsBase.bg {
  background: #F8F7F3;
}
.contentsBase.bg--long {
  position: relative;
}
.contentsBase.bg--long::before {
  content: '';
  position: absolute;
  width: 110%;
  height: 100%;
  background: #F8F7F3;
  right: -5%;
  top: 0;
}
.contentsBase .lead_center {
  text-align: center;
  font-size: 114.3%;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 1em 0 0;
}
.contentsBase .text_base {
  margin: 1.5em 0 0;
  font-size: 93%;
}
.contentsBase .text_base p + p {
  margin: .9em 0 0;
}
.list_bread {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .3em 0;
}
.list_bread > li {
  font-size: 75%;
  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;
}
.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;
}
.block_pageTitle .page_info {
  background: #F5F5F5;
  margin: 3em 0 0;
}
.block_pageTitle .page_info .infoFlex {
  padding: 1.5em;
  border-left: solid 2px #861C3C;
}
.block_pageTitle .page_info .info_img {
  overflow: hidden;
  border-radius: .5em;
}
.block_pageTitle .page_info .info_text {
  margin: 1.5em 0 0;
  font-size: 93%;
}
.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;
}
/* ====================================
page-name #service
====================================*/
.block_service .area_overall .overallWrap {
  position: relative;
  padding: 0 0 4em 0;
}
.block_service .area_overall .overall_img {
  margin: 1.5em 0 0;
}
.block_service .area_overall .overall_lead {
  margin: 1em 0 0;
  font-size: 93%;
}
.block_service .area_overall .overall_lead p + p {
  margin: 1em 0 0;
}
.block_service .area_technology {
  padding: 4em 0;
}
.list_technologySummary {
  margin: 2em 0 0;
}
.list_technologySummary > li {
  position: relative;
}
.list_technologySummary > li + li {
  margin: 2.5em 0 0;
}
.list_technologySummary > li .technology_thumbnail {
  overflow: hidden;
  border-radius: .6em;
}
.list_technologySummary > li .technology_name {
  margin: 1em 0 .3em;
  font-size: 112.5%;
  font-weight: 600;
}
.list_technologySummary > li .technology_text {
  font-size: 93%;
}
.list_technologySummary > li .link_more {
  margin: 1em 0 0;
  width: 62%;
}
.list_technologySummary > li .link_more a {
  font-size: 100%;
}
/*--------------------*/
.block_service .stickyWrap .sideSticky {
  margin: 0 0 2em;
}
.list_stickyLinks {
  background: #F8F7F3;
}
.list_stickyLinks > li {
  font-weight: 600;
  position: relative;
  overflow: hidden;
}
.list_stickyLinks > li + li {
  margin: .1em 0 0;
  border-top: solid 1px #fff;
}
.list_stickyLinks > li a {
  display: block;
  padding: .4em 1.5em;
  transition: all .5s;
  position: relative;
  z-index: 5;
}
.list_stickyLinks > li a::before {
  content: '';
  width: .5em;
  height: .5em;
  position: absolute;
  right: 2em;
  top: 0;
  bottom: 0;
  margin: auto;
  border-top: solid 1px #861C3C;
  border-right: solid 1px #861C3C;
  box-sizing: border-box;
  transform: rotateZ(135deg);
}
.inner--sticky {
  width: 90%;
  margin: auto;
  box-sizing: border-box;
}
/**/
.block_service .area_desc {
  padding: 5.5em 0 3em;
  margin: -5.5em 0 0;
}
.block_service .area_desc .descWrap {
  position: relative;
}
.block_service .area_desc .desc_image {
  border-radius: .5em;
  margin: 1.5em 0;
  overflow: hidden;
}
.block_service .area_desc .desc_title {
  font-size: 115%;
  font-weight: 600;
  margin: 0 0 .5em;
}
.block_service .area_desc .desc_text {
  font-size: 93%;
}
.block_service .area_works {
  background: #F8F7F3;
  padding: 4em 0;
}
.list_representativeWorks {
  margin: 1.6em 0 0;
}
.list_representativeWorks > li + li {
  margin: 3em 0 0;
}
.list_representativeWorks > li .works_thumbnail {
  overflow: hidden;
  border-radius: .5em;
  margin: 0 0 1.5em;
}
.list_representativeWorks > li .textBox {
  box-sizing: border-box;
}
.list_representativeWorks > li .works_title {
  background: #fff;
  border-left: solid 2px #861C3C;
  font-size: 114.3%;
  padding: .6em 1em;
  margin: 0 0 1.2em;
}
.list_representativeWorks > li .works_text {
  font-size: 93%;
}
.list_representativeWorks > li .btn_base {
  margin: 1.5em auto 0;
}
.block_service .area_links {
  padding: 4em 0;
}
.block_service .area_links .linkSet {
  margin: 2em 0 0;
}
.block_service .area_links .linkSet + .linkSet {
  margin: 3em 0 0;
}
.list_serviceLinks {
  margin: 1.5em 0 0;
}
.list_serviceLinks > li {
  overflow: hidden;
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  box-sizing: border-box;
}
.list_serviceLinks > li + li {
  margin: .5em 0 0;
}
.list_serviceLinks > li a {
  display: flex;
  align-items: center;
}
.list_serviceLinks > li .thumbnail {
  width: 20%;
}
.list_serviceLinks > li .textBox {
  width: 80%;
  box-sizing: border-box;
  padding: 0 1em;
  line-height: 1.5;
  font-weight: 600;
  position: relative;
}
.list_serviceLinks > li .textBox .linkHover {
  right: 1em;
}
.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;
}
.block_service .area_plant .plant_image {
  margin: 0 0 1em;
}
.table_data {
  width: 100%;
}
.table_data th {
  background: #F8F7F3;
  border: solid 1px #D4D4D4;
  text-align: center;
  font-weight: 600;
  padding: .4em 0;
}
.table_data td {
  border: solid 1px #D4D4D4;
  line-height: 1.5;
  padding: .6em .8em;
  font-size: 86%;
}
.table_data.data--fixed {
  table-layout: fixed;
}
.table_data.data--small {
  font-size: 87.5%;
  font-weight: 600;
}
.table_data.data--small td {
  padding: .6em;
}
/*--------------------*/
.block_service .area_about {
  background: #F8F7F3;
  padding: 4em 0;
}
.block_service .area_about .aboutWrap {
  position: relative;
  box-sizing: border-box;
}
.block_service .area_about .about_image {
  margin: 1em 0 0;
}
.block_service .area_about .about_movie {
  margin: 1em 0 0;
  position: relative;
  padding: 64% 0 0;
  overflow: hidden;
  border-radius: .7em;
}
.block_service .area_about .about_movie video {
  position: absolute;
  left: -1%;
  top: -1%;
  width: 102%;
  height: 102%;
}
.block_service .area_about .about_text {
  margin: 1em 0 0;
  font-size: 93%;
}
.block_service .area_about .about_longImage {
  margin: 1.2em 0 0;
}
.block_service .area_about .about_imgText {
  margin: 1em 0 0;
  font-size: 93%;
}
.block_service .area_about .flexImage {
  overflow: hidden;
  border-radius: .5em;
  margin: 1.5em auto;
}
/**/
.block_service .area_feature {
  padding: 4em 0;
}
.list_feature {
  margin: 0 auto;
}
.list_feature > li {
  width: 100%;
  box-sizing: border-box;
  position: relative;
  padding: 2em 0 0;
}
.list_feature > li + li {
  margin: 2em auto 0;
}
.list_feature > li + li::before {
  content: '';
  width: 100%;
  height: 1px;
  background: #D4D4D4;
  position: absolute;
  left: 0;
  top: 0;
  margin: auto;
}
.list_feature > li .feature_thumbnail {
  width: 32.145%;
  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;
}
.list_feature .dl_feature dd.none {
  text-align: left;
}
.block_service .area_feature .feature_movie {
  margin: 2em auto 0;
}
.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: 2em 0;
  margin: 2em 0 0;
}
.block_service .area_feature .imgWrap .list_featureImage {
  background: #fff;
  width: 90%;
  margin: auto;
  border-radius: .5em;
  box-sizing: border-box;
  padding: 1em;
}
.list_featureImage > li:nth-child(2) {
  margin: 1.5em auto 0;
}
/**/
.block_service .area_ability .ability_bg {
  background: #F8F7F3;
  padding: 4em 0;
}
.list_ability {
  width: 90%;
  margin: 1.5em auto 0;
}
.list_ability > li {
  background: #fff;
}
.list_ability > li + li {
  margin: 2em auto 0;
}
.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: 90%;
  margin: 1.5em auto 0;
}
.block_service .area_ability .case_study {
  width: 90%;
  margin: 1.5em auto 0;
}
/**/
.block_service .area_concept {
  padding: 5em 0 0;
}
.list_heatingConcept {
  margin: 1.8em auto 0;
  text-align: center;
}
.list_heatingConcept > li + li {
  margin: 1.5em auto 0;
}
/**/
.block_service .area_data {
  padding: 5em 0 0;
}
.separateBase .separateBox + .separateBox {
  margin: 2em auto 0;
}
.separateBase .separate_textBase {
  margin: 1em 0;
  text-align: left;
  font-size: 93%;
}
.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: 59.26%;
}
.block_service .area_data .img02 {
  width: 68.15%;
}
.block_service .area_data .img03 {
  width: 57.038%;
}
.block_service .area_data .table_data {
  margin: 1.5em 0 0;
}
/**/
.block_service .area_spec {
  padding: 5em 0;
}
.block_service .area_spec.none {
  padding: 5em 0 0;
}
.dl_spec {
  margin: 1.8em 0 0;
}
.dl_spec + .dl_spec {
  margin: 3em 0 0;
}
.dl_spec dt {
  text-align: center;
}
.dl_spec dt figcaption {
  font-weight: 600;
}
.dl_spec dd {
  margin: 1.5em auto 0;
}
.dl_spec .table_data tr td.num {
  width: 6%;
  box-sizing: border-box;
  text-align: center;
}
.list_specDetail {
  margin: 1.5em auto 0;
}
.list_specDetail > li + li {
  margin: 2em auto 0;
}
.list_specDetail > li .list_check {
  line-height: 1.5;
}
.list_specDetail .spec_text {
  margin: .8em 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: .45em 0 .45em 2.5em;
  margin: 0 0 0 2em;
}
.list_procedure .titleWrap .procedure_num {
  position: absolute;
  left: -1.5em;
  top: 0;
  background: #861C3C;
  border-radius: 50%;
  width: 3em;
  height: 3em;
  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: 125%;
}
.list_procedure .titleWrap .procedure_num .step {
  display: block;
  font-size: 75%;
}
.list_procedure .titleWrap .procedure_title {
  color: #000;
  font-weight: 700;
  font-size: 114.3%;
}
.list_procedure .descWrap {
  margin: 1.5em 0 0 3em;
}
.list_procedure .descWrap .desc_image {
  overflow: hidden;
  margin: 0 0 1.5em;
  border-radius: .5em;
}
.list_procedure .descWrap .desc_text {
  box-sizing: border-box;
}
.list_procedure .descWrap .desc_text p {
  font-size: 93%;
  letter-spacing: .03em;
}
.list_procedure .procedure_smallImage {
  margin: 1.5em 0 0;
}
/**/
.block_service .area_procedure02 {
  padding: 5em 0;
}
.list_procedure02 {
  margin: 1.5em 0 0;
}
.list_procedure02 > li + li {
  margin: 2em auto 0;
}
.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: 135%;
  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;
}
.block_service .area_result .resultBg {
  background: #F8F7F3;
  padding: 3em 0;
}
.block_service .area_result .resultWrap {
  width: 90%;
  margin: auto;
  position: relative;
  box-sizing: border-box;
}
.block_service .area_result .resultWrap .result_detailBox {
  text-align: center;
  font-weight: 700;
}
.block_service .area_result .resultWrap .result_textBox .result_text {
  font-weight: 600;
  margin: 1em 0 2em;
}
.block_service .area_result .resultWrap .btn_base {
  margin: 2em auto 0;
}
.block_service .area_result .resultWrap .btn_base a {
  font-size: 100%;
  padding: .8em 0;
}
/**/
.block_service .area_contact {
  padding: 5em 0;
  background: #F8F7F3;
}
.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 {
  margin: 2em auto 0;
}
.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;
}
/**/
.block_service .area_example {
  padding: 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: 2em 0;
}
.list_exampleBox {
  width: 92%;
  margin: auto;
}
.list_exampleBox > li + li {
  margin: 2em auto 0;
}
.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;
  font-size: 93%;
}
.table_base {
  background: #fff;
  font-size: 86%;
  font-weight: 600;
  margin: 1em 0 0;
}
.table_base th {
  border: solid 1px #BEBEBE;
}
.table_base td {
  border: solid 1px #BEBEBE;
  padding: .5em;
}
.block_service .area_example .exampleBg {
  background: #fff;
}
.block_service .area_example .exampleWrap {
  width: 90%;
  margin: 2em auto 0;
  padding: 2em 0;
}
.block_service .area_example .exampleWrap .example_img {
  overflow: hidden;
  border-radius: .5em;
}
.block_service .area_example .exampleWrap .example_text {
  margin: 1.5em 0 0;
}
.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;
}
/**/
.block_service .area_caution {
  padding: 5em 0 5em;
}
.block_service .area_caution .cautionBg {
  background: #F5F5F5;
  padding: 3em 0;
}
.list_discAnalog {
  width: 90%;
  margin: 1em auto 0;
}
.list_discAnalog > li {
  position: relative;
  padding: 0 0 0 1em;
  letter-spacing: .03em;
}
.list_discAnalog > li + li {
  margin: .2em 0 0;
}
.list_discAnalog > li::before {
  content: '';
  width: .2em;
  height: .2em;
  background: #000000;
  position: absolute;
  left: .3em;
  top: 1em;
  border-radius: 50%;
}
/**/
.block_service .area_process .process_bg {
  background: #F8F7F3;
  padding: 3em 0;
}
.block_service .area_process .imageWrap {
  width: 90%;
  margin: 2em auto 4em;
  background: #fff;
  padding: 2em 0;
  border-radius: .5em;
  position: relative;
}
.block_service .area_process .imageWrap::before {
  content: '';
  width: 100%;
  height: 1px;
  background: #D4D4D4;
  position: absolute;
  left: 0;
  bottom: -2em;
}
.block_service .area_process .imageWrap .process_img {
  width: 95%;
  margin: auto;
}
.block_service .area_process .imageWrap .list_discAnalog {
  width: 95%;
  font-size: 93%;
}
.block_service .area_process .movieWrap {
  width: 90%;
  margin: auto;
  position: relative;
  height: 0;
  padding: 53% 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: 1.5em;
  overflow-x: scroll;
}
.table_material {
  width: 200vw;
  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;
  white-space: nowrap;
}
/**/
.block_service .area_sample {
  padding: 5em 0;
  background: #F5F5F5;
}
.block_service .area_sample .sampleBg {
  background: #fff;
  padding: 2em 0;
  margin: 1.8em 0 0;
  border-radius: .5em;
}
.list_colorSample {
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: auto;
  gap: 1.5em 2%;
}
.list_colorSample > li {
  text-align: center;
  width: 49%;
}
.list_colorSample > li div[class*="color"] {
  height: 6em;
}
.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: 85.7%;
  margin: .8em 0 0;
}
/**/
.block_service .area_constructionExample {
  padding: 5em 0;
}
.list_constructionExample {
  display: flex;
  flex-wrap: wrap;
  margin: 2em 0 0;
  gap: 1.5em 2%;
}
.list_constructionExample > li {
  width: 49%;
}
.list_constructionExample > li .image {
  overflow: hidden;
  border-radius: .5em;
}
.list_constructionExample figcaption {
  text-align: center;
  font-weight: 600;
  margin: .3em 0 0;
  line-height: 1.5;
}
/* ====================================
page-name #works
====================================*/
.block_works .area_archiveTitle .archive_bnr {
  width: 95%;
  margin: 0 0 1.5em 5%;
  overflow: hidden;
  border-top-left-radius: 1.5em;
  border-bottom-left-radius: 1.5em;
}
.block_works .area_archiveTitle .archive_title {
  margin: 1.2em 0 1em;
  font-size: 128.6%;
  line-height: 1.6;
  letter-spacing: .08em;
}
.block_works .area_archiveTitle .archive_lead {
  font-size: 93%;
}
.block_works .area_categoryLinks {
  margin: 3em 0;
}
.list_categoryLinks > li {
  position: relative;
}
.list_categoryLinks > li + li {
  margin: 1.2em auto 0;
}
.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;
  font-size: 114.3%;
}
.list_categoryLinks > li .category_name .linkHover {
  right: 1em;
}
.block_works .area_categoryTitle {
  padding: .5em 0 0;
}
.block_works .area_categoryTitle .inner {
  width: 100%;
}
.block_works .area_categoryTitle .category_fv {
  overflow: hidden;
  border-radius: 1em;
  width: 95%;
  margin: 0 auto 1.5em;
  position: relative;
  padding: 76% 0 0;
}
.block_works .area_categoryTitle .category_fv img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
  object-position: center;
}
.block_works .area_categoryTitle .textBox {
  margin: 1.5em auto 0;
  width: 90%;
}
/**/
.list_worksSummary .textWrap {
  width: 95%;
  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: #D4A26F;
}
.list_worksSummary .works_topic.color02 span{
      color: #4e4eb3;
}
.list_worksSummary .btn_base {
  margin: 1.5em auto 0;
}
.parts_worksCategory {
  padding: 4em 0;
}
/* ====================================
page-name #works--single
====================================*/
.block_works .area_singleTitle {
  padding: 2.5em 0 0;
  margin: 0 0 2.8em;
}
.block_works .area_singleSlider {
  margin: 0 0 3em;
}
.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 .slideThumbnail {
  margin: .5em 0 0;
}
.block_works .area_singleSlider .slideThumbnail .swiper-wrapper {
  gap: 0 1.25%;
}
.block_works .area_singleSlider .slideThumbnail .swiper-slide {
  width: 19% !important;
  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_singleNote {
    width: 90%;
    margin: 0 auto 2em;
}

.block_works .area_singleInfo {
  background: #F8F7F3;
  padding: 2em 0;
}
.block_works .area_singleInfo .inner {
  width: 100%;
}
.block_works .area_singleInfo .singleInfoBg {
  background: #fff;
  width: 90%;
  margin: auto;
}
.list_singleInfo > li + li {
  border-top: solid 1px #D4D4D4;
}
.list_singleInfo dl {
  line-height: 1.6;
}
.list_singleInfo dl dt {
  box-sizing: border-box;
  font-weight: 600;
  padding: .8em 1em;
}
.list_singleInfo dl dd {
  box-sizing: border-box;
  border-top: dotted 1px #D4D4D4;
  padding: .8em 1em;
  text-align: left;
  font-weight: 400;
}
.block_works .area_singleVoice {
  padding: 3em 0;
}
.block_works .area_singleVoice .singleVoiceFlex {
  margin: auto;
}
.block_works .area_singleVoice .singleVoiceThumb {
  width: 120px;
  margin: 0 auto 1em;
  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 {
  line-height: 2;
  font-size: 93%;
}
.block_works .area_singleVoice .singleVoiceText p + p {
  margin: .5em 0 0;
}
.block_works .area_singleVoice .singleVoiceText .indent{
  line-height: 1.6;
  display: block;
  padding: 0 0 1em 1em;
  text-indent: -1em;
}
.block_works .area_youtube {
  padding: 4em 0;
  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: 50%;
  height: 0;
  padding: 12% 0 0;
  margin: auto;
}
.block_works .area_youtube .youtubeWrap {
  width: 100%;
  height: 0;
  padding: 56.25% 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;
  font-size: 80%;
}
/* ====================================
page-name #sustainability
====================================*/
.block_sustain .stickyWrap {
  position: relative;
  top: 0;
  left: 0;
}
.block_sustain .area_topMessage {
  padding: 4em 0;
}
.block_sustain .area_topMessage .messageWrap {
  position: relative;
}
.block_sustain .area_topMessage .message_image {
  margin: 1.5em 0;
}
.block_sustain .area_topMessage .message_text {
  margin: .8em 0 0;
}
.block_sustain .area_topMessage .message_text p + p {
  margin: .7em 0 0;
}
/**/
.block_sustain .area_topPolicyGuide {
  background: #F8F7F3;
}
.block_sustain .area_topPolicyGuide .spot_policy {
  padding: 4em 0 2.5em;
  border-bottom: solid 1px #D4D4D4;
}
.block_sustain .area_topPolicyGuide .spot_policy .policy_lead {
  text-align: center;
  margin: 1.2em 0 0;
  font-size: 135%;
  font-weight: 600;
  letter-spacing: .05em;
}
.block_sustain .area_topPolicyGuide .spot_guide {
  padding: 3em 0 4em;
}
.list_sustainGuide {
  margin: 1.2em auto;
  font-weight: 600;
  counter-reset: sustainGuide 0;
  width: 90%;
}
.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 auto 0;
  width: 90%;
}
/**/
.block_sustain .area_topFunction {
  padding: 4em 0;
}
.block_sustain .area_topFunction .topFunctionFlex {
  margin: 1.4em 0 0;
}
.block_sustain .area_topFunction .box + .box {
  margin: 1.2em 0 0;
}
.block_sustain .area_topFunction .topFunction_image {
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  margin: 2em 0 0;
  padding: 2em 0;
}
.block_sustain .area_topFunction .topFunction_image img {
  width: min(95%, 950px);
  display: block;
  margin: auto;
}
/**/
.block_sustain .area_topEnvironment {
  background: #F8F7F3;
  padding: 4em 0;
}
.list_menuBase {
  margin: 2.5em 0 0;
}
.list_menuBase > li {
  position: relative;
  box-sizing: border-box;
}
.list_menuBase > li + li {
  margin: 3.35em 0 0;
}
.list_menuBase > li .menu_thumbnail {
  margin: 0 auto 1.2em;
}
.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;
}
/**/
.block_sustain .area_topSocial {
  padding: 4em 0 2em;
}
.block_sustain .area_topSocial .topSocial_textBox {
  margin: -2.5em auto 0;
  width: 90%;
  background: #fff;
  position: relative;
  z-index: 5;
  box-sizing: border-box;
  padding: 1.5em;
}
.block_sustain .area_topSocial .flex_left {
  margin: 0 0 1em;
  position: relative;
}
.block_sustain .area_topSocial .flex_left::before {
  content: '';
  height: 1px;
  background: #A9A9A9;
  position: absolute;
  right: 0;
  top: 2em;
}
.block_sustain .area_topSocial .flex_right .topSocial_lead {
  margin: 0 0 2em;
}
.block_sustain .area_topSocial .topSocial_image{
    overflow: hidden;
    height: 0;
    padding: 55% 0 0;
    position: relative;
}
.block_sustain .area_topSocial .topSocial_image img{
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
object-fit: cover;
    object-position: center top;
}
/**/
.block_sustain .area_topGovernance {
  background: #F8F7F3;
  padding: 4em 0;
  border-bottom: solid 1px #D4D4D4;
}
.block_sustain .area_topGovernance .topGovernance_position {
  position: relative;
}
.block_sustain .area_topGovernance .topGovernance_text {
  margin: 1em 0 2em;
}
.block_sustain .area_topGovernance .topGovernance_image {
  margin: 1.5em 0;
}
/**/
.block_sustain .area_socialSafety {
  padding: 4em 0;
}
.block_sustain .area_socialSafety .socialSafetyFlex {
  flex-direction: row-reverse;
  margin: 1.7em 0 0;
}
.block_sustain .area_socialSafety .flexImage {
  margin: 0 0 2em;
}
.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: 140%;
  font-weight: 600;
  letter-spacing: .05em;
  margin: 0 0 .5em;
}
.block_sustain .area_socialSafety .safetySet_text {
  font-size: 93%;
}
.block_sustain .area_socialSafety .safetySet_text + .safetySet_lead {
  margin: .7em 0 .25em;
}
.block_sustain .area_socialSafety .safetySet_strong {
  margin: .8em 0 .2em;
  font-size: 114.3%;
  font-weight: 700;
}
.list_safetySet {
  font-size: 93%;
  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: 2em 0 0;
  padding: 2em 0;
}
.block_sustain .area_socialSafety .safety_diagram .diagram_title {
  text-align: center;
  font-size: 135%;
  font-weight: 600;
  letter-spacing: .05em;
  margin: 0 0 1.2em;
}
.block_sustain .area_socialSafety .safety_diagram .diagram_image {
  width: 90%;
  margin: auto;
}
/**/
.block_sustain .area_socialEnsure {
  background: #F8F7F3;
  padding: 4em 0 4em;
}
.block_sustain .area_socialEnsure .socialEnsureFlex {
  margin: 1.8em 0 0;
}
.block_sustain .area_socialEnsure .flexImage {
  margin: 0 0 2em;
}
.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;
  font-size: 93%;
}
.list_socialEnsure {
  margin: 1em 0 2em 1.4em;
  list-style: decimal;
  font-size: 93%;
}
/**/
.parts_sustainMenu {
  padding: 4em 0;
}
.list_sustainMenu {
  margin: 2em 0 0;
}
.list_sustainMenu > li {
  border: solid 1px #D4D4D4;
  box-sizing: border-box;
  border-radius: .5em;
  overflow: hidden;
}
.list_sustainMenu > li + li {
  margin: 1.5em auto 0;
}
.list_sustainMenu > li .sustainMenu_thumbnail {
  overflow: hidden;
}
.list_sustainMenu > li .textBox {
  padding: 1em;
}
.list_sustainMenu > li .textBox .sustainMenu_name {
  font-weight: 600;
  position: relative;
  margin: 0 0 .1em;
  font-size: 114.3%;
}
.list_sustainMenuSmall > li {
  position: relative;
  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;
}
/*-----*/
.block_sustain .area_decarbonSociety {
  padding: 4em 0;
}
.block_sustain .area_decarbonSociety .decarbonSocietyFlex {
  margin: 1.7em 0 2em;
}
.block_sustain .area_decarbonSociety .flexLeft {
  margin: 0 0 2em;
}
.block_sustain .area_decarbonSociety .decarbonSociety_data {
  background: #F5F5F5;
  border-radius: .5em;
  padding: 1.5em 0;
}
.block_sustain .area_decarbonSociety .decarbonSociety_lead {
  margin: 0 0 2em;
}
.block_sustain .area_decarbonSociety .decarbonSociety_title {
  font-size: 150%;
  margin: 0 0 .3em;
}
.block_sustain .area_decarbonSociety .decarbonSociety_desc {
  font-feature-settings: "palt";
}
.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 2em;
}
.block_sustain .area_decarbonSociety .spot_emissions .emissionsWrap {
  border: solid 1px #D4D4D4;
  border-radius: .5em;
  padding: 1.5em .6em;
  text-align: center;
  margin: 0 0 1.5em;
}
.block_sustain .area_decarbonSociety .spot_emissions .emissions_title {
  font-weight: 600;
  margin: 0 0 1em;
}
.block_sustain .area_decarbonSociety .spot_emissions .emissions_img + .emissions_img {
  margin: 1.5em auto 0;
}
.block_sustain .area_decarbonSociety .spot_emissions .list_discAnalog {
  margin: 0;
}
.block_sustain .area_decarbonSociety .spot_evaluation {
  background: #F5F5F5;
  padding: 2em 0;
}
.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 {
  width: 90%;
  margin: 1em auto 0;
}
.block_sustain .area_decarbonSociety .spot_evaluation .evaluation_logo {
  margin: 0 0 1.5em;
}
.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: 3em 0 0;
}
.block_sustain .area_decarbonSociety .spot_roadMap .roadMapWrap {
  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: 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 {
  margin: 1em 0 0;
}
.block_sustain .area_decarbonBusiness .attempt01_image {
  overflow: hidden;
  border-radius: .5em;
  margin: 0 0 1.5em;
}
.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: 2em 0 0;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_title {
  text-align: center;
  position: relative;
  margin: 0 auto 2em;
}
.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;
  margin: 0 0 .5em;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_title .company {
  font-size: 87.5%;
  text-align: center;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02Flex01 {
  border-top: solid 1px #D4D4D4;
  border-bottom: solid 1px #D4D4D4;
  padding: 2em 1.7em;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02Flex01 .flexBox + .flexBox {
  margin: 1.5em auto 0;
}
.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 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 {
  padding: 2em 1.7em;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02Flex02 .flexBox + .flexBox {
  margin: 1.5em auto 0;
}
.block_sustain .area_decarbonBusiness .spot_attempt02 .attempt02_titleRed {
  color: #861C3C;
  margin: 0 0 1em;
  font-size: 107.2%;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 {
  padding: 3em 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;
}
.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;
}
.block_sustain .area_decarbonBusiness .spot_attempt03 .attempt03Flex .flexBox + .flexBox {
  margin: 1.5em auto 0;
}
/*-----------*/
.block_sustain .area_strategyFuture {
  padding: 4em 0 0;
}
.block_sustain .area_strategyFuture .spot_leadBox {
  margin: 1.8em 0 0;
}
.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: 1.5em 0;
}
.block_sustain .area_strategyFuture .spot_strategyImage img {
  width: 90%;
  margin: auto;
  display: block;
}
/*-----------*/
.block_sustain .area_complianceConduct {
  padding: 4em 0;
}
.block_sustain .area_complianceConduct .conduct_startTitle {
  margin: 1.8em 0 -1em;
  font-weight: 600;
}
.block_sustain .area_complianceSystem {
  background: #F8F7F3;
  padding: 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 {
  width: 100%;
}
.block_company .area_topTitle .company_fv {
  overflow: hidden;
  border-radius: 1em;
  width: 95%;
  margin: 0 auto 1.5em;
  position: relative;
  padding: 76% 0 0;
}
.block_company .area_topTitle .company_fv img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: cover;
  object-position: center;
}
.block_company .area_topTitle .textBox {
  margin: 1.5em auto 0;
  width: 90%;
}
.block_company .area_companyMenu {
  margin: 2.5em 0 0;
  background: #F8F7F3;
  padding: 4em 0;
}
.block_company .list_visionSummary > li {
  flex-direction: row-reverse;
}
.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: 75%;
}
/*----*/
.parts_companyLinks {
  padding: 3.5em 0;
}
.list_companyLinks {
  margin: 2em auto 0;
}
.list_companyLinks > li {
  overflow: hidden;
  border-radius: .5em;
  border: solid 1px #861C3C;
  box-sizing: border-box;
}
.list_companyLinks > li + li {
  margin: .5em auto 0;
}
.list_companyLinks > li a {
  display: block;
  background: #861C3C;
  color: #fff;
  padding: .8em 1em;
  position: relative;
  overflow: hidden;
  transition: all .5s;
}
.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;
}
/*----*/
.block_company .area_companyPage .companyPage_img {
  overflow: hidden;
  border-radius: 1em;
  width: 95%;
  margin: 0 auto 1.5em;
  position: relative;
  padding: 76% 0 0;
}
.block_company .area_companyPage .companyPage_img img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: cover;
  object-position: center;
}
.block_company .area_companyPage .titleBox {
  margin: 1.5em 0 0;
}
/**/
.block_company .area_contents {
  margin: 3em 0 0;
  overflow: hidden;
}
.block_company .area_contents .contentsWrap {
  position: relative;
  margin: 0 0 4em;
}
.block_company .area_contents .contentsRight {
  margin: 3em 0 0;
}
.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 a {
  display: block;
  font-weight: 600;
  padding: .82em 1.4em;
  position: relative;
  z-index: 5;
}
.list_stickyCompany li a .linkHover {
  right: 1.3em;
}
.list_stickyCompany li.active {
  background: none;
}
.list_stickyCompany li.active a .linkHover {
  display: none;
}
.list_stickyCompany li.active a {
  color: #861C3C;
}
/**/
.block_company .area_contents .spot_message .message_title {
  font-size: 125%;
  font-weight: 700;
  color: #861C3C;
  letter-spacing: 0;
}
.block_company .area_contents .spot_message .message_text {
  margin: 1.5em 0 0;
  font-size: 93%;
}
.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: 114.3%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
  margin: 0 0 .6em;
}
.dl_philosophy dd .philosophy_text {
  font-size: 93%;
}
.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 {
  width: 90%;
  margin: 1.4em auto 0;
}
.list_philosophyMessage > li + li {
  margin: 1em 0 0;
}
.block_company .area_contents .imgMargin {
  margin: 1.5em auto 0;
}
.block_company .area_contents .quality_img {
  width: 90%;
}
.block_company .area_contents .visionMessage_img {
  margin: 1.5em 0 3em;
}
/**/
.block_company .area_contents .spot_conduct, .parts_conduct {
  margin: 2em 0 0;
}
.block_company .area_contents .spot_conduct .conduct_lead, .parts_conduct .conduct_lead {
  font-size: 86%;
  line-height: 1.6;
}
.list_conduct {
  font-size: 86%;
  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: 86%;
}
.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: 129%;
  font-weight: 600;
  display: inline-block;
  vertical-align: middle;
}
.block_company .area_contents .spot_history .history_title small {
  font-size: 86%;
  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: 5em;
  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: 5em;
  height: 1px;
  background: #861C3C;
}
.list_companyHistory > li .history_time {
  width: 5em;
  box-sizing: border-box;
  padding: .4em 0 .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% - 5em);
  box-sizing: border-box;
  padding: .5em 1em .46em 1.8em;
}
.list_companyHistory > li .history_contents p {
  line-height: 1.6;
  text-align: left;
  font-size: 93%;
}
.list_companyHistory > li .history_contents p + p {
  margin: .6em 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;
  margin: .5em 0 0;
}
/**/
.block_company .spot_outline {
  border-bottom: solid 1px #D4D4D4;
}
.dl_outline + .dl_outline {
  margin: 1.07em 0 0;
}
.dl_outline > dt {
  background: #F8F7F3;
  font-weight: 600;
  box-sizing: border-box;
  padding: .7em 1em;
  text-align: center;
}
.dl_outline > dd {
  box-sizing: border-box;
  padding: .7em 1em;
  font-size: 93%;
}
.dl_outline .list_discAnalog {
  margin: 0;
}
.dl_outline .organization_img {
  margin: 1em 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: 4em 0 0;
}
.block_company .area_contents .spot_baseList .baseListFlex {
  margin: 1.3em 0 0;
}
.block_company .area_contents .spot_baseList .baseListInfo {
  margin: 1.5em 0 0;
  border-bottom: solid 1px #D4D4D4;
  padding: 0 0 1.5em;
}
.block_company .area_contents .spot_baseList .baseList_map {
  margin: 2em 0 0;
  overflow: hidden;
  position: relative;
  height: 0;
  padding: 100% 0 0;
}
.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 1em;
}
.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;
}
/**/
.list_takenakaGroup {
  margin: 1.8em 0 0;
  position: relative;
  z-index: 5;
}
.list_takenakaGroup > li {
  box-sizing: border-box;
  border: solid 1px #D4D4D4;
  padding: 2em 0 1.8em;
  background: #fff;
}
.list_takenakaGroup > li + li {
  margin: 1.5em auto 0;
}
.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: 82%;
  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: .5em 0 1.5em;
  font-size: 93%;
}
.list_takenakaGroup > li .takenakaGroup_btn {
  width: 55%;
  box-sizing: border-box;
  text-align: center;
  border: solid 1px #861C3C;
  border-radius: 3em;
  margin: 0 auto;
  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;
}
.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.5em;
  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;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em 4%;
}
.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: 48%;
  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.2em 0 1em;
  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 .3em;
}
.list_groupAnchor > li .name {
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .05em;
  font-size: 96%;
}
.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 .3em;
}
.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: 86%;
  margin: 1.7em 0 1em;
}
.list_privacy {
  font-size: 86%;
  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.7em;
}
.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: 86%;
  margin: 2.2em 0 1em;
  line-height: 1.6;
}
.block_company .area_contents .spot_privacy .security_startTitle {
  font-size: 86%;
}
.dl_security {
  font-size: 86%;
  margin: 1em 0 0;
}
.dl_security dt {
  font-weight: 700;
}
.dl_security dd {
  margin: 0 0 0 1.32em;
}
/* ====================================
page-name #news
====================================*/
.block_news {
  margin: 0 0 4em;
}
.block_news .newsWrap {
  position: relative;
}
.block_news .newsWrap .newsSticky {
  margin: 3em 0 0;
}
.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 a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  z-index: 5;
  line-height: 1.6;
  padding: .6em 0;
}
.list_newsColor > li span.time {
  display: block;
  width: 32%;
  color: #A9A9A9;
  letter-spacing: .08em;
}
.list_newsColor > li span.category {
  display: block;
  border: solid 1px #BEBEBE;
  border-radius: .3em;
  text-align: center;
  width: 28%;
  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: 100%;
  box-sizing: border-box;
  padding: .5em 4em 0 0;
  min-height: 3.6em;
  position: relative;
  font-size: 93%;
}
.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: 33.333%;
}
.list_newsCategoryLinks > li a {
  display: block;
  padding: .4em 0 .4em 1.2em;
  position: relative;
  font-size: 93%;
}
.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);
}
.block_news .area_pager {
  margin: 2em 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;
}
/* ====================================
page-name #news-single
====================================*/
.block_news .area_single {
  margin: -1em 0 0;
}
.block_news .area_single .single_category {
  margin: 0 0 .3em;
}
.block_news .area_single .single_category span {
  display: inline-block;
  font-size: 86%;
  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: 150%;
  line-height: 1.5;
  font-weight: 600;
  text-align: left;
  margin: 0 0 .8em;
}
/* ====================================
page-name #partner
====================================*/
.block_partner .partner_lead {
  font-size: 135%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
  margin: 0 0 2em;
}
.tableOver {
  overflow-x: scroll;
}
.tableOver table {
  width: 150vw;
}
.table_partner {
  width: 100%;
  font-size: 86%;
  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;
}
.block_partner .partner_att {
  margin: 1.2em 0 0;
  line-height: 1.6;
  letter-spacing: .08em;
  font-size: 80%;
}
.block_partner .partner_att a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  line-height: 1.2;
  transition: opacity .3s;
}
.block_partner .area_adobe {
  margin: 2.5em 0;
  background: #F5F5F5;
  padding: 2em 1em;
}
.block_partner .area_adobe .adobe_text {
  text-align: left;
  line-height: 1.6;
  font-size: 93%;
}
.block_partner .area_adobe .adobe_text a {
  display: block;
  padding: 6em 0 0;
  position: relative;
}
.block_partner .area_adobe .adobe_text a::before {
  content: '';
  width: 5em;
  height: 5em;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../img/icon_adobe.webp");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transition: opacity .3s;
}
/* ====================================
page-name #sitemap
====================================*/
.block_sitemap {
  margin: 0 0 3em;
}
.block_sitemap .sitemap_inner {
  width: 90%;
  margin: auto;
}
.block_sitemap .sitemap_navFlex {
  margin: 0 0 3em;
}
.block_sitemap .sitemap_navWrap + .sitemap_navWrap {
  margin: 1.5em 0 0;
}
/* ====================================
page-name #inquiry
====================================*/
.list_form input, .list_form select {
  -webkit-appearance: none;
  appearance: none;
}
.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: .5em;
  font-size: 16px;
  box-sizing: border-box;
}
.list_form select {
  border: solid 1px #D4D4D4;
  width: 100%;
  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 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 input[type="text"]:disabled {
  background: #eee;
}
.list_form select:invalid {
  color: #BEBEBE;
}
.list_form > li + li {
  margin: 2.5em 0 0;
}
.list_form > li .formLabel {
  position: relative;
  margin: 0 0 .3em;
}
.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 .form_radio.radioFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 0;
}
.list_form > li .wpcf7-list-item {
  margin: 0;
}
.list_form > li .form_radio.radioFlex > span {
  width: 33.333%;
}
.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.6em;
  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 > span + span {
  margin: 1em 0 0;
}
.list_form > li .form_radio.radio_free .free_text {
  position: absolute;
  right: 0;
  top: -.3em;
  width: calc(100% - 1.6em);
}
.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: 48%;
  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: 2em 1.5em;
  text-align: center;
  margin: 3em auto 0;
}
.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 .area_submit {
  margin: 3em 0 4em;
  text-align: center;
}
.block_form .area_submit .submit {
  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 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 span.linkHover.type--white {
  pointer-events: none;
  right: 1em;
  transition: background .5s;
}
.block_form .form_lead {
  letter-spacing: .08em;
  margin: 0 auto 4em;
  font-size: 93%;
}
.block_form .form_lead a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
}
.block_form .area_thanks {
  margin: 0 auto 6em;
}
.block_form .area_thanks .thanks_text {
  margin: 1.5em 0 4em;
}

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

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