@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap");
@font-face {
  font-family: "Futura";
  src: url("../fonts/Futura-Med.eot");
  src: url("../fonts/Futura-Med.eot") format("embedded-opentype"), url("../fonts/Futura-Med.ttf") format("truetype"), url("../fonts/Futura-Med.woff") format("woff"), url("../fonts/Futura-Med.svg") format("svg");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/Futura-Bol.eot");
  src: url("../fonts/Futura-Bol.eot") format("embedded-opentype"), url("../fonts/Futura-Bol.ttf") format("truetype"), url("../fonts/Futura-Bol.woff") format("woff"), url("../fonts/Futura-Bol.svg") format("svg");
  font-weight: 700;
  font-display: swap;
}
/*============================================================================
	cheader
=============================================================================*/
/*------------------------------------------------
	第一階層　ページヘッダー
------------------------------------------------*/
.mainPageTopArea {
  padding: min(150px,15.6255vw) 0 min(100px,10.416vw);
  position: relative;
  overflow-x: clip;
}
.mainPageTopArea::after {
  content: "";
  width: 34.5833333333vw;
  height: 45.6944444444vw;
  display: block;
  position: absolute;
  top: 40%;
  left: 0;
  z-index: 0;
}
body.page_about .mainPageTopArea::after {
  background: url("../img/cheader/bg_blue.svg") no-repeat center right/contain;
}
body.page_business .mainPageTopArea::after {
  background: url("../img/cheader/bg_red.svg") no-repeat center right/contain;
}
body.page_sdgs .mainPageTopArea::after {
  background: url("../img/cheader/bg_green.svg") no-repeat center right/contain;
}
.mainPageTopArea .cheaderWrap {
  margin: auto;
  padding-left: calc((100vw - 1160px) / 2);
  width: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
.mainPageTopArea .cheaderWrap .cheaderLeft {
  margin: auto 0;
  width: 40%;
  transform: translateY(-50%);
}
.mainPageTopArea .cheaderWrap .cheaderLeft h1 {
  font-size: clamp(25.6px, 6.666vw, 64px);
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.6;
}
.mainPageTopArea .cheaderWrap .topImage {
  margin: 0 0 0 auto;
  width: 54.65%;
  position: relative;
}
.mainPageTopArea .cheaderWrap .topImage picture {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}
.mainPageTopArea .cheaderWrap .topImage picture::before {
  content: "";
  padding-top: 83.23%;
  display: block;
}
.mainPageTopArea .cheaderWrap .topImage picture img, .mainPageTopArea .cheaderWrap .topImage picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.mainPageTopArea .cheaderWrap .topImage .subttl_en {
  margin: auto;
  position: absolute;
  top: 0;
  right: 10.4166666667vw;
}
.mainPageTopArea .cheaderWrap .topImage .subttl_en span {
  padding-top: 20px;
  font-family: "Futura", sans-serif;
  font-weight: 500;
  font-size: clamp(20px, 3.8vw, 25px);
  line-height: 1.56;
  letter-spacing: 0.18em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: relative;
}
.mainPageTopArea .cheaderWrap .topImage .subttl_en span::before {
  content: "";
  margin: auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 0;
  left: 4px;
  right: 0;
  bottom: auto;
}
body.page_about .mainPageTopArea .cheaderWrap .topImage .subttl_en span {
  color: #4DBDC6;
}
body.page_about .mainPageTopArea .cheaderWrap .topImage .subttl_en span::before {
  background: #4DBDC6;
}
body.page_business .mainPageTopArea .cheaderWrap .topImage .subttl_en span {
  color: #D74D49;
}
body.page_business .mainPageTopArea .cheaderWrap .topImage .subttl_en span::before {
  background: #D74D49;
}
body.page_sdgs .mainPageTopArea .cheaderWrap .topImage .subttl_en span {
  color: #56AF96;
}
body.page_sdgs .mainPageTopArea .cheaderWrap .topImage .subttl_en span::before {
  background: #56AF96;
}
@media (max-width: 1180px) {
  .mainPageTopArea .cheaderWrap {
    padding-left: 5%;
  }
}
@media (max-width: 480px) {
  .mainPageTopArea .cheaderWrap {
    padding-top: 60px;
    display: block;
    width: auto;
  }
  .mainPageTopArea .cheaderWrap .cheaderLeft {
    width: 100%;
  }
  .mainPageTopArea .cheaderWrap .topImage {
    width: 80%;
  }
  .mainPageTopArea .cheaderWrap .topImage .subttl_en {
    right: 5%;
    width: 30px;
  }
}
.mainPageTopArea .topSection {
  margin: min(50px,5.208vw) auto;
  width: 90%;
  max-width: 1020px;
  position: relative;
  z-index: 5;
}
.mainPageTopArea .topSection .ttlBox {
  width: 42%;
}
.mainPageTopArea .topSection .ttlBox h2 {
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.9;
}
.mainPageTopArea .topSection .ttlBox .ttl_en {
  margin-top: 25px;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.18em;
}
body.page_about .mainPageTopArea .topSection .ttlBox .ttl_en {
  color: #4DBDC6;
}
body.page_business .mainPageTopArea .topSection .ttlBox .ttl_en {
  color: #D74D49;
}
body.page_sdgs .mainPageTopArea .topSection .ttlBox .ttl_en {
  color: #56AF96;
}
.mainPageTopArea .topSection .descBox {
  margin: 0 0 0 auto;
  width: 57.35%;
}
.mainPageTopArea .topSection .descBox p {
  font-size: clamp(14px, 2vw, 18px);
  line-height: 3.3;
  letter-spacing: 0.06em;
}
@media (max-width: 1024px) {
  .mainPageTopArea .topSection .ttlBox {
    width: 42%;
  }
  .mainPageTopArea .topSection .descBox {
    width: 55%;
  }
  .mainPageTopArea .topSection .descBox p {
    line-height: 2.4;
  }
}
@media (max-width: 480px) {
  .mainPageTopArea .topSection .ttlBox {
    width: 100%;
  }
  .mainPageTopArea .topSection .descBox {
    margin-top: 20px;
    width: 100%;
  }
  .mainPageTopArea .topSection .descBox p {
    line-height: 2;
  }
}

/*------------------------------------------------
	第二階層　ページヘッダー
------------------------------------------------*/
.subHeader {
  margin: auto;
  padding: min(195px,20.313vw) 0;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.subHeader::before {
  content: "";
  padding-top: 32.5%;
  width: 86%;
  max-width: 1237px;
  height: auto;
  background: url("../img/cheader/bg_subheader.svg") no-repeat right top/contain;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.subHeader .headerInner {
  margin: auto;
  max-width: 1020px;
  width: 70.8%;
  position: relative;
  z-index: 50;
}
.subHeader .headerInner h1 span {
  display: block;
  font-size: 1.8rem;
}
.subHeader .subcTtl {
  width: 100%;
  opacity: 0.32;
  mix-blend-mode: multiply;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 5;
}
.subHeader .subcTtl p {
  color: #F7F3E4;
  font-size: clamp(89.2px, 23.229vw, 223px);
  font-family: "Futura", sans-serif;
  font-weight: 500;
  width: 360vw;
  white-space: nowrap;
  line-height: 1.1;
  letter-spacing: 0.09em;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
.subHeader .subcTtl p span {
  width: 120vw;
}
.subHeader .subcTtl p:nth-of-type(odd) {
  -webkit-animation: slidein 30s linear 0s infinite;
  animation: slidein 30s linear 0s infinite;
}
.subHeader .subcTtl p:nth-of-type(even) {
  -webkit-animation: slideout 30s linear 0s infinite;
  animation: slideout 30s linear 0s infinite;
}
.subHeader .subcTtl p:nth-of-type(even) span {
  text-align: end;
}
body#reform .subHeader .subcTtl p {
  width: 640vw;
}
body#reform .subHeader .subcTtl p span {
  width: 213.3333333333vw;
}
body#delivery .subHeader .subcTtl p, body#history .subHeader .subcTtl p {
  width: 540vw;
}
body#delivery .subHeader .subcTtl p span, body#history .subHeader .subcTtl p span {
  width: 180vw;
}
@media (max-width: 1024px) {
  .subHeader .subcTtl {
    font-size: clamp(72px, 18.75vw, 180px);
  }
}
@media (max-width: 480px) {
  .subHeader .headerInner {
    width: 90%;
  }
}

@keyframes slidein {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes slideout {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
.ttl01 .jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  display: block;
}
.ttl01 .en {
  color: #D74D49;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 2vw, 18px);
  letter-spacing: 0.06em;
  display: block;
}

/*
#cheader {
	padding: uqMin(200) 0;
    position: relative;
    overflow-x: clip;

	h2 {
		margin: auto;
        font-size: fs(45);
        font-weight: 700;
        letter-spacing: 0.07em;
	}
    .pageTtl {
        position: absolute;
        right: -3%;
        bottom: 0;
        font-size: fs(223);
        color: rgba(247, 243, 228, 0.32);
        letter-spacing: 0.09em;
        line-height: (348 / 223);
    }
    &.sub {
        &::before {
            content: '';
            z-index: -1;
            position: absolute;
            background: url("../img/common/cheader_bg.svg")no-repeat center center / cover;
            width: 100%;
            height: 31.39vw;
            top: 0;
            right: 0;
        }
    }
}
*/
/*============================================================================
	about
=============================================================================*/
/*------------------------------------------------
	/about/
------------------------------------------------*/
#aboutTopWrap {
  padding: min(180px,18.75vw) 0;
  background: url("../img/about/bg_arch.svg") no-repeat top center/100% auto;
  background-color: #EFE7C8;
}
#aboutTopWrap section {
  margin: auto;
  max-width: 1100px;
  width: 85%;
  background: #FFFFFF;
  border-radius: 30px;
}
#aboutTopWrap section + section {
  margin-top: min(120px,12.4995vw);
}
#aboutTopWrap section h3 {
  margin: 0 auto min(85px,8.8545vw);
  text-align: center;
}
#aboutTopWrap section h3 .jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  display: block;
}
#aboutTopWrap section h3 .en {
  margin-top: 10px;
  color: #4DBDC6;
  font-family: "Futura", sans-serif;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
  display: block;
}
#aboutTopWrap section h4 .jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  display: block;
}
#aboutTopWrap section h4 .en {
  margin-top: 10px;
  color: #4DBDC6;
  font-family: "Futura", sans-serif;
  font-weight: 500;
  font-size: clamp(16px, 2vw, 18px);
  letter-spacing: 0.06em;
  line-height: 1.4;
  display: block;
}
#aboutTopWrap section.missionArea {
  padding: min(110px,11.4585vw) 0;
}
#aboutTopWrap section.missionArea .philosophyBox {
  margin: auto;
  padding-bottom: min(120px,12.4995vw);
  width: 90%;
  border-bottom: 2px solid #F7F3E4;
}
#aboutTopWrap section.missionArea .philosophyBox .catch {
  font-size: clamp(39.6px, 10.3125vw, 99px);
  letter-spacing: 0.3em;
  text-align: center;
  text-indent: 0.3em;
}
#aboutTopWrap section.missionArea .philosophyBox p {
  font-family: "Lexend", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: clamp(14px, 2vw, 18px);
  text-align: center;
}
#aboutTopWrap section.missionArea .philosophyBox p.en {
  font-weight: 200;
}
#aboutTopWrap section.missionArea .visionBox, #aboutTopWrap section.missionArea .valueBox {
  margin: auto;
  padding: min(120px,12.4995vw) 0;
  width: 90%;
}
#aboutTopWrap section.missionArea .visionBox ul, #aboutTopWrap section.missionArea .valueBox ul {
  margin: 0 0 0 auto;
  width: 55%;
}
#aboutTopWrap section.missionArea .visionBox ul .catch, #aboutTopWrap section.missionArea .valueBox ul .catch {
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  line-height: 1.78;
  letter-spacing: 0.06em;
}
#aboutTopWrap section.missionArea .visionBox ul .read, #aboutTopWrap section.missionArea .valueBox ul .read {
  font-size: clamp(14px, 2vw, 18px);
  line-height: 2.6;
  letter-spacing: 0.06em;
  position: relative;
}
#aboutTopWrap section.missionArea .visionBox ul li + li, #aboutTopWrap section.missionArea .valueBox ul li + li {
  margin-top: min(45px,4.6875vw);
}
@media (max-width: 480px) {
  #aboutTopWrap section.missionArea .visionBox ul, #aboutTopWrap section.missionArea .valueBox ul {
    margin: min(60px,6.2505vw) auto 0;
    width: 100%;
  }
  #aboutTopWrap section.missionArea .visionBox ul .catch, #aboutTopWrap section.missionArea .valueBox ul .catch {
    font-size: clamp(14px, 4.584vw, 22px);
  }
  #aboutTopWrap section.missionArea .visionBox ul .read::before, #aboutTopWrap section.missionArea .valueBox ul .read::before {
    width: 8px;
    height: 8px;
    top: 14px;
  }
}
#aboutTopWrap section.missionArea .visionBox {
  border-bottom: 2px solid #F7F3E4;
}
#aboutTopWrap section.missionArea .visionBox ul .read::before {
  content: "";
  position: absolute;
  background: #F39600;
  width: 10px;
  height: 10px;
  left: -18px;
  top: 18px;
}
@media (max-width: 480px) {
  #aboutTopWrap section.missionArea .visionBox ul .read {
    padding-left: 1em;
  }
  #aboutTopWrap section.missionArea .visionBox ul .read::before {
    width: 8px;
    height: 8px;
    top: 14px;
    left: 0;
  }
}
#aboutTopWrap section.missionArea .valueBox {
  border-bottom: 2px solid #F7F3E4;
}
#aboutTopWrap section.missionArea .valueBox ul .catch {
  position: relative;
}
#aboutTopWrap section.missionArea .valueBox ul .catch::before {
  content: "";
  position: absolute;
  background: #F39600;
  width: 10px;
  height: 10px;
  left: -20px;
  top: 18px;
}
@media (max-width: 480px) {
  #aboutTopWrap section.missionArea .valueBox ul .catch {
    padding-left: 1em;
  }
  #aboutTopWrap section.missionArea .valueBox ul .catch::before {
    width: 8px;
    height: 8px;
    top: 10px;
    left: 0;
  }
  #aboutTopWrap section.missionArea .valueBox ul .read {
    padding-left: 16px;
  }
}
#aboutTopWrap section.designArea {
  padding: min(100px,10.416vw) 0;
  color: #FFFFFF;
  background: url("../img/about/bg_design.jpg") no-repeat center center/cover;
}
#aboutTopWrap section.designArea .innerBox {
  margin: auto;
  width: 90%;
  max-width: 770px;
}
#aboutTopWrap section.designArea .innerBox h4 {
  margin: 0 auto min(75px,7.812vw);
  position: relative;
}
#aboutTopWrap section.designArea .innerBox h4 span {
  position: relative;
  z-index: 5;
}
#aboutTopWrap section.designArea .innerBox h4::before {
  content: "";
  width: 7.9861111111vw;
  height: 9.375vw;
  background: url("../img/about/logo.svg") no-repeat center center/contain;
  display: block;
  transform: translate(-65%, -25%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#aboutTopWrap section.designArea .innerBox .textBox {
  margin: auto 0 0;
  width: 50.65%;
}
#aboutTopWrap section.designArea .innerBox .textBox h5 {
  margin: 0 auto min(30px,3.1245vw);
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 500;
}
#aboutTopWrap section.designArea .innerBox .textBox p {
  font-size: clamp(14px, 2vw, 18px);
  line-height: 2;
  letter-spacing: 0.06em;
}
#aboutTopWrap section.designArea .innerBox figure {
  margin: 0 0 0 auto;
  width: 48.05%;
}
@media (max-width: 480px) {
  #aboutTopWrap section.designArea .innerBox h4::before {
    display: none;
  }
  #aboutTopWrap section.designArea .innerBox .textBox {
    width: 100%;
  }
  #aboutTopWrap section.designArea .innerBox .textBox p {
    line-height: 1.4;
  }
  #aboutTopWrap section.designArea .innerBox picture {
    margin: 0 auto;
    width: 80%;
    -webkit-order: -1;
    -moz-order: -1;
    -ms-order: -1;
    order: -1;
  }
}
@media (max-width: 480px) {
  #aboutTopWrap section.designArea {
    background: url("../img/about/bg_design.jpg") no-repeat top left -70px/cover;
  }
}

/*------------------------------------------------
	/about/message/
------------------------------------------------*/
#messageArea {
  margin: auto;
  padding: min(40px,4.167vw) 0 min(200px,20.8335vw);
  width: 85%;
  max-width: 1100px;
}
#messageArea .messageLeft {
  max-width: 400px;
  width: 36.4%;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
}
#messageArea .messageLeft h2 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
#messageArea .messageLeft .photoBox {
  margin: auto 0 -80px;
}
#messageArea .messageLeft .photoBox .photoTtl {
  margin-bottom: -30px;
  color: #F7F3E4;
  letter-spacing: 0.4em;
  position: relative;
  mix-blend-mode: multiply;
}
#messageArea .messageLeft .photoBox .photoTtl span {
  font-size: clamp(14px, 4.8884vw, 32px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  line-height: 0.7;
  display: block;
}
#messageArea .messageLeft .photoBox .photoTtl em {
  font-size: clamp(30px, 7.812vw, 75px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  line-height: 1;
  display: block;
}
#messageArea .messageLeft .photoBox picture {
  display: block;
}
#messageArea .messageLeft .photoBox .ceoName {
  margin: min(30px,3.1245vw) 0 0;
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#messageArea .messageRight {
  margin: 0 0 0 auto;
  width: 52.4%;
}
#messageArea .messageRight p {
  font-size: clamp(15px, 2.6vw, 18px);
  line-height: 2;
}
#messageArea .messageRight p + p {
  margin-top: 2em;
}
@media (max-width: 1024px) {
  #messageArea .messageLeft {
    width: 100%;
    max-width: none;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    flex-direction: row;
  }
  #messageArea .messageLeft h2 {
    width: 50%;
  }
  #messageArea .messageLeft .photoBox {
    margin: 0 0 0 auto;
    max-width: 400px;
    width: 45%;
  }
  #messageArea .messageLeft .photoBox .photoTtl {
    margin-bottom: -20px;
    letter-spacing: 0.2em;
  }
  #messageArea .messageLeft .photoBox .photoTtl span {
    font-size: clamp(14px, 5.001vw, 24px);
  }
  #messageArea .messageLeft .photoBox .photoTtl em {
    font-size: clamp(24px, 6.2505vw, 60px);
  }
  #messageArea .messageRight {
    width: 100%;
  }
}
@media (max-width: 480px) {
  #messageArea .messageLeft .photoBox .photoTtl {
    margin-bottom: -10px;
  }
  #messageArea .messageLeft .photoBox .photoTtl span {
    font-size: 1.4rem;
  }
  #messageArea .messageLeft .photoBox .photoTtl em {
    font-size: clamp(26.4px, 6.8745vw, 66px);
  }
}

/*------------------------------------------------
	/about/profile/
------------------------------------------------*/
#profileTopWrap {
  padding: min(180px,18.75vw) 0;
  background: url("../img/about/bg_arch.svg") no-repeat top center/100% auto;
  background-color: #EFE7C8;
}
#profileTopWrap section {
  margin: auto;
  max-width: 1020px;
  width: 85%;
  background: #FFFFFF;
  border-radius: 30px;
  padding: min(110px, 16vw) min(110px, 10vw);
}
#profileTopWrap section .overview {
  position: relative;
}
#profileTopWrap section .history {
  position: relative;
}
#profileTopWrap section .overview::before {
  content: "";
  display: block;
  width: 115px;
  height: 135px;
  background: url("../img/about/profileicon.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: -50px;
  left: -70px;
  z-index: 2;
}
#profileTopWrap section .history {
  position: relative;
}
#profileTopWrap section .history::before {
  content: "";
  display: block;
  width: 115px;
  height: 135px;
  background: url("../img/about/profileicon.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: -50px;
  left: -70px;
  z-index: 2;
}
#profileTopWrap section h2 {
  margin: 0 auto 55px;
  font-size: clamp(14.4px, 5.5vw, 36px);
}
#profileTopWrap section .history h2 {
  margin: 85px auto 55px;
}
#profileTopWrap section dl {
  justify-content: space-between;
  font-size: clamp(14px, 3.75vw, 18px);
}
#profileTopWrap section dl dt {
  font-weight: 700;
  width: 200px;
  padding: 1.15em 0;
  box-sizing: border-box;
  position: relative;
}
#profileTopWrap section dl dd {
  width: calc(100% - 200px);
  padding: 1.15em 0.5em;
  box-sizing: border-box;
  position: relative;
}
#profileTopWrap section .overview dl dt, #profileTopWrap section .overview dl dd {
  border-bottom: 2px dotted #EFE7C8;
}
#profileTopWrap section .overview dl dt:last-of-type, #profileTopWrap section .overview dl dd:last-of-type {
  border-bottom: none;
}
#profileTopWrap section .history dl dt span {
  font-size: clamp(14px, 4.584vw, 22px);
  font-weight: 700;
  margin-right: 0.5em;
}
#profileTopWrap section .history dl dt::after {
  content: "●";
  position: absolute;
  right: 45px;
  top: 30px;
  font-size: 8px;
  color: #F39600;
  z-index: 5;
}
#profileTopWrap section .history dl dd:before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #B3BAB0;
  position: absolute;
  top: 40px;
  left: -50px;
  z-index: 1;
}
#profileTopWrap section dl dd:last-of-type:before {
  display: none;
}
@media (max-width: 1024px) {
  #profileTopWrap section dl dt {
    width: 180px;
  }
  #profileTopWrap section dl dd {
    width: calc(100% - 180px);
    padding: 1.15em 0;
  }
}
@media (max-width: 480px) {
  #profileTopWrap section .overview::before {
    width: 75px;
    top: -40px;
    left: -25px;
  }
  #profileTopWrap section .history::before {
    width: 75px;
    top: -40px;
    left: -25px;
  }
  #profileTopWrap section h2 {
    margin: 0 auto 30px;
  }
  #profileTopWrap section .history h2 {
    margin: 85px auto 30px;
  }
  #profileTopWrap section dl dt {
    width: 100%;
  }
  #profileTopWrap section dl dd {
    width: 100%;
  }
  #profileTopWrap section .overview dl dt {
    border-bottom: none;
    color: #fff;
    background: #F39600;
    padding: 0.75em 0.5em;
  }
  #profileTopWrap section .overview dl dd {
    border-bottom: none;
    padding: 0.75em 0.5em 1.5em;
  }
  #profileTopWrap section .history dl {
    position: relative;
  }
  #profileTopWrap section .history dl:before {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 75px);
    background: #B3BAB0;
    position: absolute;
    top: 2em;
    left: -0.9em;
    z-index: 1;
  }
  #profileTopWrap section .history dl dt {
    padding: 1.25em 0 0;
  }
  #profileTopWrap section .history dl dd {
    padding: 0 0 0.75em;
  }
  #profileTopWrap section .history dl dt::after {
    right: auto;
    left: -2em;
    top: 3em;
  }
  #profileTopWrap section .history dl dd:before {
    display: none;
  }
}

/*------------------------------------------------
	/about/office/
------------------------------------------------*/
#officeTopWrap section {
  margin: auto;
  max-width: 1020px;
  width: 85%;
}
#officeTopWrap section + section {
  margin-top: min(120px,12.4995vw);
}
#officeTopWrap section .office {
  width: 30%;
  font-size: clamp(14px, 3.75vw, 18px);
}
#officeTopWrap section .office .area {
  background: #F39600;
  color: #fff;
  font-size: clamp(14px, 4.584vw, 22px);
  font-family: "Futura", sans-serif;
  font-weight: 500;
  text-align: center;
  height: 40px;
  line-height: 40px;
  border-radius: 20px;
  margin-bottom: 20px;
}
#officeTopWrap section .office .name {
  font-weight: 700;
  margin: 0.5em 0;
}
#officeTopWrap section .office .address {
  margin-bottom: 0.5em;
}
#officeTopWrap section .office .access {
  margin: 0.5em 0;
}
#officeTopWrap section .office .access span {
  display: flex;
  align-items: center;
  width: 100%;
  font-weight: 500;
  font-size: clamp(14px, 3.333vw, 16px);
  font-weight: 700;
  margin-bottom: 5px;
}
#officeTopWrap section .office .access span::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: #000;
  margin-left: 1em;
}
#officeTopWrap section .map {
  width: 60%;
  margin-right: -10%;
}
#officeTopWrap section.main {
  align-items: flex-end;
  margin-top: -30px;
  margin-bottom: 85px;
}
#officeTopWrap section.branch .office {
  margin-bottom: 85px;
}
@media (max-width: 1024px) {
  #officeTopWrap section .office {
    font-size: clamp(14px, 3.333vw, 16px);
  }
  #officeTopWrap section .map {
    margin-right: 0;
  }
  #officeTopWrap section.main {
    align-items: center;
    margin-top: -30px;
  }
}
@media (max-width: 480px) {
  #officeTopWrap section .office {
    width: 80%;
    margin: 0 auto 85px;
  }
  #officeTopWrap section .map {
    width: 90%;
    margin: 20px auto 85px;
  }
  #officeTopWrap section.main {
    flex-direction: column-reverse;
    margin-bottom: 0;
  }
}

