@charset "utf-8";
/*共通 設定
---------------------------------------------------------*/
:root {
  --color-main: #1862D2;
  --color-sub: #09a4ff;
  --color-red: #cc0000;
  --color-gray: #DBDBDB;
  --color-yellow:#ffeb00;
  --fontEn: "figtree", sans-serif;
  --fontEnSub: "din-2014", sans-serif;
}
.fontEn{
    font-family: var(--fontEn);
    font-weight: 700;
    line-height: 0.9;
}
.fontEnSub{
    font-family: var(--fontEnSub);
    font-weight: 600;
    line-height: 0.9;
}
.txtSet{
    line-height: 1.8;
    text-align: left;
}
.clrMain{
  color: var(--color-main)!important;
}
.bgMain{
  background-color: var(--color-main)!important;
}
.clrRed{
  color: var(--color-red)!important;
}
.fw700{
  font-weight: 700;
}


/*header
---------------------------------------------------------*/
:root {
  --header-height: 8.8rem;
}
html {
  scroll-padding-top: var(--header-height)!important;
}
#header {
  height: var(--header-height);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  transition: .2s;
  z-index: 9999;
  background-color: #fff;
}
#header.scrollClass {
  box-shadow: 0 .2rem 0.5rem rgba(0, 0, 0, 0.1);
}
.headerWrap {
  width: 95%;
  max-width: 200rem;
  margin: 0 auto;
  padding: 3rem 0;
}
.hLogo img {
  max-height: 2.8rem;
}
.hNav{
  gap: 3.3rem;
}
.hNav ul{
  gap: 3rem;
}
.hNav li {
  text-align: left;
  position: relative;
}
.hNav li a {
  position: relative;
}
.hNav li a::before{
  content: "";
  position: absolute;
  bottom: -.2rem;
  left: 0;
  width: 100%;
  height: .1rem;
  background: var(--color-main);
  transform-origin: right top;
  transform: scale(0,1);
  transition: transform .4s cubic-bezier(.165,.84,.44,1);
}
.hNav li a:hover{
  color: var(--color-main);
}
.hNav li a:hover::before{
  transform-origin: left top;
  transform: scale(1,1);
}
.hNav .hBtn a{
  color: #fff;
  background-color: var(--color-main);
  padding: .2rem 2rem;
}
.hNav .hBtn a:hover{
  background-color: var(--color-sub);
}
#header.scrollClass a {
  border-color: var(--color-main);
}
.menuIcon {
  display: none;
}


/*footer
---------------------------------------------------------*/
.footer{
  padding: 10rem 0;
  background-color: #F4F4F4;
}
.fRow {
    gap: 13rem;
}
.fLogo{
  width: 22.3rem;
  max-width: 100%;
}
.fCompany address{
  text-align: left;
  margin-top: 1.7rem;
  line-height: 1.6;
}
.c_nav {
  gap: 7.7rem;
  text-align: left;
}
.c_nav .parent > li + li{
  margin-top: 3.6rem;
}
.c_nav .parent > li > a {
  font-weight: 500;
  display: flex;
  align-items: center;
}
.c_nav .parent > li > a .fontEn{
  font-size: 2rem;
  margin-right: 2rem;
  margin-top: 0.3rem;
}
.c_nav .parent > li > a::after{
  content: "";
  width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
  background: var(--color-main) url("../img/arrow_white.svg") 55% 50% no-repeat;
  background-size: 40% auto;
  display: inline-block;
  border-radius: 50%;
  margin-left: 0.7rem;
  margin-top: 0.3rem;
}
.c_nav .child{
  margin-top: 2rem;
}
.c_nav .child li{
  text-indent: -0.3em;
  padding-left: 1em;
}
.c_nav .child li + li{
  margin-top: 1.1rem;
}
.c_nav .child li::before{
  content:"●";
  display:inline-block;
  font-size: 0.4rem;
  vertical-align:.4rem;
  margin-right: 0.6rem;
  color: var(--color-main);
}
.c_nav ul a:hover{
  color:var(--color-main);
}



/*共通 パーツ
---------------------------------------------------------*/
/* ボタン */
.c_btn{
  margin-top: 4.5rem
}
.c_btn a,
.c_btn span {
  background-color: var(--color-main);
  color: #fff;
  padding: 1rem 1rem 1rem 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 6rem;
  width: 28rem;
  max-width: 100%;
}
.c_btn a::after,
.c_btn span::after {
  content: "";
  display: inline-block;
  width: 4rem;
  height: auto;
  aspect-ratio: 1;
  background: #fff url("../img/arrow_main.svg") 53% 50% no-repeat;
  background-size: 32% auto;
  border-radius: 50%;
}
.c_btn._anchor span::after{
  transform: rotate(90deg);
}
.c_btn._tra a,
.c_btn._tra span{
  background-color: transparent;
  border: .1rem solid #fff;
}
.c_btn a:hover{
  background-color: var(--color-sub);
}
.c_btn._tra a:hover{
  background-color: var(--color-main);
}

/* タイトル */
.c_enJaTtl {
  font-size: 1.8rem;
  margin-bottom: 2.6rem;
  text-align: left;
  font-weight: 500;
}
.c_enJaTtl span {
  display: block;
  font-size: 7rem;
  margin-bottom: 0.5rem;
}

/* 背景 */
.c_bgWave{
  background: url("../img/c_wave_bg.png") top center no-repeat;
  background-size: 100% auto;
}
.c_bgWave._02{
  background-image: url("../img/c_wave_bg02.png") ;
}



/*top
---------------------------------------------------------*/
.mainArea{
  max-width: 200rem;
  margin-inline: auto;
  margin-bottom: 14.6rem;
  overflow: hidden;
}
.mainImg{
  gap: 2rem;
  justify-content: center;
}
.mainBox{
  position: relative;
}
.mainTxt{
  position: absolute;
  bottom: 2rem;
  right: 62rem;
  z-index: 9;
}
.mainTxt h1{
  width: clamp(52.9rem,40vw ,90rem);
  min-width: 52.9rem;
  margin-bottom: 2.8rem;
}
.mainTxt h2{
    text-align: left;
}
.mainTxt h2 img{
  width: clamp(35.1rem,25.4vw ,60rem);
}