/*------------------------------------------------
	/about/history/
------------------------------------------------*/
#historyWrap ul li {
  width: 32%;
}
#historyWrap ul li img {
  width: 100%;
}
#historyWrap h2 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  border-left: 2px solid #F6A800;
  padding-left: min(30px,3.1245vw);
  margin-bottom: min(45px,4.6875vw);
}
#historyWrap h3 {
  font-weight: 700;
  margin-bottom: min(45px,4.6875vw);
}
#historyWrap p {
  line-height: 1.8;
}
#historyWrap section {
  margin: auto;
  max-width: 1100px;
  width: 90%;
  font-size: clamp(14px, 3.75vw, 18px);
}
#historyWrap section + section {
  margin-top: min(180px,18.75vw);
}
#historyWrap section > figure {
  width: 50%;
}
#historyWrap section > figure img + img {
  margin-top: 25px;
}
#historyWrap section > div {
  width: 40%;
}
#historyWrap section.historyTopArea {
  margin-top: min(180px,18.75vw);
}
#historyWrap section.historyTopArea > h2 {
  width: 50%;
}
#historyWrap section.historyTopArea > div {
  width: 50%;
}
#historyWrap section.historyImgArea > div {
  width: 100%;
}
#historyWrap section.historyImgArea > div > div {
  width: 50%;
}
#historyWrap section.historyImgArea ul {
  margin-top: 40px;
  align-items: center;
}
#historyWrap ul.historyImg {
  margin: min(80px,8.334vw) auto min(180px,18.75vw);
  max-width: 1200px;
  width: 95%;
}
#historyWrap ul.historyImg li {
  width: auto;
  margin: 0 1%;
}
#historyWrap ul.historyImg li img {
  max-height: 320px;
  width: auto;
}
#historyWrap .historyBtmArea {
  margin-top: min(180px,18.75vw);
  background: url("../img/about/history06.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
  padding: min(100px,10.416vw) 0;
}
#historyWrap .historyBtmArea section div {
  width: 40%;
  color: #fff;
}
@media (max-width: 1024px) {
  #historyWrap section > figure {
    width: 70%;
    margin: min(45px,4.6875vw) auto 0;
  }
  #historyWrap section > div {
    width: 70%;
    margin: 0 auto;
  }
  #historyWrap section.historyTopArea > h2 {
    width: 70%;
    margin: 0 auto min(45px,4.6875vw);
  }
  #historyWrap section.historyTopArea > div {
    width: 70%;
    margin: 0 auto;
  }
  #historyWrap section.historyImgArea > div {
    width: 70%;
  }
  #historyWrap section.historyImgArea > div > div {
    width: 100%;
  }
  #historyWrap section.historyImgArea ul {
    margin-top: 40px;
    align-items: center;
  }
  #historyWrap .historyBtmArea section div {
    width: 100%;
  }
}
@media (max-width: 480px) {
  #historyWrap section > figure {
    width: 85%;
  }
  #historyWrap section > div {
    width: 85%;
  }
  #historyWrap section.historyTopArea > h2 {
    width: 85%;
  }
  #historyWrap section.historyTopArea > div {
    width: 85%;
  }
  #historyWrap section.historyImgArea > div {
    width: 85%;
  }
  #historyWrap section.historyImgArea > div > div {
    width: 100%;
  }
  #historyWrap section.historyImgArea ul {
    margin-top: 40px;
    align-items: center;
  }
  #historyWrap .historyBtmArea {
    padding: 80px 0;
  }
}

/*============================================================================
	business
=============================================================================*/
/*------------------------------------------------
	/business/
------------------------------------------------*/
body#business .mainPageTopArea {
  padding-bottom: min(580px,60.417vw);
}
body#business .mainPageTopArea .topfigBox {
  margin: auto;
  width: 93.8888888889vw;
  height: 53.8888888889vw;
  position: absolute;
  left: auto;
  right: 0;
  bottom: min(85px,8.8545vw);
  z-index: 10;
}
body#business .mainPageTopArea .topfigBox picture {
  width: 100%;
  display: block;
  overflow: hidden;
  position: relative;
}
body#business .mainPageTopArea .topfigBox picture::before {
  content: "";
  padding-top: 57.4%;
  display: block;
}
body#business .mainPageTopArea .topfigBox picture img, body#business .mainPageTopArea .topfigBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  body#business .mainPageTopArea {
    padding-bottom: min(450px,46.875vw);
  }
}
@media (max-width: 480px) {
  body#business .mainPageTopArea {
    padding-bottom: 40px;
  }
  body#business .mainPageTopArea .topfigBox {
    position: static;
  }
}

#businessInfo01 {
  padding: min(130px,13.542vw) 0;
  background: #F7F3E4;
}
#businessInfo01 section .textBox {
  padding: 0 min(45px,4.6875vw);
  width: 46.34%;
}
#businessInfo01 section .textBox h3 {
  margin: 0 auto min(40px,4.167vw);
  font-size: clamp(14px, 4.8884vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#businessInfo01 section .textBox p:not(.moreBtn) {
  font-size: clamp(14px, 2vw, 18px);
  line-height: 2;
  letter-spacing: 0.06em;
}
#businessInfo01 section .textBox .moreBtn {
  margin: min(50px,5.208vw) 0 0 auto;
  max-width: 340px;
}
#businessInfo01 section picture {
  width: 50%;
  border-radius: 15px;
  display: block;
  overflow: hidden;
  position: relative;
}
#businessInfo01 section picture::before {
  content: "";
  padding-top: 92.7%;
  display: block;
}
#businessInfo01 section picture img, #businessInfo01 section picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 15px;
}
#businessInfo01 section:nth-of-type(odd) .textBox {
  margin: auto 0 auto auto;
}
#businessInfo01 section:nth-of-type(odd) picture {
  margin: 0;
  -webkit-order: -1;
  -moz-order: -1;
  -ms-order: -1;
  order: -1;
}
#businessInfo01 section:nth-of-type(even) .textBox {
  margin: auto auto auto 0;
}
#businessInfo01 section:nth-of-type(even) picture {
  margin: 0 0 0 auto;
}
#businessInfo01 section + section {
  margin-top: min(70px,7.2915vw);
}
@media (max-width: 1024px) {
  #businessInfo01 section .textBox {
    width: 100%;
    position: relative;
  }
  #businessInfo01 section picture {
    width: 60%;
  }
  #businessInfo01 section:nth-of-type(odd) .textBox {
    margin: -60px 0 0;
  }
  #businessInfo01 section:nth-of-type(odd) picture {
    margin: 0 0 0 auto;
  }
  #businessInfo01 section:nth-of-type(even) .textBox {
    margin: -60px auto auto 0;
  }
  #businessInfo01 section:nth-of-type(even) .textBox h3 {
    text-align: end;
  }
  #businessInfo01 section:nth-of-type(even) picture {
    margin: 0;
    -webkit-order: -1;
    -moz-order: -1;
    -ms-order: -1;
    order: -1;
  }
}
@media (max-width: 480px) {
  #businessInfo01 section .textBox p {
    line-height: 1.4;
  }
  #businessInfo01 section .textBox .moreBtn {
    width: 100%;
  }
  #businessInfo01 section picture {
    width: 80%;
  }
  #businessInfo01 section:nth-of-type(odd) .textBox {
    margin: 20px 0 0;
  }
  #businessInfo01 section:nth-of-type(even) .textBox {
    margin: 20px auto auto 0;
  }
  #businessInfo01 section + section {
    margin-top: min(140px,14.583vw);
  }
}
#businessInfo01 .secInnerWrap {
  margin-top: min(75px,7.812vw);
  padding: min(130px,13.542vw) 0;
  background: #FFFFFF;
  border-radius: 26px;
}
@media (max-width: 480px) {
  #businessInfo01 .secInnerWrap {
    margin-top: min(150px,15.6255vw);
  }
}
#businessInfo01 .secInnerWrap section {
  margin: auto;
  width: 83.74%;
  max-width: 1030px;
}
#businessInfo01 .secInnerWrap section .textBox {
  padding: 0;
  width: 44.17%;
}
#businessInfo01 .secInnerWrap section .textBox h3 {
  text-align: center;
}
#businessInfo01 .secInnerWrap section picture {
  width: 51%;
}
#businessInfo01 .secInnerWrap section picture::before {
  padding-top: 92.2%;
}
#businessInfo01 .secInnerWrap section + section {
  margin-top: min(100px,10.416vw);
}
@media (max-width: 1024px) {
  #businessInfo01 .secInnerWrap section .textBox {
    width: 100%;
  }
  #businessInfo01 .secInnerWrap section picture {
    width: 60%;
  }
  #businessInfo01 .secInnerWrap section:nth-of-type(odd) .textBox h3 {
    text-align: left;
  }
  #businessInfo01 .secInnerWrap section:nth-of-type(even) .textBox h3 {
    text-align: end;
  }
}
@media (max-width: 480px) {
  #businessInfo01 .secInnerWrap section picture {
    width: 80%;
  }
  #businessInfo01 .secInnerWrap section + section {
    margin-top: min(140px,14.583vw);
  }
}

#businessInfo02 {
  padding: min(110px,11.4585vw) 0 min(200px,20.8335vw);
}
#businessInfo02 section {
  align-items: center;
}
#businessInfo02 section .textBox {
  width: 42.71%;
  margin: 0 0 0 auto;
}
#businessInfo02 section .textBox h3 {
  margin: 0 auto min(30px,3.1245vw);
}
#businessInfo02 section .textBox h3 .jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  display: block;
}
#businessInfo02 section .textBox h3 .en {
  color: #F39600;
  font-size: clamp(14px, 5.001vw, 24px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  display: block;
}
#businessInfo02 section .textBox .catch {
  margin: 0 0 20px;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: 0.06em;
}
#businessInfo02 section .textBox .read {
  font-size: clamp(14px, 2vw, 18px);
  line-height: 2;
  letter-spacing: 0.06em;
}
#businessInfo02 section .textBox .moreBtn {
  margin: min(50px,5.208vw) 0 0 0;
  max-width: 340px;
}
#businessInfo02 section picture {
  width: 50%;
  border-radius: 15px;
  display: block;
  overflow: hidden;
  position: relative;
}
#businessInfo02 section picture::before {
  content: "";
  padding-top: 92.7%;
  display: block;
}
#businessInfo02 section picture img, #businessInfo02 section picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 15px;
}
@media (max-width: 1024px) {
  #businessInfo02 section .textBox {
    margin: -100px auto 0;
    width: 90%;
  }
  #businessInfo02 section picture {
    width: 60%;
    -webkit-order: -1;
    -moz-order: -1;
    -ms-order: -1;
    order: -1;
  }
}
@media (max-width: 480px) {
  #businessInfo02 section .textBox {
    margin: 20px auto 0;
    width: 100%;
  }
  #businessInfo02 section picture {
    width: 80%;
  }
}

/*------------------------------------------------
	common
------------------------------------------------*/
.businessTopArea {
  margin: 0 auto min(80px,8.334vw);
}
.businessTopArea h2 {
  margin: 0 auto min(55px,5.7285vw);
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-indent: 0.06em;
}
.businessTopArea picture {
  margin: auto;
  width: 75%;
  text-align: center;
  display: block;
}
.businessTopArea p:not(.inquiryText) {
  margin: min(60px,6.2505vw) auto min(20px,2.0835vw);
  font-size: clamp(14px, 2vw, 18px);
  width: 75%;
  max-width: 910px;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.06em;
}
.businessTopArea .inquiryText {
  margin: auto;
  width: 75%;
  max-width: 910px;
  text-align: center;
}
.businessTopArea .inquiryText a {
  color: #F39600;
  font-size: clamp(14px, 2vw, 18px);
  text-decoration: underline;
  text-underline-offset: 6px;
  line-height: 2;
}
.businessTopArea p.moreBtn {
  max-width: 410px;
  width: 80%;
  margin: min(60px,6.2505vw) auto 0;
}

.businessContentWrap {
  margin: auto;
  max-width: 1030px;
  width: 85%;
}
.businessContentWrap section .textBox {
  margin: auto;
  width: 40.9%;
}
.businessContentWrap section .textBox p {
  font-size: clamp(14px, 2.2vw, 18px);
  line-height: 2;
  letter-spacing: 0.06em;
}
.businessContentWrap section .textBox p + p {
  margin-top: 1.5em;
}
.businessContentWrap section picture {
  margin: auto 0;
  width: 48.4%;
  display: block;
}
.businessContentWrap section:nth-of-type(odd) .textBox {
  margin: auto 0 auto auto;
}
.businessContentWrap section:nth-of-type(odd) picture {
  -webkit-order: -1;
  -moz-order: -1;
  -ms-order: -1;
  order: -1;
}
.businessContentWrap section:nth-of-type(even) .textBox {
  margin: auto 0;
}
.businessContentWrap section:nth-of-type(even) picture {
  margin: auto 0 auto auto;
}
@media (max-width: 1024px) {
  .businessContentWrap section .textBox {
    width: 100%;
  }
  .businessContentWrap section picture {
    margin: auto;
    width: 60%;
  }
  .businessContentWrap section:nth-of-type(odd) .textBox {
    margin: min(60px,6.2505vw) auto 0;
  }
  .businessContentWrap section:nth-of-type(even) picture {
    margin: min(60px,6.2505vw) auto 0;
  }
}

.flowArea {
  background: #F7F3E4;
}
.flowArea .flowSlider {
  margin-left: calc((100vw - 1100px) / 2);
  width: calc(100% - (100vw - 1100px) / 2);
  position: relative;
}
@media (max-width: 1130px) {
  .flowArea .flowSlider {
    margin-left: 7.5%;
    width: 92.5%;
  }
}
.flowArea .flowSlider dl dt {
  margin: 0 0 min(40px,4.167vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
.flowArea .flowSlider dl dt .num {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  letter-spacing: 0.06em;
  display: inline-block;
}
.flowArea .flowSlider dl dt .ttl {
  margin-left: 2em;
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  letter-spacing: 0.06em;
  display: inline-block;
}
.flowArea .flowSlider dl dt .bar {
  margin: 14px 0 auto 3em;
  width: auto;
  height: 2px;
  background: url("../img/business/flow_border.svg") repeat-x left center/contain;
  flex: 1 1 0%;
  position: relative;
}
.flowArea .flowSlider dl dt .bar::before {
  content: "";
  margin: auto;
  width: 8px;
  height: 9px;
  background: url("../img/business/flow_arrow.svg") no-repeat center center/cover;
  display: block;
  position: absolute;
  top: 0;
  left: auto;
  right: 5%;
  bottom: 0;
}
.flowArea .flowSlider dl dd {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
.flowArea .flowSlider dl dd picture {
  width: 48.6%;
  text-align: center;
  display: block;
}
.flowArea .flowSlider dl dd p {
  margin: auto 8% auto auto;
  width: 38%;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
.flowArea .flowSlider dl dd .contactBox {
  margin: auto 8% auto auto;
  width: 38%;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
.flowArea .flowSlider dl dd .contactBox p {
  width: 100%;
}
.flowArea .flowSlider dl dd .contactBox .detail {
  border-radius: 12px;
  background: #F39600;
  margin-top: 15px;
  padding: 15px 20px;
}
.flowArea .flowSlider dl dd .contactBox .detail .tel {
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.flowArea .flowSlider dl dd .contactBox .detail .moreBtn a {
  background: #fff;
}
.flowArea .flowSlider dl dd .contactBox .detail .moreBtn a:hover {
  border: 3px solid #fff;
}
@media (max-width: 1024px) {
  .flowArea .flowSlider dl dd .contactBox .moreBtn a {
    font-size: 1.4rem;
    padding: 0 15px;
  }
  .flowArea .flowSlider dl dd .contactBox .moreBtn a i {
    right: 15px;
  }
}
@media (max-width: 480px) {
  .flowArea .flowSlider dl dd .contactBox {
    width: 100%;
  }
  .flowArea .flowSlider dl dd .contactBox .moreBtn a {
    padding: 0 25px;
  }
}
@media (max-width: 480px) {
  .flowArea .flowSlider dl dd {
    display: block;
  }
  .flowArea .flowSlider dl dd picture {
    margin: 0 auto min(40px,4.167vw);
    width: 90%;
  }
  .flowArea .flowSlider dl dd p {
    margin: auto;
    width: 100%;
  }
}
.flowArea .flowSlider .swiper-scrollbar {
  margin-top: min(40px,4.167vw);
  width: 91%;
  height: 7px;
  border-radius: 7px;
  background-color: #FFFFFF;
}
.flowArea .flowSlider .swiper-scrollbar-drag {
  height: 7px;
  border-radius: 7px;
  background-color: #F39600;
}

/*------------------------------------------------
	/business/fukushi_rental/
------------------------------------------------*/
#assistiveTechnologyService .tabs {
  margin: 0 auto min(100px,10.416vw);
  max-width: 1030px;
  width: 71.5%;
  position: relative;
  z-index: 5;
}
#assistiveTechnologyService .tabs li {
  width: 48%;
}
#assistiveTechnologyService .tabs li span {
  color: #F39600;
  font-size: 2.2rem;
  width: 100%;
  height: 88px;
  line-height: 88px;
  text-align: center;
  letter-spacing: 0.06em;
  border-radius: 44px;
  border: 1px solid #F39600;
  background: transparent;
  display: block;
  position: relative;
  transition: 0.8s;
}
#assistiveTechnologyService .tabs li span::after {
  content: "";
  margin: auto;
  width: 20px;
  height: 17px;
  background: #F39600;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  display: block;
  transition: 0.8s;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  bottom: auto;
  visibility: hidden;
  opacity: 0;
}
#assistiveTechnologyService .tabs li.active span {
  color: #FFFFFF;
  background: #F39600;
}
#assistiveTechnologyService .tabs li.active span::after {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 1230px) {
  #assistiveTechnologyService .tabs {
    width: 90%;
  }
  #assistiveTechnologyService .tabs li span {
    font-size: 1.8rem;
  }
}
@media (max-width: 480px) {
  #assistiveTechnologyService .tabs {
    width: 95%;
  }
  #assistiveTechnologyService .tabs li span {
    padding: 10px;
    font-size: 1.4rem;
    height: auto;
    line-height: 1.8;
  }
}
#assistiveTechnologyService .assistiveTtlBox {
  padding: min(170px,17.709vw) 0 min(100px,10.416vw);
  width: 100%;
  position: relative;
}
#assistiveTechnologyService .assistiveTtlBox::before {
  content: "";
  margin: auto;
  width: 42.5694444444vw;
  height: 27.0138888889vw;
  background: url("../img/business/bg_contents.svg") no-repeat left center/contain;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: 0;
}
#assistiveTechnologyService .assistiveTtlBox .headerEN {
  margin: auto;
  max-width: 1100px;
  width: 85%;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  position: relative;
  z-index: 5;
}
#assistiveTechnologyService .assistiveTtlBox .headerEN span {
  color: #D74D49;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 2.4vw, 21px);
  width: 30%;
}
#assistiveTechnologyService .assistiveTtlBox .headerEN::after {
  content: "";
  margin: auto 0 auto auto;
  width: 70%;
  height: 1px;
  background: #D74D49;
  display: block;
}
@media (max-width: 1024px) {
  #assistiveTechnologyService .assistiveTtlBox .headerEN span {
    margin-right: 1.5em;
    width: auto;
  }
  #assistiveTechnologyService .assistiveTtlBox .headerEN::after {
    width: auto;
    flex: 1 1 0%;
  }
}
#assistiveTechnologyService .assistiveTtlBox .innerBox {
  margin: 20px auto;
  max-width: 1100px;
  width: 85%;
  position: relative;
  z-index: 5;
}
#assistiveTechnologyService .assistiveTtlBox .innerBox h3 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  width: 38%;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#assistiveTechnologyService .assistiveTtlBox .innerBox p {
  margin: 0 0 0 auto;
  font-size: clamp(14px, 2vw, 18px);
  width: 60%;
  text-align: end;
  line-height: 2;
  letter-spacing: 0.06em;
}
@media (max-width: 1024px) {
  #assistiveTechnologyService .assistiveTtlBox .innerBox h3 {
    margin-bottom: min(30px,3.1245vw);
    width: 100%;
  }
  #assistiveTechnologyService .assistiveTtlBox .innerBox p {
    width: 100%;
    text-align: left;
  }
}
#assistiveTechnologyService .assistiveTtlBox.select::before {
  background: url("../img/business/bg_contents02.svg") no-repeat left center/contain;
}
#assistiveTechnologyService .assistiveTtlBox.select .headerEN span {
  color: #E86509;
}
#assistiveTechnologyService .assistiveTtlBox.select .headerEN::after {
  background: #E86509;
}
#assistiveTechnologyService .assistiveTtlBox.select .innerBox h3 {
  width: 50%;
}
@media (max-width: 480px) {
  #assistiveTechnologyService .assistiveTtlBox.select .innerBox h3 {
    width: 100%;
  }
}
#assistiveTechnologyService article section {
  margin: auto;
  padding: min(100px,10.416vw) 0;
  position: relative;
  z-index: 5;
}
#assistiveTechnologyService article section .innerBox {
  margin: auto;
  max-width: 1100px;
  width: 85%;
}
#assistiveTechnologyService article section h3 {
  margin-bottom: min(60px,6.2505vw);
}
#assistiveTechnologyService article section + section {
  margin-top: min(60px,6.2505vw);
}
#assistiveTechnologyService article .handlingArea ul li {
  margin: 0;
  padding: min(30px,3.1245vw);
  width: 33.3333333333%;
  border-right: 1px solid #D74D49;
  border-bottom: 1px solid #D74D49;
  position: relative;
}
#assistiveTechnologyService article .handlingArea ul li.ttl {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
}
#assistiveTechnologyService article .handlingArea ul li.ttl h3 {
  margin: auto;
  text-align: center;
}
#assistiveTechnologyService article .handlingArea ul li::before {
  content: "";
  margin: auto;
  width: 48px;
  height: 48px;
  background: #FFFFFF;
  display: block;
  position: absolute;
  right: -24px;
  bottom: -24px;
  z-index: 10;
}
#assistiveTechnologyService article .handlingArea ul li:nth-of-type(3n) {
  border-right: none;
}
#assistiveTechnologyService article .handlingArea ul li:nth-of-type(3n)::before {
  display: none;
}
#assistiveTechnologyService article .handlingArea ul li:nth-last-child(-n+3) {
  border-bottom: none;
}
#assistiveTechnologyService article .handlingArea ul li figure {
  margin: 0 auto 20px;
  width: 80%;
  text-align: center;
}
#assistiveTechnologyService article .handlingArea ul li p {
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.06em;
}
@media (max-width: 1024px) {
  #assistiveTechnologyService article .handlingArea ul li {
    width: 50%;
  }
  #assistiveTechnologyService article .handlingArea ul li:nth-of-type(3n) {
    border-right: 1px solid #D74D49;
  }
  #assistiveTechnologyService article .handlingArea ul li:nth-of-type(3n)::before {
    display: block;
  }
  #assistiveTechnologyService article .handlingArea ul li:nth-of-type(2n) {
    border-right: none;
  }
  #assistiveTechnologyService article .handlingArea ul li:nth-of-type(2n)::before {
    display: none;
  }
  #assistiveTechnologyService article .handlingArea ul li:nth-last-child(-n+3) {
    border-bottom: 1px solid #D74D49;
  }
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .handlingArea ul li::before {
    width: 24px;
    height: 24px;
    right: -12px;
    bottom: -12px;
  }
}
#assistiveTechnologyService article .maintenanceArea {
  margin: auto;
  max-width: 1100px;
  width: 85%;
}
#assistiveTechnologyService article .maintenanceArea .textBox {
  margin: 0;
  width: 39.36%;
}
#assistiveTechnologyService article .maintenanceArea .textBox p {
  font-size: clamp(14px, 2.2vw, 18px);
  letter-spacing: 0.06em;
  line-height: 2;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap {
  margin: 0 0 0 auto;
  width: 50%;
  position: relative;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .mainteSlide ul li figure {
  margin: 0 auto min(30px,3.1245vw);
  text-align: center;
  border-radius: 23px;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .mainteSlide ul li figure img {
  border-radius: 23px;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .mainteSlide ul li p {
  line-height: 1.6875;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-prev, #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-next {
  width: 70px;
  height: 70px;
  background: #F39600;
  border-radius: 50%;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: auto;
  bottom: 40%;
  z-index: 10;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-prev svg path, #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-next svg path {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4px;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-prev {
  left: -80px;
  right: auto;
}
#assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-next {
  left: auto;
  right: -80px;
}
@media (max-width: 1024px) {
  #assistiveTechnologyService article .maintenanceArea .textBox {
    width: 100%;
  }
  #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap {
    margin: min(40px,4.167vw) auto 0;
    width: 70%;
  }
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap {
    margin: min(40px,4.167vw) auto 0;
    width: 90%;
  }
  #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-prev, #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-next {
    width: 40px;
    height: 40px;
    top: 30%;
    bottom: auto;
  }
  #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-prev svg, #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-next svg {
    width: 30%;
  }
  #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-prev {
    left: -5%;
    right: auto;
  }
  #assistiveTechnologyService article .maintenanceArea .mainteSlideWrap .swiper-button-next {
    left: auto;
    right: -5%;
  }
}
#assistiveTechnologyService article .disinfectionArea {
  padding: min(70px,7.2915vw) 0;
  width: 100%;
  height: auto;
  background: url("../img/business/bg_disinfect.jpg") no-repeat center center/cover;
}
#assistiveTechnologyService article .disinfectionArea section {
  padding: min(60px,6.2505vw) 0;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 13px;
}
#assistiveTechnologyService article .disinfectionArea section h3 {
  margin: 0 auto min(55px,5.7285vw);
  width: 89.43%;
}
#assistiveTechnologyService article .disinfectionArea section > p {
  margin: auto;
  width: 89.43%;
  font-size: clamp(14px, 2.2vw, 18px);
  letter-spacing: 0.06em;
  line-height: 2;
}
#assistiveTechnologyService article .disinfectionArea section > p + p {
  margin-top: 1em;
}
#assistiveTechnologyService article .disinfectionArea section > .fl {
  margin: auto;
  width: 89.43%;
}
#assistiveTechnologyService article .disinfectionArea section > .fl figure {
  margin: auto 0;
  width: 23.5%;
}
#assistiveTechnologyService article .disinfectionArea section > .fl .textBox {
  margin: 0 0 0 auto;
  width: 65.5%;
}
#assistiveTechnologyService article .disinfectionArea section > .fl .textBox h4 {
  margin: 0 auto 25px;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
}
#assistiveTechnologyService article .disinfectionArea section > .fl .textBox p {
  letter-spacing: 0.06em;
  line-height: 1.6875;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .disinfectionArea section > .fl figure {
    margin: min(40px,4.167vw) auto 0;
    width: 80%;
    -webkit-order: 2;
    -moz-order: 2;
    -ms-order: 2;
    order: 2;
  }
  #assistiveTechnologyService article .disinfectionArea section > .fl .textBox {
    width: 100%;
    -webkit-order: 1;
    -moz-order: 1;
    -ms-order: 1;
    order: 1;
  }
}
#assistiveTechnologyService article .useInsuranceArea {
  margin: min(100px,10.416vw) auto 0;
  padding: min(100px,10.416vw) min(115px,11.979vw);
  max-width: 1100px;
  width: 85%;
  background: #F7F3E4;
  border-radius: 30px;
}
#assistiveTechnologyService article .useInsuranceArea h3 {
  margin: 0 auto min(60px,6.2505vw);
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
}
#assistiveTechnologyService article .useInsuranceArea dl dt {
  margin: 0 0 20px;
}
#assistiveTechnologyService article .useInsuranceArea dl dt span {
  color: #D74D49;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 2.2vw, 18px);
  letter-spacing: 0.06em;
  line-height: 1;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#assistiveTechnologyService article .useInsuranceArea dl dt span::after {
  content: "";
  margin: 6px 0 auto 2em;
  width: auto;
  height: 1px;
  background: #D74D49;
  display: block;
  flex: 1 1 0%;
}
#assistiveTechnologyService article .useInsuranceArea dl dt em {
  font-size: clamp(14px, 4.584vw, 22px);
  font-weight: 700;
  letter-spacing: 0.02em;
  display: block;
}
#assistiveTechnologyService article .useInsuranceArea dl dd {
  line-height: 1.6875;
  letter-spacing: 0.06em;
}
#assistiveTechnologyService article .useInsuranceArea dl:first-of-type, #assistiveTechnologyService article .useInsuranceArea dl:nth-of-type(2) {
  width: 46%;
}
#assistiveTechnologyService article .useInsuranceArea dl:last-of-type {
  margin: min(50px,5.208vw) auto 0;
  width: 100%;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .useInsuranceArea {
    padding: 30px 20px;
  }
  #assistiveTechnologyService article .useInsuranceArea dl:first-of-type, #assistiveTechnologyService article .useInsuranceArea dl:nth-of-type(2) {
    width: 100%;
  }
  #assistiveTechnologyService article .useInsuranceArea dl:nth-of-type(2) {
    margin: min(50px,5.208vw) auto 0;
  }
}
#assistiveTechnologyService article .eligibleProductsArea, #assistiveTechnologyService article .selectProductsArea {
  margin: auto;
  max-width: 1100px;
  width: 85%;
}
#assistiveTechnologyService article .eligibleProductsArea ul li, #assistiveTechnologyService article .selectProductsArea ul li {
  margin: 0 5% min(60px,6.2505vw) 0;
  padding: min(23px,2.3955vw);
  width: 30%;
  border: 1px solid #D74D49;
  border-radius: 15px;
}
#assistiveTechnologyService article .eligibleProductsArea ul li:nth-of-type(3n), #assistiveTechnologyService article .selectProductsArea ul li:nth-of-type(3n) {
  margin-right: 0;
}
#assistiveTechnologyService article .eligibleProductsArea ul li figure, #assistiveTechnologyService article .selectProductsArea ul li figure {
  margin: 0 auto min(30px,3.1245vw);
  max-width: 240px;
  width: 90%;
}
#assistiveTechnologyService article .eligibleProductsArea ul li .name, #assistiveTechnologyService article .selectProductsArea ul li .name {
  padding: min(30px,3.1245vw) 0;
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: center;
  border-top: 1px solid #D74D49;
}
#assistiveTechnologyService article .eligibleProductsArea ul li .read, #assistiveTechnologyService article .selectProductsArea ul li .read {
  line-height: 1.6875;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .eligibleProductsArea ul li, #assistiveTechnologyService article .selectProductsArea ul li {
    margin: 0 0 min(60px,6.2505vw) 0;
    width: 100%;
  }
  #assistiveTechnologyService article .eligibleProductsArea ul li figure, #assistiveTechnologyService article .selectProductsArea ul li figure {
    width: 50%;
  }
}
#assistiveTechnologyService article .selectProductsArea ul li {
  margin: 0 4% min(60px,6.2505vw) 0;
  padding: min(23px,2.3955vw);
  width: 48%;
  border: 1px solid #E86509;
}
#assistiveTechnologyService article .selectProductsArea ul li:nth-of-type(3n) {
  margin-right: 4%;
}
#assistiveTechnologyService article .selectProductsArea ul li:nth-of-type(2n) {
  margin-right: 0;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .selectProductsArea ul li {
    margin: 0 0 min(60px,6.2505vw) 0;
    width: 100%;
  }
  #assistiveTechnologyService article .selectProductsArea ul li:nth-of-type(3n) {
    margin-right: 0;
  }
}
#assistiveTechnologyService article .trialServiceTop {
  padding: min(75px,7.812vw) 0;
  background: #FDF2F2;
}
#assistiveTechnologyService article .trialServiceTop .container {
  overflow: hidden;
  position: relative;
}
#assistiveTechnologyService article .trialServiceTop .container::after {
  content: "";
  width: 27.2222222222vw;
  height: 32.6388888889vw;
  max-width: 392px;
  max-height: 470px;
  background: url("../img/business/bg_trial_logo.png") no-repeat center center/contain;
  display: block;
  position: absolute;
  top: -60px;
  left: 51%;
  z-index: 5;
}
#assistiveTechnologyService article .trialServiceTop .container .textBox {
  padding: min(60px,6.2505vw) 0 0 min(100px,10.416vw);
  color: #FFFFFF;
  width: 72%;
  background: #F39600;
  border-radius: 13px 0 0 13px;
}
#assistiveTechnologyService article .trialServiceTop .container .textBox * {
  position: relative;
  z-index: 10;
}
#assistiveTechnologyService article .trialServiceTop .container .textBox h3 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#assistiveTechnologyService article .trialServiceTop .container .textBox p {
  font-size: clamp(14px, 2.2vw, 18px);
  line-height: 2;
  letter-spacing: 0.06em;
}
#assistiveTechnologyService article .trialServiceTop .container figure {
  margin: 0 0 0 auto;
  width: 28%;
  border-radius: 0 13px 13px 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
#assistiveTechnologyService article .trialServiceTop .container figure::before {
  content: "";
  padding-top: 109.15%;
  display: block;
}
#assistiveTechnologyService article .trialServiceTop .container figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 0 13px 13px 0;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .trialServiceTop .container::after {
    top: 10px;
    left: auto;
    right: -20px;
  }
  #assistiveTechnologyService article .trialServiceTop .container .textBox {
    padding: 40px 20px;
    width: 100%;
    border-radius: 13px 13px 0 0;
  }
  #assistiveTechnologyService article .trialServiceTop .container figure {
    width: 100%;
    border-radius: 0 0 13px 13px;
  }
  #assistiveTechnologyService article .trialServiceTop .container figure::before {
    padding-top: 80%;
  }
  #assistiveTechnologyService article .trialServiceTop .container figure img {
    border-radius: 0 0 13px 13px;
  }
}
#assistiveTechnologyService article .trialFlowArea {
  margin: auto;
  max-width: 1100px;
  width: 85%;
}
#assistiveTechnologyService article .trialFlowArea .flow01 {
  margin: min(85px,8.8545vw) auto;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .trialFlowArea .flow01 {
    margin-bottom: 0;
  }
}
#assistiveTechnologyService article .trialFlowArea .flow01 li {
  margin: 0;
  width: 33.3333333333%;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li .line {
  margin: 0 auto min(35px,3.6465vw);
  width: 100%;
  text-align: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li .line .num {
  padding: 0 0.5em;
  color: #D74D49;
  font-size: clamp(14px, 5.001vw, 24px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  display: inline-block;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li .line .bar, #assistiveTechnologyService article .trialFlowArea .flow01 li .line .blank {
  display: inline-block;
  flex: 1 1 0%;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li .line .bar {
  background: url("../img/business/flow_border.svg") repeat-x center center;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li picture {
  margin: 0 auto min(50px,5.208vw);
  width: 80%;
  text-align: center;
  display: block;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li .ttl {
  margin: 0 auto min(30px,3.1245vw);
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.06em;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li .read {
  margin: auto;
  width: 80%;
  line-height: 1.6875;
  letter-spacing: 0.06em;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li:nth-of-type(1) .line .bar, #assistiveTechnologyService article .trialFlowArea .flow01 li:nth-of-type(3) .line .bar {
  position: relative;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li:nth-of-type(1) .line .bar::before, #assistiveTechnologyService article .trialFlowArea .flow01 li:nth-of-type(3) .line .bar::before {
  content: "";
  margin: auto;
  width: 8px;
  height: 9px;
  background: url("../img/business/flow_arrow.svg") no-repeat center center/cover;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li:nth-of-type(1) .line .bar::before {
  left: auto;
  right: -10px;
}
#assistiveTechnologyService article .trialFlowArea .flow01 li:nth-of-type(3) .line .bar::before {
  left: -10px;
  right: auto;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .trialFlowArea .flow01 li {
    margin: 0 auto min(60px,6.2505vw);
    width: 100%;
    position: relative;
  }
  #assistiveTechnologyService article .trialFlowArea .flow01 li .line {
    text-align: left;
  }
  #assistiveTechnologyService article .trialFlowArea .flow01 li .line .num {
    padding: 0;
  }
  #assistiveTechnologyService article .trialFlowArea .flow01 li .line .bar, #assistiveTechnologyService article .trialFlowArea .flow01 li .line .blank {
    display: none;
  }
  #assistiveTechnologyService article .trialFlowArea .flow01 li picture {
    width: 60%;
  }
  #assistiveTechnologyService article .trialFlowArea .flow01 li::after {
    content: "";
    width: 2px;
    height: 95%;
    background: url("../img/business/flow_border_tate.svg") repeat-y center top;
    display: block;
    position: absolute;
    top: 10%;
    left: 10px;
  }
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowLeft {
  width: 30%;
  text-align: left;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowLeft span {
  color: #D74D49;
  font-size: clamp(14px, 5.001vw, 24px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  display: block;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowLeft em {
  font-size: clamp(14px, 4.584vw, 22px);
  font-weight: 700;
  letter-spacing: 0.02em;
  display: block;
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .trialFlowArea .flow02 .flowLeft {
    width: 100%;
  }
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight {
  margin: 0 0 0 auto;
  width: 62.7%;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox .ttl {
  margin: 0 auto min(15px,1.563vw);
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .ttl {
  margin: 0 auto min(30px,3.1245vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .ttl span {
  margin-right: 1.5em;
  display: inline-block;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .ttl::after {
  content: "";
  margin: auto 0 auto 2em;
  width: auto;
  height: 1px;
  background: #D74D49;
  display: block;
  flex: 1 1 0%;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .fl picture {
  width: 38.5%;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .fl .flowText {
  margin: 0 0 0 auto;
  padding-right: min(45px,4.6875vw);
  width: 55.5%;
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .fl .flowText .read + .ttl {
  margin-top: min(40px,4.167vw);
}
#assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox + .flowBox {
  margin-top: min(85px,8.8545vw);
}
@media (max-width: 480px) {
  #assistiveTechnologyService article .trialFlowArea .flow02 .flowRight {
    margin-top: 20px;
    width: 100%;
  }
  #assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .fl picture {
    margin: 0 auto 20px;
    width: 60%;
  }
  #assistiveTechnologyService article .trialFlowArea .flow02 .flowRight .flowBox > .fl .flowText {
    width: 100%;
  }
}

/*------------------------------------------------
	/business/reform/
------------------------------------------------*/
#reformProArea {
  padding-right: min(65px,6.771vw);
  border-radius: 13px;
  background: #fdf2f2;
  filter: drop-shadow(0px 0px 5px rgb(217, 217, 217));
  position: relative;
}
#reformProArea .textBox {
  margin: 0 0 0 auto;
  padding: min(40px,4.167vw) 0;
  width: 51%;
}
#reformProArea .textBox h2 {
  margin: 0 auto min(30px,3.1245vw);
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: underline;
  text-decoration-color: #FFFFFF;
  text-decoration-thickness: 30px;
  text-underline-offset: -15px;
}
#reformProArea .textBox p {
  line-height: 1.6875;
  letter-spacing: 0.06em;
}
#reformProArea .textBox dl {
  margin: min(20px,2.0835vw) 0 0;
  padding: min(25px,2.604vw) min(40px,4.167vw);
  background: #FFFFFF;
  border-radius: 13px;
}
#reformProArea .textBox dl dt {
  margin: 0 auto min(25px,2.604vw);
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
}
#reformProArea .textBox dl dd {
  line-height: 1.77;
  letter-spacing: 0.02em;
}
#reformProArea picture {
  margin-top: -50px;
  width: 40.4%;
  display: block;
  position: relative;
}
#reformProArea picture::before {
  content: "";
  padding-top: 101.85%;
  display: block;
}
#reformProArea picture img, #reformProArea picture source {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 0 0 0 13px;
}
@media (max-width: 480px) {
  #reformProArea {
    margin-top: 60px;
    padding-left: min(65px,6.771vw);
  }
  #reformProArea .textBox {
    width: 100%;
  }
  #reformProArea .textBox h2 {
    text-decoration-thickness: 10px;
    text-underline-offset: -5px;
  }
  #reformProArea picture {
    margin: -40px auto 20px;
    width: 70%;
  }
  #reformProArea picture img, #reformProArea picture source {
    border-radius: 0;
  }
}

#reformInquiryArea {
  margin: min(120px,12.4995vw) auto 0;
  padding: min(100px,10.416vw) 0 min(70px,7.2915vw);
  background: #F7F3E4;
}
#reformInquiryArea h2 {
  margin: 0 auto min(20px,2.0835vw);
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
}
#reformInquiryArea h2::after {
  content: "";
  margin: min(25px,2.604vw) auto 0;
  width: 64px;
  height: 1px;
  background: #F39600;
  display: block;
}
#reformInquiryArea .freedial {
  margin: 0 auto 30px;
  text-align: center;
}
#reformInquiryArea .freedial em {
  font-family: "Futura", sans-serif;
  font-size: clamp(26.8px, 6.9795vw, 67px);
  font-weight: 700;
  letter-spacing: 0.07em;
  display: block;
}
#reformInquiryArea .freedial span {
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  letter-spacing: 0.06em;
  display: block;
}
#reformInquiryArea .moreBtn {
  max-width: 410px;
  width: 80%;
}
@media (max-width: 480px) {
  #reformInquiryArea h2 {
    margin-bottom: 40px;
  }
  #reformInquiryArea .freedial em {
    font-size: 4rem;
  }
  #reformInquiryArea .moreBtn a {
    line-height: 1.4;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-justify-content: normal;
    -moz-justify-content: normal;
    justify-content: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

#reformServiceWrap .innerBox {
  margin: auto;
  max-width: 1100px;
  width: 85%;
}
#reformServiceWrap .scopeWrap {
  padding: min(120px,12.4995vw) 0;
}
#reformServiceWrap .scopeWrap h2 {
  width: 35%;
}
#reformServiceWrap .scopeWrap ol {
  margin: 0 0 0 auto;
  width: 62%;
  counter-reset: number 0;
}
#reformServiceWrap .scopeWrap ol li {
  padding: min(30px,3.1245vw) min(30px,3.1245vw) min(30px,3.1245vw) min(60px,6.2505vw);
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  border-top: 1px solid #D74D49;
  position: relative;
}
#reformServiceWrap .scopeWrap ol li::before {
  counter-increment: number 1;
  content: counter(number) "";
  color: #D74D49;
  font-family: "Futura", sans-serif;
  font-style: normal;
  position: absolute;
  top: min(35px,3.6465vw);
  left: min(30px,3.1245vw);
}
#reformServiceWrap .scopeWrap ol li:last-of-type {
  border-bottom: 1px solid #D74D49;
}
#reformServiceWrap .scopeWrap .attentionBox {
  margin: min(60px,6.2505vw) auto 0;
  padding: min(30px,3.1245vw);
  width: 100%;
  background: #fdf2f2;
}
#reformServiceWrap .scopeWrap .attentionBox p + p {
  margin-top: 0.5em;
}
#reformServiceWrap .scopeWrap .attentionBox .kome {
  padding-left: 1.5em;
  position: relative;
}
#reformServiceWrap .scopeWrap .attentionBox .kome::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 1024px) {
  #reformServiceWrap .scopeWrap h2 {
    margin: 0 auto min(60px,6.2505vw);
    width: 100%;
  }
  #reformServiceWrap .scopeWrap ol {
    width: 100%;
  }
  #reformServiceWrap .scopeWrap ol li {
    padding-left: 30px;
  }
  #reformServiceWrap .scopeWrap ol li::before {
    left: 10px;
  }
}
#reformServiceWrap .typeWrap {
  padding: 0 0 min(120px,12.4995vw);
  counter-reset: slideNum 0;
}
#reformServiceWrap .typeWrap h2 {
  margin-bottom: min(60px,6.2505vw);
}
#reformServiceWrap .typeWrap .reformTypeSlider {
  margin: 0 auto;
  width: 85%;
  height: 550px;
  position: relative;
}
@media (max-width: 1024px) {
  #reformServiceWrap .typeWrap .reformTypeSlider {
    width: 90%;
    height: 500px;
  }
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner picture {
  width: 40%;
  max-width: 550px;
  display: block;
  position: relative;
  overflow: hidden;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner picture::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner picture source, #reformServiceWrap .typeWrap .reformTypeSlider .slideInner picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox {
  margin: 0 0 0 auto;
  width: 55%;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox h3 {
  margin: 0 auto min(25px,2.604vw);
  color: #D74D49;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox h3 span {
  font-size: clamp(14px, 2.2vw, 18px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-weight: 500;
  display: block;
}
@media (max-width: 1024px) {
  #reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox h3 span {
    margin-right: 2em;
    display: inline-block;
  }
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox ol {
  margin: min(40px,4.167vw) auto 0;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox ol li {
  padding-left: 40px;
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  position: relative;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox ol li::before {
  counter-increment: slideNum 1;
  content: counter(slideNum) "";
  color: #FFFFFF;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-weight: 500;
  width: 27px;
  height: 27px;
  line-height: 0;
  background: #D74D49;
  border-radius: 50%;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox ol li + li {
  margin-top: 10px;
}
#reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox .moreBtn {
  margin: min(40px,4.167vw) 0 0;
}
@media (max-width: 1024px) {
  #reformServiceWrap .typeWrap .reformTypeSlider .slideInner picture {
    margin: 0 auto min(40px,4.167vw);
    width: 70%;
  }
  #reformServiceWrap .typeWrap .reformTypeSlider .slideInner .textBox {
    margin: 0 auto;
    width: 80%;
  }
}
#reformServiceWrap .typeWrap .reformTypeSlider .typeNavi {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
}
#reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .pagination {
  margin: auto 2em;
  font-family: "Futura", sans-serif;
  font-style: normal;
}
#reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .pagination .swiper-pagination-current {
  color: #D74D49;
  font-size: clamp(15.2px, 5.8058vw, 38px);
}
#reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .swiper-button-prev, #reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .swiper-button-next {
  margin: auto 0;
  width: 30px;
  height: 30px;
  background: #F39600;
  border-radius: 50%;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .swiper-button-prev svg, #reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .swiper-button-next svg {
  width: 30%;
}
#reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .swiper-button-prev svg path, #reformServiceWrap .typeWrap .reformTypeSlider .typeNavi .swiper-button-next svg path {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4px;
}
#reformServiceWrap .flowArea {
  padding: min(120px,12.4995vw) 0;
}
#reformServiceWrap .flowArea h2 {
  margin: 0 auto min(60px,6.2505vw);
  max-width: 1100px;
  width: 85%;
}
#reformServiceWrap .voiceWrap {
  padding: min(130px,13.542vw) 0;
}
#reformServiceWrap .voiceWrap h2 {
  margin: 0 auto min(60px,6.2505vw);
}
#reformServiceWrap .voiceWrap .voiceCard {
  margin-bottom: min(25px,2.604vw);
  padding: 0 min(44px,4.584vw) min(50px,5.208vw);
  width: 48%;
  background: #F7F3E4;
}
#reformServiceWrap .voiceWrap .voiceCard .cardHeader {
  margin: 0 auto min(50px,5.208vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#reformServiceWrap .voiceWrap .voiceCard .cardHeader .num {
  width: 16%;
  max-width: 80px;
  border-top: 3px solid #D74D49;
}
#reformServiceWrap .voiceWrap .voiceCard .cardHeader .num span {
  margin: min(30px,3.1245vw) auto 0;
  color: #D74D49;
  font-family: "Futura", sans-serif;
  font-size: clamp(21.6px, 5.625vw, 54px);
  font-weight: 700;
  line-height: 0.7;
  display: inline-block;
}
#reformServiceWrap .voiceWrap .voiceCard .cardHeader .user {
  margin: auto 0 0 auto;
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  text-align: end;
  letter-spacing: 0.06em;
  width: 80%;
}
#reformServiceWrap .voiceWrap .voiceCard .cardBody {
  line-height: 1.875;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #reformServiceWrap .voiceWrap .voiceCard {
    margin-bottom: min(50px,5.208vw);
    width: 100%;
  }
  #reformServiceWrap .voiceWrap .voiceCard .cardHeader .num span {
    margin-top: 20px;
    font-size: 3.6rem;
  }
  #reformServiceWrap .voiceWrap .voiceCard .cardHeader .user {
    padding-top: 10px;
  }
}
#reformServiceWrap .typeWrap02 {
  padding: 0 0 min(140px,14.583vw);
}
#reformServiceWrap .typeWrap02 h2 {
  margin-bottom: min(60px,6.2505vw);
}
#reformServiceWrap .typeWrap02 .topText {
  margin: 0 auto min(40px,4.167vw);
  font-size: clamp(14px, 4.167vw, 20px);
}
#reformServiceWrap .typeWrap02 .ordinaryReform + .ordinaryReform {
  margin-top: min(60px,6.2505vw);
}
#reformServiceWrap .typeWrap02 .ordinaryReform h3 {
  margin-bottom: min(40px,4.167vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  position: relative;
}
#reformServiceWrap .typeWrap02 .ordinaryReform h3 span {
  margin-right: 1.5em;
  font-size: clamp(14px, 4.167vw, 20px);
  font-weight: 700;
  letter-spacing: 0.06em;
  display: inline-block;
}
#reformServiceWrap .typeWrap02 .ordinaryReform h3::after {
  content: "";
  margin: auto 0 auto 2em;
  width: auto;
  height: 1px;
  background: #D74D49;
  display: block;
  flex: 1 1 0%;
}
#reformServiceWrap .typeWrap02 .ordinaryReform ul li {
  margin: 0 5% min(60px,6.2505vw) 0;
  padding: min(23px,2.3955vw);
  width: 30%;
  border: 1px solid #D74D49;
  border-radius: 15px;
}
#reformServiceWrap .typeWrap02 .ordinaryReform ul li:nth-of-type(3n) {
  margin-right: 0;
}
#reformServiceWrap .typeWrap02 .ordinaryReform ul li picture {
  margin: 0 auto min(30px,3.1245vw);
  max-width: 240px;
  width: 90%;
  display: block;
}
#reformServiceWrap .typeWrap02 .ordinaryReform ul li p {
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: center;
}
@media (max-width: 480px) {
  #reformServiceWrap .typeWrap02 .ordinaryReform ul li {
    margin: 0 0 min(60px,6.2505vw) 0;
    width: 100%;
  }
  #reformServiceWrap .typeWrap02 .ordinaryReform ul li picture {
    margin: min(30px,3.1245vw) auto;
    width: 50%;
  }
}