.topAbout{
  padding: 0;
  position: relative;
}
.topAbout .box{
  width: 44.8rem;
  max-width: 100%;
  color: #fff;
  padding: 9rem 0 10rem 9rem;
  margin-left: auto;
  position: relative;
  z-index: 1;
  text-align: left;
}
.topAbout .box::before{
  content: "";
  width: 100vw;
  height: 100%;
  background-color: rgba(24, 98, 210, 0.80);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.topAbout .box .txt{
  margin-bottom: 8.8rem;
  max-width: 33.5rem;
}
.c_link li{

}
.c_link li + li{
  border-top: .1rem solid #fff;
}
.c_link li a{
  display: block;
  color: #fff;
  padding: 1.7rem 2rem 1.7rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  text-align: left;
}
.c_link li a::after{
  content: "";
  width: 1.3rem;
  height: auto;
  aspect-ratio: 13/11;
  background: url("../img/arrow_white.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
}
.c_link li a:hover{
  opacity: .8;
}
.topAbout .bgImg{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  max-width: 200rem;
  width: 100%;
  height: 100%;
}
.topAbout .bgImg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topBusiness .area{
  position: relative;
  z-index: 1;
}
.topBusiness .area + .area{
  margin-top: 8.4rem;
}
.topBusiness .box{
  background-color: rgba(0, 0, 0, 0.50);
  background-blend-mode: multiply;
  padding: 8.8rem 4rem 7rem 8.2rem;
  color: #fff;
  text-align: left;
  max-width: 44rem;
}
.topBusiness .area._01 .box{
  margin-left: auto;
}
.topBusiness .area .enJaTtl {
  font-size: 3.6rem;
  margin-bottom: 6.2rem;
}
.topBusiness .area .enJaTtl span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: .1rem;
}
.topBusiness .area .c_btn{
  margin-top: 3rem;
}
.topBusiness .bgImg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.topBusiness .bgImg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.topBusiness .area._03 .lead{
  position: relative;
}
.topBusiness .area._03 strong{
  font-size: 2.4rem;
  position: absolute;
  bottom: 4rem;
  left: 4rem;
  text-align: left;
  font-feature-settings: "palt";
  letter-spacing: .05em;
}
.topBusiness .area._03 strong span{
  padding: 0.7rem 1.9rem;
  display: block;
  width: fit-content;
}
.topBusiness .area._03 strong .clone{
  border: .1rem solid #fff;
  color: #fff;
}
.topBusiness .area._03 strong .clone:nth-child(2){
  margin-top: -.1rem;
}
.topBusiness .area._03 strong .bgClr{
  background-color: #fff;
}
.topBusiness .area._03 .box02{
  padding: 2.6rem 4rem 0;
  text-align: left;
}
.topBusiness .area._03 .box02 .enJaTtl{
  margin-bottom: 3rem;
}
.c_link02{
  gap: 5.2rem;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
}
.c_link02 a,
.c_link02_a{
  position: relative;
  text-align: left;
  border-bottom: .1rem solid #000;
  width: 23rem;
  max-width: 100%;
  padding-bottom: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 500;
}
.c_link02_a{
  width: 100%;
}
.c_link02 a::after,
.c_link02_a::after,
._circleArrow::after{
  content: "";
  width: 3rem;
  height: auto;
  aspect-ratio: 1;
  background: var(--color-main) url("../img/arrow_white.svg") center no-repeat;
  background-size: 40% auto;
  display: inline-block;
  border-radius: 50%;
}
.c_link02_a._white{
  color: #fff;
  border-color: #fff;
}
.c_link02_a._white::after{
  background-color: #fff;
  background-image: url("../img/arrow_main.svg");
}
.c_link02 a:hover{
  color: var(--color-main);
}
.c_link02_a:hover{
  opacity: .7;
}
.topBusiness .area._03 .row .c_btn{
  margin-top: 0;
}
.c_btn a:hover::after,
.c_btn span:hover::after,
.c_link a:hover::after,
.c_linkRow .link:hover .jaTtl::after,
.c_link02 a:hover::after,
.c_link02_a:hover::after,
._circleArrow:hover::after{
  animation: arrow .6s forwards;
}
.c_link a:hover::after{
  animation-name: arrow02
}
.c_link02._anchor a:hover::after{
  animation: none;
}
@keyframes arrow {
  0%   { background-position: 50% center; background-size: 32% auto; }
  33%   { background-position: 110% center; background-size: 0 auto; }
  66%   { background-position: -110% center; background-size: 0 auto; }
  100%   { background-position: 50% center; background-size: 32% auto; }
}
@keyframes arrow02 {
  0%   { background-position: 50% center; background-size: 100% auto; }
  33%   { background-position: 110% center; background-size: 0 auto; }
  66%   { background-position: -110% center; background-size: 0 auto; }
  100%   { background-position: 50% center; background-size: 100% auto; }
}


/*下層 共通
---------------------------------------------------------*/
.lower_mv{
  height: 24rem;
  position: relative;
  display: flex;
  align-items: center;
  color: #fff;
  z-index: 1;
  background: url("../img/lower_mv_bg.jpg") center no-repeat;
  background-size: cover;
  text-align: left;
  overflow: hidden;
}
#historyPage .lower_mv{
  background-image: url("../img/history/lower_mv_bg.jpg")
}
.lower_mv .ttl{
  font-size: 1.8rem;
  padding-left: 6.8rem;
  font-weight: 500;
  letter-spacing: .05em;
}
.lower_mv .ttl .fontEn{
  display: block;
  font-size: 7rem;
  padding-bottom: 1rem;
}
.lower_mv .bgImg {
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  min-width: 68rem;
  width: 45vw;
  height: 100%;
  -webkit-mask-image: linear-gradient(-90deg, #fff 40%, transparent);
  mask-image: linear-gradient(-90deg, #fff 40%, transparent);
}
.lower_mv .bgImg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lower_mv .bgImg._mixblend{
  mix-blend-mode: hard-light;
}

/*about
---------------------------------------------------------*/
.aboutSec{
  padding-bottom: 11rem;
}
.c_linkRow {
  grid-template-columns: repeat(3, 1fr);
  gap: 0 9.5rem;
}
.c_linkRow .link {
  display: block;
  position: relative;
}
.c_linkRow .link:nth-of-type(2){
  margin-top: 6rem;
}
.c_linkRow .link:nth-of-type(3){
  margin-top: 12rem;
}
.c_linkRow .link:nth-of-type(4){
  margin-top: -4rem;
}
.c_linkRow .link:nth-of-type(5){
  margin-top: 2rem;
}
.c_linkRow .link:nth-of-type(6){
  margin-top: 8rem;
}
.c_linkRow .link .enTtl {
  font-size: 5rem;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  -o-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  color: var(--color-main);
  position: absolute;
  top: 3rem;
  right: -3rem;
}
.c_linkRow .link .jaTtl{
  position: relative;
  text-align: left;
  border-bottom: .1rem solid #000;
  max-width: 100%;
  padding: 1.4rem 0 1.2rem;
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 500;
}
.c_linkRow .link .jaTtl::after{
  content: "";
  width: 3rem;
  height: auto;
  aspect-ratio: 1;
  background: var(--color-main) url("../img/arrow_white.svg") center no-repeat;
  background-size: 40% auto;
  display: inline-block;
  border-radius: 50%;
}
.c_linkRow .link .txt{
  text-align: left;
  line-height: 1.6;
}
.c_linkRow .link .img{
  overflow: hidden;
  background-color: #000;
}
.c_linkRow .link:hover img{
  transform: scale(1.1);
}
.c_linkRow .link:hover .jaTtl{
  color: var(--color-main);
}


/*company
---------------------------------------------------------*/
.company_enJaTtl {
  font-size: 1.4rem;
  padding-left: 2.2rem;
  letter-spacing: 0.07em;
}
.company_enJaTtl span {
  display: block;
  font-size: 3.8rem;
  line-height: 1;
  margin-bottom: 0.4rem;
  color: var(--color-main);
  font-weight: 600;
  letter-spacing: 0;
}
.c_gradDot{
  text-align: left;
  position: relative;
}
.c_gradDot::before{
  content: "";
  width: 0.8rem;
  height: auto;
  aspect-ratio: 1;
  display:inline-block;
  background: linear-gradient(118deg, #5ED7FF 8.18%, #1862D2 70.9%);
  position: absolute;
  top: 1.6rem;
  left: 0;
  border-radius: 50%;
}
.companyProfile dl {
  margin-top: 6rem;
}
.companyProfile dl dt,
.companyProfile dl dd {
  padding: 3.2rem 2.4rem;
  text-align: left;
  width: 75%;
  border-bottom: .1rem solid var(--color-gray);
}
.companyProfile dl dt {
  width: 25%;
  color: var(--color-main);
  font-weight: 500;
}
.companyProfile dl dd img{
  width: 19rem;
  margin-left: 0.2rem;
}
.companyOrga{
  background: url("../img/company/organization_bg.jpg") center no-repeat;
  background-size: cover;
}
.companyOrga .imgWrap{
  margin-top: 3.2rem;
}


/*greeting
---------------------------------------------------------*/
.greetingSec{
  padding: 10rem 0;
}
.greetingSec .row {
  gap: 10.4rem;
}
.greetingSec .row .img {
  width: 37.8rem;
  max-width: 100%;
}
.greetingSec .row .box {
  flex:1;
  display: flex;
  flex-direction: column;
}
.greetingSec .row .box .ttl {
  padding-bottom: 1rem;
  text-align: left;
}
.greetingSec .row .box .ttl .jaTtl{
  width: 18.7rem;
  margin-right: 2.3rem;
  vertical-align: 0.6rem;
}
.greetingSec .row .box .ttl .enTtl{
  width: 29rem;
}
.greetingSec .row .box .txt {
  text-align: justify;
  flex: 1;
  line-height: 2.1;
  font-feature-settings: "palt";
  letter-spacing: .03em;
}
.greetingSec .row .box .sign {
  text-align: right;
}
.greetingSec .row .box .sign .post{
  width: 11.5rem;
  margin-right: 2.4rem;
  vertical-align: -0.2rem;
}
.greetingSec .row .box .sign .name{
  width: 11.5rem;
}


/*topics
---------------------------------------------------------*/
.topicsSec{
  background-color: #EDF8FF;
}
.topicsList li{
  background-color: #fff;
  text-align: left;
  padding: 6rem 8rem;
}
.topicsList li + li{
  margin-top: 3.2rem;
}
.topicsList li .toggleBtn{
  padding-bottom: 2rem;
  border-bottom: .1rem solid #000;
  display: flex;
  gap: 2rem;
  align-items: center;
  cursor: pointer;
  position: relative;
}
.topicsList li .toggleBtn .date{
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  padding: 0.6rem 2.3rem;
  background-color: var(--color-main);
  border-radius: 0.3rem;
  text-align: center;
}
.topicsList li .toggleBtn .ttl{
  flex: 1;
  font-size: 1.8rem;
  transition: .2s;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.topicsList li .toggleBtn .ttl::after{
  content: "";
  min-width: 3rem;
  height: auto;
  aspect-ratio: 1;
  background: var(--color-main) url("../img/arrow02_white.svg") 51.6% 50% no-repeat;
  background-size: 50% auto;
  border-radius: 50%;
}
.topicsList li .toggleBtn:hover .ttl{
  color: var(--color-main);
}
.topicsList li .toggleBtn.active .ttl::after{
  transform: rotate(180deg);
}
.topicsList li .toggleCont .thumb{
  padding-top: 3.2rem;
  margin-inline: auto;
  text-align: center;
}
.topicsList li .toggleCont .cont{
  padding-top: 3.2rem;
}
.topicsList li .toggleCont .cont a{
  text-decoration: underline
}
.topicsList li .toggleCont .cont a:hover{
  color: var(--color-main);
}
.topicsList li .toggleBtn._none{
  pointer-events: none;
}
.topicsList li .toggleBtn._none .ttl::after{
  display: none;
}


/*history
---------------------------------------------------------*/
.historySec{
  padding: 4rem 0 11rem;
}
.historySec .lead{
  font-size: 2rem;
  margin-bottom: 3rem;
  font-weight: 500;
}
.historySec .rowImg {
  margin-bottom: 6rem;
}
.historySec .rowImg .box {
  text-align: left;
}
.historySec .rowImg .box .ttl {
  font-size: 2.4rem;
  padding-top: 1rem;
  color: var(--color-main);
  line-height: 1.2;
}
.historySec .rowImg .box .txt {
  color: #4A4A4A;
  margin-top: 0.4rem;
  font-weight: 400;
  line-height: 1;
}
.historySec .timeline{
  position: relative;
  margin: 0 4rem 0 6.6rem;
  z-index: 1;
}
.historySec .timeline::before{
  content: "";
  width: .1rem;
  height: 96%;
  background-color: #999;
  display: block;
  position: absolute;
  top: 2rem;
  left: 0.5rem;
  z-index: -1;
}
.historySec .timeline .row {
  gap: 4.5rem;
  align-items: center;
}
.historySec .timeline .row::before{
  content:"●";
  display:inline-block;
  font-size: 1.2rem;
  color: var(--color-main);
}
.historySec .timeline .row + .row{
  margin-top: 4.6rem;
}
.historySec .timeline .row time{
  font-size: 4.2rem;
  text-align: center;
}
.historySec .timeline .row .cont {
  flex:1;
  gap: 4.5rem;
  align-items: center;
}
.historySec .timeline .row .cont .bgClr,
.historySec .timeline .row .cont > div:first-child{
  width: 19.6rem;
}
.historySec .timeline .row .cont .bgClr {
  color: #fff;
  background-color: var(--color-main);
  padding: 1rem;
  border-radius: 3rem;
  text-align: center;
}
.historySec .timeline .row .cont .event {
  font-size: 1.8rem;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: .03em;
}


/*contact
---------------------------------------------------------*/
.contactSec{
  padding-bottom: 0;
}
.formStep {
  margin-bottom: 7rem;
  gap: 0 10rem;
}
.formStep li {
  position: relative;
  text-align: center;
  font-size: 1.4rem;
  color: #787878;
}
.formStep li:not(:first-of-type)::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 0.2rem;
  border-radius: 10rem;
  background: var(--color-main);
  position: absolute;
  top: 2.9rem;
  left: -6.25rem;
}
.formStep .num {
  display: grid;
  place-content: center;
  font-size: 2.2rem;
  width: 6rem;
  aspect-ratio: 1;
  background: #F4F4F4;
  border-radius: 50%;
  margin-bottom: 0.5rem;
}
.formStep li span{
  font-weight: 500;
  letter-spacing: .05em;
}
.formStep li.current {
  color: var(--color-main);
}
.formStep li.current .num {
  background: var(--color-main);
  color: #fff;
}
.formArea {
  padding: 5.4rem 0 10rem;
  background: url("../img/contact/contact_bg.jpg") top center no-repeat;
  background-size: cover;
}
.formWrap{
  padding: 9rem 10rem 8rem;
  background-color: #fff;
  border-radius: .5rem;
  border: .1rem solid var(--color-gray);;
}
.formTxt {
  font-weight: 500;
  margin-bottom: 4rem;
  font-size: 1.8rem;
}
.formBox dt,
.formBox dd {
  font-weight: 400;
  text-align: left;
  position: relative;
}
.formBox dt::before {
  content: "任意";
  font-size: 1.2rem;
  font-weight: 400;
  padding: 0.6rem 1.1rem;
  display: inline-block;
  background: #787878;
  color: #fff;
  line-height: 0.9;
  border-radius: .3rem;
  margin-right: 0.7rem;
}
.formBox dt.req::before {
  content: "必須";
  background: var(--color-main);
}
.formBox dt {
  font-weight: 500;
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}
.formBox dd {
  margin-bottom: 5rem;
}
.formBox dd label{
  display: block;
  width: fit-content;
}
.formBox dd .mwform-radio-field.horizontal-item{
  margin-top: 1.2rem;
  display: block;
  width: fit-content;
}
.formBox input[type="text"],
.formBox input[type="tel"],
.formBox input[type="email"],
.formBox input[type="date"],
.formBox select,
.formBox textarea {
  width: 100%;
  padding: .575em;
  border: 1px solid var(--color-gray);;
  color: #000;
  letter-spacing: .05em;
  line-height: 1.6;
  background-color: #F4F4F4;
  border-radius: .5rem;
}
.formBox input[type="text"],
.formBox input[type="tel"],
.formBox input[type="email"],
.formBox input[type="date"],
.formBox select,
.formBox textarea,
.formBox input[type="file"]{
  font-size: 1.6rem;
}
input::placeholder,
textarea::placeholder{
  color: #AAAAAA;
}
.formBox input[type="text"].size-s {
  max-width: 21rem;
}
.formArea label:hover {
  color: var(--color-main);
}
.formBox textarea {
  height: 19rem;
}
.privacyTxt a {
  text-decoration: underline;
  font-size: 115%;
  font-weight: 600;
}
.privacyTxt a:hover {
  text-decoration: none;
  color: #ffdf00;
}
.privacyCheck {
  margin-bottom: 1rem;
}
.privacyCheck a {
  color: var(--color-main);
  text-decoration: underline;
}
.privacyCheck a:hover{
  color: var(--color-red);
}
.formBtn {
  margin-top: 2rem;
}
.formArea input[type="submit"],
.formArea input[type="button"] {
  font-weight: 500;
  font-style: normal;
  color: #fff;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: .075em;
  text-indent: .075em;
  background: var(--color-main);
  min-width: 31rem;
  display: block;
  padding: 1.9rem 2rem;
  margin: 1rem;
  border: none;
  border-radius: 10rem;
  transition: .2s;
  cursor: pointer;
}
.formArea input[type="submit"].btn_back{
  background: #ddd;
  color: #333;
}
.formArea input[type="submit"]:hover,
.formArea input[type="button"]:hover{
  opacity: .7;
}
.onlyconf,button {
  display: none;
}
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
  display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0!important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt,
.mw_wp_form_confirm h2 {
  display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
  width: auto;
}
.privacyBox .txt{
  font-size: 1.4rem;
}

.thxBox {
  line-height: 1.8;
}
.thxBox .ttl{
  font-size: 2.4rem;
  margin-bottom: 1rem;
}
.thxBox .c_btn{
  margin-top: 2.4rem;
}


/*sitemap
---------------------------------------------------------*/
.sitemapSec{
  padding: 0 0 2rem;
}
.sitemapSec .row {
  gap: 10.8rem;
  padding: 8rem 0 12rem;
  border-bottom: .1rem solid  var(--color-gray);
  align-items: flex-start;
}
.sitemapSec .row:last-child{
  border: none;
}
.sitemapSec .row .box {
  width: 38.5rem;
  max-width: 100%;
}
.sitemapSec .row .box .enJaTtl {
  font-size: 2rem;
  margin-bottom: 4rem;
  width: fit-content;
  text-align: left;
  padding-left: 4rem;
}
.sitemapSec .row .box .enJaTtl a{
  color: var(--color-main);
}
.sitemapSec .row .box .enJaTtl span {
  display: block;
  font-size: 3.8rem;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.sitemapSec .row .box .enJaTtl span::after{
  margin-left: 2.8rem;
}
.sitemapSec .row .img{
  position: relative;
  width: 36.1rem;
  max-width: 100%;
}
.sitemapSec .row .img ._02 {
  position: absolute;
  width: 100%;
  bottom: -3.4rem;
  right: -3rem;
  z-index: -1;
}
.sitemapSec .row .c_link02 {
  flex:1;
}
.sitemapSec .row .box .ttl {
  font-size: 3rem;
  padding-bottom: 1rem;
}
.sitemapSec .row .box .txt {
  font-size: 1.8rem;
}
.sitemapSec .row .c_link02{
  grid-template-rows: repeat(3, 1fr);
  grid-auto-flow: column;
  gap: 4.8rem 8rem;
}
.sitemapSec .row .c_link02 a{
  width: 100%;
}


/*privacy
---------------------------------------------------------*/
.privacySec{
  padding-bottom: 10rem;
}
.privacySec .area{
  text-align: left;
}
.privacySec .area + .area{
  margin-top: 4.8rem;
}
.privacySec .area:last-child{
  margin-top: 6rem;
}
.privacySec .area .ttl{
  font-size: 2rem;
  border-bottom: .1rem solid var(--color-gray);
  padding: 0 0 1.6rem 2rem;
  margin-bottom: 2rem;
}
.privacySec .area .ttl::before{
  content:"●";
  display:inline-block;
  font-size: 0.8rem;
  vertical-align:.4rem;
  margin-right: 1.6rem;
  color: var(--color-main);
}
.privacySec .area .txt{
  padding: 0 2rem;
}
.privacySec .area ol{
  list-style-type: auto;
  padding: 0 3.8rem;
}
.privacySec .area ul{
  margin-top: 1.6rem;
  padding: 0 2rem;
}
.privacySec .area ul li{
  text-align: left;
  line-height: 1.4;
  text-indent: -0.4em;
  padding-left: 1em;
}
.privacySec .area ul li::before{
  content:"●";
  display:inline-block;
  font-size: 0.5rem;
  vertical-align: 0.3rem;
  margin-right: 0.5rem;
}

/*kensa
---------------------------------------------------------*/
.kensaSec{
  padding: 6.5rem 0 8rem;
}
.c_txtImgRow {
  gap: 10.8rem;
  align-items: center;
  margin-bottom: 17.2rem;
}
.c_txtImgRow .box {
  flex:1;
  text-align: left;
  margin-top: 10rem;
}
.c_txtImgRow .box .ttl {
  font-size: 2.4rem;
  padding-bottom: 1.4rem;
}
.c_txtImgRow .box .ttl span{
  display: block;
  width: fit-content;
  padding: 0.4rem 2rem;
  letter-spacing: .02em;
}
.c_txtImgRow .box .ttl .border{
  color: var(--color-main);
  border: 0.2rem solid var(--color-main);
}
.c_txtImgRow .box .ttl .bgClr{
  color: #fff;
  background-color: var(--color-main);
}
.c_txtImgRow .box .txt{
  font-feature-settings: "palt";
  color: #4a4a4a;
  font-weight: 500;
  line-height: 1.6;
}
.c_txtImgRow .img{
  position: relative;
  width: 47.4rem;
  max-width: 100%;
  z-index: 1;
}
.c_txtImgRow .img ._02 {
  position: absolute;
  width: 100%;
  bottom: -6.3rem;
  left: -4.2rem;
  z-index: -1;
}
.c_txtImgRow .img ._01{
  transform: translate(-4.2rem, 6.3rem);
  transition: .8s .2s;
  position: relative;
  z-index: 2;
}
.active .c_txtImgRow .img ._01{
  transform: translate(0, 0)!important;
}

.kensaSec .system{
  position: relative;
  margin-bottom: 9.5rem;
}
.kensaSec .system .ttl{
  position: absolute;
  top: -3rem;
  left: 2rem;
  color: var(--color-main);
  font-size: 5rem;
}
.kensaSec .system .img{
  width: 59.5rem;
  max-width: 100%;
}
.kensaSec .system .box{
  position: absolute;
  bottom: -3.5rem;
  right: 0;
  background-color: #fff;
  padding: 2.4rem 3.8rem 2.4rem 2.8rem;
  text-align: left;
  width: 50.6rem;
  max-width: 100%;
}
.kensaSec .system .box .txt{
  padding-top: .8rem;
}
.kensaSec .service{
  background: url("../img/kensa/service_bg.jpg") center no-repeat;
  background-size: cover;
  padding: 2.7rem 4.2rem 2.7rem 6.6rem;
  gap: 9.6rem;
  text-align: left;
  align-items: center;
  color: #fff;
}
.kensaSec .service .ttl{
  font-size: 5rem;
  line-height: 1.1;
}
.kensaSec .service .box{
  flex: 1;
}
.kensaSec .service .box .txt{
  padding-top: .8rem;
}


/*system
---------------------------------------------------------*/
.systemLead{
  background: url("../img/system/lead_bg.png") top center no-repeat;
  background-size: cover;
  padding: 9.6rem 0 11rem;
}
.c_txtImgRow._lower {
  gap: 7.6rem;
  margin-bottom: 17.2rem;
}
.c_txtImgRow._lower .box {
  margin-top: 5rem;
}
.c_txtImgRow._lower .box .ttl {
  font-size: 3.5rem;
}
.c_txtImgRow._lower .box .ttl span{
  padding: 0.2rem 1.6rem 0.4rem;
  font-feature-settings: "palt";
}
.c_txtImgRow._lower .box .txt{
  font-size: 2.2rem;
  letter-spacing: .03em;
}
.c_txtImgRow._lower .img{
  width: 42.6rem;
}
.c_txtImgRow._lower .img ._02 {
  bottom: -3.6rem;
  left: -3rem;
}
.c_txtImgRow._lower .img ._01{
  transform: translate(-3rem, 3.6rem);
}
.loopText {
  overflow: hidden;
}
.loopText p {
  animation: loop infinite linear 100s both;
  padding: 0 3rem;
}
.loopText img {
  height: 7.3rem;
  max-width: none;
}
@keyframes loop {
  0% {
  transform: translateX(0);
  }
  100% {
  transform: translateX(-100%);
  }
}
.systemCont{
  padding: 0;
  overflow: visible;
  overflow-x: clip;
}
.c_anchor{
  background: url("../img/c_anchor_bg.jpg") center no-repeat;
  background-size: cover;
}
.c_anchor .container{
  position: relative;
}
.c_anchor .enJaTtl {
  font-size: 1.6rem;
  color: #fff;
  position: absolute;
  top: -3.5rem;
  left: 0;
  z-index: 99;
  padding: 3rem 7rem 3rem 0;
}
.c_anchor .enJaTtl::before,
.c_anchor .enJaTtl::after{
  content: "";
  width: 37vw;
  height: 100%;
  background: url("../img/c_anchor_ttl_bg.jpg") center right no-repeat;
  background-size: cover;
  display: block;
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  clip-path: polygon(0% 0%, 100% 0%, 88% 100%, 0% 100%);
}
.c_anchor .enJaTtl::after{
  background: rgba(0,71,184,.5);
  right: -1rem;
  top: 1.3rem;
  z-index: -2;
  clip-path: polygon(0% 0%, 100% 0%, 88% 100%, 0% 100%);
}
@media screen and (min-width: 2000px) {
  .c_anchor .enJaTtl::before{
    width: 45vw;
    clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
  }
}
.c_anchor .enJaTtl span {
  display: block;
  font-size: 4rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .02em;
}
.c_anchor .list{
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  padding: 3.7rem 0 3.3rem 30rem;
  position: relative;
  z-index: 9;
}
.c_anchor .list li{
  display: flex;
  position: relative;
  z-index: 9;
}
.c_anchor .list li a{
  display: block;
  width: 100%;
  height: 100%;
  flex: 1;
}
.c_anchor .list li a .jaTxt{
  position: relative;
  background-color: #fff;
  border-radius: 0.8rem;
  padding: 2.5rem 1rem 2.2rem;
  display: block;
  font-weight: 700;
  color: var(--color-main);
  align-content: center;
  filter: drop-shadow(.5rem .5rem 0 rgba(0,71,184,.7));
  line-height: 1.3;
  position: relative;
  z-index: 9;
  height: 100%;
}
.c_anchor .list li a .jaTxt::after{
  content: "";
  width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
  background: var(--color-main) url("../img/arrow02_white.svg") 55% 50% no-repeat;
  background-size: 50% auto;
  display: inline-block;
  margin-left: 0.5rem;
  border-radius: 50%;
  vertical-align: -0.2rem;
}
.c_anchor .list .enTxt{
  font-size: 1.4rem;
  color: #fff;
  background-color: var(--color-main);
  border: .2rem solid #fff;
  border-radius: 3rem;
  position: absolute;
  top: -1rem;
  left: 0;
  right: 0;
  margin-inline: auto;
  display: inline-block;
  width: fit-content;
  padding: 0.4rem 2rem;
  font-weight: 800;
  z-index: 99;
  line-height: 1;
}

.c_anchorArea{
  background: url("../img/system/cont_bg.jpg") top center no-repeat;
  background-size: cover;
  padding: 8rem 0 10rem;
}
.c_anchorArea .box{
  border: .1rem solid #DBDBDB;
  border-radius: 1rem;
  background-color: rgb(255, 255, 255, 0.7);
  padding: 8rem 9rem;
}
.c_anchorArea .box + .box{
  margin-top: 8rem;
}
.c_anchorArea .box .ttl{
  display: flex;
  gap: 1rem;
  background-color: var(--color-main);
  color: #fff;
  padding: 2rem 2.8rem;
  font-size: 2.4rem;
  box-shadow: 0 .5rem 0 0 #003C96;
  margin-bottom: 4.8rem;
  border-radius: 6rem;
  align-items: center;
}
.c_anchorArea .box .ttl .enTxt{
  color: var(--color-main);
  background-color: #fff;
  padding: 0.6rem 1rem;
  border-radius: 3rem;
  font-size: 58.3%;
  font-weight: 800;
  margin-top: 0.5rem;
}
.c_anchorArea .box .img{
  margin-bottom: 2rem;
  margin-inline: auto;
}
.c_anchorArea .box .img.d-flex{
  gap: 6rem;
  justify-content: center;
}
.c_anchorArea .box figure{
  width: 37.5rem;
  max-width: 100%;
}
.c_anchorArea .box .txt{
  padding: 0 5rem;
}


/*replacement
---------------------------------------------------------*/
.replaceLead .c_txtImgRow._lower{
  margin-bottom: 0;
}
.replaceMerit .diagonal{
  position: relative;
  font-size: 2rem;
  display: inline-block;
  color: var(--color-main);
  margin-bottom: 1.6rem;
}
.replaceMerit .diagonal::before,
.replaceMerit .diagonal::after {
  content: "";
  display: block;
  background-color: var(--color-main);
  width: 0.2rem;
  height: 103%;
  position: absolute;
  bottom: 0;
  left: -2.4rem;
  transform: rotate(-28deg);
}
.replaceMerit .diagonal::after {
  left: auto;
  right: -2.4rem;
  transform: rotate(28deg);
}
.c_contArea{
  position: relative;
  text-align: left;
}
.c_contArea::before{
  content: "";
  width: 100%;
  height: 21.9rem;
  background: url("../img/c_contArea_bg.jpg") center top no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c_contArea .ttl{
  gap: 2rem;
  color: #fff;
  align-items: center;
  padding: 4.3rem 13rem 3.6rem;
}
.c_contArea .ttl h3{
  font-size: 3.6rem;
}
.c_contArea .ttl .txt{
  font-size: 1.8rem;
}
.c_contArea ul{
  background-color: #fff;
  padding: 4rem 5.2rem;
  color: var(--color-main);
  font-size: 1.8rem;
  max-width: 94rem;
  margin-inline: auto;
  font-weight: 500;
}
.c_contArea ul li{
  text-indent: -0.5em;
  padding-left: 1em;
}
.c_contArea ul li + li{
  margin-top: 2.6rem;
}
.c_contArea ul li::before{
  content:"●";
  display:inline-block;
  font-size: 0.6rem;
  vertical-align: 0.6rem;
  margin-right: 1rem;
}


/*testfixture
---------------------------------------------------------*/
.fixtureLead{
  overflow: visible;
  overflow-x: clip;
}
.fixtureLead .c_txtImgRow{
  position: relative;
  margin-bottom: 0;
  z-index: 1;
}
.fixtureLead .c_txtImgRow .box{
  margin-top: 3rem;
}
.fixtureLead .bgImg{
  position: absolute;
  top: -1.1rem;
  left: 0;
  width: 61.2rem;
  z-index: -1;
}
.fixtureLink{
  padding-bottom: 14rem;
}
.c_linkRow._col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 9rem;
    position: relative;
    z-index: 2;
    margin-top: 5rem;
    max-width: 94.6rem;
    margin-inline: auto;
}


/*testfixture_works
---------------------------------------------------------*/
.fixWorksVideo{
  padding: 6rem 0 4rem;
}
.c_video_ttl{
  position: relative;
  padding: 2rem 0;
  margin-bottom: 2rem;
}
.c_video_jaTxt{
  font-size: 1.8rem;
  color: #fff;
  background-color: var(--color-main);
  padding: .4rem 1rem;
  display: inline-block;
  letter-spacing: .05em;
}
.c_video_enTxt{
  font-size: 8rem;
  font-weight: 700;
  -webkit-text-stroke: 2px transparent;
  text-stroke: 2px transparent;
  background:  linear-gradient(118deg, #5ED7FF 8.18%, #1862D2 70.9%);
  background-clip: text;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  z-index: -1;
}
.c_movie {
  max-width: 78rem;
  height: auto;
  aspect-ratio: 780/438;
  margin-inline: auto;
}
.c_movie iframe {
  width: 100%;
  height: 100%;
}
.fixWorksCont{
  padding-bottom: 0;
}
.fixWorksCont .c_anchor .list {
  grid-template-columns: repeat(2, 1fr);
}
.fixWorksCont .c_anchor .list li a .jaTxt{
  padding: 2rem 1rem 1.2rem;
  font-size: 2rem;
}
.fixWorksCont .c_anchorArea{
  background-image: url("../img/testfixture_works/cont_bg.jpg");
}
.c_anchorArea .box .item + .item{
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: .1rem solid var(--color-gray);
}


/*handpress
---------------------------------------------------------*/
.handLead{
  padding-bottom: 6rem;
}
.handLead .c_txtImgRow._lower .img {
    width: 34.2rem;
}
.handLead .c_txtImgRow._lower {
    gap: 13.6rem;
    max-width: 85rem;
    margin-inline: auto;
    align-items: flex-start;
    margin-bottom: 6rem;
}
.handLead .c_txtImgRow._lower .box {
    margin-top: 8rem;
}
.handFeature{
  padding: 4rem 0 10rem;
}
.handFeature .dotTtl{
  font-size: 3.6rem;
  color: var(--color-main);
  display: flex;
  align-items: center;
  margin-bottom: 1.8rem;
}
.handFeature .dotTtl .small{
  font-size: 61.1%;
}
.handFeature .dotTtl::before{
  position: static;
  margin-right: 2rem;
}
.c_contAreaWrap + .c_contAreaWrap{
  margin-top: 12rem;
}
.handFeature .c_contArea ul li {
    text-indent: 0;
    padding-left: .5em;
}
.handFeature .c_contArea ul li::before{
  display: none;
}
.c_contArea ul li h4{
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: .4rem;
  text-indent: -0.3em;
  padding-left: 0.8em;
}
.c_contArea ul h4::before{
  content:"●";
  display:inline-block;
  font-size: 0.6rem;
  vertical-align: 0.6rem;
  margin-right: 1rem;
}
.c_contArea ul li .txt{
  color: #000;
  font-size: 1.6rem;
  font-weight: 400;
  padding-left: 1em;
}
.c_contArea table{
  margin-top: 2rem;
}
table th,
table td{
  border: .1rem solid var(--color-gray);
  padding: 1.1rem 4.5rem;
  text-align: center;
}
table th{
  background-color: #F4F4F4;
  font-weight: 500;
}
table thead th:first-child,
table tbody th{
  text-align: left;
  width: 38rem;
}
table tbody td span{
  font-size: 1.2rem;
}
.c_contArea .note{
  font-size: 1.4rem;
  margin-top: 2rem;
}


/*nagoya
---------------------------------------------------------*/
.nagoyaMap {
  padding-top: 3rem;
}
.nagoyaMap .container{
  max-width: 96rem;
}
.nagoyaMap .enJaTtl {
  font-size: 3.6rem;
  margin-bottom: 10.5rem;
  text-align: left;
}
.nagoyaMap .enJaTtl span {
  display: block;
  font-size: 1.6rem;
  line-height: 1;
}
.nagoyaMap .mapWrap{
  width: 78.2rem;
  max-width: 100%;
  margin-inline: auto;
  position: relative;
  margin-bottom: 5rem;
}
.nagoyaMap .mapWrap .link{
  position: absolute;
  width: 27.9%;
  left: 54.17%;
  top: -7%;
  background-color: var(--color-main);
  padding: .8rem;
  border-radius: .5rem;
  display: block;
}
.nagoyaMap .mapWrap .link._02{
  left: 0.00%;
  top: 26.3%;
}
.nagoyaMap .mapWrap .link._03{
  left: 52.34%;
  top: 39.7%;
}
.nagoyaMap .mapWrap .link::before{
  content: "";
  position: absolute;
  top: 10.8rem;
  left: .1rem;
  transform: translateX(-100%);
  margin-inline: auto;
  width: 5rem;
  aspect-ratio: 7.3361/2.92;
  clip-path: polygon(0 100%,100% 0,100% 100%);
  background-color: var(--color-main);
  display: block;
}
.nagoyaMap .mapWrap .link._02::before{
  width: 6rem;
  top: 6.6rem;
  left: auto;
  right: .1rem;
  transform: translateX(100%) scale(-1,-1);
}
.nagoyaMap .mapWrap .link._03::before{
  top: 3.8rem;
  transform: translateX(-100%) scale(1,-1);
}
.nagoyaMap .mapWrap .link .c_btn{
  margin-top: 1rem;
}
.nagoyaMap .mapWrap .link .c_btn span{
  font-size: 1.4rem;
  padding: .4rem 0.6rem .4rem 1rem;
}
.nagoyaMap .mapWrap .link .c_btn span::after{
  width: 2rem;
}
.nagoyaMap .c_link02{
  gap: 3rem;
  justify-content: space-between;
}
.nagoyaMap .c_link02 a{
  width: auto;
  gap: 2.4rem;
}
.c_link02._anchor a::after{
  transform: rotate(90deg);
}
.c_link02._anchor a:hover{
  transform: translateY(-.3rem);
  box-shadow: 0 .3rem 0 rgba(0,0,0,.1);
}

.c_office{
  padding: 9.6rem 5rem 9rem;
}
.c_office + .c_office{
  border-top: .1rem solid var(--color-gray);
}
.c_officeRow {
  gap: 6rem;
}
.c_officeRow + .c_officeRow{
  margin-top: 7rem;
}
.c_officeRow .box {
  flex:1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
}
.c_officeRow .box .jaEnTtl{
  margin-bottom: 5.2rem;
}
.c_officeRow .box .jaTxt {
  font-size: 3.6rem;
}
.c_officeRow .box .enTxt {
  color: var(--color-main);
  font-weight: 700;
}
.c_officeRow .box .address .ttl {
  font-size: 2rem;
  border-bottom: .1rem solid #000;
  padding-bottom: .4rem;
  margin-bottom: 1.5rem;
}
.c_officeRow .box .address .ttl._small{
  padding-bottom: .8rem;
  font-size: 1.6rem;
}
.c_officeRow .img,
.c_officeRow dl {
  width: 48rem;
  max-width: 100%;
}
.c_officeRow dt,
.c_officeRow dd {
  width: 66%;
  font-size: 2rem;
  padding: 0.7rem 1rem;
  font-weight: 500;
  font-feature-settings: "palt";
}
.c_officeRow dt:nth-of-type(n+2),
.c_officeRow dd:nth-of-type(n+2){
  margin-top: 0.8rem;
}
.c_officeRow dt {
  width: 34%;
  color: #fff;
  background-color: var(--color-main);
}
.c_officeRow dd{
  background-color: #F4F4F4;
  font-size: 1.8rem;
  text-align: left;
}

.c_officeImgRow{
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem;
  margin-top: 4rem;
  text-align: left;
}
.c_officeImgRow figcaption{
  margin-top: .8rem;
}
.c_office .c_btn{
  margin-top: 5rem;
}
.p_nagoya.c_movieWrap{
  margin: 5rem 0;
}

.c_access{
  padding-top: 0;
}
.c_accessTtl{
  background: url("../img/nagoya/access_ttl_bg.jpg") center no-repeat;
  background-size: cover;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .05em;
  padding: 13rem 0 9rem;
  text-align: left;
  color: #fff;
}
#shizuokaAccess .c_accessTtl{
  background-image: url("../img/shizuoka/access_ttl_bg.jpg") ;
}
.c_accessTtl .fontEn{
  display: block;
  font-size: 5.8rem;
  padding-bottom: 1rem;
}
.c_accessArea{
  padding: 3.6rem 0 5.4rem;
  text-align: left;
}
.c_accessArea .ttl{
  font-size: 1.8rem;
  margin-bottom: 1.4rem;
}
.c_accessArea .item + .item{
  margin-top: 3.4rem;
}
.c_accessArea .iconTtl{
  font-size: 1.8rem;
  border-bottom: .1rem solid #000;
  display: flex;
  align-items: center;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
.c_accessArea .iconTtl::before{
  content: "";
  width: 1.8rem;
  height: auto;
  aspect-ratio: 18/26;
  background: url("../img/icon_train.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
  margin-right: 1.2rem;
}
.c_accessArea .item._train .iconTtl::before{
  margin-left: 1rem;
}
.c_accessArea .item._bus .iconTtl::before{
  width: 3.2rem;
  aspect-ratio: 32/26;
  background-image: url("../img/icon_bus.svg");
}
#nagoyaAccess .c_accessArea .item._car .iconTtl{
  border: none;
}
.c_accessArea .item._car .iconTtl::before{
  width: 2.8rem;
  aspect-ratio: 28/22;
  background-image: url("../img/icon_car.svg");
}
.c_accessArea ul{
  gap: 11rem;
}
.c_accessArea li{
  text-align: left;
  line-height: 1.4;
  text-indent: -0.4em;
  padding-left: 1.2em;
}
.c_accessArea li::before{
  content:"●";
  display:inline-block;
  font-size: 0.5rem;
  vertical-align: 0.5rem;
  margin-right: 0.6rem;
}
.c_accessArea .note{
  font-size: 1.4rem;
  margin-top: 0.6rem;
}
.c_accessArea .row{
  grid-template-columns: repeat(2, 1fr);
  gap: 8rem;
}
.c_accessArea .row .ttl02{
  border-bottom: .1rem solid #000;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
.gMap {
  width: 100%;
  height: auto;
  aspect-ratio: 140/48;
  margin-inline: auto;
}
.gMap iframe {
  width: 100%;
  height: 100%;
  border: none;
}


/*shizuoka
---------------------------------------------------------*/
.shizuokaMap{
  padding: 4rem 0 0;
}
.shi1stFact_floorWrap{
  margin: 9rem 0 16rem;
}
.shi1stFact_floor + .shi1stFact_floor{
  margin-top: 7rem;
}
.shi1stFact_floor .ttl{
  font-size: 2.4rem;
  border-bottom: .3rem solid;
  border-image: linear-gradient(118deg, #5ED7FF 8.18%, #1862D2 70.9%) 1;
  text-align: left;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 0 3.7rem 0.7rem 0;
}
.shi1stFact_floor._3F .ttl{
  margin-bottom: 5.6rem;
}
.c_floorNum{
  font-size: 4.8rem;
  background: linear-gradient(118deg, #5ED7FF 8.18%, #1862D2 70.9%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.shi1stFact_floor .row {
  gap: 4rem;
  align-items: flex-end;
}
.shi1stFact_floor._2F .row{
  align-items: center;
}
.shi1stFact_floor .box {
  flex:1;
}
.shi1stFact_floor .box .ttl {
  font-size: 3rem;
  padding-bottom: 1rem;
}
.shi1stFact_floor._1F .box .map,
.shi1stFact_floor._2F .box .map{
  max-width: 55rem;
}
.shi1stFact_floor .box .txt {
  color: #fff;
  padding: 2rem;
  background: url("../img/shizuoka/floor_txt_bg.jpg") center no-repeat;
  background-size: cover;
  font-feature-settings: "palt";
  margin-top: 2rem;
  text-align: left;
}
.shi1stFact_floor .img {
  width: 34.1rem;
  max-width: 100%;
}
.shi1stFact_floor .img figure + figure{
  margin-top: 3rem;
}
.c_floorImg figure{
  position: relative;
}
.c_floorImg figcaption{
  display: inline-grid;
  place-content: center;
  width: 3.1rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  font-size: 2rem;
  color: var(--color-main);
  background-color: #fff;
  position: absolute;
  top: .7rem;
  left: .7rem;
}
.shi2ndFact_wifi {
  gap: 5.7rem;
  align-items: flex-end;
  padding: 6.5rem 0 9.5rem;
}
.shi2ndFact_wifi .box {
  flex:1;
  text-align: left;
}
.shi2ndFact_wifi .box .ttl {
  font-size: 2.4rem;
  padding-bottom: 6rem;
}
.shi2ndFact_wifi .img {
  width: 64rem;
  max-width: 100%;
}
.shi2ndFact_floor .map{
  gap: 4.2rem;
}
.shi2ndFact_floor .map figure{
  padding:0 2rem;
}
.shi2ndFact_floor .map figcaption{
  margin-bottom: 2.2rem;
  text-align: left;
  width: fit-content;
}
.shi2ndFact_floor .img{
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem;
  margin: 5.7rem 0 7.2rem;
}
.c_accessArea .item._trainBus .iconTtl::before{
  width: 6.1rem;
  aspect-ratio: 67/30;
  background-image: url("../img/icon_train.svg"),url("../img/icon_bus.svg");
  background-position: left center,right center;
  margin-left: 0.6rem;
}

/*ems
---------------------------------------------------------*/
.emsSec{
  padding-bottom: 14rem;
}
.emsSec .c_txtImgRow{
  margin-bottom: 12rem;
}
.emsSec .c_linkRow{
  margin-top: 0;
}


/*flow
---------------------------------------------------------*/
.flowSecWrap{
  padding: 5rem 0 9rem;
}
.flowSecWrap_lead{
  font-size: 2.2rem;
  font-weight: 600;
  font-feature-settings: "palt";
  margin-bottom: 1rem;
}
.flowSec{
  padding: 4rem 0;
  text-align: left;
  font-feature-settings: "palt";
  letter-spacing: .03em;
}
.flowSec_ttl01{
  background-color: var(--color-main);
  padding: 0.8rem 3rem;
  color: #fff;
  font-size: 3.2rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  line-height: 1.6;
}
.flowSec_ttl01 span{
  font-size: 62.5%;
  color: var(--color-main);
  background-color: #fff;
  padding: 0.6rem 1rem;
}
.flowSec_area{
  padding: 3.2rem 3rem 0;
}
.flowSec_txt{
  line-height: 1.8
}
.flowSec_ttl02{
  font-size: 2rem;
  color: var(--color-main);
  margin: 3.2rem 0 1.4rem;
}
.flowSec_rowImg{
  gap: 3.2rem 5.5rem;
}
#flow04 .flowSec_rowImg{
  max-width: 67.5rem;
  flex-wrap: wrap;
}
.flowSec_rowImg figure{
  width: 31rem;
}
.flowSec_rowImg figcaption{
  margin-top: 2rem;
}
.flowVideo{
  background-color: #EDF8FF;
}
.flowVideo_area{
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding: 6rem;
}
.flowVideo_area + .flowVideo_area{
  margin-top: 6rem;
}


/*equipment
---------------------------------------------------------*/
.equipLead_txt{
  font-feature-settings: 'palt';
  font-size: 2.2rem;
  font-weight: 600;
  padding: 5rem 0;
}
.equipAnchor{
  gap: 1rem;
  margin-bottom: 5.5rem;
}
.equipAnchor a{
  background-color: var(--color-main);
  color: #fff;
  padding: 1rem 1rem 1rem 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 1rem;
  width: 100%;
  gap: 1.3rem;
}
.equipAnchor a::after {
  content: "";
  display: inline-block;
  width: 2.3rem;
  height: auto;
  aspect-ratio: 1;
  background: #fff url("../img/arrow_main.svg") center no-repeat;
  background-size: 48% auto;
  border-radius: 50%;
  transform: rotate(90deg);
}
.equipSec{
  position: relative;
  text-align: left;
  padding: 5.5rem 0;
}
.equipSec::after{
  content: "";
  width: 100%;
  height: 22.7rem;
  background: url("../img/equipment/sec_bg.jpg") center right no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.equipSec_ttl01{
  font-size: 2.8rem;
  color: #fff;
  margin-bottom: 4.1rem;
}
.equipSec_area{
  background-color: #fff;
  margin: 0 -5rem;
  padding: 4.2rem 5rem 0;
}
.equipSec_ttl02{
  font-size: 2.4rem;
  color: var(--color-main);
  border-bottom: .2rem solid var(--color-main);
  padding: 0 0 0.8rem 1rem;
}
.equipSec_item{
  padding: 5rem 0;
}
.equipSec_item:first-of-type{
  padding-top: 3.8rem;
}
.equipSec_item + .equipSec_item{
  border-top: .1rem solid var(--color-gray);
}
.equipSec_itemTtl{
  font-size: 2rem;
  color: var(--color-main);
  margin-bottom: 1.4rem;
}
.equipSec_list{
  gap: 4rem 3rem;
  flex-wrap: wrap;
}
.equipSec_list + .equipSec_list{
  margin-top: 4rem;
}
.equipSec_list li{
  position: relative;
  width: calc(calc(100% - 12rem) / 5);
}
.equipSec_list .new{
  color: #fff;
  background: linear-gradient(140deg, #FF2828 27%, #8E140E 100%) padding-box,
    linear-gradient(100deg, #FF2828 0%, #7b130e 100%) border-box;
  border: .1rem solid transparent;
  filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.25));
  display: inline-grid;
  place-content: center;
  width: 3.6rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  font-size: 1.2rem;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}
.equipSec_list figcaption{
  margin-top: 1.6rem;
  font-feature-settings: "palt";
  letter-spacing: .03em;
}
.equipSec_list figcaption .type{
  color: #656565;
  font-size: 1.4rem;
  margin-top: 0.6rem;
  display: block;
  line-height: 1.3;
}



/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1250px) {
  html {
    font-size: .8vw;
  }
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
  html {
    font-size: 2.7777777vw;
  }
  body {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  body.active {
    overflow: hidden;
  }
  article > section {
    padding: 4rem 0;
  }

  /*header
  -------------------------------------------------------*/
  :root {
    --header-height: 5.6rem;
  }
  .headerWrap{
    padding: 1.4rem 0;
  }
  .active #header{
    background: #F4F4F4;
  }
  .hNav {
    display: none;
  }
  .hLogo img {
    max-height: 2.8rem;
  }


  /*nav
  -----------------------------------------------------*/
  .menuIcon {
    position: fixed;
    top: 1.3rem;
    right: 5%;
    width: 3rem;
    height: 2.2rem;
    z-index: 99999;
    cursor: pointer;
    display: block;
  }
  .menuIcon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: .2rem;
    background: #000;
    z-index: 10;
    transition: .2s;
  }
  .menuIcon span:nth-of-type(1) {top: 0;}
  .menuIcon span:nth-of-type(2) {top: 1rem;}
  .menuIcon span:nth-of-type(3) {bottom: 0;}
  .menuIcon.active span:nth-of-type(1) {
    -webkit-transform: translateY(1rem) rotate(45deg);
    transform: translateY(1rem) rotate(45deg);
  }
  .menuIcon.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menuIcon.active span:nth-of-type(3) {
    -webkit-transform: translateY(-1rem) rotate(-45deg);
    transform: translateY(-1rem) rotate(-45deg);
  }
  #nav {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease-in-out;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    display: block;
    padding: 6.4rem 7% 4rem;
    background: #F4F4F4;
    visibility: hidden;
    opacity: 0;
  }
  #nav.active {
    right: 0;
    opacity: 1;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
    z-index: 9990;
  }
  .active #header.scrollClass{
    box-shadow:none;
  }
  .spMenu .c_nav .parent > li + li {
    margin-top: 2rem;
 }
  .spMenu .c_nav .parent > li > a .fontEn{
    margin-top: 0;
    margin-right: 1rem;
  }
  .spMenu .c_nav .parent > li > a::after{
    margin-top: .2rem;
  }
 .spMenu .c_nav .child {
    margin-top: 0.6rem;
  }
 .spMenu .c_nav .child li + li {
    margin-top: 0.6rem;
}
  .spAddress {
     margin-top: 2rem;
     text-align: left;
 }
  .spAddress .ttl{
    display: flex;
    align-items: center;
    font-weight: 500;
  }
  .spAddress .ttl .fontEn{
    font-size: 2rem;
    margin-right: 2rem;
  }
  .spAddress address{
    margin-top: 0.6rem;
    line-height: 1.6;
  }

  /*footer
  -------------------------------------------------------*/
  .footer{
    padding: 3.2rem 0;
  }
  .fRow{
    display: block;
    width: fit-content;
    margin-inline: auto;
  }
  .fNav{
    display: none;
  }

  /*共通 パーツ
  ---------------------------------------------------------*/
  .c_btn{
    margin-top: 2rem;
    text-align: center;
  }
  .c_btn a {
    padding: 0.8rem 0.8rem 0.8rem 1.8rem;
    font-size: 1.4rem;
    width: auto;
    min-width: 18rem;
    gap: 1rem;
  }
  .c_btn a::after {
    width: 2.6rem;
  }
  .c_enJaTtl {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
  }
  .c_enJaTtl span {
    font-size: 4rem;
    margin-bottom: 0.5rem;
  }
  .c_bgWave{
    background-size: cover;
  }



  /*top
  ---------------------------------------------------------*/
  .mainArea{
    margin-bottom: 5.4rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem 1rem;
  }
  .mainImg{
    display: contents;
  }
  .mainImg .img._01{
    width: 20.5%;
  }
  .mainImg .img._02{
    width: 72%;
  }
  .mainImg .img._03{
    width: 100%;
    order: 3;
    padding-left: 2rem;
  }
  .mainImg .img._03 img{
    height: 20rem;
    width: 100%;
    object-fit: cover;
  }
  .mainBox{
  display: contents;
  }
  .mainTxt{
    position: static;
    bottom: 2rem;
    right: 0;
    padding: 0 2rem;
  }
  .mainTxt h1{
    width: 32rem;
    margin-bottom: 1.8rem;
    min-width: auto;
  }
  .mainTxt h2 img{
    width: 24rem;
  }
  .topAbout{
    padding-bottom: 4rem;
    display: flex;
    flex-direction: column-reverse;
  }
  .topAbout .box{
    padding: 3.2rem 0;
    margin: 0;
  }
  .topAbout .box::before{
    width: 112%;
    left: -6%;
    background-color: var(--color-main);
  }
  .topAbout .box .txt{
    margin-bottom: 0.8rem;
    max-width: 100%;
  }
  .topAbout .c_link{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 1rem;
  }
  .c_link li a{
    padding: 1.2rem 1rem 1.2rem 0;
  }
  .topAbout .c_link li:nth-child(2){
    border: none;
  }
  .c_link li a::after{
    width: 1.3rem;
    height: auto;
  }
  .topAbout .bgImg{
    height: auto;
    position: static;
  }
  .topAbout .bgImg img{
    height: 25rem;
    width: 109%;
    max-width: none;
    object-position: 0 100%;
  }
  .topBusiness .area._01,
  .topBusiness .area._02{
    display: flex;
    flex-direction: column-reverse;
  }
  .topBusiness .area + .area{
    margin-top: 2rem;
  }
  .topBusiness .box{
    padding: 2rem;
    background-color: rgba(0, 0, 0, 0.9);
    margin: 0!important;
  }
  .topBusiness .area .enJaTtl {
    font-size: 2.2rem;
    margin-bottom: .4rem;
  }
  .topBusiness .area .enJaTtl span {
    font-size: 1.4rem;
    margin-bottom: .1rem;
  }
  .topBusiness .area .c_btn{
    margin-top: 1rem;
  }
  .topBusiness .bgImg{
    position: static;
  }

  .topBusiness .area._03 .lead::before{
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--color-main);
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }
  .topBusiness .area._03 strong{
    font-size: 1.6rem;
    bottom: 2rem;
    left: 2rem;
  }
  .topBusiness .area._03 strong span{
    padding: 0.3rem 0.8rem;
  }
  .topBusiness .area._03 .bgImg02 img{
    height: 18rem;
    object-fit: cover;
  }
  .topBusiness .area._03 .box02{
    padding: 2rem 0 0;
  }
  .topBusiness .area._03 .box02 .enJaTtl{
    margin-bottom: 0.2rem;
  }
  .topBusiness .area._03 .row{
    flex-direction: column;
    gap: 2rem;
    align-items: center;
  }
  .c_link02{
    gap: 0;
    grid-template-columns: repeat(1, 1fr);
    width: 100%;
  }
  .c_link02 a,
  .c_link02_a{
    width: 100%;
    padding: 1rem 0;
  }
  .c_link02 a::after,
  .c_link02_a::after,
  ._circleArrow::after{
    width: 2.2rem;
    height: auto;
  }


  /*下層 共通
  ---------------------------------------------------------*/
  .lower_mv{
    height: 15rem;
  }
  .lower_mv .ttl{
    font-size: 1.4rem;
    padding-left: 0rem;
  }
  .lower_mv .ttl .fontEn{
    font-size: 3.2rem;
    padding-bottom: 0.4rem;
  }
  .lower_mv .bgImg {
    min-width: auto;
    width: 70%;
  }

  /*about
  ---------------------------------------------------------*/
  .aboutSec{
    padding-bottom: 4rem;
  }
  .c_linkRow {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 2rem!important;
  }
  .c_linkRow._col2{
    margin-top: 1rem;
  }
  .c_linkRow .link {
    width: 96%;
    margin-top: 0!important;
  }
  .c_linkRow .link:nth-of-type(even){
    margin-top: 2.4rem!important;
  }
  .c_linkRow .link .enTtl {
    font-size: 2.2rem;
    top: 1rem;
    right: -1.3rem;
  }
  .c_linkRow .link .jaTtl{
    padding: 1rem 0 0.8rem;
    margin-bottom: 0.8rem;
    font-size: 1.4rem;
  }
  .c_linkRow .link .jaTtl::after{
    width: 2rem;
  }
  .c_linkRow .link .txt{
    font-size: 1.3rem;
  }


  /*company
  ---------------------------------------------------------*/
  .company_enJaTtl {
    font-size: 1.3rem;
    padding-left: 1.8rem;
  }
  .company_enJaTtl span {
    font-size: 2.6rem;
    margin-bottom: 0.2rem;
  }
  .c_gradDot::before{
    width: 0.6rem;
    top: 1rem;
  }
  .companyProfile dl {
    margin-top: 1rem;
  }
  .companyProfile dl dt,
  .companyProfile dl dd {
    padding: 1.6rem 0.6rem;
    width: 76%;
    font-feature-settings: "palt";
    letter-spacing: .03em;
  }
  .companyProfile dl dt {
    width: 24%;
  }
  .companyProfile dl dd img{
    width: 17.2rem;
  }
  .companyOrga .imgWrap{
    margin-top: 2rem;
  }
  .companyOrga .imgWrap .img{
    width: 80rem;
  }


  /*greeting
  ---------------------------------------------------------*/
  .greetingSec{
    padding: 5rem 0;
  }
  .greetingSec .row {
    gap: 2.2rem;
    flex-direction: column;
  }
  .greetingSec .row .img {
    width: 70%;
    margin-inline: auto;
  }
  .greetingSec .row .box {
    flex:1;
    display: flex;
    flex-direction: column;
  }
  .greetingSec .row .box .ttl .jaTtl{
    width: 11.9rem;
    margin-right: 1.6rem;
    vertical-align: 0;
  }
  .greetingSec .row .box .ttl .enTtl{
    width: 17rem;
  }
  .greetingSec .row .box .txt {
    line-height: 1.8;
    margin-bottom: 2rem;
  }
  .greetingSec .row .box .sign .post{
    width: 10.5rem;
    margin-right: 1.4rem;
    vertical-align: -0.2rem;
  }
  .greetingSec .row .box .sign .name{
    width: 10.5rem;
  }


  /*topics
  ---------------------------------------------------------*/
  .topicsList li{
    padding: 2rem;
  }
  .topicsList li + li{
    margin-top: 1.2rem;
  }
  .topicsList li .toggleBtn{
    padding-bottom: 1.2rem;
    display: block;
  }
  .topicsList li .toggleBtn .date{
    font-size: 1.3rem;
    padding: 0.2rem 1rem;
    display: inline-block;
    margin-bottom: 0.6rem;
  }
  .topicsList li .toggleBtn .ttl{
    font-size: 1.5rem;
    width: 100%;
    gap: 1rem;
  }
  .topicsList li .toggleBtn .ttl::after{
    min-width: 2.2rem;
    background-position: 50% 52%;
  }
  .topicsList li .toggleCont .thumb{
    padding-top: 1.2rem;
  }
  .topicsList li .toggleCont .cont{
    padding-top: 1.2rem;
  }


  /*history
  ---------------------------------------------------------*/
  .historySec{
    padding: 2.4rem 0 6rem;
  }
  .historySec .lead{
    font-size: 1.6rem;
    margin-bottom: 1.8rem;
  }
  .historySec .rowImg {
    margin-bottom: 4rem;
    flex-direction: column;
    gap: 2.4rem;
  }
  .historySec .rowImg .box .ttl {
    font-size: 2.2rem;
    padding-top: 0.6rem;
  }
  .historySec .timeline{
    margin: 0;
  }
  .historySec .timeline::before{
    height: 97.8%;
    top: 1.1rem;
  }
  .historySec .timeline .row {
    gap: 1.2rem;
    align-items: flex-start;
  }
  .historySec .timeline .row::before{
    font-size: 1rem;
    margin-top: 0.4rem;
  }
  .historySec .timeline .row + .row{
    margin-top: 4rem;
  }
  .historySec .timeline .row time{
    font-size: 3rem;
  }
  .historySec .timeline .row .cont {
    gap: 0.4rem;
    align-items: flex-start;
    flex-direction: column;
    margin-left: 0.8rem;
  }
  .historySec .timeline .row .cont .bgClr,
  .historySec .timeline .row .cont > div:first-child{
    width: auto;
  }
  .historySec .timeline .row .cont > div:first-child{
    display: none;
  }
  .historySec .timeline .row .cont .bgClr {
    padding: 0.5rem 1.7rem;
    font-size: 1.3rem;
  }
  .historySec .timeline .row .cont .event {
    font-size: 1.5rem;
    text-align: left;
    margin-top: 0.2rem;
  }


  /*contact
  ---------------------------------------------------------*/
  .formStep {
    margin-bottom: 4rem;
    gap: 0 5rem;
  }
  .formStep li {
    font-size: 1.2rem;
  }
  .formStep li:not(:first-of-type)::before {
    top: 2.4rem;
    width: 2.2rem;
    left: -3.7rem;
  }
  .formStep .num {
    width: 5rem;
    font-size: 2rem;
  }
  .formArea {
    padding: 3.4rem 0 5rem;
  }
  .formWrap{
    padding: 2rem;
  }
  .formTxt {
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
  .formBox dt {
    margin-bottom: 1.2rem;
  }
  .formBox dd {
    margin-bottom: 2rem;
  }
  .formBox dd .mwform-radio-field.horizontal-item{
    margin-top: 1rem;
  }
  .formBox input[type="text"],
  .formBox input[type="tel"],
  .formBox input[type="email"],
  .formBox input[type="date"],
  .formBox select,
  .formBox textarea {
    padding: .4em;
  }
  .formBox input[type="text"],
  .formBox input[type="tel"],
  .formBox input[type="email"],
  .formBox input[type="date"],
  .formBox select,
  .formBox textarea,
  .formBox input[type="file"]{
    font-size: 1.4rem;
  }
  .formBox textarea {
    height: 15rem;
  }
  .formBtn {
    margin-top: 1rem;
  }
  .formArea input[type="submit"],
  .formArea input[type="button"] {
    font-size: 1.6rem;
    min-width: 24rem;
    padding: 1.6rem 2rem;
  }
  .privacyBox .txt{
    font-size: 1.2rem;
    text-align: left;
  }
  .thxBox {
    line-height: 1.6;
  }
  .thxBox .ttl{
    font-size: 1.55rem;
  }
  .thxBox .txt{
    text-align: left;
  }
  .thxBox .c_btn{
    margin-top: 1rem;
  }


  /*sitemap
  ---------------------------------------------------------*/
  .sitemapSec{
    padding: 0 0 2rem;
  }
  .sitemapSec .row {
    gap: 3.8rem;
    padding: 4rem 0;
    flex-direction: column;
  }
  .sitemapSec .row .box {
    width: 36.1rem;
    max-width: 100%;
  }
  .sitemapSec .row .box .enJaTtl {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    padding-left: 0;
  }
  .sitemapSec .row .box .enJaTtl span {
    font-size: 3.2rem;
    margin-bottom: 0;
  }
  .sitemapSec .row .box .enJaTtl span::after{
    margin-left: 1.4rem;
  }
  .sitemapSec .row .img{
    width: 94%;
  }
  .sitemapSec .row .img ._02 {
    bottom: -2.4rem;
    right: -2rem;
  }
  .sitemapSec .row .box .ttl {
    font-size: 3rem;
    padding-bottom: 1rem;
  }
  .sitemapSec .row .box .txt {
    font-size: 1.8rem;
  }
  .sitemapSec .row .c_link02{
    grid-template-rows: auto;
    grid-auto-flow: row;
    gap: .4rem;
  }


  /*privacy
  ---------------------------------------------------------*/
  .privacySec{
    padding: 3.2rem 0 4rem;
  }
  .privacySec .area + .area{
    margin-top: 2.6rem;
  }
  .privacySec .area:last-child{
    margin-top: 2.6rem;
  }
  .privacySec .area .ttl{
    font-size: 1.53rem;
    padding: 0 0 0.8rem;
    margin-bottom: 1.2rem;
    text-indent: -0.5em;
    padding-left: 1.2em;
  }
  .privacySec .area .ttl::before{
    font-size: 0.6rem;
    margin-right: 0.6rem;
  }
  .privacySec .area .txt{
    padding: 0;
  }
  .privacySec .area ol{
    padding: 0 1.5rem;
  }
  .privacySec .area ul{
    padding: 0;
    margin-top: 1rem;
  }

  /*kensa
  ---------------------------------------------------------*/
  .kensaSec{
    padding: 4rem 0 8rem;
  }
  .c_txtImgRow {
    gap: 2rem!important;
    margin-bottom: 9.2rem;
    flex-direction: column;
  }
  .c_txtImgRow .box {
    margin-top: 0!important;
  }
  .c_txtImgRow .box .ttl {
    font-size: 1.9rem;
    padding-bottom: 1.4rem;
  }
  .c_txtImgRow .box .ttl span{
    padding: 0.3rem 1.4rem;
  }
  #testfixturePage .c_txtImgRow .box .ttl span{
    white-space: nowrap;
  }
  .c_txtImgRow .img{
    width: 95%!important;
  }
  .c_txtImgRow .img ._02 {
    width: 100%;
    bottom: -1.9rem!important;
    left: -1.5rem!important;
  }
  .c_txtImgRow .img ._01{
  transform: translate(-1.5rem, 1.9rem)!important;
  }
  .kensaSec .system{
    margin-bottom: 19.5rem;
  }
  .kensaSec .system .img{
    width: 95%;
  }
  .kensaSec .system .ttl{
    top: -2rem;
    left: 1rem;
    font-size: 3.4rem;
  }
  .kensaSec .system .box{
    bottom: -16rem;
    padding: 1rem 2rem 2rem 2rem;
    width: 95%;
  }
  .kensaSec .service{
    padding: 2rem;
    gap: 0.4rem;
    flex-direction: column;
    align-items: flex-start;
  }
  .kensaSec .service .ttl{
    font-size: 3.2rem;
  }


  /*system
  ---------------------------------------------------------*/
  .systemLead{
    padding: 4rem 0 4.6rem;
  }
  .c_txtImgRow._lower {
    margin-bottom: 8rem;
  }
  .c_txtImgRow._lower .box .ttl {
    font-size: 1.8rem;
  }
  .c_txtImgRow._lower .box .ttl span{
    padding: 0.5rem 1rem;
  }
  .c_txtImgRow._lower .box .txt{
    font-size: 1.4rem;
  }
  .loopText img {
    height: 4rem;
  }
  .systemCont{
    padding: 2rem 0 0;
  }
  .c_anchor .enJaTtl {
    font-size: 1.3rem;
    top: -2rem;
    left: -2rem;
    padding: 1.4rem 4rem 1.2rem 3rem;
  }
  .c_anchor .enJaTtl::before,
  .c_anchor .enJaTtl::after{
    width: 118%;
    clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 0% 100%);
  }
  .c_anchor .enJaTtl::after{
    top: 1rem;
    left: -3.3rem;
  }
  .c_anchor .enJaTtl span {
    font-size: 2.5rem;
  }
  .c_anchor .list{
    grid-template-columns: repeat(2, 1fr);
    gap: 2.2rem 1rem;
    padding: 8.3rem 0 2rem;
  }
  .c_anchor .list li a .jaTxt{
    padding: 1.5rem 1rem 1.2rem!important;
    font-size: 1.3rem!important;
  }
  .c_anchor .list li a .jaTxt::after{
    width: 1.2rem;
  }
  .c_anchor .list .enTxt{
    font-size: 1.2rem;
    top: -1.2rem;
    padding: 0.4rem 2rem .3rem;
  }
  .c_anchorArea{
    padding: 3rem 0 5rem;
  }
  .c_anchorArea .box{
    padding: 2rem;
  }
  .c_anchorArea .box + .box{
    margin-top: 2rem;
  }
  .c_anchorArea .box .ttl{
    gap: 0.5rem;
    padding: 1.4rem 1.8rem;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    flex-direction: column;
    border-radius: 0.5rem;
  }
  .c_anchorArea .box .ttl .enTxt{
    margin-top: 0;
  }
  .c_anchorArea .box .img{
    margin-bottom: 1rem;
  }
  .c_anchorArea .box .img.d-flex{
    gap: 1rem;
    flex-direction: column;
  }
  .c_anchorArea .box .txt{
    padding: 0;
  }


  /*replacement
  ---------------------------------------------------------*/
  .replaceMerit .diagonal{
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .replaceMerit .diagonal::before,
  .replaceMerit .diagonal::after {
    left: -2.2rem;
  }
  .replaceMerit .diagonal::after {
    left: auto;
    right: -2.2rem;
  }
  .c_contArea::before{
    height: 5.4rem;
  }
  .c_contArea .ttl{
    gap: 1.3rem;
    padding: 1.2rem 1.8rem;
  }
  .c_contArea .ttl h3{
    font-size: 2rem;
  }
  .c_contArea .ttl .txt{
    font-size: 1.4rem;
    flex: 1;
  }
  .c_contArea ul{
    padding: 1.5rem 0;
    font-size: 1.4rem;
  }
  .c_contArea ul li{
    text-indent: -0.4em;
    padding-left: 0.7em;
  }
  .c_contArea ul li + li{
    margin-top: 1.4rem;
  }
  .c_contArea ul li::before{
    font-size: 0.4rem;
    vertical-align: 0.4rem;
    margin-right: 0.4rem;
  }


  /*testfixture
  ---------------------------------------------------------*/
  .fixtureLead .c_txtImgRow{
    gap: 7.6rem!important;
  }
  .fixtureLead .bgImg{
    top: -1rem;
    width: 43.2rem;
    left: -6rem;
  }
  .fixtureLink{
    padding-bottom: 5rem;
  }
  .c_linkRow._ {
      grid-template-columns: repeat(1, 1fr);
      gap: 0;
      margin-top: 0;
  }


  /*testfixture_works
  ---------------------------------------------------------*/
  .fixWorksVideo{
    padding: 3rem 0 2rem;
  }
  .c_video_ttl{
    margin-bottom: 1rem;
  }
  .c_video_jaTxt{
    font-size: 1.6rem;
  }
  .c_video_enTxt{
    font-size: 3.6rem;
  }
  .fixWorksCont .c_anchor .list {
    grid-template-columns: repeat(2, 1fr);
  }
  .c_anchorArea .box .item + .item{
    margin-top: 2rem;
    padding-top: 3rem;
  }


  /*handpress
  ---------------------------------------------------------*/
  .handLead{
    padding-bottom: 0rem;
  }
  .handLead .c_txtImgRow._lower .img {
      width: 20rem!important;
      margin-inline: auto;
  }
  .handLead .c_txtImgRow._lower {
      gap: 13.6rem;
      max-width: 85rem;
      margin-bottom: 6rem;
  }
  .handLead .c_txtImgRow._lower .box {
      margin-top: 8rem;
  }
  .handFeature{
    padding: 4rem 0;
  }
  .handFeature .dotTtl{
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }
  .handFeature .dotTtl .small{
    font-size: 61.1%;
  }
  .handFeature .dotTtl::before{
    margin-right: 1rem;
  }
  .c_contAreaWrap + .c_contAreaWrap{
    margin-top: 4rem;
  }
  .handFeature .c_contArea ul li {
      text-indent: 0;
      padding-left: 0;
  }
  .c_contArea ul li h4{
    font-size: 1.6rem;
    margin-bottom: .4rem;
  }
  .c_contArea ul h4::before{
    font-size: 0.4rem;
    margin-right: 0.4rem;
    vertical-align: 0.4rem;
  }
  .c_contArea ul li .txt{
    font-size: 1.4rem;
    padding-left: 0.7em;
  }
  .c_contArea table{
    margin-top: 2rem;
  }
  table th,
  table td{
    padding: 1.1rem 0.5rem;
    font-size: 1.3rem;
  }
  table thead th:first-child,
  table tbody th{
    width: 10.8rem;
  }
  table tbody td span{
    font-size: 1.1rem;
  }
  .c_contArea .note{
    font-size: 1.2rem;
    margin-top: 1rem;
  }


  /*nagoya
  ---------------------------------------------------------*/
  .nagoyaMap {
    padding-top: 3rem;
  }
  .nagoyaMap .container{
    max-width: 96rem;
  }
  .nagoyaMap .enJaTtl {
    font-size: 2.4rem;
    margin-bottom: 3.5rem;
  }
  .nagoyaMap .enJaTtl span {
    font-size: 1.6rem;
    line-height: 1;
  }
  .nagoyaMap .mapWrap{
    margin-bottom: 2rem;
  }
  .nagoyaMap .mapWrap .link{
    width: 34.9%;
    left: 56.17%;
    top: -16%;
    padding: 0.6rem;
  }
  .nagoyaMap .mapWrap .link._02{
    left: -3.6%;
    top: 23.7%;
  }
  .nagoyaMap .mapWrap .link._03{
    left: 54.34%;
    top: 27.7%;
  }
  .nagoyaMap .mapWrap .link::before{
    top: 5.8rem;
    width: 2.6rem;
  }
  .nagoyaMap .mapWrap .link._02::before{
    width: 2.5rem;
    top: 3.2rem;
  }
  .nagoyaMap .mapWrap .link._03::before{
    top: 4.4rem;
  }
  .nagoyaMap .mapWrap .link .c_btn{
    margin-top: 0.5rem;
  }
  .nagoyaMap .mapWrap .link .c_btn span{
    font-size: 1.1rem;
    padding: 0.3rem 0.8rem;
  }
  .nagoyaMap .mapWrap .link .c_btn span::after{
    width: 1.4rem;
  }
  .nagoyaMap .c_link02{
    gap: 0;
    flex-direction: column;
    align-items: flex-start;
  }
  .nagoyaMap .c_link02 li{
    width: 100%;
  }
  .nagoyaMap .c_link02 a{
    gap: 1rem;
  }
  .c_office{
    padding: 3rem 0 4rem;
  }
  .c_officeRow {
    gap: 2rem;
    flex-direction: column;
  }
  .c_officeRow + .c_officeRow{
    margin-top: 4rem;
  }
  .c_officeRow .box {
    flex:1;
    flex-direction: column;
  }
  .c_officeRow .box .jaEnTtl{
    margin-bottom: 1.6rem;
  }
  .c_officeRow .box .jaTxt {
    font-size: 2.4rem;
  }
  .c_officeRow .box .enTxt {
    font-size: 1.3rem;
  }
  .c_officeRow .box .address .ttl {
    font-size: 1.6rem;
    padding-bottom: .4rem;
    margin-bottom: 0.7rem;
  }
  .c_officeRow .box .address .ttl._small{
    padding-bottom: .8rem;
    font-size: 1.6rem;
  }
  .c_officeRow dt,
  .c_officeRow dd {
    font-size: 1.4rem;
  }
  .c_officeRow dt {
    align-content: center;
  }
  .c_officeRow dd{
    font-size: 1.4rem;
}
  .c_officeImgRow{
    grid-template-columns: repeat(2, 1fr);
    gap: 1.8rem 1.2rem;
    margin-top: 2.4rem;
  }
  .c_officeImgRow figcaption{
    margin-top: 0.6rem;
  }
  .c_office .c_btn{
    margin-top: 2rem;
  }
  .p_nagoya.c_movieWrap{
    margin: 2rem 0;
  }
  .c_accessTtl{
    font-size: 1.6rem;
    padding: 5.6rem 0 5rem;
  }
  .c_accessTtl .fontEn{
    font-size: 3.6rem;
    padding-bottom: 0.2rem;
  }
  .c_accessArea{
    padding: 3rem 0 3.4rem;
  }
  .c_accessArea .ttl{
    font-size: 1.6rem;
    margin-bottom: 1.4rem;
  }
  .c_accessArea .item + .item{
    margin-top: 2.2rem;
  }
  .c_accessArea .iconTtl{
    font-size: 1.6rem;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
  }
  .c_accessArea .iconTtl::before{
    width: 1.6rem;
    height: auto;
    aspect-ratio: 18/26;
    margin-right: 1rem;
  }
  .c_accessArea .item._train .iconTtl::before{
    margin-left: 0.7rem;
  }
  .c_accessArea .item._bus .iconTtl::before{
    width: 2.8rem;
  }
  .c_accessArea .item._car .iconTtl::before{
    width: 2.4rem;
  }
  .c_accessArea ul{
    gap: 0.2rem;
    flex-direction: column;
  }
  .c_accessArea .note{
    font-size: 1.2rem;
  }
  .c_accessArea .row{
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  .c_accessArea .row .ttl02{
    font-size: 1.4rem;
  }
  .gMap {
    aspect-ratio: 60/48;
  }


  /*shizuoka
  ---------------------------------------------------------*/
  .shizuokaMap{
    padding: 2rem 0;
  }
  .shizuokaMap .c_link02 li{
    width: 100%;
  }
  .shi1stFact_floorWrap{
    margin: 6rem 0 4rem;
  }
  .shi1stFact_floor + .shi1stFact_floor{
    margin-top: 7rem;
  }
  .shi1stFact_floor .ttl{
    font-size: 2rem;
    gap: 1.2rem;
    padding: 0 1.4rem 0.4rem 0;
    margin-bottom: 1.4rem!important;
  }
  .c_floorNum{
    font-size: 3.4rem;
  }
  .shi1stFact_floor .row {
    gap: 2rem;
    flex-direction: column;
  }
  .shi1stFact_floor .box{
    display: flex;
    flex-direction: column-reverse;
  }
  .shi1stFact_floor .box .ttl {
    font-size: 3rem;
    padding-bottom: 1rem;
  }
  .shi1stFact_floor._1F .box .map,
  .shi1stFact_floor._2F .box .map{
    max-width: 55rem;
  }
  .shi1stFact_floor .box .txt {
    padding: 1.2rem;
    margin: 0 0 2rem;
  }
  .shi1stFact_floor .img figure + figure{
    margin-top: 1rem;
  }
  .c_floorImg figcaption{
    width: 2.2rem;
    font-size: 1.6rem;
    top: 0.5rem;
    left: 0.5rem;
  }
  .shi2ndFact_wifi {
    gap: 2rem;
    padding: 4rem 0;
    flex-direction: column;
  }
  .shi2ndFact_wifi .box .ttl {
    font-size: 2rem;
    padding-bottom: 1rem;
  }
  .shi2ndFact_floor .map{
    gap: 0;
    flex-direction: column;
  }
  .shi2ndFact_floor .map figure{
    padding: 0;
  }
  .shi2ndFact_floor .map figure + figure{
    margin-top: -4rem
  }
  .shi2ndFact_floor .map figcaption{
    margin-bottom: 0.8rem;
  }
  .shi2ndFact_floor .img{
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin: 2rem 0 4rem;
  }
  .c_accessArea .item._trainBus .iconTtl::before{
    width: 5.4rem;
  }


  /*ems
  ---------------------------------------------------------*/
  .emsSec{
    padding-bottom: 5rem;
  }
  .emsSec .c_txtImgRow{
    margin-bottom: 7rem;
  }


  /*flow
  ---------------------------------------------------------*/
  .flowSecWrap{
    padding: 2.8rem 0 3rem;
  }
  .flowSecWrap_lead{
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
  }
  .flowSec{
    padding: 2rem 0;
  }
  .flowSec_ttl01{
    padding: 0.6rem 1rem;
    font-size: 1.8rem;
    gap: 1rem;
  }
  .flowSec_ttl01 span{
    padding: 0.5rem 0.6rem;
    font-size: 1.2rem;
  }
  .flowSec_area{
    padding: 1.6rem 1rem 0;
  }
  .flowSec_txt{
    line-height: 1.8
  }
  .flowSec_ttl02{
    font-size: 1.6rem;
    margin: 2.2rem 0 1rem;
  }
  .flowSec_rowImg{
    gap: 2.8rem;
    flex-direction: column;
  }
  #flow04 .flowSec_rowImg{
    max-width: 67.5rem;
  }
  .flowSec_rowImg figure{
    width: 100%;
  }
  .flowSec_rowImg figcaption{
    margin-top: 1rem;
  }
  .flowVideo_area{
    padding: 2rem;
  }
  .flowVideo_area + .flowVideo_area{
    margin-top: 2rem;
  }


  /*equipment
  ---------------------------------------------------------*/
  .equipLead_txt{
    font-size: 1.5rem;
    padding: 2rem 0;
    font-weight: 500;
  }
  .equipAnchor{
    gap: 0.6rem;
    margin-bottom: 2.7rem;
    flex-wrap: wrap;
  }
  .equipAnchor li{
    width: 49%;
  }
  .equipAnchor a{
    padding: 1rem 1rem 1rem 1.4rem;
    font-size: 1.4rem;
    justify-content: flex-end;
  }
  .equipAnchor a::after {
    width: 2rem;
  }
  .equipSec{
    padding: 3.6rem 0;
  }
  .equipSec::after{
    height: 20rem;
  }
  .equipSec_ttl01{
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
  .equipSec_area{
    margin: 0;
    padding: 1.8rem 1.8rem 0;
  }
  .equipSec_ttl02{
    font-size: 1.8rem;
    padding: 0 0 0.5rem 0.5rem;
  }
  .equipSec_item{
    padding: 3.2rem 0;
  }
  .equipSec_item:first-of-type{
    padding-top: 1.8rem;
  }
  .equipSec_itemTtl{
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .equipSec_list{
    gap: 2.6rem 1rem;
  }
  .equipSec_list + .equipSec_list{
    margin-top: 3rem;
  }
  .equipSec_list li{
    width: calc(calc(100% - 1rem) / 2);
  }
  .equipSec_list .new{
    width: 3.3rem;
    font-size: 1.1rem;
    top: 0.4rem;
    right: 0.4rem;
  }
  .equipSec_list figcaption{
    margin-top: 0.6rem;
  }
  .equipSec_list figcaption .type{
    font-size: 1.2rem;
  }




}