/*------------------------------------------------
	/business/delivery/
------------------------------------------------*/
#deliveryWrap {
  margin-top: min(140px,14.583vw);
}
#deliveryWrap section + section {
  margin-top: min(150px,15.6255vw);
}
#deliveryWrap section.deli_col02 .textBox h3 {
  margin: 0 auto min(60px,6.2505vw);
}
#deliveryWrap section.deli_col02 .textBox dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#deliveryWrap section.deli_col02 .textBox dl dt {
  margin-right: 2em;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#deliveryWrap section.deli_col02 .textBox dl dt .num01 {
  margin-right: 0.5em;
  color: #FFFFFF;
  font-size: clamp(14px, 2.2vw, 18px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  width: 38px;
  height: 38px;
  text-align: center;
  line-height: 42px;
  border-radius: 50%;
  background: #D74D49;
  display: block;
}
#deliveryWrap section.deli_col02 .textBox dl dt .num02 {
  color: #D74D49;
  font-size: clamp(14px, 2.2vw, 18px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  line-height: 38px;
}
#deliveryWrap section.deli_col02 .textBox dl + dl {
  margin-top: min(60px,6.2505vw);
}
#deliveryWrap .banDelivery {
  margin: min(140px,14.583vw) auto min(100px,10.416vw);
  text-align: center;
}

/*------------------------------------------------
	/business/allernon/
------------------------------------------------*/
#allernonWrap .businessContentWrap section picture {
  margin: 0 0 auto;
  border-radius: 20px;
}
#allernonWrap .businessContentWrap section picture img, #allernonWrap .businessContentWrap section picture source {
  border-radius: 20px;
}
@media (max-width: 1024px) {
  #allernonWrap .businessContentWrap section picture {
    margin: auto;
  }
}
#allernonWrap .allernonProducts {
  margin: min(140px,14.583vw) auto 0;
  padding: min(70px,7.2915vw) 0;
  background: #FDF2F2;
}
#allernonWrap .allernonProducts .container {
  padding: min(65px,6.771vw);
  background: #FFFFFF;
  border-radius: 13px;
}
#allernonWrap .allernonProducts .container h3 {
  margin: 0 auto min(30px,3.1245vw);
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  width: 90%;
  max-width: 1040px;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#allernonWrap .allernonProducts .container picture {
  margin: 0 auto;
  width: 90%;
  max-width: 1040px;
  display: block;
}
#allernonWrap .moreBtn {
  margin-top: min(110px,11.4585vw);
}

/*------------------------------------------------
	/business/for_business/
------------------------------------------------*/
#businessAreaWrap {
  padding: min(50px,5.208vw) 0 min(80px,8.334vw);
  position: relative;
}
#businessAreaWrap .bgTxt {
  position: absolute;
  bottom: min(80px,8.334vw);
  right: 0;
  color: #F7F3E4;
  font-size: clamp(89.2px, 23.229vw, 223px);
  font-family: "Futura", sans-serif;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.1;
  letter-spacing: 0.09em;
  z-index: -1;
}
@media (max-width: 480px) {
  #businessAreaWrap .bgTxt {
    font-size: clamp(60px, 15.6255vw, 150px);
  }
}
#businessAreaWrap section {
  margin: auto;
  max-width: 1020px;
  width: 85%;
}
#businessAreaWrap section .areaWrap {
  width: 35%;
  font-size: clamp(14px, 3.75vw, 18px);
}
#businessAreaWrap section .areaWrap .ttl01 {
  margin-bottom: min(70px,7.2915vw);
}
#businessAreaWrap section .areaWrap ol {
  margin: 0 0 30px auto;
}
#businessAreaWrap section .areaWrap ol li {
  padding: min(30px,3.1245vw) min(30px,3.1245vw) min(30px,3.1245vw) min(60px,6.2505vw);
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  border-top: 1px solid #D74D49;
  position: relative;
}
#businessAreaWrap section .areaWrap ol li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: min(30px,3.1245vw);
  transform: translateY(-2px);
  display: block;
  width: 4px;
  height: 4px;
  background: #D74D49;
  border-radius: 10px;
}
#businessAreaWrap section .areaWrap ol li:last-of-type {
  border-bottom: 1px solid #D74D49;
}
#businessAreaWrap section .map {
  width: 60%;
  margin-right: -10%;
}
@media (max-width: 1024px) {
  #businessAreaWrap section .areaWrap {
    font-size: clamp(14px, 3.333vw, 16px);
  }
  #businessAreaWrap section .map {
    margin-right: 0;
  }
}
@media (max-width: 480px) {
  #businessAreaWrap section .areaWrap {
    width: 80%;
    margin: 0 auto 30px;
  }
  #businessAreaWrap section .map {
    width: 90%;
    margin: 20px auto 85px;
  }
}

#businessProductWrap .assistiveTtlBox {
  padding: min(170px,17.709vw) 0 min(100px,10.416vw);
  width: 100%;
  position: relative;
}
#businessProductWrap .assistiveTtlBox::before {
  content: "";
  margin: auto;
  width: 42.5694444444vw;
  height: 27.0138888889vw;
  background: url("../img/business/bg_contents.svg") no-repeat left center/contain;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: 0;
}
#businessProductWrap .assistiveTtlBox .headerEN {
  margin: auto;
  max-width: 1100px;
  width: 85%;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  position: relative;
  z-index: 5;
}
#businessProductWrap .assistiveTtlBox .headerEN span {
  color: #D74D49;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 2.4vw, 21px);
  width: 30%;
}
#businessProductWrap .assistiveTtlBox .headerEN::after {
  content: "";
  margin: auto 0 auto auto;
  width: 70%;
  height: 1px;
  background: #D74D49;
  display: block;
}
@media (max-width: 1024px) {
  #businessProductWrap .assistiveTtlBox .headerEN span {
    margin-right: 1.5em;
    width: auto;
  }
  #businessProductWrap .assistiveTtlBox .headerEN::after {
    width: auto;
    flex: 1 1 0%;
  }
}
#businessProductWrap .assistiveTtlBox .innerBox {
  margin: 20px auto;
  max-width: 1100px;
  width: 85%;
  position: relative;
  z-index: 5;
}
#businessProductWrap .assistiveTtlBox .innerBox h3 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  width: 38%;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#businessProductWrap .assistiveTtlBox .innerBox p {
  margin: 0 0 0 auto;
  font-size: clamp(14px, 2vw, 18px);
  width: 60%;
  text-align: end;
  line-height: 2;
  letter-spacing: 0.06em;
}
@media (max-width: 1024px) {
  #businessProductWrap .assistiveTtlBox .innerBox h3 {
    margin-bottom: min(30px,3.1245vw);
    width: 100%;
  }
  #businessProductWrap .assistiveTtlBox .innerBox p {
    width: 100%;
    text-align: left;
  }
}
#businessProductWrap .assistiveTtlBox.select::before {
  background: url("../img/business/bg_contents02.svg") no-repeat left center/contain;
}
#businessProductWrap .assistiveTtlBox.select .headerEN span {
  color: #E86509;
}
#businessProductWrap .assistiveTtlBox.select .headerEN::after {
  background: #E86509;
}
#businessProductWrap .assistiveTtlBox.select .innerBox h3 {
  width: 50%;
}
@media (max-width: 480px) {
  #businessProductWrap .assistiveTtlBox.select .innerBox h3 {
    width: 100%;
  }
}
#businessProductWrap section {
  margin: auto;
  padding: min(100px,10.416vw) 0;
  position: relative;
  z-index: 5;
}
#businessProductWrap section .innerBox {
  margin: auto;
  max-width: 1100px;
  width: 85%;
}
#businessProductWrap section h3 {
  margin-bottom: min(60px,6.2505vw);
}
#businessProductWrap section + section {
  margin-top: min(60px,6.2505vw);
}
#businessProductWrap .handlingArea ul li {
  margin: 0;
  padding: min(30px,3.1245vw);
  width: 33.3333333333%;
  border-right: 1px solid #D74D49;
  border-bottom: 1px solid #D74D49;
  position: relative;
}
#businessProductWrap .handlingArea ul li.ttl {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
}
#businessProductWrap .handlingArea ul li.ttl h3 {
  margin: auto;
  text-align: center;
}
#businessProductWrap .handlingArea ul li.other {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
}
#businessProductWrap .handlingArea ul li::before {
  content: "";
  margin: auto;
  width: 48px;
  height: 48px;
  background: #FFFFFF;
  display: block;
  position: absolute;
  right: -24px;
  bottom: -24px;
  z-index: 10;
}
#businessProductWrap .handlingArea ul li:nth-of-type(3n) {
  border-right: none;
}
#businessProductWrap .handlingArea ul li:nth-of-type(3n)::before {
  display: none;
}
#businessProductWrap .handlingArea ul li:nth-last-child(-n+3) {
  border-bottom: none;
}
#businessProductWrap .handlingArea ul li figure {
  margin: 0 auto 20px;
  width: 80%;
  text-align: center;
  position: relative;
}
#businessProductWrap .handlingArea ul li figure::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
#businessProductWrap .handlingArea ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#businessProductWrap .handlingArea ul li p {
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.06em;
}
#businessProductWrap .handlingArea ul li .other {
  position: relative;
  margin: 0 auto 20px;
  width: 100%;
  text-align: center;
}
#businessProductWrap .handlingArea ul li .other::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
@media (max-width: 480px) {
  #businessProductWrap .handlingArea ul li .other {
    margin: 0 auto 10px;
  }
}
#businessProductWrap .handlingArea ul li .other span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#businessProductWrap .handlingArea ul li .other span.en {
  color: #F8DEDD;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(36px, 9.375vw, 90px);
  line-height: 1;
}
#businessProductWrap .handlingArea ul li .other span.info {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 480px) {
  #businessProductWrap .handlingArea ul li .other span.info {
    font-size: 1.2rem;
  }
}
@media (max-width: 1024px) {
  #businessProductWrap .handlingArea ul li {
    width: 50%;
  }
  #businessProductWrap .handlingArea ul li:nth-of-type(3n) {
    border-right: 1px solid #D74D49;
  }
  #businessProductWrap .handlingArea ul li:nth-of-type(3n)::before {
    display: block;
  }
  #businessProductWrap .handlingArea ul li:nth-of-type(2n) {
    border-right: none;
  }
  #businessProductWrap .handlingArea ul li:nth-of-type(2n)::before {
    display: none;
  }
  #businessProductWrap .handlingArea ul li:nth-last-child(-n+3) {
    border-bottom: 1px solid #D74D49;
  }
}
@media (max-width: 480px) {
  #businessProductWrap .handlingArea ul li::before {
    width: 24px;
    height: 24px;
    right: -12px;
    bottom: -12px;
  }
}
#businessProductWrap .handlingArea ul.forBusinesss li {
  padding: min(20px,2.0835vw);
}
#businessProductWrap .handlingArea ul.forBusinesss li figure {
  width: 100%;
}
@media (max-width: 480px) {
  #businessProductWrap .handlingArea ul.forBusinesss li figure {
    margin: 0 auto 10px;
  }
}
#businessProductWrap .handlingArea ul.col2 li {
  padding: min(30px,3.1245vw);
  width: 50%;
}
#businessProductWrap .handlingArea ul.col2 li:nth-of-type(3n) {
  border-right: 1px solid #D74D49;
}
#businessProductWrap .handlingArea ul.col2 li:nth-of-type(2n) {
  border-right: none;
}
#businessProductWrap .handlingArea ul.col2 li:nth-of-type(2n)::before {
  display: none;
}
#businessProductWrap .handlingArea ul.col2 li:nth-last-child(-n+3) {
  border-bottom: 1px solid #D74D49;
}
#businessProductWrap .handlingArea ul.col2 li:nth-last-child(-n+2) {
  border-bottom: none;
}
#businessProductWrap .trialFlowArea {
  margin: auto;
  max-width: 1100px;
  width: 85%;
}
#businessProductWrap .trialFlowArea .flow01 {
  margin: min(85px,8.8545vw) auto;
}
@media (max-width: 480px) {
  #businessProductWrap .trialFlowArea .flow01 {
    margin-bottom: 0;
  }
}
#businessProductWrap .trialFlowArea .flow01 li {
  margin: 0;
  width: 33.3333333333%;
}
#businessProductWrap .trialFlowArea .flow01 li .line {
  margin: 0 auto min(35px,3.6465vw);
  width: 100%;
  text-align: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#businessProductWrap .trialFlowArea .flow01 li .line .num {
  padding: 0 0.5em;
  color: #D74D49;
  font-size: clamp(14px, 5.001vw, 24px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  display: inline-block;
}
#businessProductWrap .trialFlowArea .flow01 li .line .bar, #businessProductWrap .trialFlowArea .flow01 li .line .blank {
  display: inline-block;
  flex: 1 1 0%;
}
#businessProductWrap .trialFlowArea .flow01 li .line .bar {
  background: url("../img/business/flow_border.svg") repeat-x center center;
}
#businessProductWrap .trialFlowArea .flow01 li picture {
  margin: 0 auto min(50px,5.208vw);
  width: 80%;
  text-align: center;
  display: block;
}
#businessProductWrap .trialFlowArea .flow01 li .ttl {
  margin: 0 auto min(30px,3.1245vw);
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.06em;
}
#businessProductWrap .trialFlowArea .flow01 li .read {
  margin: auto;
  width: 80%;
  line-height: 1.6875;
  letter-spacing: 0.06em;
}
#businessProductWrap .trialFlowArea .flow01 li:nth-of-type(1) .line .bar, #businessProductWrap .trialFlowArea .flow01 li:nth-of-type(3) .line .bar {
  position: relative;
}
#businessProductWrap .trialFlowArea .flow01 li:nth-of-type(1) .line .bar::before, #businessProductWrap .trialFlowArea .flow01 li:nth-of-type(3) .line .bar::before {
  content: "";
  margin: auto;
  width: 8px;
  height: 9px;
  background: url("../img/business/flow_arrow.svg") no-repeat center center/cover;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
}
#businessProductWrap .trialFlowArea .flow01 li:nth-of-type(1) .line .bar::before {
  left: auto;
  right: -10px;
}
#businessProductWrap .trialFlowArea .flow01 li:nth-of-type(3) .line .bar::before {
  left: -10px;
  right: auto;
}
@media (max-width: 480px) {
  #businessProductWrap .trialFlowArea .flow01 li {
    margin: 0 auto min(60px,6.2505vw);
    width: 100%;
    position: relative;
  }
  #businessProductWrap .trialFlowArea .flow01 li .line {
    text-align: left;
  }
  #businessProductWrap .trialFlowArea .flow01 li .line .num {
    padding: 0;
  }
  #businessProductWrap .trialFlowArea .flow01 li .line .bar, #businessProductWrap .trialFlowArea .flow01 li .line .blank {
    display: none;
  }
  #businessProductWrap .trialFlowArea .flow01 li picture {
    width: 60%;
  }
  #businessProductWrap .trialFlowArea .flow01 li::after {
    content: "";
    width: 2px;
    height: 95%;
    background: url("../img/business/flow_border_tate.svg") repeat-y center top;
    display: block;
    position: absolute;
    top: 10%;
    left: 10px;
  }
}
#businessProductWrap .trialFlowArea .flow02 .flowLeft {
  width: 30%;
  text-align: left;
}
#businessProductWrap .trialFlowArea .flow02 .flowLeft span {
  color: #D74D49;
  font-size: clamp(14px, 5.001vw, 24px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  display: block;
}
#businessProductWrap .trialFlowArea .flow02 .flowLeft em {
  font-size: clamp(14px, 4.584vw, 22px);
  font-weight: 700;
  letter-spacing: 0.02em;
  display: block;
}
@media (max-width: 480px) {
  #businessProductWrap .trialFlowArea .flow02 .flowLeft {
    width: 100%;
  }
}
#businessProductWrap .trialFlowArea .flow02 .flowRight {
  margin: 0 0 0 auto;
  width: 62.7%;
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox .ttl {
  margin: 0 auto min(15px,1.563vw);
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .ttl {
  margin: 0 auto min(30px,3.1245vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .ttl span {
  margin-right: 1.5em;
  display: inline-block;
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .ttl::after {
  content: "";
  margin: auto 0 auto 2em;
  width: auto;
  height: 1px;
  background: #D74D49;
  display: block;
  flex: 1 1 0%;
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .fl picture {
  width: 38.5%;
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .fl .flowText {
  margin: 0 0 0 auto;
  padding-right: min(45px,4.6875vw);
  width: 55.5%;
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .fl .flowText .read + .ttl {
  margin-top: min(40px,4.167vw);
}
#businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox + .flowBox {
  margin-top: min(85px,8.8545vw);
}
@media (max-width: 480px) {
  #businessProductWrap .trialFlowArea .flow02 .flowRight {
    margin-top: 20px;
    width: 100%;
  }
  #businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .fl picture {
    margin: 0 auto 20px;
    width: 60%;
  }
  #businessProductWrap .trialFlowArea .flow02 .flowRight .flowBox > .fl .flowText {
    width: 100%;
  }
}

#businessForm {
  padding-top: min(100px,10.416vw);
}
#businessForm #formWrap {
  max-width: 1100px;
}
#businessForm #formWrap h3 {
  text-align: center;
  font-size: clamp(14.4px, 5.5vw, 36px);
}
#businessForm #formWrap p {
  color: #000000;
  text-align: left;
}

#supportContact {
  padding-bottom: min(265px,27.6045vw);
}
#supportContact section {
  align-items: stretch;
}
@media (max-width: 768px) {
  #supportContact section {
    flex-direction: column;
  }
}
#supportContact section .txtBox {
  width: 47%;
  background: #F39600;
  color: #fff;
  text-align: center;
  padding: min(60px,6.2505vw) 0 min(45px,4.6875vw) min(100px,10.416vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 10px 0 0 10px;
}
@media (max-width: 1230px) {
  #supportContact section .txtBox {
    padding: min(50px,5.208vw) 0 min(45px,4.6875vw) min(50px,5.208vw);
  }
}
@media (max-width: 768px) {
  #supportContact section .txtBox {
    width: 100%;
    border-radius: 10px 10px 0 0;
    padding: min(50px,5.208vw) min(50px,5.208vw) min(45px,4.6875vw);
  }
}
#supportContact section .txtBox h3 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  margin-bottom: 25px;
  line-height: 1.5;
}
@media (max-width: 1230px) {
  #supportContact section .txtBox h3 {
    font-size: clamp(14px, 5.832vw, 28px);
  }
}
#supportContact section .txtBox h4 {
  font-size: clamp(21.6px, 5.625vw, 54px);
  font-family: "Futura", sans-serif;
  font-style: normal;
  letter-spacing: 0.4rem;
  margin: 25px 0;
}
@media (max-width: 1230px) {
  #supportContact section .txtBox h4 {
    font-size: clamp(14.4px, 5.5vw, 36px);
  }
}
@media (max-width: 480px) {
  #supportContact section .txtBox h4 {
    font-size: 28px;
  }
}
#supportContact section .txtBox .moreBtn {
  margin: 0 auto;
}
#supportContact section .txtBox .moreBtn a {
  background: #fff;
}
#supportContact section .txtBox .moreBtn a:hover {
  border: solid 3px #fff;
}
#supportContact section .pictBox {
  position: relative;
  width: 53%;
}
@media (max-width: 768px) {
  #supportContact section .pictBox {
    width: 100%;
  }
}
#supportContact section .pictBox::after {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  display: block;
  width: 18%;
  height: 100%;
  background: #F39600;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
}
#supportContact section .pictBox picture.layer {
  display: block;
  width: 100%;
  position: relative;
  border-radius: 0 10px 10px 0;
  overflow: hidden;
}
#supportContact section .pictBox picture.layer::before {
  content: "";
  width: 100%;
  display: block;
  padding-top: 102.17%;
}
#supportContact section .pictBox picture.layer img, #supportContact section .pictBox picture.layer source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 768px) {
  #supportContact section .pictBox::after {
    display: none;
  }
  #supportContact section .pictBox picture.layer {
    border-radius: 0 0 10px 10px;
  }
  #supportContact section .pictBox picture.layer::before {
    padding-top: 60%;
  }
}

.wideImgWrap picture {
  width: 100%;
  height: 454px;
  display: block;
  overflow: hidden;
  position: relative;
}
.wideImgWrap picture img, .wideImgWrap picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  .wideImgWrap picture {
    height: 300px;
  }
}

.ff-el-recaptcha {
  margin: 0 auto;
  width: fit-content;
}

.ff_submit_btn_wrapper {
  margin-top: min(40px,4.167vw);
}

/*============================================================================
	recruit
=============================================================================*/
/*------------------------------------------------
	common
------------------------------------------------*/
body#recruit header #headerInner h1 {
  width: 181px;
  height: 60px;
  margin-top: 25px;
}
body#recruit header #headerInner h1 a {
  top: 0;
  left: 40px;
}
@media (max-width: 1230px) {
  body#recruit header #headerInner h1 {
    margin-top: 0;
  }
  body#recruit header #headerInner h1 a {
    left: 0;
  }
}
@media (max-width: 480px) {
  body#recruit header #headerInner h1 {
    top: auto;
    width: 157px;
    margin-top: 7px;
  }
}
body#recruit.cross {
  background: #FCFBF7;
}

.recruit_gradation {
  background-size: 800% 800%;
  /* 画像内の色を使ったグラデーション */
  background-image: linear-gradient(45deg, #72A674, #f5cd0b, #e89328, #bd4139, #ea7d08, #fbf8ef);
  /* Animation */
  -webkit-animation: gradientAnimation infinite ease-in-out;
  -moz-animation: gradientAnimation infinite ease-in-out;
  animation: gradientAnimation infinite ease-in-out;
  /* Animation duration */
  -webkit-animation-duration: 10s;
  -moz-animation-duration: 10s;
  animation-duration: 10s;
}

@keyframes gradientAnimation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.recruitInfoBox {
  background: #FCFBF7;
  padding: 151px 0 173px;
}
.recruitInfoBox h3 {
  text-align: center;
}
.recruitInfoBox h3 span {
  display: block;
}
.recruitInfoBox h3 span.en {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
}
.recruitInfoBox h3 span.jp {
  font-size: clamp(18px, 6.875vw, 45px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
.recruitInfoBox p.lead {
  text-align: center;
  margin-top: 40px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 2.25;
}
.recruitInfoBox ul {
  max-width: 800px;
  width: 55.56%;
  margin: 50px auto 0;
  position: relative;
}
.recruitInfoBox ul::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  left: 0;
  top: 0;
  background-size: 800% 800%;
  background-image: linear-gradient(45deg, #72A674, #f5cd0b, #e89328, #bd4139, #ea7d08, #fbf8ef);
  /* Animation */
  -webkit-animation: gradientAnimation infinite ease-in-out;
  -moz-animation: gradientAnimation infinite ease-in-out;
  animation: gradientAnimation infinite ease-in-out;
  /* Animation duration */
  -webkit-animation-duration: 10s;
  -moz-animation-duration: 10s;
  animation-duration: 10s;
}
.recruitInfoBox ul li {
  position: relative;
}
.recruitInfoBox ul li::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0;
  background-size: 800% 800%;
  background-image: linear-gradient(45deg, #72A674, #f5cd0b, #e89328, #bd4139, #ea7d08, #fbf8ef);
  /* Animation */
  -webkit-animation: gradientAnimation infinite ease-in-out;
  -moz-animation: gradientAnimation infinite ease-in-out;
  animation: gradientAnimation infinite ease-in-out;
  /* Animation duration */
  -webkit-animation-duration: 10s;
  -moz-animation-duration: 10s;
  animation-duration: 10s;
}
.recruitInfoBox ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 50px 9.38%;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
  position: relative;
}
.recruitInfoBox ul li a::before {
  content: "";
  position: absolute;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  top: 50%;
  right: 9.38%;
  transform: translateY(-50%);
  background: url("../img/common/icon_window.svg") no-repeat center center/contain;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.recruitInfoBox ul li a span {
  font-size: clamp(14px, 3.75vw, 18px);
  letter-spacing: 0;
}
.recruitInfoBox ul li a:hover {
  color: #F39600;
}
@media (max-width: 480px) {
  .recruitInfoBox {
    padding: 80px 0 100px;
  }
  .recruitInfoBox p.lead {
    margin-top: 25px;
    line-height: 1.8;
  }
  .recruitInfoBox ul {
    margin-top: 30px;
    width: 85%;
  }
  .recruitInfoBox ul li a {
    padding: 25px 10px;
    font-size: 1.8rem;
  }
  .recruitInfoBox ul li a span {
    font-size: 1.2rem;
    display: block;
    margin-top: 5px;
    text-indent: -8px;
  }
  .recruitInfoBox ul li a::before {
    right: 10px;
  }
}

/*------------------------------------------------
	/recruit/
------------------------------------------------*/
#recruitFv {
  margin: 105px 0 0 auto;
  width: 92.71%;
  max-width: 1335px;
  border-radius: 0 0 0 10.4166666667vw;
  padding: min(58px,6.042vw) 0 min(86px,8.958vw);
}
#recruitFv .ttlBox {
  margin-left: 7.94%;
}
#recruitFv .ttlBox .head {
  position: relative;
  padding-left: 1em;
  color: #fff;
}
#recruitFv .ttlBox .head::before {
  content: "";
  position: absolute;
  background: #fff;
  width: 8px;
  height: 8px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  left: 0;
}
#recruitFv .ttlBox .head span {
  color: #fff;
}
#recruitFv .ttlBox .head span.en {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 4.167vw, 20px);
  font-weight: 500;
  letter-spacing: 0.22em;
}
#recruitFv .ttlBox .head span.jp {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 700;
  letter-spacing: 0.18em;
  padding-left: 1em;
  position: relative;
}
#recruitFv .ttlBox .head span.jp::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  left: 0;
  padding-left: 1em;
  background: url("../img/recruit/recruitTtl_slash.svg") no-repeat center center/contain;
  width: 6px;
  height: 11px;
}
#recruitFv .ttlBox .lead {
  margin-top: min(90px,9.375vw);
}
#recruitFv .ttlBox .lead span {
  color: #fff;
  display: block;
}
#recruitFv .ttlBox .lead span.en {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 500;
  letter-spacing: 0.06em;
  position: relative;
  padding-bottom: 2.5em;
}
#recruitFv .ttlBox .lead span.en::before {
  content: "";
  position: absolute;
  background: #fff;
  height: 1px;
  width: 30px;
  left: 0;
  bottom: 1.25em;
}
@media (max-width: 1230px) {
  #recruitFv {
    margin-top: 65px;
    width: 95%;
  }
}
@media (max-width: 480px) {
  #recruitFv .ttlBox .lead {
    width: 90%;
  }
}

#recruitAbout {
  position: relative;
  margin: 150px 0 0;
  overflow-x: clip;
}
#recruitAbout::before {
  content: "";
  position: absolute;
  background: url("../img/recruit/text_message.svg") no-repeat center center/contain;
  right: -1.3888888889vw;
  top: 0;
  width: 15.6944444444vw;
  height: 57.8472222222vw;
  z-index: -3;
}
#recruitAbout h3 {
  font-family: "Futura", sans-serif;
  font-weight: 500;
  font-size: clamp(20px, 3.8vw, 25px);
  line-height: 1.56;
  letter-spacing: 0.18em;
  color: #F39600;
  position: relative;
  line-height: 1;
  padding-left: 11.3194444444vw;
}
#recruitAbout h3::before {
  content: "";
  position: absolute;
  background: #F39600;
  padding-left: 1em;
  left: 0;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  width: 9.4444444444vw;
}
#recruitAbout .descBox {
  padding: 0 7.5694444444vw 0 11.3194444444vw;
  margin-top: 40px;
}
#recruitAbout .descBox .textBox {
  width: 44.7916666667vw;
}
#recruitAbout .descBox .textBox p.lead {
  font-size: clamp(20px, 5.208vw, 50px);
  letter-spacing: 0.07em;
  line-height: 1.88;
  font-weight: 700;
}
#recruitAbout .descBox .textBox .text {
  margin-top: min(40px,4.167vw);
}
#recruitAbout .descBox .textBox .text p {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.1666666667;
}
#recruitAbout .descBox .textBox .text p + p {
  margin-top: 1em;
}
#recruitAbout .descBox .photoBox {
  width: 47.7083333333vw;
  margin-top: 20px;
  margin-left: -10.8333333333vw;
  position: relative;
}
#recruitAbout .descBox .photoBox figure {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
  z-index: -1;
}
#recruitAbout .descBox .photoBox figure::before {
  content: "";
  padding-top: 80.058%;
  display: block;
}
#recruitAbout .descBox .photoBox figure img, #recruitAbout .descBox .photoBox figure source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#recruitAbout .descBox .photoBox .figUnit {
  position: absolute;
  margin-left: 20px;
  top: 21.0416666667vw;
  width: 81.08%;
}
#recruitAbout .descBox .photoBox .figUnit figure {
  z-index: -5;
}
#recruitAbout .descBox .photoBox .figUnit figure::before {
  padding-top: 117.59%;
}
#recruitAbout .descBox .moreBtn {
  position: absolute;
  bottom: 0;
  right: 15.2777777778vw;
  z-index: 5;
  display: block;
}
@media (max-width: 1230px) {
  #recruitAbout .descBox .textBox p.lead {
    font-size: clamp(16px, 6.1116vw, 40px);
  }
}
@media (max-width: 1024px) {
  #recruitAbout h3 {
    padding-left: 7.5%;
  }
  #recruitAbout h3::before {
    left: -3%;
  }
  #recruitAbout .descBox {
    flex-direction: column-reverse;
    width: 85%;
    margin: 40px auto 0;
    padding: 0;
  }
  #recruitAbout .descBox .textBox {
    width: 100%;
    margin-top: max(-200px,-20.8335vw);
  }
  #recruitAbout .descBox .textBox .text p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #recruitAbout .descBox .photoBox {
    margin: max(-150px,-15.6255vw) 0 0 auto;
  }
  #recruitAbout .descBox .moreBtn {
    position: relative;
    margin: 40px 0 0 auto;
    right: auto;
  }
}
@media (max-width: 480px) {
  #recruitAbout {
    margin-top: 100px;
  }
  #recruitAbout:before {
    width: 80px;
    height: 300px;
  }
  #recruitAbout h3::before {
    display: none;
  }
  #recruitAbout .descBox {
    width: 90%;
    flex-direction: column-reverse;
  }
  #recruitAbout .descBox .textBox {
    margin-top: 20px;
  }
  #recruitAbout .descBox .photoBox {
    margin-top: 20px;
    width: 100%;
  }
  #recruitAbout .descBox .moreBtn {
    margin: 40px auto 0;
  }
}

#recruitCrossTalk {
  padding: min(228px,23.7495vw) 0 min(252px,26.25vw);
  position: relative;
  overflow: hidden;
}
#recruitCrossTalk .descBox {
  max-width: 1114px;
  margin: 0 auto;
  width: 77.36%;
  position: relative;
}
#recruitCrossTalk .descBox .photoBox {
  width: 71.36%;
  margin-right: 20px;
  position: relative;
  z-index: 5;
}
#recruitCrossTalk .descBox .photoBox picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
}
#recruitCrossTalk .descBox .photoBox picture::before {
  content: "";
  padding-top: 71.741%;
  display: block;
}
#recruitCrossTalk .descBox .photoBox picture img, #recruitCrossTalk .descBox .photoBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 11px;
}
#recruitCrossTalk .descBox .photoBox .textBox {
  margin-top: 2em;
}
#recruitCrossTalk .descBox .photoBox .textBox p {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.1666666667;
}
#recruitCrossTalk .descBox .ttlBox {
  width: 28.64%;
}
#recruitCrossTalk .descBox .ttlBox h3 {
  font-family: "Futura", sans-serif;
  font-weight: 500;
  font-size: clamp(20px, 3.8vw, 25px);
  line-height: 1.56;
  letter-spacing: 0.18em;
  color: #F39600;
  position: relative;
  line-height: 1;
  margin-left: 12.78%;
}
#recruitCrossTalk .descBox .ttlBox h3::before {
  content: "";
  position: absolute;
  background: #F39600;
  padding-left: 1em;
  right: 107%;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  width: 9.4444444444vw;
  z-index: -1;
}
#recruitCrossTalk .descBox .ttlBox figure {
  margin-left: 12.78%;
  width: 63.64%;
  margin-top: min(40px,4.167vw);
}
#recruitCrossTalk .descBox .ttlBox .moreBtn {
  margin-top: min(50px,5.208vw);
  width: 100%;
}
#recruitCrossTalk .fullScreenText {
  margin: auto;
  width: 150%;
  height: 150%;
  white-space: nowrap;
  opacity: 1;
  transform: rotate(-6deg) translateX(-50%);
  position: absolute;
  top: 10%;
  left: 25%;
  z-index: -1;
}
#recruitCrossTalk .fullScreenText p {
  width: 105%;
}
#recruitCrossTalk .fullScreenText p span {
  color: #FCFBF7;
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(64px, 30vw, 227px);
  letter-spacing: 0.18em;
  line-height: 1.281;
}
#recruitCrossTalk .fullScreenText p:nth-of-type(odd) {
  -webkit-animation: slidein 30s linear 0s infinite;
  animation: slidein 30s linear 0s infinite;
}
#recruitCrossTalk .fullScreenText p:nth-of-type(even) {
  -webkit-animation: slideout 30s linear 0s infinite;
  animation: slideout 30s linear 0s infinite;
}
@media (max-width: 1230px) {
  #recruitCrossTalk .descBox .ttlBox {
    width: 35%;
  }
}
@media (max-width: 1024px) {
  #recruitCrossTalk .descBox {
    width: 85%;
  }
  #recruitCrossTalk .descBox .photoBox .textBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #recruitCrossTalk .descBox .ttlBox .moreBtn {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 40px;
  }
}
@media (max-width: 480px) {
  #recruitCrossTalk .descBox {
    width: 90%;
    flex-direction: column-reverse;
    padding-bottom: 40px;
  }
  #recruitCrossTalk .descBox .photoBox {
    width: 85%;
    margin-top: -240px;
  }
  #recruitCrossTalk .descBox .ttlBox {
    width: 100%;
  }
  #recruitCrossTalk .descBox .ttlBox h3 {
    margin-left: 0;
  }
  #recruitCrossTalk .descBox .ttlBox h3::before {
    display: none;
  }
  #recruitCrossTalk .descBox .ttlBox figure {
    width: 40%;
    margin: -20px 0 0 auto;
    position: relative;
    z-index: 10;
  }
  #recruitCrossTalk .descBox .ttlBox .moreBtn {
    margin-top: 0;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

@keyframes slidein {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes slideout {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
#recruitData .descBox {
  position: relative;
  background: url("../img/recruit/fig_data.jpg") no-repeat center center/cover;
}
#recruitData .descBox .textBox {
  padding: min(148px,15.417vw) 0 min(116px,12.084vw);
  max-width: 1114px;
  margin: 0 auto;
  width: 77.36%;
  position: relative;
  height: 34.7222222222vw;
}
#recruitData .descBox .textBox p.lead {
  font-size: clamp(18px, 6.875vw, 45px);
  letter-spacing: 0.07em;
  line-height: 1.5111111111;
  font-weight: 700;
}
#recruitData .descBox .textBox .text {
  max-width: 372px;
  width: 31.87%;
  margin-top: 30px;
}
#recruitData .descBox .textBox .text p {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.1666666667;
}
#recruitData .descBox .textBox .moreBtn {
  position: absolute;
  bottom: 7.3611111111vw;
  right: 4.0277777778vw;
}
#recruitData .descBox .textBox .moreBtn a {
  background: #fff;
}
#recruitData .descBox .photoBox {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
#recruitData .descBox .photoBox picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
}
#recruitData .descBox .photoBox picture::before {
  content: "";
  padding-top: 45.347%;
  display: block;
}
#recruitData .descBox .photoBox picture img, #recruitData .descBox .photoBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1440px) {
  #recruitData .descBox .textBox {
    height: auto;
  }
}
@media (max-width: 1230px) {
  #recruitData .descBox .textBox p.lead {
    font-size: clamp(14.4px, 5.5vw, 36px);
  }
}
@media (max-width: 1024px) {
  #recruitData .descBox {
    flex-direction: column-reverse;
  }
  #recruitData .descBox .textBox {
    margin-top: 80px;
    padding-left: 7.5%;
    padding-right: 7.5%;
  }
  #recruitData .descBox .textBox .text {
    width: 100%;
    max-width: 100%;
  }
  #recruitData .descBox .textBox .moreBtn {
    position: relative;
    margin: 40px 0 0 auto;
    right: auto;
    bottom: auto;
  }
}
@media (max-width: 480px) {
  #recruitData {
    margin-top: 80px;
  }
  #recruitData .descBox {
    background: url("../img/recruit/fig_data.jpg") no-repeat center right -40px/cover;
  }
  #recruitData .descBox .photoBox {
    width: 90%;
  }
  #recruitData .descBox .textBox {
    margin-top: 0;
    width: 100%;
    padding-right: 5%;
    padding-left: 5%;
  }
  #recruitData .descBox .textBox .text {
    margin-top: 20px;
  }
  #recruitData .descBox .textBox .text p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #recruitData .descBox .textBox .moreBtn {
    margin: 40px auto 0;
  }
}

#recruitWorkStyle {
  margin-top: min(193px,20.1045vw);
}
#recruitWorkStyle .descBox {
  max-width: 1114px;
  margin: 0 auto;
  width: 77.36%;
  position: relative;
}
#recruitWorkStyle .descBox .photoBox {
  width: 39.32%;
  position: relative;
  z-index: 5;
}
#recruitWorkStyle .descBox .photoBox picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
}
#recruitWorkStyle .descBox .photoBox picture::before {
  content: "";
  padding-top: 181.5%;
  display: block;
}
#recruitWorkStyle .descBox .photoBox picture img, #recruitWorkStyle .descBox .photoBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 17px;
}
#recruitWorkStyle .descBox .textBox {
  width: 52.08%;
  margin: 0 0 0 8.61%;
}
#recruitWorkStyle .descBox .textBox h3 {
  font-family: "Futura", sans-serif;
  font-weight: 500;
  font-size: clamp(20px, 3.8vw, 25px);
  line-height: 1.56;
  letter-spacing: 0.18em;
  color: #F39600;
  position: relative;
  line-height: 1;
}
#recruitWorkStyle .descBox .textBox h3::before {
  content: "";
  position: absolute;
  background: #F39600;
  padding-left: 1em;
  right: 107%;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  width: 9.4444444444vw;
  z-index: -1;
}
#recruitWorkStyle .descBox .textBox p.lead {
  font-size: clamp(18.4px, 7.0268vw, 46px);
  letter-spacing: 0.06em;
  line-height: 1.88;
  font-weight: 700;
  margin-top: 0.5em;
  white-space: nowrap;
}
#recruitWorkStyle .descBox .textBox .text {
  margin-top: min(40px,4.167vw);
}
#recruitWorkStyle .descBox .textBox .text p {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.1666666667;
}
#recruitWorkStyle .descBox .textBox .moreBtn {
  margin: 25px 0 0 auto;
}
@media (max-width: 1230px) {
  #recruitWorkStyle .descBox .textBox p.lead {
    font-size: clamp(15.2px, 5.8058vw, 38px);
  }
}
@media (max-width: 1024px) {
  #recruitWorkStyle .descBox {
    width: 85%;
  }
  #recruitWorkStyle .descBox .textBox {
    width: 65%;
  }
  #recruitWorkStyle .descBox .textBox .text p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #recruitWorkStyle .descBox .textBox .moreBtn {
    margin-top: 40px;
  }
}
@media (max-width: 480px) {
  #recruitWorkStyle .descBox {
    width: 90%;
  }
  #recruitWorkStyle .descBox .photoBox {
    width: 70%;
    margin: 0 auto;
  }
  #recruitWorkStyle .descBox .photoBox picture::before {
    padding-top: 140%;
  }
  #recruitWorkStyle .descBox .textBox {
    margin: 40px auto 0;
    width: 100%;
  }
  #recruitWorkStyle .descBox .textBox h3::before {
    display: none;
  }
  #recruitWorkStyle .descBox .textBox .moreBtn {
    margin: 40px auto 0;
  }
}

#recruitPerson {
  margin-top: min(150px,15.6255vw);
}
#recruitPerson h3 {
  font-family: "Futura", sans-serif;
  font-weight: 500;
  font-size: clamp(20px, 3.8vw, 25px);
  line-height: 1.56;
  letter-spacing: 0.18em;
  color: #F39600;
  position: relative;
  line-height: 1;
  padding-left: 11.3194444444vw;
}
#recruitPerson h3::before {
  content: "";
  position: absolute;
  background: #F39600;
  padding-left: 1em;
  left: 0;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  width: 9.4444444444vw;
}
#recruitPerson .descBox {
  padding: 0 11.3194444444vw;
}
#recruitPerson .descBox p.lead {
  font-size: clamp(20px, 5.208vw, 50px);
  letter-spacing: 0.07em;
  line-height: 1.88;
  font-weight: 700;
  position: relative;
}
#recruitPerson .descBox p.lead::before {
  content: "";
  position: absolute;
  width: 141px;
  height: 4px;
  left: 0;
  bottom: -2vw;
  background-size: 800% 800%;
  background-image: linear-gradient(45deg, #72A674, #f5cd0b, #e89328, #bd4139, #ea7d08, #fbf8ef);
  /* Animation */
  -webkit-animation: gradientAnimation infinite ease-in-out;
  -moz-animation: gradientAnimation infinite ease-in-out;
  animation: gradientAnimation infinite ease-in-out;
  /* Animation duration */
  -webkit-animation-duration: 10s;
  -moz-animation-duration: 10s;
  animation-duration: 10s;
}
#recruitPerson .descBox dl.textBox {
  margin-top: min(70px,7.2915vw);
}
#recruitPerson .descBox dl.textBox dt {
  font-size: clamp(14px, 5.418vw, 26px);
  font-weight: 700;
  letter-spacing: 0.07em;
  width: 300px;
}
#recruitPerson .descBox dl.textBox dd {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.1666666667;
  margin: 0 0 0 3.41%;
  width: calc(100% - 300px);
}
#recruitPerson ul {
  margin-top: min(70px,7.2915vw);
  justify-content: space-between;
}
#recruitPerson ul li {
  width: 30.81%;
}
#recruitPerson ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
#recruitPerson ul li a picture, #recruitPerson ul li a figure {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#recruitPerson ul li a picture::before, #recruitPerson ul li a figure::before {
  content: "";
  padding-top: 121.37%;
  display: block;
}
#recruitPerson ul li a picture img, #recruitPerson ul li a picture source, #recruitPerson ul li a figure img, #recruitPerson ul li a figure source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 22px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#recruitPerson ul li a p {
  display: none;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  bottom: 25px;
  right: 25px;
  z-index: 5;
}
#recruitPerson ul li a p span {
  display: block;
  color: #fff;
}
#recruitPerson ul li a p span.job {
  font-weight: 500;
  letter-spacing: 0.18em;
}
#recruitPerson ul li a p span.name {
  font-size: clamp(14px, 5.208vw, 25px);
  letter-spacing: 0.18em;
  font-weight: 700;
  text-align: right;
}
#recruitPerson ul li a:hover picture, #recruitPerson ul li a:hover figure {
  position: relative;
}
#recruitPerson ul li a:hover picture::after, #recruitPerson ul li a:hover figure::after {
  content: "";
  position: absolute;
  background: url("../img/recruit/person_cover.png") no-repeat center center/cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  border-radius: 22px;
}
#recruitPerson ul li a:hover picture img, #recruitPerson ul li a:hover picture source, #recruitPerson ul li a:hover figure img, #recruitPerson ul li a:hover figure source {
  box-shadow: inset 0px 0px 13px 13px rgba(112, 112, 112, 0.3);
  mix-blend-mode: multiply;
}
#recruitPerson ul li a:hover p {
  display: block;
}
#recruitPerson .moreBtn {
  margin-top: min(74px,7.7085vw);
}
#recruitPerson .moreBtn a span {
  font-family: "Futura", sans-serif;
  font-style: normal;
}
@media (max-width: 1230px) {
  #recruitPerson .descBox p.lead {
    font-size: clamp(16px, 6.1116vw, 40px);
  }
}
@media (max-width: 1024px) {
  #recruitPerson .descBox dl.textBox dd {
    font-size: 2rem;
  }
  #recruitPerson .descBox dl.textBox dd {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media (max-width: 480px) {
  #recruitPerson h3 {
    padding-left: 0;
    width: 95%;
    margin: 0 0 0 auto;
  }
  #recruitPerson h3::before {
    display: none;
  }
  #recruitPerson .descBox {
    width: 90%;
    padding: 0;
    margin: 15px auto 0;
  }
  #recruitPerson .descBox p.lead::before {
    width: 100px;
    bottom: -20px;
  }
  #recruitPerson .descBox dl.textBox {
    margin-top: 40px;
  }
  #recruitPerson .descBox dl.textBox dd {
    width: 100%;
    margin: 10px 0 0 0;
  }
  #recruitPerson ul li {
    width: 90%;
    margin: 0 auto;
  }
  #recruitPerson ul li a p {
    display: block;
  }
  #recruitPerson ul li + li {
    margin-top: 30px;
  }
  #recruitPerson .moreBtn {
    margin: 40px auto 0;
  }
}

#recruitText {
  margin: min(178px,18.5415vw) auto min(200px,20.8335vw);
}
#recruitText figure {
  text-align: center;
}

/*------------------------------------------------
	/recruit/story/
------------------------------------------------*/
#storyTopFv {
  margin: 105px auto 0;
  border-radius: 21px;
  padding: 75px 0 92px;
}
#storyTopFv .ttlBox {
  color: #fff;
  padding-left: 8.37%;
}
#storyTopFv .ttlBox .lead span {
  display: block;
}
#storyTopFv .ttlBox .lead span.jp {
  font-weight: 700;
  letter-spacing: 0.06em;
}
#storyTopFv .ttlBox .lead span.en {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(30px, 7.812vw, 75px);
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-top: 20px;
}
#storyTopFv .ttlBox #breadcrumbs {
  margin-top: 20px;
}
#storyTopFv .ttlBox #breadcrumbs ol li {
  color: #fff;
}
#storyTopFv .ttlBox #breadcrumbs ol li a {
  color: #fff;
}
@media (max-width: 1230px) {
  #storyTopFv {
    margin-top: 65px;
  }
}

#storyTopIntro {
  position: relative;
  padding-top: 10px;
  padding-bottom: 75px;
}
#storyTopIntro::before {
  content: "";
  position: absolute;
  background: url("../img/recruit/unit_circle.svg") no-repeat center center/contain;
  width: 71.1111111111vw;
  height: 5.625vw;
  top: -5.5555555556vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
#storyTopIntro h3 {
  text-align: center;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.8888888889;
}
#storyTopIntro .textBox {
  text-align: center;
  margin-top: 40px;
}
#storyTopIntro .textBox p {
  font-size: clamp(14px, 3.75vw, 18px);
  line-height: 2.8888888889;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media (max-width: 480px) {
  #storyTopIntro {
    padding-top: 30px;
  }
  #storyTopIntro::before {
    width: 95%;
  }
  #storyTopIntro h3 {
    font-size: 2.2rem;
  }
  #storyTopIntro .textBox {
    margin-top: 25px;
  }
  #storyTopIntro .textBox p {
    line-height: 2;
    font-size: 1.6rem;
  }
}

#storyTopList {
  background: #FCFBF7;
  padding: 107px 0 132px;
  margin-bottom: 180px;
}
#storyTopList .container {
  background: #fff;
  border-radius: 32px;
  padding: 91px 0 118px min(12.1%, 175px);
}
#storyTopList .container section {
  justify-content: flex-start;
}
#storyTopList .container section .textBox {
  position: relative;
  margin-right: -200px;
}
#storyTopList .container section .textBox p.number {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
}
#storyTopList .container section .textBox p.lead {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  line-height: 1.7777777778;
  letter-spacing: 0.06em;
  margin-top: 0.75em;
  position: relative;
  z-index: 5;
}
#storyTopList .container section .textBox .infoBox {
  margin-top: 10px;
}
#storyTopList .container section .textBox .infoBox p.name span.main {
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.06em;
}
#storyTopList .container section .textBox .infoBox p.name span.sub {
  font-weight: 500;
  letter-spacing: 0.06em;
}
#storyTopList .container section .textBox .infoBox p.state {
  line-height: 1.6875;
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-top: 5px;
}
#storyTopList .container section .textBox .moreBtn {
  margin: 35px 0 0 0;
  max-width: 348px;
  width: 100%;
}
#storyTopList .container section .photoBox {
  width: 35.92%;
  margin: 0 18.7% 0 auto;
}
#storyTopList .container section .photoBox figure {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#storyTopList .container section .photoBox figure::before {
  content: "";
  padding-top: 121.37%;
  display: block;
}
#storyTopList .container section .photoBox figure img, #storyTopList .container section .photoBox figure source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 16px;
}
#storyTopList .container section:nth-child(2n) .textBox {
  -webkit-order: 1;
  -moz-order: 1;
  -ms-order: 1;
  order: 1;
  padding: 0;
  margin-right: 0;
}
#storyTopList .container section:nth-child(2n) .photoBox {
  margin: 0 9.76% 0 0;
}
#storyTopList .container section:nth-child(2n) .photoBox figure {
  -webkit-order: 0;
  -moz-order: 0;
  -ms-order: 0;
  order: 0;
}
#storyTopList .container section + section {
  margin-top: min(170px,17.709vw);
}
@media (max-width: 1230px) {
  #storyTopList .container {
    padding-left: min(100px,10.416vw);
  }
  #storyTopList .container section .textBox p.lead {
    font-size: clamp(14px, 4.8884vw, 32px);
  }
}
@media (max-width: 1024px) {
  #storyTopList .container {
    padding-left: 0;
  }
  #storyTopList .container section {
    flex-direction: column-reverse;
  }
  #storyTopList .container section .textBox {
    width: fit-content;
    margin: 40px auto 0;
  }
  #storyTopList .container section .textBox .infoBox p.name span.main {
    font-size: 1.8rem;
  }
  #storyTopList .container section .textBox .infoBox p.name span.sub {
    font-size: 1.4rem;
  }
  #storyTopList .container section .textBox .infoBox p.state {
    font-size: 1.4rem;
  }
  #storyTopList .container section .textBox .moreBtn {
    margin: 30px auto 0;
    width: 100%;
  }
  #storyTopList .container section .photoBox {
    margin: 0 auto;
  }
  #storyTopList .container section:nth-child(2n) {
    flex-direction: column;
  }
  #storyTopList .container section:nth-child(2n) .textBox {
    margin: 40px auto 0;
    width: fit-content;
  }
  #storyTopList .container section:nth-child(2n) .photoBox {
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  #storyTopList {
    padding: 80px 0 100px;
    margin-bottom: 100px;
  }
  #storyTopList .container {
    padding: 65px 0 80px;
  }
  #storyTopList .container section .photoBox {
    width: 65%;
  }
  #storyTopList .container section .textBox {
    width: 90%;
  }
  #storyTopList .container section .textBox p.lead {
    font-size: 2.4rem;
    line-height: 1.65;
  }
  #storyTopList .container section:nth-child(2n) .textBox {
    width: 90%;
  }
}

/*------------------------------------------------
	/recruit/story/voice/
------------------------------------------------*/
#voiceFv {
  background: #FCFBF7;
  margin-top: 105px;
  padding-bottom: 175px;
}
#voiceFv .descBox {
  margin: 0 0 0 auto;
  width: 92.71%;
}
#voiceFv .descBox figure {
  width: 44.34%;
  position: relative;
  overflow: hidden;
  display: block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#voiceFv .descBox figure::before {
  content: "";
  padding-top: 88.175%;
  display: block;
}
#voiceFv .descBox figure img, #voiceFv .descBox figure source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 0 0 0 10.4166666667vw;
}
#voiceFv .descBox .textBox {
  width: 55.66%;
  padding-right: 7.87%;
  padding-top: 60px;
  position: relative;
}
#voiceFv .descBox .textBox .ttlBox {
  color: #fff;
}
#voiceFv .descBox .textBox .ttlBox .lead span {
  display: block;
  text-align: right;
}
#voiceFv .descBox .textBox .ttlBox .lead span.jp {
  font-weight: 700;
  letter-spacing: 0.06em;
}
#voiceFv .descBox .textBox .ttlBox .lead span.en {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(30px, 7.812vw, 75px);
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-top: 20px;
}
#voiceFv .descBox .textBox .ttlBox #breadcrumbs {
  margin: 20px 0 0 auto;
}
#voiceFv .descBox .textBox .ttlBox #breadcrumbs ol {
  justify-content: flex-end;
}
#voiceFv .descBox .textBox .ttlBox #breadcrumbs ol li {
  color: #fff;
}
#voiceFv .descBox .textBox .ttlBox #breadcrumbs ol li a {
  color: #fff;
}
#voiceFv .descBox .textBox .leadBox {
  background: #fff;
  padding-right: min(65px,6.771vw);
  padding-top: 40px;
  padding-bottom: 40px;
  position: absolute;
  top: 22vw;
  right: 14.1%;
  width: 71%;
}
#voiceFv .descBox .textBox .leadBox p.number {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: right;
}
#voiceFv .descBox .textBox .leadBox p.lead {
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  line-height: 1.7777777778;
  letter-spacing: 0.06em;
  margin-top: 0.75em;
  position: relative;
  z-index: 5;
  text-align: right;
  white-space: nowrap;
  margin-left: -100%;
}
#voiceFv .descBox .textBox .leadBox .infoBox {
  margin-top: 10px;
  text-align: right;
}
#voiceFv .descBox .textBox .leadBox .infoBox p.name span.main {
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.06em;
}
#voiceFv .descBox .textBox .leadBox .infoBox p.name span.sub {
  font-weight: 500;
  letter-spacing: 0.06em;
}
#voiceFv .descBox .textBox .leadBox .infoBox p.state {
  line-height: 1.6875;
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-top: 5px;
}
@media (max-width: 1230px) {
  #voiceFv {
    margin-top: 65px;
  }
  #voiceFv .descBox .textBox .ttlBox .lead span.en {
    font-size: clamp(22.4px, 5.8335vw, 56px);
  }
}
@media (max-width: 1024px) {
  #voiceFv .descBox .textBox .ttlBox .lead span.en {
    font-size: clamp(22.4px, 5.8335vw, 56px);
  }
  #voiceFv .descBox .textBox .leadBox {
    width: 100%;
    top: 80%;
  }
}
@media (max-width: 480px) {
  #voiceFv .descBox {
    display: block;
  }
  #voiceFv .descBox figure {
    width: 100%;
    z-index: 5;
  }
  #voiceFv .descBox figure::before {
    padding-top: 70%;
  }
  #voiceFv .descBox figure img {
    border-radius: 0 0 0 100px;
  }
  #voiceFv .descBox .textBox {
    width: 100%;
    padding: 120px 20px 80px;
    margin-top: -100px;
    z-index: 1;
  }
  #voiceFv .descBox .textBox .ttlBox .lead span.en {
    font-size: clamp(22.4px, 5.8335vw, 56px);
  }
  #voiceFv .descBox .textBox .leadBox {
    top: 80%;
    width: 100%;
    right: 0;
    position: absolute;
    padding: 20px;
  }
  #voiceFv .descBox .textBox .leadBox p.lead {
    font-size: 1.8rem;
    margin-top: 0.25em;
    white-space: normal;
    margin-left: 0;
  }
  #voiceFv .descBox .textBox .leadBox .infoBox p.name span.main {
    font-size: 1.6rem;
  }
}

#voiceDetailBox {
  max-width: 800px;
  margin: 100px auto 0;
  width: 55.56%;
}
#voiceDetailBox section .descBox .ttlBox h3 {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
}
#voiceDetailBox section .descBox .ttlBox p.lead {
  margin-top: 30px;
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.06em;
}
@media (max-width: 1024px) {
  #voiceDetailBox section .descBox .ttlBox p.lead {
    margin-top: 20px;
    font-size: clamp(14px, 4.5826vw, 30px);
  }
}
@media (max-width: 480px) {
  #voiceDetailBox section .descBox .ttlBox p.lead {
    font-size: 1.8rem;
  }
}
#voiceDetailBox section .textBox {
  margin-top: 40px;
}
#voiceDetailBox section .textBox p {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #voiceDetailBox section .textBox {
    margin-top: 20px;
  }
}
#voiceDetailBox section.topic01 figure img {
  border-radius: 9px;
}
#voiceDetailBox section.topic01 .descBox {
  margin-top: 50px;
}
#voiceDetailBox section.topic01 .descBox .ttlBox h3 {
  text-align: center;
}
#voiceDetailBox section.topic01 .descBox .ttlBox p.lead {
  text-align: center;
}
@media (max-width: 480px) {
  #voiceDetailBox section.topic01 .descBox {
    margin-top: 30px;
  }
  #voiceDetailBox section.topic01 .descBox .ttlBox p.lead {
    margin-top: 10px;
  }
}
#voiceDetailBox section.topic02 {
  margin-top: 50px;
}
#voiceDetailBox section.topic02 .descBox figure {
  width: 47.38%;
}
#voiceDetailBox section.topic02 .descBox figure img {
  border-radius: 16px;
}
#voiceDetailBox section.topic02 .descBox .ttlBox {
  margin: 30px 0 0 9.38%;
}
#voiceDetailBox section.topic02 .descBox .ttlBox p.lead {
  white-space: nowrap;
}
@media (max-width: 1024px) {
  #voiceDetailBox section.topic02 .descBox {
    display: block;
  }
  #voiceDetailBox section.topic02 .descBox figure {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }
  #voiceDetailBox section.topic02 .descBox .ttlBox {
    margin: 30px auto 0;
    text-align: center;
  }
  #voiceDetailBox section.topic02 .descBox .ttlBox p.lead {
    white-space: normal;
  }
}
@media (max-width: 480px) {
  #voiceDetailBox section.topic02 .descBox .ttlBox p.lead {
    margin-top: 10px;
  }
}
#voiceDetailBox section.oneday {
  background: #FCFBF7;
  border-radius: 22px;
  position: relative;
  padding: 60px min(60px,6.2505vw);
  margin-top: 75px;
}
#voiceDetailBox section.oneday::before {
  content: "";
  position: absolute;
  background: #F8F6EC;
  width: 100%;
  height: 100%;
  top: 10px;
  left: 8px;
  z-index: -1;
  border-radius: 22px;
}
#voiceDetailBox section.oneday::after {
  content: "";
  position: absolute;
  background: url("../img/recruit/story/unit_oneday.svg") no-repeat center center/contain;
  width: 85.5%;
  height: 2.3611111111vw;
  top: -0.6944444444vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
#voiceDetailBox section.oneday .descBox .ttlBox p.lead {
  font-size: clamp(14px, 5.625vw, 27px);
  margin-top: 10px;
}
#voiceDetailBox section.oneday .descBox .scheduleBox {
  border-radius: 22px;
  background: #fff;
  padding: min(60px,6.2505vw) min(50px,5.208vw);
  margin-top: 50px;
}
#voiceDetailBox section.oneday .descBox .scheduleBox p.lead {
  font-size: clamp(14px, 4.584vw, 22px);
  font-weight: 700;
  letter-spacing: 0.02em;
  width: 120px;
  margin-top: -15px;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine {
  width: calc(100% - 120px);
  position: relative;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li {
  margin: 0;
  position: relative;
  padding-left: 0.5em;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content {
  width: 100%;
  padding-left: 40px;
  padding-bottom: 60px;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  background: #F39600;
  left: 8px;
  top: 0;
  border-radius: 100%;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content::after {
  content: "";
  position: absolute;
  border-left: 2px dotted #F39600;
  top: 0;
  left: 10px;
  height: 100%;
  width: 1px;
  z-index: 5;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content h3 {
  width: 140px;
  margin-top: -10px;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content p {
  width: calc(100% - 140px);
  margin-top: -10px;
  font-weight: 500;
  line-height: 1.6875;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li:last-child .content {
  padding-bottom: 0;
}
#voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li:last-child .content::after {
  display: none;
}
#voiceDetailBox section.oneday .descBox .scheduleBox .textBox {
  width: calc(100% - 120px);
  margin-top: 0;
}
#voiceDetailBox section.oneday .descBox .scheduleBox .textBox p {
  font-weight: 500;
  line-height: 1.6875;
}
#voiceDetailBox section.oneday .descBox .scheduleBox + .scheduleBox p.lead {
  margin-top: 0;
}
@media (max-width: 1230px) {
  #voiceDetailBox section.oneday .descBox .scheduleBox {
    display: block;
  }
  #voiceDetailBox section.oneday .descBox .scheduleBox p.lead {
    margin-top: 0;
  }
  #voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine {
    margin-top: 35px;
    width: 100%;
  }
  #voiceDetailBox section.oneday .descBox .scheduleBox + .scheduleBox .textBox {
    margin-top: 15px;
    width: 100%;
  }
}
@media (max-width: 1024px) {
  #voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content {
    flex-direction: column;
    padding-bottom: 40px;
  }
  #voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content p {
    margin-top: 10px;
    width: 100%;
  }
}
@media (max-width: 480px) {
  #voiceDetailBox section.oneday::after {
    width: 80%;
    height: 15px;
  }
  #voiceDetailBox section.oneday .descBox .scheduleBox ul.timeLine li .content {
    padding-left: 25px;
  }
}
#voiceDetailBox section.lastTheme {
  margin-top: 95px;
}
#voiceDetailBox section.lastTheme .descBox .ttlBox p.lead {
  font-size: clamp(14px, 5.625vw, 27px);
  margin-top: 30px;
}
#voiceDetailBox section.lastTheme .photoBox {
  margin-top: 60px;
  position: relative;
}
#voiceDetailBox section.lastTheme .photoBox figure img {
  border-radius: 9px;
}
#voiceDetailBox section.lastTheme .photoBox p {
  color: #fff;
  font-size: clamp(14px, 4.8884vw, 32px);
  font-weight: 700;
  letter-spacing: 0.06em;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5;
  top: -0.9722222222vw;
  left: 4.63%;
  width: 20.9722222222vw;
  height: 20.9722222222vw;
  position: absolute;
  white-space: nowrap;
}
#voiceDetailBox section.lastTheme .photoBox p::before {
  content: "";
  position: absolute;
  background: url("../img/recruit/story/unit_messageBg.png") no-repeat center center/contain;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media (max-width: 480px) {
  #voiceDetailBox section.lastTheme .descBox .ttlBox p.lead {
    font-size: clamp(14px, 5.625vw, 27px);
    margin-top: 10px;
  }
  #voiceDetailBox section.lastTheme .photoBox p {
    width: 160px;
    height: 160px;
    top: -50px;
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  #voiceDetailBox {
    width: 90%;
  }
}

.otherStoryListWrap {
  margin: 200px 0 140px;
  width: 100%;
  overflow: hidden;
}
.otherStoryListWrap h3 {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(18px, 6.875vw, 45px);
  letter-spacing: 0.06em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 480px) {
  .otherStoryListWrap {
    margin: 100px 0 120px;
  }
}

.otherStoryList .swiper-wrapper .swiper-slide {
  max-width: 379px;
}
.otherStoryList .swiper-wrapper .swiper-slide .swiperBody {
  position: relative;
  margin-top: 20px;
}
.otherStoryList .swiper-wrapper .swiper-slide .swiperBody .head {
  justify-content: space-between;
}
.otherStoryList .swiper-wrapper .swiper-slide .swiperBody .head p.lead {
  font-size: clamp(14px, 4.584vw, 22px);
  letter-spacing: 0.02em;
  line-height: 1.7727272727;
  font-weight: 700;
}
.otherStoryList .swiper-wrapper .swiper-slide .swiperBody .infoBox {
  margin-top: 20px;
}

/*------------------------------------------------
	/recruit/environment
------------------------------------------------*/
#environmentIntro h2 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#environmentIntro .descBox figure {
  width: 54.1%;
  max-width: 779px;
  margin: 40px auto 0;
  position: relative;
  overflow: hidden;
  display: block;
}
#environmentIntro .descBox figure::before {
  content: "";
  padding-top: 65.211%;
  display: block;
}
#environmentIntro .descBox figure img, #environmentIntro .descBox figure source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#environmentIntro .descBox .textBox {
  width: 64.1%;
  max-width: 923px;
  margin: 70px auto 0;
  text-align: center;
}
#environmentIntro .descBox .textBox p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.06em;
  font-weight: 500;
}
@media (max-width: 1024px) {
  #environmentIntro .descBox .textBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media (max-width: 480px) {
  #environmentIntro .descBox figure {
    width: 80%;
  }
  #environmentIntro .descBox .textBox {
    width: 90%;
    margin-top: 30px;
  }
}

#environmentDetail {
  background: #F7F3E4;
  margin-top: 100px;
  padding: 100px 0;
}
#environmentDetail h2 {
  text-align: center;
}
#environmentDetail h2 span {
  display: block;
}
#environmentDetail h2 span.en {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
}
#environmentDetail h2 span.jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#environmentDetail p.intro {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.06em;
  font-weight: 700;
  margin-top: 50px;
}
@media (max-width: 1024px) {
  #environmentDetail p.intro {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media (max-width: 480px) {
  #environmentDetail p.intro {
    margin-top: 30px;
  }
}
#environmentDetail ul {
  margin: 80px auto 0;
  padding: 65px 0 120px;
  background: #fff;
  border-radius: 28px;
  max-width: 1048px;
  width: 72.78%;
  justify-content: center;
}
#environmentDetail ul li {
  width: 32.44%;
}
#environmentDetail ul li .photoBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 300px;
}
#environmentDetail ul li .textBox {
  text-align: center;
  margin-top: 40px;
}
#environmentDetail ul li .textBox p.lead {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#environmentDetail ul li .textBox p.text {
  font-size: 1.8rem;
  line-height: 1.7777777778;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 0.75em;
}
#environmentDetail ul li .textBox p.text a {
  color: #F39600;
}
#environmentDetail ul li.full {
  width: 77.77%;
  max-width: 815px;
  margin-left: auto;
  margin-right: auto;
}
#environmentDetail ul li.full .textBox {
  justify-content: center;
  margin-top: 70px;
}
#environmentDetail ul li.full .textBox p.text {
  margin: 0 0 0 22.09%;
}
#environmentDetail ul li:nth-child(2n) {
  margin: 0 0 0 14.69%;
}
#environmentDetail ul li:nth-child(n+3) {
  margin-top: 140px;
}
@media (max-width: 1024px) {
  #environmentDetail ul li .textBox p.lead {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #environmentDetail ul li .textBox p.text {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  #environmentDetail ul li.full .textBox p.text {
    margin: 0.75em 0 0 0;
  }
}
@media (max-width: 480px) {
  #environmentDetail ul {
    width: 90%;
    margin-top: 40px;
    padding: 60px 0 80px;
  }
  #environmentDetail ul li {
    width: 90%;
    margin: 0 auto;
  }
  #environmentDetail ul li .photoBox {
    width: 80%;
    margin: 0 auto;
    min-height: 100%;
  }
  #environmentDetail ul li.full {
    width: 90%;
  }
  #environmentDetail ul li.full .textBox p.text {
    margin: 0.75em 0 0 0;
  }
  #environmentDetail ul li:nth-child(2n) {
    margin: 60px auto 0;
  }
  #environmentDetail ul li:nth-child(n+3) {
    margin-top: 60px;
  }
  #environmentDetail ul li + li {
    margin-top: 60px;
  }
}
#environmentDetail .birthBox {
  margin: 100px auto 0;
  padding: 100px 0 85px;
  background: #fff;
  border-radius: 28px;
  max-width: 1048px;
  width: 72.78%;
  padding-left: 7.6%;
  justify-content: flex-start;
}
#environmentDetail .birthBox .textBox {
  width: 53.42%;
}
#environmentDetail .birthBox .textBox h3 span {
  display: block;
}
#environmentDetail .birthBox .textBox h3 span.en {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-top: 0.5em;
}
#environmentDetail .birthBox .textBox h3 span.jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#environmentDetail .birthBox .textBox p {
  margin-top: 50px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 2;
}
#environmentDetail .birthBox figure {
  width: 34.64%;
  max-width: 363px;
  position: relative;
  overflow: hidden;
  display: block;
}
#environmentDetail .birthBox figure::before {
  content: "";
  padding-top: 94.765%;
  display: block;
}
#environmentDetail .birthBox figure img, #environmentDetail .birthBox figure source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  #environmentDetail .birthBox {
    flex-direction: column-reverse;
    padding-left: 5%;
    padding-right: 5%;
  }
  #environmentDetail .birthBox .textBox {
    width: fit-content;
    margin: 40px auto 0;
  }
  #environmentDetail .birthBox .textBox p {
    margin-top: 20px;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #environmentDetail .birthBox figure {
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  #environmentDetail .birthBox {
    width: 90%;
    margin-top: 60px;
    padding: 60px 5%;
  }
  #environmentDetail .birthBox figure {
    width: 80%;
  }
}
#environmentDetail .otherBox {
  margin: 80px auto 0;
  padding: 100px 0 85px;
  background: #fff;
  border-radius: 28px;
  max-width: 1048px;
  width: 72.78%;
  padding-left: 7.6%;
  justify-content: flex-start;
  position: relative;
}
#environmentDetail .otherBox::before {
  content: "";
  position: absolute;
  background: url("../img/recruit/environment/fig_envi03.svg") no-repeat center center/contain;
  width: 12.4305555556vw;
  height: 9.375vw;
  top: -20px;
  right: -20px;
}
#environmentDetail .otherBox .ttlBox h3 span {
  display: block;
}
#environmentDetail .otherBox .ttlBox h3 span.en {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-top: 0.5em;
}
#environmentDetail .otherBox .ttlBox h3 span.jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#environmentDetail .otherBox .textBox {
  width: 64.64%;
  margin: 0 0 0 10.47%;
}
#environmentDetail .otherBox .textBox p {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
@media (max-width: 1024px) {
  #environmentDetail .otherBox .textBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media (max-width: 480px) {
  #environmentDetail .otherBox {
    width: 90%;
    margin-top: 60px;
    padding: 60px 5%;
  }
  #environmentDetail .otherBox::before {
    width: 100px;
    height: 80px;
    right: 0;
  }
  #environmentDetail .otherBox .textBox {
    width: 100%;
    margin: 20px 0 0 0;
  }
}

#environmentrequire {
  padding: 100px 0 300px;
}
#environmentrequire .textBox {
  text-align: center;
}
#environmentrequire .textBox p {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
#environmentrequire .descBox {
  width: 82.5%;
  max-width: 1188px;
  margin: 80px auto 0;
  border: 1px solid #F39600;
  border-radius: 13px;
  padding: min(50px,5.208vw);
}
#environmentrequire .descBox p.lead {
  font-size: clamp(14px, 4.584vw, 22px);
  font-weight: 700;
  letter-spacing: 0.02em;
}
#environmentrequire .descBox p.text {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.7777777778;
  margin-top: 1em;
}
@media (max-width: 1024px) {
  #environmentrequire .textBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #environmentrequire .descBox p.text {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
@media (max-width: 480px) {
  #environmentrequire {
    padding: 60px 0 150px;
  }
  #environmentrequire .textBox {
    width: 90%;
    margin: 0 auto;
  }
  #environmentrequire .descBox {
    width: 90%;
    margin-top: 40px;
  }
  #environmentrequire .descBox p.text {
    margin-top: 0.5em;
  }
}

#crossTalkFv {
  margin: 105px 0 0 auto;
  width: 92.71%;
  border-radius: 0 0 0 10.4166666667vw;
}
#crossTalkFv .descBox {
  position: relative;
}
#crossTalkFv .descBox .textBox {
  padding: 50px 0;
}
#crossTalkFv .descBox .textBox .ttlBox {
  color: #fff;
  padding-left: 8.37%;
}
#crossTalkFv .descBox .textBox .ttlBox .lead span {
  display: block;
}
#crossTalkFv .descBox .textBox .ttlBox .lead span.jp {
  font-weight: 700;
  letter-spacing: 0.06em;
}
#crossTalkFv .descBox .textBox .ttlBox .lead span.en {
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(30px, 7.812vw, 75px);
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-top: 20px;
}
#crossTalkFv .descBox .textBox .ttlBox #breadcrumbs {
  margin-top: 20px;
}
#crossTalkFv .descBox .textBox .ttlBox #breadcrumbs ol li {
  color: #fff;
}
#crossTalkFv .descBox .textBox .ttlBox #breadcrumbs ol li a {
  color: #fff;
}
#crossTalkFv .descBox picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
}
#crossTalkFv .descBox picture::before {
  content: "";
  padding-top: 19.55%;
  display: block;
}
#crossTalkFv .descBox picture img, #crossTalkFv .descBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#crossTalkFv .descBox .leadBox {
  margin-top: -20px;
  width: 59.7222222222vw;
  max-width: 860px;
  margin-right: 7.2916666667vw;
  background: #fff;
  padding: min(60px,6.2505vw);
  position: relative;
  z-index: 3;
  margin-left: auto;
}
#crossTalkFv .descBox .leadBox .leadUnit {
  width: 42.58%;
}
#crossTalkFv .descBox .leadBox .leadUnit p.sub {
  font-size: clamp(14px, 3.75vw, 18px);
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#crossTalkFv .descBox .leadBox .leadUnit p.main {
  font-size: clamp(14px, 5.625vw, 27px);
  letter-spacing: 0.15em;
  line-height: 1.8888888889;
  font-weight: 700;
}
#crossTalkFv .descBox .leadBox .leadText {
  margin-left: min(60px,6.2505vw);
  width: 48.63%;
  margin-top: 10px;
}
#crossTalkFv .descBox .leadBox .leadText p {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.06em;
}
@media (max-width: 1230px) {
  #crossTalkFv {
    margin-top: 65px;
    width: 95%;
  }
  #crossTalkFv .descBox .leadBox {
    display: block;
  }
  #crossTalkFv .descBox .leadBox .leadUnit {
    width: 100%;
  }
  #crossTalkFv .descBox .leadBox .leadText {
    width: 100%;
    margin-top: 20px;
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  #crossTalkFv .descBox picture::before {
    padding-top: 31.55%;
  }
  #crossTalkFv .descBox .leadBox {
    margin-right: 0;
    width: 100%;
  }
}

#crossTalkList {
  margin-top: 40px;
  position: relative;
}
#crossTalkList .container {
  max-width: 924px;
  width: 64.17%;
}
#crossTalkList .container h3 span {
  display: block;
}
#crossTalkList .container h3 span.en {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
}
#crossTalkList .container h3 span.jp {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#crossTalkList .container ul {
  justify-content: space-between;
  margin-top: 80px;
}
#crossTalkList .container ul li {
  width: 29.87%;
  margin-bottom: 30px;
}
#crossTalkList .container ul li figure img {
  border-radius: 10px;
}
#crossTalkList .container ul li .textBox {
  margin-top: 10px;
}
#crossTalkList .container ul li .textBox p.name {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#crossTalkList .container ul li .textBox p.job {
  margin-top: 0.5em;
  font-weight: 500;
  line-height: 1.6875;
  letter-spacing: 0.02em;
}
#crossTalkList .container ul::after {
  content: "";
  width: 29.87%;
  display: block;
  height: 0;
}
#crossTalkList p.lead {
  position: absolute;
  font-size: clamp(60.8px, 15.834vw, 152px);
  right: 0;
  top: 0;
  font-family: "Futura", sans-serif;
  font-style: normal;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.0592105263;
  color: #F7F3E4;
  mix-blend-mode: multiply;
}
@media (max-width: 480px) {
  #crossTalkList p.lead {
    z-index: -1;
  }
}
@media (max-width: 480px) {
  #crossTalkList .container {
    width: 90%;
  }
  #crossTalkList .container ul {
    margin-top: 40px;
  }
  #crossTalkList .container ul li {
    width: 45%;
  }
}

#crossTalkDetaiArea {
  background: #fff;
  padding: 100px 0;
}
#crossTalkDetaiArea p.topLead {
  margin-left: 22.22%;
  margin-bottom: 70px;
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #crossTalkDetaiArea p.topLead {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
}
#crossTalkDetaiArea .talkArea {
  overflow-x: clip;
}
#crossTalkDetaiArea .talkArea section .ttlBox .unit {
  width: 20.09%;
}
#crossTalkDetaiArea .talkArea section .ttlBox .unit h3 {
  color: #F39600;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
}
#crossTalkDetaiArea .talkArea section .ttlBox .unit p.lead {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: clamp(14px, 4.8884vw, 32px);
  font-weight: 700;
  letter-spacing: 0.3em;
  margin-top: 40px;
  margin-left: 10px;
}
#crossTalkDetaiArea .talkArea section .ttlBox .unit p.themeNum {
  margin-top: 60px;
  font-family: "Futura", sans-serif;
  font-style: normal;
  font-size: clamp(14px, 5.001vw, 24px);
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #crossTalkDetaiArea .talkArea section .ttlBox .unit {
    margin-top: 20px;
  }
  #crossTalkDetaiArea .talkArea section .ttlBox .unit .unit_fl {
    display: flex;
  }
  #crossTalkDetaiArea .talkArea section .ttlBox .unit .unit_fl p.themeNum {
    align-self: end;
    /* margin: 0 0 0 auto; */
    margin: 60px 0 0 30px !important;
  }
}
#crossTalkDetaiArea .talkArea section .photoBox {
  width: 79.91%;
}
#crossTalkDetaiArea .talkArea section .photoBox picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
}
#crossTalkDetaiArea .talkArea section .photoBox picture::before {
  content: "";
  padding-top: 57.318%;
  display: block;
}
#crossTalkDetaiArea .talkArea section .photoBox picture img, #crossTalkDetaiArea .talkArea section .photoBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#crossTalkDetaiArea .talkArea section .descBox {
  margin: min(100px,10.416vw) 0 0;
  max-width: 800px;
}
#crossTalkDetaiArea .talkArea section .descBox p.question {
  position: relative;
  padding-left: 1.5em;
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 40px;
}
#crossTalkDetaiArea .talkArea section .descBox p.question::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  background: #000000;
  width: 1em;
  height: 1px;
}
#crossTalkDetaiArea .talkArea section .descBox .mt40 {
  margin-top: 40px;
}
#crossTalkDetaiArea .talkArea section .descBox .mt50 {
  margin-top: 50px;
}
#crossTalkDetaiArea .talkArea section .descBox .textBox p.name {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.06em;
  width: fit-content;
}
#crossTalkDetaiArea .talkArea section .descBox .textBox p.name::before {
  content: "：";
  position: absolute;
  display: block;
  top: 0;
  left: 100%;
  padding-right: 1em;
}
#crossTalkDetaiArea .talkArea section .descBox .textBox p.text {
  line-height: 2;
  letter-spacing: 0.06em;
  margin-top: 0.5em;
}
#crossTalkDetaiArea .talkArea section .descBox .textBox + .textBox {
  margin-top: 40px;
}
#crossTalkDetaiArea .talkArea section .descBox .textBox figure {
  margin-top: 40px;
}
#crossTalkDetaiArea .talkArea section .descBox .viewBox {
  max-width: 500px;
  width: 85%;
  margin: 60px 0 0 auto;
}
#crossTalkDetaiArea .talkArea section .descBox .viewBox p.text {
  line-height: 2;
  letter-spacing: 0.06em;
  margin-top: 0.5em;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n+1) {
  margin-left: 22.22%;
  position: relative;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n+1)::before {
  content: "";
  position: absolute;
  background: #F39600;
  width: 21.5277777778vw;
  height: 1px;
  top: 10px;
  right: 102%;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n+1) .ttlBox .photoBox {
  margin: 0 0 0 auto;
}
@media (max-width: 1024px) {
  #crossTalkDetaiArea .talkArea section:nth-child(2n+1) {
    margin-left: 10%;
  }
}
@media (max-width: 480px) {
  #crossTalkDetaiArea .talkArea section:nth-child(2n+1) {
    margin-left: 5%;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n+1)::before {
    display: none;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n+1) .ttlBox {
    flex-direction: column-reverse;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n+1) .ttlBox .photoBox {
    width: 100%;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n+1) .descBox {
    margin-right: 5%;
  }
}
#crossTalkDetaiArea .talkArea section:nth-child(2n) {
  margin-right: 22.22%;
  position: relative;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n)::before {
  content: "";
  position: absolute;
  background: #F39600;
  width: 21.5277777778vw;
  height: 1px;
  top: 10px;
  left: 102%;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n) .ttlBox .unit {
  margin: 0 0 0 5.8%;
  width: 13.39%;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n) .ttlBox .unit h3 {
  text-align: right;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n) .ttlBox .unit p.themeNum {
  margin-left: auto;
  width: fit-content;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n) .ttlBox .photoBox {
  margin: 0;
  width: 81.25%;
}
#crossTalkDetaiArea .talkArea section:nth-child(2n) .descBox {
  margin: min(100px,10.416vw) 0 0 auto;
}
@media (max-width: 1024px) {
  #crossTalkDetaiArea .talkArea section:nth-child(2n) {
    margin-right: 10%;
  }
}
@media (max-width: 480px) {
  #crossTalkDetaiArea .talkArea section:nth-child(2n)::before {
    display: none;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n) .ttlBox {
    flex-direction: column;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n) .ttlBox .unit {
    margin-top: 20px;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n) .ttlBox .photoBox {
    width: 100%;
  }
  #crossTalkDetaiArea .talkArea section:nth-child(2n) .descBox {
    margin-left: 5%;
    width: 100%;
  }
}
#crossTalkDetaiArea .talkArea section:nth-of-type(2) .ttlBox .photoBox picture::before {
  padding-top: 56.497%;
}
#crossTalkDetaiArea .talkArea section:nth-of-type(4) .ttlBox .photoBox picture::before {
  padding-top: 60.424%;
}
#crossTalkDetaiArea .talkArea section + section {
  margin-top: 165px;
}

#numberWrap {
  background: #F7F3E4;
  padding: min(95px,9.8955vw) 0;
  margin-bottom: min(200px,20.8335vw);
}
#numberWrap .container {
  padding: min(95px,9.8955vw);
  background: #fff;
}
@media (max-width: 480px) {
  #numberWrap .container {
    padding: 40px 20px;
  }
}
#numberWrap .container .numberBox .numberUnit {
  padding-bottom: min(50px,5.208vw);
}
#numberWrap .container .numberBox .numberUnit .ttl p.number {
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(46px, 11.979vw, 115px);
  letter-spacing: 0;
  color: #F39600;
  line-height: 1;
  margin-right: 2.7777777778vw;
  margin-bottom: 20px;
}
#numberWrap .container .numberBox .numberUnit .ttl h2 {
  position: relative;
  z-index: 3;
}
#numberWrap .container .numberBox .numberUnit .ttl h2 span {
  display: block;
}
#numberWrap .container .numberBox .numberUnit .ttl h2 span.en {
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.3rem;
  line-height: 1.2;
}
#numberWrap .container .numberBox .numberUnit .ttl h2 span.jp {
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  margin-top: 10px;
}
#numberWrap .container .numberBox .numberUnit .ttl.ttl-fl {
  display: flex;
  align-items: center;
}
#numberWrap .container .numberBox .numberUnit .textBox p {
  color: #F39600;
}
#numberWrap .container .numberBox .numberUnit .textBox p.en {
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(14px, 3.75vw, 18px);
  margin-right: 2.0833333333vw;
}
#numberWrap .container .numberBox .numberUnit .textBox p.jp {
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-top: 1em;
}
#numberWrap .container .numberBox .numberUnit .textBox.textBox-fl {
  display: flex;
  align-items: center;
}
#numberWrap .container .numberBox .numberUnit .textBox.textBox-fl p.jp {
  margin-top: 0;
}
#numberWrap .container .numberBox .numberUnit + .numberUnit {
  border-left: 1px solid #F39600;
}
@media (max-width: 1024px) {
  #numberWrap .container .numberBox .numberUnit {
    padding-bottom: 50px;
  }
  #numberWrap .container .numberBox .numberUnit .ttl {
    display: flex;
    align-items: center;
  }
  #numberWrap .container .numberBox .numberUnit .ttl p.number {
    font-size: 6rem;
  }
  #numberWrap .container .numberBox .numberUnit .ttl h2 span.jp {
    margin-top: 5px;
  }
  #numberWrap .container .numberBox .numberUnit .textBox p.en {
    font-size: 1.6rem;
  }
  #numberWrap .container .numberBox .numberUnit .textBox p.jp {
    margin-top: 0.75em;
  }
  #numberWrap .container .numberBox .numberUnit .textBox.textBox-fl {
    display: block;
  }
  #numberWrap .container .numberBox .numberUnit .textBox.textBox-fl p.jp {
    margin-top: 0.75em;
  }
  #numberWrap .container .numberBox .numberUnit + .numberUnit {
    border-left: none;
    border-top: 1px solid #F39600;
  }
}
#numberWrap .container .numberBox.numberBox01 .numberUnit {
  width: 60.58%;
  padding-right: min(75px,7.812vw);
}
#numberWrap .container .numberBox.numberBox01 .numberUnit .textBox {
  margin-top: min(50px,5.208vw);
}
#numberWrap .container .numberBox.numberBox01 .numberUnit + .numberUnit {
  padding-left: min(70px,7.2915vw);
  padding-right: 0;
  width: 38.94%;
}
#numberWrap .container .numberBox.numberBox01 .numberUnit + .numberUnit figure {
  margin-top: 20px;
}
#numberWrap .container .numberBox.numberBox01 .numberUnit + .numberUnit .textBox {
  margin-top: 30px;
}
@media (max-width: 1024px) {
  #numberWrap .container .numberBox.numberBox01 .numberUnit {
    width: 100%;
    padding-right: 0;
  }
  #numberWrap .container .numberBox.numberBox01 .numberUnit figure {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  #numberWrap .container .numberBox.numberBox01 .numberUnit + .numberUnit {
    width: 100%;
    padding-left: 0;
    padding-top: 50px;
  }
}
#numberWrap .container .numberBox.numberBox02 {
  padding-top: min(75px,7.812vw);
}
#numberWrap .container .numberBox.numberBox02 .photoBox .textBox {
  width: 40.58%;
  display: flex;
  flex-direction: column;
  margin: auto auto 0;
}
#numberWrap .container .numberBox.numberBox02 .photoBox figure {
  width: 46.15%;
  margin-left: 9.62%;
  margin-top: max(-100px,-10.416vw);
}
@media (max-width: 1024px) {
  #numberWrap .container .numberBox.numberBox02 .photoBox {
    flex-direction: column-reverse;
  }
  #numberWrap .container .numberBox.numberBox02 .photoBox .textBox {
    width: 100%;
    margin-top: 30px;
  }
  #numberWrap .container .numberBox.numberBox02 .photoBox figure {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
}
#numberWrap .container .numberBox.numberBox03 .numberUnit {
  padding-top: min(50px,5.208vw);
  width: 41.35%;
  padding-right: min(55px,5.7285vw);
}
#numberWrap .container .numberBox.numberBox03 .numberUnit figure {
  margin: 30px 0;
}
#numberWrap .container .numberBox.numberBox03 .numberUnit + .numberUnit {
  padding-left: min(70px,7.2915vw);
  width: 58.37%;
  padding-right: 0;
}
#numberWrap .container .numberBox.numberBox03 .numberUnit + .numberUnit figure {
  margin-top: 0;
}
#numberWrap .container .numberBox.numberBox03 .numberUnit + .numberUnit .ttlBox {
  align-items: center;
}
#numberWrap .container .numberBox.numberBox03 .numberUnit + .numberUnit .ttlBox figure {
  margin-right: 2.0833333333vw;
}
@media (max-width: 1024px) {
  #numberWrap .container .numberBox.numberBox03 .numberUnit {
    width: 100%;
    padding-right: 0;
  }
  #numberWrap .container .numberBox.numberBox03 .numberUnit figure {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  #numberWrap .container .numberBox.numberBox03 .numberUnit + .numberUnit {
    width: 100%;
    padding-left: 0;
    padding-top: min(75px,7.812vw);
  }
  #numberWrap .container .numberBox.numberBox03 .numberUnit + .numberUnit .ttlBox .ttl {
    display: block;
  }
}
#numberWrap .container .numberBox.numberBox04 {
  padding-top: min(75px,7.812vw);
  padding-bottom: min(50px,5.208vw);
}
#numberWrap .container .numberBox.numberBox04 .photoBox {
  position: relative;
  margin-top: 30px;
}
#numberWrap .container .numberBox.numberBox04 .photoBox::before {
  content: "";
  position: absolute;
  background: url("../img/recruit/numberUnit06_1.svg") no-repeat center center/contain;
  width: 16.3888888889vw;
  max-width: 236px;
  height: 11.3888888889vw;
  top: 5.8333333333vw;
  left: 0;
  z-index: 1;
}
#numberWrap .container .numberBox.numberBox04 .photoBox::after {
  content: "";
  position: absolute;
  background: url("../img/recruit/numberUnit06_2.svg") no-repeat center center/contain;
  width: 40.9027777778vw;
  max-width: 589px;
  height: 24.9305555556vw;
  top: -8.3333333333vw;
  right: 0;
  z-index: 1;
}
#numberWrap .container .numberBox.numberBox04 .photoBox figure {
  position: relative;
  z-index: 3;
  width: 87.12%;
}
#numberWrap .container .numberBox.numberBox04 .textBox {
  width: 36.54%;
  margin: max(-150px,-15.6255vw) 0 0 auto;
}
@media (max-width: 1024px) {
  #numberWrap .container .numberBox.numberBox04 .photoBox figure {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  #numberWrap .container .numberBox.numberBox04 .textBox {
    width: 100%;
    margin-top: 30px;
  }
}
#numberWrap .container .numberBox.numberBox05 .numberUnit {
  padding-top: min(50px,5.208vw);
  width: 41.35%;
  padding-right: min(55px,5.7285vw);
  padding-bottom: min(75px,7.812vw);
}
#numberWrap .container .numberBox.numberBox05 .numberUnit figure {
  margin-top: min(90px,9.375vw);
}
#numberWrap .container .numberBox.numberBox05 .numberUnit + .numberUnit {
  padding-left: min(70px,7.2915vw);
  width: 58.37%;
  padding-right: 0;
}
#numberWrap .container .numberBox.numberBox05 .numberUnit + .numberUnit figure {
  margin-top: 30px;
}
#numberWrap .container .numberBox.numberBox05 .numberUnit + .numberUnit .textBox {
  max-width: 450px;
}
@media (max-width: 1024px) {
  #numberWrap .container .numberBox.numberBox05 .numberUnit {
    width: 100%;
    padding-right: 0;
    padding-bottom: 50px;
  }
  #numberWrap .container .numberBox.numberBox05 .numberUnit figure {
    width: 80%;
    margin: 40px auto;
    text-align: center;
  }
  #numberWrap .container .numberBox.numberBox05 .numberUnit + .numberUnit {
    width: 100%;
    padding-left: 0;
    padding-top: min(75px,7.812vw);
  }
  #numberWrap .container .numberBox.numberBox05 .numberUnit + .numberUnit figure {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #numberWrap .container .numberBox.numberBox05 .numberUnit + .numberUnit .textBox {
    margin-top: 30px;
  }
}
#numberWrap .container .numberBox.numberBox06 {
  padding-top: min(75px,7.812vw);
}
#numberWrap .container .numberBox.numberBox06 .numberUnit {
  padding: min(180px,18.75vw) 0 min(210px,21.8745vw);
  position: relative;
}
#numberWrap .container .numberBox.numberBox06 .numberUnit .ttl {
  width: fit-content;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
#numberWrap .container .numberBox.numberBox06 .numberUnit .goal01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 35.77%;
}
#numberWrap .container .numberBox.numberBox06 .numberUnit .goal02 {
  position: absolute;
  top: 45%;
  left: 0;
  width: 26.54%;
}
#numberWrap .container .numberBox.numberBox06 .numberUnit .goal03 {
  position: absolute;
  bottom: 0;
  left: 17.69%;
  width: 28.65%;
}
#numberWrap .container .numberBox.numberBox06 .numberUnit .goal04 {
  position: absolute;
  bottom: 2.0833333333vw;
  right: 31.73%;
  width: 16.25%;
}
#numberWrap .container .numberBox.numberBox06 .numberUnit .goal05 {
  position: absolute;
  top: 0;
  right: 0;
  width: 39.42%;
}
#numberWrap .container .numberBox.numberBox06 .numberUnit .goal06 {
  position: absolute;
  bottom: 2.0833333333vw;
  right: 0;
  width: 26.35%;
}
@media (max-width: 480px) {
  #numberWrap .container .numberBox.numberBox06 .numberUnit {
    padding-top: 0;
  }
  #numberWrap .container .numberBox.numberBox06 .numberUnit .goal01 {
    position: relative;
    margin: 20px auto 0;
    width: 80%;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
  }
  #numberWrap .container .numberBox.numberBox06 .numberUnit .goal02 {
    position: relative;
    margin: 20px auto 0;
    width: 80%;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
  }
  #numberWrap .container .numberBox.numberBox06 .numberUnit .goal03 {
    position: relative;
    margin: 20px auto 0;
    width: 80%;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
  }
  #numberWrap .container .numberBox.numberBox06 .numberUnit .goal04 {
    position: relative;
    margin: 20px auto 0;
    width: 80%;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
  }
  #numberWrap .container .numberBox.numberBox06 .numberUnit .goal05 {
    position: relative;
    margin: 20px auto 0;
    width: 80%;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
  }
  #numberWrap .container .numberBox.numberBox06 .numberUnit .goal06 {
    position: relative;
    margin: 20px auto 0;
    width: 80%;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
  }
}
#numberWrap .container .numberBox + .numberBox {
  border-top: 1px solid #F39600;
}

/*============================================================================
	sdgs
=============================================================================*/
/* CSS Document */
#sdgsDetail {
  padding-bottom: min(500px,52.083vw);
}
#sdgsDetail section {
  margin-left: 3.75%;
  position: relative;
}
#sdgsDetail section .photoBox {
  width: 38%;
  position: relative;
  z-index: 5;
  margin-right: -13%;
  margin-top: min(90px,9.375vw);
}
#sdgsDetail section .photoBox picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
  max-height: 670px;
}
#sdgsDetail section .photoBox picture::before {
  content: "";
  padding-top: 127.32%;
  display: block;
}
#sdgsDetail section .photoBox picture img, #sdgsDetail section .photoBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#sdgsDetail section .descBox {
  background: #F7F3E4;
  width: 75.08%;
  padding-left: 18.7%;
  padding-top: min(197px,20.5215vw);
  padding-right: min(140px,14.583vw);
  padding-bottom: min(197px,20.5215vw);
  position: relative;
}
#sdgsDetail section .descBox h3 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  display: block;
}
#sdgsDetail section .descBox .textBox {
  margin-top: min(80px,8.334vw);
}
#sdgsDetail section .descBox .textBox p {
  font-size: clamp(14px, 3.75vw, 18px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
#sdgsDetail section .descBox .textBox p + p {
  margin-top: 2em;
}
#sdgsDetail section .descBox .sdgsIcon {
  position: absolute;
  right: 9.7222222222vw;
  top: -4.5138888889vw;
  z-index: 5;
}
#sdgsDetail section .descBox .sdgsIcon figure {
  width: 130px;
  height: 130px;
}
#sdgsDetail section .descBox .sdgsIcon figure + figure {
  margin-left: 25px;
}
#sdgsDetail section .figUnit {
  position: absolute;
  left: 8.19%;
  bottom: -35%;
  width: 43.33%;
  z-index: 5;
}
#sdgsDetail section .figUnit picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
  max-width: 600px;
  max-height: 502px;
}
#sdgsDetail section .figUnit picture::before {
  content: "";
  padding-top: 80.448%;
  display: block;
}
#sdgsDetail section .figUnit picture img, #sdgsDetail section .figUnit picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#sdgsDetail section + section {
  margin-top: 80px;
  margin-left: 0;
}
#sdgsDetail section + section .photoBox {
  width: 42%;
  margin-right: 0;
  margin-left: -11.8%;
  margin-top: 0;
  position: relative;
}
#sdgsDetail section + section .photoBox picture {
  width: 92.29%;
  margin: 0 0 0 auto;
  max-height: 671px;
}
#sdgsDetail section + section .photoBox picture::before {
  padding-top: 127.32%;
}
#sdgsDetail section + section .photoBox .fig {
  width: 91.59%;
  margin-right: auto;
  margin-left: 0;
  padding-top: min(135px,14.0625vw);
  max-height: 421px;
  position: relative;
}
#sdgsDetail section + section .photoBox .fig picture {
  width: 100%;
}
#sdgsDetail section + section .photoBox .fig picture::before {
  padding-top: 80.497%;
}
#sdgsDetail section + section .photoBox .fig::before {
  content: "";
  position: absolute;
  background: url("../img/sdgs/icon_sdgs08.png") no-repeat center center/contain;
  width: 130px;
  height: 130px;
  right: 6.3888888889vw;
  top: 3.8888888889vw;
  z-index: 3;
}
#sdgsDetail section + section .descBox {
  height: fit-content;
  padding-left: 12.7%;
  padding-bottom: min(140px,14.583vw);
  margin-top: min(235px,24.4785vw);
}
#sdgsDetail section + section .descBox .textBox {
  max-width: 643px;
}
@media (max-width: 1024px) {
  #sdgsDetail section .descBox {
    width: 90%;
    padding-left: 12.7%;
    padding-top: 100px;
  }
  #sdgsDetail section .descBox .sdgsIcon figure {
    width: 100px;
    height: 100px;
  }
  #sdgsDetail section .descBox .textBox {
    margin-top: 40px;
  }
  #sdgsDetail section .figUnit {
    width: 50%;
    bottom: auto;
    top: 95%;
  }
  #sdgsDetail section .photoBox {
    width: 50%;
    margin-bottom: -20px;
  }
  #sdgsDetail section + section .descBox {
    padding-left: 5%;
    padding-right: 5%;
  }
  #sdgsDetail section + section .photoBox {
    margin-left: auto;
    margin-top: -40px;
    width: 70%;
    flex-direction: row-reverse;
    display: flex;
  }
  #sdgsDetail section + section .photoBox picture + picture {
    margin-right: 20px;
  }
  #sdgsDetail section + section .photoBox .fig {
    margin-right: 20px;
  }
  #sdgsDetail section + section .photoBox .fig::before {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 480px) {
  #sdgsDetail section {
    margin: 0;
  }
  #sdgsDetail section .descBox {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
  #sdgsDetail section .descBox .sdgsIcon {
    top: -40px;
    right: 5%;
  }
  #sdgsDetail section .descBox .sdgsIcon figure {
    width: 80px;
    height: 80px;
  }
  #sdgsDetail section .descBox .textBox {
    margin-top: 25px;
  }
  #sdgsDetail section .descBox .textBox p {
    line-height: 1.8;
  }
  #sdgsDetail section .descBox .textBox p + p {
    margin-top: 1em;
  }
  #sdgsDetail section .figUnit {
    width: 50%;
  }
  #sdgsDetail section .photoBox {
    width: 60%;
    margin-bottom: -20px;
  }
  #sdgsDetail section + section .descBox {
    padding-left: 5%;
    padding-right: 5%;
  }
  #sdgsDetail section + section .photoBox {
    margin-left: auto;
    margin-top: -40px;
    width: 85%;
  }
  #sdgsDetail section + section .photoBox picture + picture {
    margin-right: 20px;
  }
  #sdgsDetail section + section .photoBox .fig {
    margin-right: 20px;
    padding-top: 100px;
  }
  #sdgsDetail section + section .photoBox .fig::before {
    width: 80px;
    height: 80px;
    top: 0;
  }
}

/*============================================================================
	feature
=============================================================================*/
#featureIntro h2 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#featureIntro .descBox figure {
  width: 80%;
  max-width: 775px;
  margin: 40px auto 0;
  position: relative;
  overflow: hidden;
  display: block;
}
#featureIntro .descBox figure::before {
  content: "";
  padding-top: 66.1%;
  display: block;
}
#featureIntro .descBox figure img, #featureIntro .descBox figure source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#featureIntro .descBox figure.sport {
  max-width: 983px;
}
#featureIntro .descBox figure.sport::before {
  padding-top: 50.762%;
}
#featureIntro .descBox figure.sns {
  max-width: 852px;
}
#featureIntro .descBox figure.sns::before {
  padding-top: 58.33%;
}
#featureIntro .descBox .textBox {
  width: 64.1%;
  max-width: 923px;
  margin: 70px auto 0;
  text-align: center;
}
#featureIntro .descBox .textBox p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.06em;
  font-weight: 500;
}
@media (max-width: 1024px) {
  #featureIntro .descBox .textBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media (max-width: 480px) {
  #featureIntro .descBox figure {
    width: 80%;
  }
  #featureIntro .descBox .textBox {
    width: 90%;
    margin-top: 30px;
  }
}

#featureDeatil {
  padding: 143px 0 370px;
}
#featureDeatil .featureDeatilWrap {
  padding: 95px 0 143px;
  position: relative;
}
#featureDeatil .featureDeatilWrap::before {
  content: "";
  position: absolute;
  background: #F7F3E4;
  width: 85.2%;
  max-width: 1048px;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}
#featureDeatil .featureDeatilWrap section .photoBox {
  width: 47.24%;
}
#featureDeatil .featureDeatilWrap section .photoBox picture {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: block;
}
#featureDeatil .featureDeatilWrap section .photoBox picture::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#featureDeatil .featureDeatilWrap section .photoBox picture img, #featureDeatil .featureDeatilWrap section .photoBox picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 30px;
}
#featureDeatil .featureDeatilWrap section .descBox {
  width: 59.27%;
  max-width: 729px;
  margin-left: max(-80px,-8.334vw);
  position: relative;
  z-index: 3;
}
#featureDeatil .featureDeatilWrap section .descBox .lead {
  margin-left: min(148px,15.417vw);
}
#featureDeatil .featureDeatilWrap section .descBox .lead span {
  display: block;
}
#featureDeatil .featureDeatilWrap section .descBox .lead span.en {
  font-size: clamp(14px, 3.75vw, 18px);
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #D74D49;
}
#featureDeatil .featureDeatilWrap section .descBox .lead span.jp {
  margin-top: 0.5em;
  font-size: clamp(14.4px, 5.5vw, 36px);
  font-weight: 700;
  line-height: 1.5277777778;
  letter-spacing: 0.06em;
}
#featureDeatil .featureDeatilWrap section .descBox .textBox {
  margin-top: min(50px,5.208vw);
  background: #fff;
  border-radius: 27px;
  padding: min(75px,7.812vw) min(50px,5.208vw) min(50px,5.208vw);
}
#featureDeatil .featureDeatilWrap section .descBox .textBox p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.06em;
  font-weight: 500;
}
#featureDeatil .featureDeatilWrap section .descBox .textBox p + p {
  margin-top: 1.25em;
}
#featureDeatil .featureDeatilWrap section:nth-child(2n) .descBox {
  margin-right: max(-80px,-8.334vw);
  margin-left: 0;
}
#featureDeatil .featureDeatilWrap section:nth-child(2n) .descBox .lead {
  margin-left: min(50px,5.208vw);
}
#featureDeatil .featureDeatilWrap section + section {
  margin-top: min(130px,13.542vw);
}
#featureDeatil .featureLead {
  margin: 130px auto 0;
}
#featureDeatil .featureLead .text {
  font-size: clamp(14px, 5.1942vw, 34px);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  background-size: 800% 800%;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(45deg, #72A674, #f5cd0b, #e89328, #bd4139, #ea7d08, #fbf8ef);
  /* Animation */
  -webkit-animation: gradientAnimation infinite ease-in-out;
  -moz-animation: gradientAnimation infinite ease-in-out;
  animation: gradientAnimation infinite ease-in-out;
  /* Animation duration */
  -webkit-animation-duration: 10s;
  -moz-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-background-clip: text;
}
#featureDeatil .featureLead figure {
  width: 47.32%;
  max-width: 582px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  #featureDeatil .featureDeatilWrap::before {
    width: 95%;
  }
  #featureDeatil .featureDeatilWrap section {
    flex-direction: column;
    width: 100%;
  }
  #featureDeatil .featureDeatilWrap section .descBox {
    margin: 40px 0 0 auto;
    width: 90%;
    max-width: 100%;
  }
  #featureDeatil .featureDeatilWrap section .descBox .lead {
    margin-left: 0;
  }
  #featureDeatil .featureDeatilWrap section .descBox .textBox {
    margin-top: 30px;
  }
  #featureDeatil .featureDeatilWrap section .descBox .textBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #featureDeatil .featureDeatilWrap section:nth-child(2n) {
    flex-direction: column-reverse;
  }
  #featureDeatil .featureDeatilWrap section:nth-child(2n) .descBox {
    margin: 40px 0 0 auto;
    width: 90%;
    max-width: 100%;
  }
  #featureDeatil .featureDeatilWrap section:nth-child(2n) .descBox .lead {
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  #featureDeatil {
    padding: 100px 0 120px;
  }
  #featureDeatil .featureDeatilWrap {
    padding: 80px 0 100px;
    width: 100%;
  }
  #featureDeatil .featureDeatilWrap::before {
    width: 100%;
  }
  #featureDeatil .featureDeatilWrap section .descBox {
    width: 85%;
    margin: 30px auto 0;
  }
  #featureDeatil .featureDeatilWrap section .photoBox {
    width: 90%;
    margin: 0 auto;
  }
  #featureDeatil .featureDeatilWrap section:nth-child(2n) .photoBox {
    margin: 0 auto;
  }
  #featureDeatil .featureDeatilWrap section:nth-child(2n) .descBox {
    margin: 30px auto 0;
    width: 85%;
  }
  #featureDeatil .featureDeatilWrap section:nth-child(2n) .descBox .lead {
    margin-left: 0;
  }
  #featureDeatil .featureDeatilWrap section + section {
    margin-top: 60px;
  }
  #featureDeatil .featureLead {
    margin-top: 80px;
    width: 95%;
  }
  #featureDeatil .featureLead figure {
    width: 80%;
  }
}

@keyframes gradientAnimation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@media (max-width: 480px) {
  #featureIntro.sns .descBox figure {
    margin-top: 0;
  }
}
#featureSportArea {
  padding: min(120px,12.4995vw) 0 min(180px,18.75vw);
}
#featureSportArea section {
  max-width: 900px;
  margin: 0 auto;
}
#featureSportArea section + section {
  margin-top: min(100px,10.416vw);
}
@media (max-width: 480px) {
  #featureSportArea section + section {
    margin-top: 70px;
  }
}
#featureSportArea h3 {
  border-bottom: solid 3px #F39600;
  font-size: clamp(14px, 5.832vw, 28px);
  display: flex;
  align-items: center;
  margin-bottom: 35px;
  line-height: 1;
  padding-bottom: 8px;
}
#featureSportArea h3 span {
  display: block;
  width: 40px;
  margin-right: 20px;
}
@media (max-width: 480px) {
  #featureSportArea h3 span {
    width: 30px;
    margin-right: 15px;
  }
}
#featureSportArea dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#featureSportArea dl dt {
  font-weight: 700;
  font-size: 1.8rem;
  width: 25%;
  padding: 0 1em;
  text-align: center;
}
#featureSportArea dl dt.bleague img {
  max-width: 150px;
}
#featureSportArea dl dd {
  width: 72%;
}
#featureSportArea dl dd p {
  margin-bottom: 5px;
}
#featureSportArea dl dd a {
  position: relative;
}
#featureSportArea dl dd a::after {
  content: "";
  position: absolute;
  bottom: 0.1em;
  right: -35px;
  display: block;
  width: 22px;
  height: 22px;
  background: url(../img/common/jump.svg) no-repeat center center/contain;
}
#featureSportArea dl.club dd {
  width: 46%;
}
#featureSportArea dl.club dd figure {
  margin-bottom: 1em;
}
@media (max-width: 480px) {
  #featureSportArea dl {
    flex-direction: column;
  }
  #featureSportArea dl dt {
    width: 80%;
    margin-bottom: 25px;
  }
  #featureSportArea dl dd {
    width: 100%;
  }
  #featureSportArea dl dd a {
    padding-right: 30px;
  }
  #featureSportArea dl dd a::after {
    width: 18px;
    height: 18px;
    right: 0;
  }
  #featureSportArea dl.club dd {
    width: 100%;
  }
  #featureSportArea dl.club dd figure {
    padding: 0 1em;
  }
  #featureSportArea dl.club dd + dd {
    margin-top: 40px;
  }
}

#snsArea {
  padding: min(120px,12.4995vw) 0 min(180px,18.75vw);
}
#snsArea section {
  /*max-width: 900px;
  margin: 0 auto;*/
}
#snsArea section + section {
  margin-top: min(100px,10.416vw);
}
#snsArea h3 {
  border-bottom: solid 3px #F39600;
  font-size: clamp(14px, 5.832vw, 28px);
  display: flex;
  align-items: center;
  margin-bottom: 25px;
  line-height: 1;
  padding-bottom: 8px;
}
#snsArea h3 span {
  display: block;
  width: 40px;
  margin-right: 20px;
}
@media (max-width: 480px) {
  #snsArea h3 span {
    width: 30px;
    margin-right: 15px;
  }
}
#snsArea dl {
  display: flex;
}
#snsArea dl + dl {
  margin-top: 8px;
}
#snsArea dl dt {
  font-weight: 700;
  font-size: 1.8rem;
  width: 25%;
  padding: 0 1em;
}
#snsArea dl dd {
  width: 75%;
}
#snsArea dl dd > a {
  position: relative;
}
#snsArea dl dd > a::after {
  content: "";
  position: absolute;
  bottom: 0.1em;
  right: -35px;
  display: block;
  width: 22px;
  height: 22px;
  background: url(../img/common/jump.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #snsArea dl {
    flex-direction: column;
  }
  #snsArea dl dt, #snsArea dl dd {
    width: 100%;
  }
  #snsArea dl dt {
    padding: 0;
    margin-bottom: 5px;
  }
  #snsArea dl dd > a {
    padding-right: 30px;
  }
  #snsArea dl dd > a::after {
    width: 18px;
    height: 18px;
    right: 0;
  }
}
#snsArea .fbBlock .fb-page,
#snsArea .fbBlock .fb-page span,
#snsArea .fbBlock iframe {
  width: 100% !important;
}
#snsArea .youtubeBlock ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0 30px;
}
#snsArea .youtubeBlock ul li .youtube-box {
  position: relative;
  overflow: hidden;
  width: 100%;
  display: block;
  padding-top: 56.25%;
  border-radius: 10px;
}
#snsArea .youtubeBlock ul li .youtube-box iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#snsArea .youtubeBlock ul li .movie-ttl {
  margin-top: 5px;
}
@media (max-width: 480px) {
  #snsArea .youtubeBlock ul {
    grid-template-columns: 1fr;
  }
  #snsArea .youtubeBlock ul li + li {
    margin-top: 30px;
  }
}

/*============================================================================
	kaigo
=============================================================================*/
#kaigoFlow h2 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  text-align: center;
}
#kaigoFlow .descBox {
  margin: 110px auto 0;
  width: 80%;
}
#kaigoFlow .descBox ul.timeLine {
  width: fit-content;
  position: relative;
  margin: 0 auto;
}
#kaigoFlow .descBox ul.timeLine li {
  margin: 0;
  position: relative;
  padding-left: 0.5em;
}
#kaigoFlow .descBox ul.timeLine li .content {
  width: 100%;
  padding-left: 56px;
  padding-bottom: 70px;
}
#kaigoFlow .descBox ul.timeLine li .content p.number {
  content: "";
  position: absolute;
  background: #fff;
  left: -14px;
  top: -7px;
  border-radius: 100%;
  width: 50px;
  height: 50px;
  border: 4px solid #F39600;
  color: #F39600;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
#kaigoFlow .descBox ul.timeLine li .content::after {
  content: "";
  position: absolute;
  border-left: 2px dotted #F39600;
  top: 0;
  left: 10px;
  height: 100%;
  width: 1px;
  z-index: 1;
}
#kaigoFlow .descBox ul.timeLine li .content h3 {
  margin-top: -10px;
  font-size: 2.7rem;
  color: #F39600;
  font-weight: 700;
  letter-spacing: 0.15em;
}
#kaigoFlow .descBox ul.timeLine li .content p.text {
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.02em;
  font-weight: 500;
  margin-top: 0.5em;
  max-width: 716px;
}
#kaigoFlow .descBox ul.timeLine li:last-child .content {
  padding-bottom: 0;
}
#kaigoFlow .descBox ul.timeLine li:last-child .content::after {
  display: none;
}
@media (max-width: 1024px) {
  #kaigoFlow .descBox ul.timeLine li .content p.number {
    font-size: 2rem;
  }
  #kaigoFlow .descBox ul.timeLine li .content h3 {
    font-size: 2.4rem;
  }
  #kaigoFlow .descBox ul.timeLine li .content p.text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media (max-width: 480px) {
  #kaigoFlow .descBox {
    margin-top: 60px;
  }
  #kaigoFlow .descBox ul.timeLine li .content {
    padding-left: 40px;
    padding-bottom: 50px;
  }
  #kaigoFlow .descBox ul.timeLine li .content p.number {
    width: 40px;
    height: 40px;
    left: -9px;
    top: -3px;
  }
}

#kaigoService {
  margin-top: 190px;
}
#kaigoService h2 {
  font-size: clamp(14.4px, 5.5vw, 36px);
  text-align: center;
}
#kaigoService .targetBox {
  justify-content: center;
  margin-top: 100px;
}
#kaigoService .targetBox .descBox {
  width: 46.67%;
  border-radius: 13px;
  background: #F7F3E4;
  padding: min(35px,3.6465vw) min(50px,5.208vw) min(45px,4.6875vw);
}
#kaigoService .targetBox .descBox p.lead {
  text-align: center;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  letter-spacing: 0.15em;
}
#kaigoService .targetBox .descBox .textBox {
  background: #fff;
  border-radius: 13px;
  padding: min(40px,4.167vw);
  margin-top: min(35px,3.6465vw);
}
#kaigoService .targetBox .descBox + .descBox {
  margin: 0 0 0 3.25%;
}
#kaigoService .diseaseList {
  border-radius: 13px;
  border: 1px solid #F39600;
  width: 96.59%;
  max-width: 1188px;
  margin: 35px auto 0;
  padding: min(50px,5.208vw) min(50px,5.208vw) min(60px,6.2505vw);
}
#kaigoService .diseaseList p.lead {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
}
#kaigoService .diseaseList .textBox {
  margin-top: 25px;
}
#kaigoService .diseaseList .textBox p {
  font-size: 1.8rem;
  line-height: 1.7777777778;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 1024px) {
  #kaigoService .diseaseList .textBox {
    margin-top: 15px;
  }
  #kaigoService .diseaseList .textBox p {
    font-size: 1.6rem;
  }
}
@media (max-width: 480px) {
  #kaigoService {
    margin-top: 80px;
  }
  #kaigoService .targetBox {
    margin-top: 40px;
  }
  #kaigoService .targetBox .descBox {
    width: 100%;
    margin: 0 auto;
  }
  #kaigoService .targetBox .descBox + .descBox {
    margin: 20px auto 0;
  }
  #kaigoService .diseaseList {
    width: 100%;
  }
}

.kaigoContactBox {
  margin: 190px auto 300px;
  background: #F39600;
  padding: min(70px,7.2915vw) min(70px,7.2915vw) min(80px,8.334vw);
}
.kaigoContactBox .descBox {
  background: #fff;
  border-radius: 13px;
  padding: min(80px,8.334vw);
  align-items: center;
  justify-content: center;
}
.kaigoContactBox .descBox .textBox p.lead {
  text-align: center;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.8888888889;
  position: relative;
  padding-bottom: 20px;
}
.kaigoContactBox .descBox .textBox p.lead::before {
  content: "";
  position: absolute;
  background: #F39600;
  height: 1px;
  width: 60px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
.kaigoContactBox .descBox .textBox .number {
  padding-top: 10px;
}
.kaigoContactBox .descBox .textBox .number p.tel {
  font-size: clamp(21.6px, 5.625vw, 54px);
  letter-spacing: 0.07em;
  font-weight: 700;
  text-align: center;
}
.kaigoContactBox .descBox .textBox .number p.time {
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  font-weight: 700;
  text-align: center;
}
.kaigoContactBox .descBox .linkBox {
  width: 50%;
  max-width: 348px;
  margin: 0 0 0 9.21%;
}
.kaigoContactBox .descBox .linkBox p.moreBtn {
  max-width: 348px;
  width: 100%;
}
.kaigoContactBox .descBox .linkBox p.moreBtn + p.moreBtn {
  margin-top: 40px;
}
@media (max-width: 1230px) {
  .kaigoContactBox .descBox .textBox p.lead {
    font-size: 2.2rem;
  }
  .kaigoContactBox .descBox .textBox .number p.tel {
    font-size: 4rem;
  }
}
@media (max-width: 1024px) {
  .kaigoContactBox {
    margin: 100px auto 120px;
  }
  .kaigoContactBox .descBox .textBox .number p.time {
    font-size: 1.6rem;
  }
  .kaigoContactBox .descBox .linkBox {
    margin: min(60px,6.2505vw) auto 0;
    width: 100%;
  }
  .kaigoContactBox .descBox .linkBox p.moreBtn + p.moreBtn {
    margin-top: 20px;
  }
}
@media (max-width: 480px) {
  .kaigoContactBox {
    width: 100%;
  }
  .kaigoContactBox .descBox .textBox p.lead {
    font-size: 2rem;
    line-height: 1.6;
  }
  .kaigoContactBox .descBox .textBox .number p.tel {
    font-size: 3.2rem;
  }
}

/*============================================================================
	rules
=============================================================================*/
#rulesWrap {
  padding: min(80px,8.334vw) 0 min(200px,20.8335vw);
}
#rulesWrap .descBox {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}
#rulesWrap .descBox p.lead {
  margin-bottom: 1em;
  font-weight: 700;
  font-size: 1.8rem;
}
#rulesWrap .descBox p.link {
  padding-left: 1em;
  display: flex;
  align-items: center;
}
#rulesWrap .descBox p.link a img {
  width: 50px;
}
#rulesWrap .descBox p.link a:hover {
  opacity: 0.5;
}
#rulesWrap .descBox table {
  width: 100%;
  border-collapse: collapse;
}
#rulesWrap .descBox table tbody {
  border: 1px solid #F39600;
}
#rulesWrap .descBox table tbody tr th {
  padding: 1em 0;
  color: #fff;
  background: #F39600;
}
#rulesWrap .descBox table tbody tr th:not(:first-child) {
  border-left: 1px solid #fff;
}
#rulesWrap .descBox table tbody tr td {
  padding: 1em;
  border-bottom: 1px solid #F39600;
  border-left: 1px solid #F39600;
}
#rulesWrap .descBox table tbody tr td.pdf {
  padding: 0;
}
#rulesWrap .descBox table tbody tr td.pdf a {
  padding: 1em;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
}
#rulesWrap .descBox table tbody tr td.pdf a:hover {
  opacity: 0.5;
}
#rulesWrap .descBox + .descBox {
  margin-top: min(60px,6.2505vw);
}

/*============================================================================
	contents navigation
=============================================================================*/
/*------------------------------------------------
	cNaviWrap
------------------------------------------------*/
.cNaviWrap {
  margin: min(140px,14.583vw) 0 0;
  padding: min(105px,10.938vw) 0;
  background: #FCFBF7;
}
.cNaviWrap .innerBox {
  margin: auto;
  width: 85%;
  max-width: 1100px;
}
.cNaviWrap .innerBox .moreBtn {
  margin: 0 8% min(40px,4.167vw) 0;
  width: 46%;
  height: 130px;
  max-width: 500px;
}
.cNaviWrap .innerBox .moreBtn a {
  color: rgba(0, 0, 0, 0.8);
  height: 130px;
  border-radius: 65px;
  line-height: normal;
  background: #FFFFFF;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
}
.cNaviWrap .innerBox .moreBtn a span {
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(14px, 5.625vw, 27px);
  font-weight: 400;
  letter-spacing: 0.06em;
}
.cNaviWrap .innerBox .moreBtn a small {
  font-size: clamp(14px, 2vw, 17px);
  font-weight: 700;
  letter-spacing: 0.06em;
  display: block;
}
.cNaviWrap .innerBox .moreBtn:nth-of-type(2n) {
  margin-right: 0;
}
@media (max-width: 480px) {
  .cNaviWrap .innerBox .moreBtn {
    margin: 0 0 20px 0;
    width: 100%;
    height: 80px;
  }
  .cNaviWrap .innerBox .moreBtn a {
    padding: 0 35px;
    height: 80px;
  }
  .cNaviWrap .innerBox .moreBtn a span {
    font-size: 1.8rem;
  }
}