@charset "utf-8";

/* #mainVisual設定
--------------------------------------------------------------------------*/
#main {padding-top: 120px; background-color: #FCFCFC;}
#mainVisual {position: relative; top: 0; left: 50%; transform: translateX(-50%); width: calc(100% - 80px); height: 400px; border-radius: 40px;}
#mainVisual::before, #mainVisual::after {content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: inherit; border-radius: 40px; overflow: hidden;}
#mainVisual::before {background: center / cover no-repeat; filter: blur(2px);}
#mainVisual::after {background-color: rgba(0,0,0,0.35);}
#mainVisual h1 {position: relative; top: 50%; transform: translateY(-50%); z-index: 2; width: 100%; height: 135px; text-align: center;}
#mainVisual h1 span {position: relative; display: inline-block; color: #FFF; font-size: 70px;}
#mainVisual h1 span::before {content: ''; position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); display: block; width: 280px; height: 10px; background: center / cover no-repeat; background-image: url("images/common/bg-subtitle-wh.svg");}
#mainVisual h1 small {position: relative; bottom: -40px; display: block; color: #FFF; font-size: 20px; font-weight: 700;}
@media (max-width: 1229px) {
  #main {padding-top: 80px;}
  #mainVisual {width: calc(100% - 30px); border-radius: 30px;}
  #mainVisual::before, #mainVisual::after {border-radius: 30px;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #mainVisual {height: 300px;}
  #mainVisual h1 {height: 110px;}
  #mainVisual h1 span {font-size: 60px;}
  #mainVisual h1 span::before {bottom: -15px; width: 240px; height: 8px;}
  #mainVisual h1 small {bottom: -30px; font-size: 18px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #mainVisual {height: 250px;}
  #mainVisual h1 {height: 95px;}
  #mainVisual h1 span {font-size: 50px;}
  #mainVisual h1 span::before {bottom: -13px; width: 200px; height: 6px;}
  #mainVisual h1 small {bottom: -26px; font-size: 16px;}
}
@media (max-width: 767px) {
  #main {padding-top: 70px;}
  #mainVisual {height: 200px;}
  #mainVisual h1 {height: 75px;}
  #mainVisual h1 span {font-size: 40px;}
  #mainVisual h1 span::before {bottom: -10px; width: 160px; height: 5px;}
  #mainVisual h1 small {bottom: -20px; font-size: 14px;}
}

/* 共通設定
--------------------------------------------------------------------------*/
.secArea {padding: 60px 0;}
h2.secTitle {position: relative; width: 100%; height: 214px; margin-bottom: 60px; padding: 75px 0 0 80px; overflow: hidden;}
h2.secTitle::before, h2.secTitle::after {content: ''; position: absolute; display: block; background: center / cover no-repeat;}
h2.secTitle::before {top: 0; left: 0; width: 280px; height: 214px; background-image: url("images/common/bg-secTitle-bk-280x214.svg");}
h2.secTitle::after {top: 125px; left: 165px; width: 1200px; height: 20px; background-image: url("images/common/bg-secTitle-bk-1200x20.svg");}
h2.secTitle span {position: relative; display: inline-block; padding-left: 80px; font-size: 40px;}
h2.secTitle span b {position: absolute; bottom: -35px; left: 0; z-index: 1; font-size: 80px;}
@media (max-width: 1229px) and (min-width: 992px) {
  .secArea {padding: 50px 0;}
  h2.secTitle {height: 172px; margin-bottom: 50px; padding: 60px 0 0 64px;}
  h2.secTitle::before {width: 224px; height: 172px;}
  h2.secTitle::after {top: 98px; left: 130px; width: 1080px; height: 18px;}
  h2.secTitle span {padding-left: 64px; font-size: 32px;}
  h2.secTitle span b {bottom: -28px; font-size: 64px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  .secArea {padding: 40px 0;}
  h2.secTitle {height: 150px; margin-bottom: 40px; padding: 53px 0 0 56px;}
  h2.secTitle::before {width: 196px; height: 150px;}
  h2.secTitle::after {top: 86px; left: 115px; width: 960px; height: 16px;}
  h2.secTitle span {padding-left: 56px; font-size: 28px;}
  h2.secTitle span b {bottom: -24px; font-size: 56px;}
}
@media (max-width: 767px) {
  .secArea {padding: 30px 0;}
  h2.secTitle {height: 129px; margin-bottom: 30px; padding: 48px 0 0 22px;}
  h2.secTitle::before {width: 168px; height: 129px;}
  h2.secTitle::after {top: 73px; left: 70px; width: 840px; height: 14px; border-radius: 30px;}
  h2.secTitle span {margin-top: -5px; padding: 5px 0 0 48px; background-color: #FFF; font-size: 22px;}
  h2.secTitle span b {bottom: -22px; font-size: 48px;}
}
@media (max-width: 370px) {
  h2.secTitle {height: 107px; padding: 40px 0 0 20px;}
  h2.secTitle::before {width: 140px; height: 107px;}
  h2.secTitle::after {top: 62px; left: 62px; width: 600px; height: 10px;}
  h2.secTitle span {padding-left: 40px; font-size: 18px;}
  h2.secTitle span b {bottom: -18px; font-size: 40px;}
}

/* .tableScroll設定
--------------------------------------------------------------------------*/
.tableScroll {padding: 60px; background-color: rgba(255,255,255,0.85); border-radius: 30px; filter: drop-shadow(4px 6px 12px rgba(0,0,0,0.1));}
.tableScroll table {width: 100%; border-collapse: collapse; border-spacing: 0;}
.tableScroll table caption {width: 100%; padding: 0 0 20px; font-size: 22px; font-weight: 500; line-height: 1.6;}
.tableScroll table tbody {border-top: solid 1px #CCC;}
.tableScroll table tbody tr {border-bottom: solid 1px #CCC;}
.tableScroll table tbody tr th {width: 25%; padding: 20px 40px; font-weight: 700; line-height: 1.6; vertical-align: middle;}
.tableScroll table tbody tr td {width: 75%; padding: 20px 40px 20px 0; line-height: 1.6; vertical-align: middle;}
.tableScroll table tbody tr td span {display: inline-block;}
.tableScroll table tbody tr td dl dt {position: relative; margin-top: 15px; font-weight: 500; line-height: 1.6;}
.tableScroll table tbody tr td dl dt::before {content: '●'; color: #F0D34A;}
.tableScroll table tbody tr td dl dt:first-of-type {margin-top: 0;}
.tableScroll table tbody tr td dl dd {line-height: 1.6;}
.tableScroll table tbody tr td ul {flex-direction: column; gap: 0.75em;}
.tableScroll table tbody tr td ul.listStyle li {position: relative; padding-left: 16px;}
.tableScroll table tbody tr td ul.listStyle li::before {content: '・';}
@media (max-width: 1229px) {
  .tableScroll table tbody tr td ul.listStyle li {padding-left: 14px;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  .tableScroll {padding: 50px; border-radius: 25px;}
  .tableScroll table caption {padding: 0 0 15px; font-size: 20px;}
  .tableScroll table tbody tr th {padding: 15px 35px;}
  .tableScroll table tbody tr td {padding: 15px 35px 15px 0;}
}
@media (max-width: 991px) and (min-width: 768px) {
  .tableScroll {padding: 40px; border-radius: 20px;}
  .tableScroll table caption {padding: 0 0 12px; font-size: 18px;}
  .tableScroll table tbody tr th {padding: 12px 0;}
  .tableScroll table tbody tr td {padding: 12px 30px 12px 0;}
}
@media (max-width: 767px) {
  .tableScroll {position: relative; padding: 15px; border-radius: 15px; overflow-x: auto; white-space: nowrap;}
  .tableScroll table caption {padding: 0 0 25px; font-size: 16px; text-align: left;}
  .tableScroll table tbody tr th {padding: 15px 30px;}
  .tableScroll table tbody tr td {padding: 15px 30px 15px 0;}
  .tableScroll .scroll-hint-icon {top: 40px;}
}

/* #secForm設定
--------------------------------------------------------------------------*/
#secForm {margin-top: 30px;}
#secForm h3 {display: none;}
#secForm form {padding: 60px; background-color: #FFF; border-radius: 40px; filter: drop-shadow(4px 6px 12px rgba(0,0,0,0.05));}
#secForm form dl:not(:first-of-type) {margin-top: 30px;}
#secForm form dl dt {width: 250px;}
#secForm form dl dt {padding: 0; font-weight: 500;}
/* #secForm form dl dt p {padding: 0; font-weight: 500;} */
#secForm form dl dt span.cf7Must {color: #E7654B; font-size: 80%;}
/* #secForm form dl dt p span.cf7Must {color: #E7654B; font-size: 80%;} */
#secForm form dl dd {width: 500px;}
#secForm form dl dd {padding: 0;}
/* #secForm form dl dd p {padding: 0;} */
#secForm form dl dd span input {width: 100%; padding: 5px; border: solid 1px #CCC; font-size: 80%;}
/* #secForm form dl dd p span input {width: 100%; padding: 5px; border: solid 1px #CCC; font-size: 80%;} */
#secForm form dl dd.image-100 span input {border: none;}
/* #secForm form dl dd.image-100 p span input {border: none;} */
#secForm form dl dd span select {padding: 4px; border: solid 1px #CCC; font-size: 80%;}
/* #secForm form dl dd p span select {padding: 4px; border: solid 1px #CCC; font-size: 80%;} */
#secForm form dl dd.cf7Image span input {border: none;}
/* #secForm form dl dd.cf7Image p span input {border: none;} */
#secForm form dl dd span.wpcf7-list-item {display: inline-block; margin: 0; padding-right: 30px;}
/* #secForm form dl dd p span.wpcf7-list-item {display: inline-block; margin: 0; padding-right: 30px;} */
#secForm form dl dd span.wpcf7-list-item input {width: auto; margin-right: 3px;}
/* #secForm form dl dd p span.wpcf7-list-item input {width: auto; margin-right: 3px;} */
#secForm form dl dd span.wpcf7-not-valid-tip {display: block; color: #E7654B; font-size: 80%;}
/* #secForm form dl dd p span.wpcf7-not-valid-tip {display: block; color: #E7654B; font-size: 80%;} */
#secForm form dl dd span textarea {width: 100%; height: 100px; padding: 5px; border: solid 1px #CCC; font-size: 80%;}
/* #secForm form dl dd p span textarea {width: 100%; height: 100px; padding: 5px; border: solid 1px #CCC; font-size: 80%;} */
#secForm form p.cf7Btn > span {position: relative; display: block; width: 200px; margin: 0 auto;}
#secForm form p.cf7Btn > span:hover {opacity: 0.8;}
#secForm form p.cf7Btn > span input {display: inline-block; width: inherit; padding: 13px; background-color: #E7654B; border-radius: 60px; color: #FFF; text-align: center; cursor: pointer;}
#secForm form p.cf7Btn > span span.wpcf7-spinner {position: absolute; top: 50%; transform: translateY(-50%); margin: 0 0 0 15px;}
#secForm form p.cf7Btn > span a {display: block; width: 200px; margin: 0 auto; padding: 13px; background-color: #E7654B; border-radius: 60px; color: #FFF; text-align: center; cursor: pointer;}
#secForm form .wpcf7-response-output {margin: 15px 0 0; padding: 0.2em; font-size: 80%; line-height: 2; text-align: center;}
#secForm .textArea {align-items: center; gap: 0;}
#secForm .textArea p.textRecap {width: 260px; height: 60px; padding: 10px 5px 0 80px; background: center / cover no-repeat; background-image: url('images/sub/recaptcha-v3.webp'); border-radius: 4px; box-shadow: 0 0 6px grey; color: #FFF; font-size: 75%; line-height: 1.6;}
#secForm .textArea p.textRecap a {color: #FFF; font-size: 75%; text-decoration: underline; text-underline-offset: 0.3em;}
#secForm .textArea p.textDetail {width: calc(100% - 260px); padding: 0 0 0 30px; line-height: 1.4;}
#secPripoli {width: 100%; height: 250px; margin-top: 30px; padding: 30px 30px 15px; background-color: #FFF; border: solid 1px #CCC; overflow-x: inherit; overflow-y: scroll;}
#secPripoli h3 {margin-top: 0; margin-bottom: 15px; padding: 0; color: #E7654B; font-size: 16px; font-weight: 700;}
#secPripoli h4 {margin-bottom: 10px; padding: 0; color: #E7654B; font-size: 14px; font-weight: 700;}
#secPripoli p {padding: 0 0 15px; font-size: 14px; line-height: 1.4;}
#secPripoli ul {padding: 0 0 10px;}
#secPripoli li {padding: 0 0 5px; font-size: 13px;}
@media (min-width: 1230px) {
  #secForm form p.cf7Btn {margin: 30px 0 0 -15px;}
}
@media (max-width: 1229px) {
  #secForm form dl dt {width: 200px;}
  #secForm form dl dd {width: 400px;}
  #secForm .textArea p.textRecap {font-size: 85%;}
  #secForm .textArea p.textDetail {line-height: 1.4;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #secForm {margin-top: 25px;}
  #secForm form {padding: 50px; border-radius: 30px;}
  #secForm form dl:not(:first-of-type) {margin-top: 25px;}
  #secForm form dl dd span.wpcf7-list-item {padding-right: 25px;}
  /* #secForm form dl dd p span.wpcf7-list-item {padding-right: 25px;} */
  #secForm form p.cf7Btn {margin: 25px 0 0 40px;}
  #secForm .textArea p.textDetail {padding-left: 25px;}
  #secPripoli {height: 200px; margin-top: 25px; padding: 25px 25px 10px;}
}
@media (max-width: 991px) {
  #secForm form dl:not(:first-of-type) {margin-top: 20px;}
  #secForm .textArea p.textDetail {font-size: 13px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #secForm {margin-top: 20px;}
  #secForm form {padding: 40px; border-radius: 20px;}
  #secForm form dl dd span.wpcf7-list-item {padding-right: 20px;}
  /* #secForm form dl dd p span.wpcf7-list-item {padding-right: 20px;} */
  #secForm form p.cf7Btn {margin: 20px 0 0 20px;}
  #secForm .textArea p.textDetail {padding-left: 20px;}
  #secPripoli {height: 200px; margin-top: 20px; padding: 20px 20px 10px;}
}
@media (min-width: 768px) {
  #secForm form dl {justify-content: center; align-items: center;}
}
@media (max-width: 767px) {
  #secForm {margin-top: 15px;}
  #secForm form {padding: 15px; border-radius: 15px;}
  #secForm form dl {flex-direction: column; gap: 5px;}
  #secForm form dl dt, #secForm form dl dd {width: 100%;}
  #secForm form dl dd span.wpcf7-list-item {padding-right: 15px;}
  /* #secForm form dl dd p span.wpcf7-list-item {padding-right: 15px;} */
  #secForm form p.cf7Btn {margin: 20px auto 0;}
  #secForm .textArea {flex-direction: column; gap: 15px;}
  #secForm .textArea p.textDetail {width: 100%; padding: 0;}
  #secPripoli {height: 150px; margin-top: 15px; padding: 15px 15px 0;}
  #secPripoli h3 {font-size: 14px;}
}

/* #servicePage（事業案内ページ）設定
--------------------------------------------------------------------------*/
#servicePage .commonArea .container h2.secTitle {margin-bottom: 0;}
#servicePage .commonArea .container div.dispFlex {align-items: center;}
#servicePage .commonArea .container div.dispFlex div.calcArea2 {position: relative; display: block; width: 540px; height: 360px;}
#servicePage .commonArea .container div.dispFlex div.calcArea2::before {content: ''; position: absolute; top: 30px; left: 30px; display: block; width: inherit; height: inherit; background-color: #F0D34A; border-radius: 20px;}
#servicePage .commonArea .container div.dispFlex div.calcArea2 img {position: relative; width: 100%; border-radius: 20px;}
#servicePage .commonArea .container h3.secTitle {padding-top: 60px; font-size: 24px;}
#servicePage .commonArea .container ul.dispFlex {flex-wrap: wrap; row-gap: 15px; margin-top: 15px;}
#servicePage .commonArea .container ul.dispFlex li {padding: 15px; background-color: #333; border-radius: 30px; color: #FFF; font-weight: 500; text-align: center;}
#servicePage .commonArea .container > p {padding: 15px 0;}
#servicePage .commonArea .container > img {width: 100%; border: solid 5px #F0D34A; border-radius: 20px;}
#servicePage .commonArea .container div.Inner {margin-top: -115px;}
#servicePage .commonArea .container div.Inner p {padding-top: 15px;}
#servicePage #sec5 {padding: 120px 0; clip-path: inset(0);}
#servicePage #sec5::before, #servicePage #sec5::after {content: ''; position: fixed; top: 0; left: 0; display: block; width: 100%; overflow: hidden;}
#servicePage #sec5::before {height: 100dvh; background: center / cover no-repeat; filter: blur(3px);}
#servicePage #sec5::after {height: 100dvh; background-color: rgba(0,0,0,0.6);}
#servicePage #sec5 .container h2.secTitle {color: #FFF;}
#servicePage #sec5 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-wh-280x214.svg");}
#servicePage #sec5 .container ul {flex-wrap: wrap;}
#servicePage #sec5 .container ul li strong {position: relative; top: 0; left: 0; display: block; width: 100%; padding: 40px; color: #FFF; font-size: 20px; font-weight: 500; text-align: center;}
#servicePage #sec5 .container ul li strong::before, #servicePage #sec5 .container ul li strong::after {content: ''; position: absolute; left: 50%; transform: translateX(-50%); display: block; border: solid 1px #FFF;}
#servicePage #sec5 .container ul li strong::before {top: 0; width: 585px; height: 50px; border-bottom: none; border-radius: 60px 60px 0 0;}
#servicePage #sec5 .container ul li strong::after {bottom: 0; width: 580px; height: 50px; border-width: 5px; border-top: none; border-radius: 0 0 60px 60px;}
@media (max-width: 1229px) and (min-width: 992px) {
  #servicePage .commonArea .container div.dispFlex div.calcArea2 {width: 450px; height: 300px;}
  #servicePage .commonArea .container div.dispFlex div.calcArea2::before {top: 25px; left: 25px;}
  #servicePage .commonArea .container h3.secTitle {padding-top: 50px; font-size: 22px;}
  #servicePage .commonArea .container ul.dispFlex li {padding: 13px;}
  #servicePage .commonArea .container div.Inner {margin-top: -75px;}
  #servicePage #sec5 {padding: 100px 0;}
  #servicePage #sec5 .container ul li strong {padding: 35px; font-size: 18px;}
  #servicePage #sec5 .container ul li strong::before {width: 472px; height: 44px;}
  #servicePage #sec5 .container ul li strong::after {width: 467px; height: 44px;}
}
@media (max-width: 991px) {
  #servicePage .commonArea .container ul.dispFlex li {padding: 10px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #servicePage .commonArea .container div.dispFlex div.calcArea2 {width: 348px; height: 232px;}
  #servicePage .commonArea .container div.dispFlex div.calcArea2::before {top: 20px; left: 20px;}
  #servicePage .commonArea .container h3.secTitle {padding-top: 40px; font-size: 20px;}
  #servicePage .commonArea .container div.Inner {margin-top: -25px;}
  #servicePage #sec5 {padding: 80px 0;}
  #servicePage #sec5 .container ul li strong {padding: 30px; font-size: 16px;}
  #servicePage #sec5 .container ul li strong::before {width: 365px; height: 38px;}
  #servicePage #sec5 .container ul li strong::after {width: 360px; height: 38px;}
}
@media (min-width: 768px) {
  #servicePage #mainVisual::before {background-image: url("images/sub/service-mv-pc2025.webp");}
  #servicePage .commonArea .container div.dispFlex p {padding-top: 0;}
  #servicePage #sec1 .container h3.secTitle:first-of-type {margin-top: -30px;}
  #servicePage #sec5::before {background-image: url("images/sub/service-sec5-bg-pc.webp");}
}
@media (max-width: 767px) {
  #servicePage #mainVisual::before {background-image: url("images/sub/service-mv-mp2025.webp");}
  #servicePage .commonArea .container div.dispFlex {flex-direction: column;}
  #servicePage .commonArea .container div.dispFlex div.calcArea2 {width: 300px; height: 200px;}
  #servicePage .commonArea .container div.dispFlex div.calcArea2::before {top: 15px; left: 15px;}
  #servicePage .commonArea .container h3.secTitle {padding-top: 30px; font-size: 18px;}
  #servicePage .commonArea .container div.Inner {margin-top: 0;}
  #servicePage .commonArea .container > img {border-width: 3px;}
  #servicePage #sec1 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-bk2-280x214.svg");}
  #servicePage #sec3 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-bk2-280x214.svg");}
  #servicePage #sec5 {padding: 60px 0;}
  #servicePage #sec5::before {background-image: url("images/sub/service-sec5-bg-mp.webp");}
  #servicePage #sec5 h2.secTitle span {background-color: transparent;}
  #servicePage #sec5 .container ul li strong {padding: 30px; font-size: 14px;}
  #servicePage #sec5 .container ul li strong::before {width: 100%; height: 37px;}
  #servicePage #sec5 .container ul li strong::after {width: calc(100% - 5px); height: 37px;}
}
@media (max-width: 360px) {
  #servicePage .commonArea .container div.dispFlex div.calcArea2 {width: 270px; height: 180px;}
}

/* #recruitPage（リクルートページ）設定
--------------------------------------------------------------------------*/
#recruitPage #mainVisual h1 span::before {width: 290px;}
#recruitPage p#textLead {position: relative; z-index: 2;}
#recruitPage #sec1 .container .dispFlex {gap: 0; width: 100%; height: 440px; margin-top: 120px; padding: 0 60px; background: linear-gradient(to right, #D7F3FF 0%, #FFFFFF 50%, #FFF0F8 100%); border-radius: 40px; filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.15));}
#recruitPage #sec1 .container .dispFlex:first-of-type {flex-direction: row-reverse; margin-top: 90px;}
#recruitPage #sec1 .container .dispFlex .textWrap {width: calc(100% - 500px);}
#recruitPage #sec1 .container .dispFlex .textWrap h3 {font-size: 24px;}
#recruitPage #sec1 .container .dispFlex .textWrap h3 span {font-size: 32px;}
#recruitPage #sec1 .container .dispFlex .imgWrap {position: relative; width: 500px; height: 440px;}
#recruitPage #sec1 .container .dispFlex .imgWrap img {position: absolute; bottom: 0; width: 100%; border-radius: 40px;}
#recruitPage #sec1 .container .dispFlex:first-of-type .imgWrap img {left: -60px;}
#recruitPage #sec1 .container .dispFlex:last-of-type .imgWrap img {left: 60px;}
#recruitPage #sec2 {height: auto; clip-path: inset(0);}
#recruitPage #sec2::before, #recruitPage #sec2::after {content: ''; position: fixed; top: 0; left: 0; display: block; width: 100%; height: 100dvh; overflow: hidden;}
#recruitPage #sec2::before {background: center / cover no-repeat; filter: blur(3px);}
#recruitPage #sec2::after {background-color: rgba(240,211,74,0.85);}
#recruitPage #sec2 .container h2.secTitle {margin-bottom: 30px;}
#recruitPage #sec2 .container h2.secTitle span {background-color: transparent;}
#recruitPage #sec2 .container h2.secTitle::after {background-image: url("images/common/bg-secTitle-wh-1200x20.svg");}
#recruitPage #sec2 .container .dispFlex {flex-wrap: wrap; margin-top: 30px;}
#recruitPage #sec2 .container .dispFlex figure {padding: 30px; background-color: #FFF; border-radius: 30px; text-align: center;}
#recruitPage #sec2 .container .dispFlex figure img {width: 70%; max-width: 360px;}
#recruitPage #sec2 .container .dispFlex figure figcaption {padding-top: 15px; font-size: 22px; line-height: 1.4;}
#recruitPage #sec2 .container .dispFlex figure:nth-of-type(2) figcaption {padding-top: 27px;}
#recruitPage #gradation {background: linear-gradient(45deg, #D7F3FF 0%, #FFFFFF 50%, #FFF0F8 100%);}
#recruitPage #sec3 .container h2.secTitle span {background-color: transparent;}
#recruitPage #sec3 .container .dispFlex {flex-wrap: wrap;}
#recruitPage #sec3 .container .dispFlex dl {width: 380px; height: 380px; background: center / cover no-repeat; filter: drop-shadow(2px 6px 12px rgba(0,0,0,0.1)); text-align: center;}
#recruitPage #sec3 .container .dispFlex dl dt {padding-top: 60px; font-size: 30px;}
#recruitPage #sec3 .container .dispFlex dl dd {padding-top: 155px; font-size: 30px;}
#recruitPage #sec3 .container .dispFlex dl dd span {font-size: 70px;}
#recruitPage #sec3 .container .dispFlex dl:first-of-type {background-image: url('images/sub/recruit-sec3-01.svg');}
#recruitPage #sec3 .container .dispFlex dl:nth-of-type(2) {background-image: url('images/sub/recruit-sec3-02.svg');}
#recruitPage #sec3 .container .dispFlex dl:nth-of-type(3) {background-image: url('images/sub/recruit-sec3-03.svg');}
#recruitPage #sec3 .container .dispFlex dl:nth-of-type(3) dt {padding-top: 110px;}
#recruitPage #sec3 .container .dispFlex dl:nth-of-type(3) dd {padding-top: 30px;}
#recruitPage #sec3 .container .dispFlex dl:nth-of-type(4) {background-image: url('images/sub/recruit-sec3-01.svg');}
#recruitPage #sec3 .container .dispFlex dl:nth-of-type(5) {background-image: url('images/sub/recruit-sec3-05.svg');}
#recruitPage #sec3 .container .dispFlex dl:last-of-type {background-image: url('images/sub/recruit-sec3-06.svg');}
#recruitPage #sec3 .container .dispFlex dl:last-of-type dt {padding-top: 110px;}
#recruitPage #sec3 .container .dispFlex dl:last-of-type dd {padding-top: 30px;}
#recruitPage #sec4 .container h2 {margin-bottom: 30px;}
#recruitPage #sec4 .container h2.secTitle span {background-color: transparent;}
#recruitPage #sec4 .container h2 span::before {content: ''; position: absolute; top: -75px; left: -35px; display: block; width: 170px; height: 60px; background: center / cover no-repeat; background-image: url("images/sub/recruit-sec4-bg-title.svg");}
#recruitPage #sec4 .container ol {flex-wrap: wrap; margin-top: 30px;}
#recruitPage #sec4 .container ol li {display: flex; justify-content: center; align-items: center; padding: 10px; background-color: #FFF; filter: drop-shadow(4px 6px 12px rgba(0,0,0,0.1));}
#recruitPage #sec4 .container ol li span {display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; width: 100%; padding: 20px 20px 20px 120px; border: solid 2px #F0D34A; font-size: 26px; line-height: 1.2; overflow: hidden;}
#recruitPage #sec4 .container ol li span::before, #recruitPage #sec4 .container ol li span::after {content: ''; position: absolute;}
#recruitPage #sec4 .container ol li span::before {top: 0; left: -20px; display: block; width: 120px; height: 100px; background-color: #F0D34A; transform: skewX(-20deg);}
#recruitPage #sec4 .container ol li span::after {top: 50%; left: 20px; transform: translateY(-50%); color: #FFF; font-size: 40px;}
#recruitPage #sec4 .container ol li:first-of-type span::after {content: '01';}
#recruitPage #sec4 .container ol li:nth-of-type(2) span::after {content: '02';}
#recruitPage #sec4 .container ol li:nth-of-type(3) span::after {content: '03';}
#recruitPage #sec4 .container ol li:nth-of-type(4) span::after {content: '04';}
#recruitPage #sec4 .container ol li:nth-of-type(5) span::after {content: '05';}
#recruitPage #sec4 .container ol li:nth-of-type(6) span::after {content: '06';}
#recruitPage #sec4 .container ol li:nth-of-type(7) span::after {content: '07';}
#recruitPage #sec4 .container ol li:nth-of-type(8) span::after {content: '08';}
#recruitPage #sec4 .container ol li:nth-of-type(9) span::after {content: '09';}
#recruitPage #sec4 .container ol li:last-of-type span::after {content: '10';}
#recruitPage #sec4 .container ol li span small {display: block; font-size: 70%;}
#recruitPage #sec5 {padding: 120px 0; clip-path: inset(0);}
#recruitPage #sec5::before, #recruitPage #sec5::after {content: ''; position: fixed; top: 0; left: 0; display: block; width: 100%; overflow: hidden;}
#recruitPage #sec5::before {height: 100dvh; background: center / cover no-repeat; filter: blur(3px);}
#recruitPage #sec5::after {height: 100dvh; background-color: rgba(0,0,0,0.6);}
#recruitPage #sec5 .container h2.secTitle {color: #FFF;}
#recruitPage #sec5 .container h2.secTitle span {background-color: transparent;}
#recruitPage #sec5 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-wh-280x214.svg");}
#recruitPage #sec5 .container > .dispFlex:last-of-type {margin-top: 120px;}
#recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex {flex-direction: column;}
#recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex h3 {order: 1; color: #FFF; font-size: 30px;}
#recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex dl {flex-direction: column; order: 3;}
#recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex dl dt {width: 100%; padding: 10px 15px; background-color: #FFF; border-radius: 30px; font-weight: 700; text-align: center;}
#recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex dl dd {margin-top: -25px; color: #FFF; font-weight: 500; line-height: 1.4;}
#recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex img {order: 2; width: 100%; border-radius: 20px;}
#recruitPage #sec5 .container .dispFlex .calcArea2:last-of-type {margin-top: 60px;}
#recruitPage #sec5 .container .dispFlex .calcArea2:last-of-type img {width: 100%;}
#trapezoid {position: relative; top: 0; left: 0; background-color: #FFFDF4; clip-path: inset(0);}
#trapezoid::before {content: ''; position: fixed; top: 0; left: 75%; z-index: 0; display: block; width: 100%; height: 100dvh; background-color: #F0D34A; transform: skewX(-10deg);}
#trapezoid h2.secTitle::after {border: solid 5px #FFFDF4;}
#trapezoid h2.secTitle span {width: 100%;}
#trapezoid h2.secTitle span::before {content: ''; position: absolute; bottom: -35px; right: 0; z-index: 1; display: block; width: 5px; height: 30px; background-color: #FFFDF4;}
#recruitPage #sec6 .container h2.secTitle {margin-bottom: 60px;}
#recruitPage #sec6 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-bk2-280x214.svg");}
#recruitPage #sec6 .container h2.secTitle span {background-color: transparent;}
#recruitPage #sec6 .container h2.secTitle span b {bottom: -30px; left: 15px;}
#recruitPage #sec6 .container dl {margin-top: 30px; padding: 60px; background-color: rgba(255,255,255,0.85); border-radius: 30px; filter: drop-shadow(4px 6px 12px rgba(0,0,0,0.1));}
#recruitPage #sec6 .container dl dt {position: relative; padding-left: 55px; font-size: 24px;}
#recruitPage #sec6 .container dl dd {position: relative; margin-top: 30px; padding-left: 55px; line-height: 1.4;}
#recruitPage #sec6 .container dl dt::before, #recruitPage #sec6 .container dl dd::before {content: ''; position: absolute; top: -10px; left: 0; display: block; width: 45px; height: 45px; background: center / cover no-repeat;}
#recruitPage #sec6 .container dl dt::before {background-image: url("images/sub/service-sec6-Q.svg");}
#recruitPage #sec6 .container dl dd::before {background-image: url("images/sub/service-sec6-A.svg");}
#recruitPage #sec6 .container dl dd ul {padding: 5px 0;}
#recruitPage #sec6 .container dl dd ul li {position: relative; padding: 5px 0 5px 16px; line-height: 1.2;}
#recruitPage #sec6 .container dl dd ul li::before {content: '・'; position: absolute; left: 0;}
#recruitPage #sec7 .container h2.secTitle span {background-color: transparent;}
#recruitPage #sec8 .container h2.secTitle {margin-bottom: 30px;}
#recruitPage #sec8 .container h2.secTitle span {background-color: transparent;}
@media (min-width: 1230px) {
  #recruitPage #mainVisual h1 {transform: translateY(-85%);}
  #recruitPage p#textLead {margin: -180px 0 65px;}
  #recruitPage #sec1 .container .dispFlex:last-of-type .textWrap p {width: 600px;}
  #recruitPage #sec4 .container ol li span {height: 100px;}
  #trapezoid h2.secTitle::after {top: 120px; left: 160px;}
}
@media (max-width: 1229px) {
  #recruitPage p#textLead br:last-of-type {display: none;}
  #recruitPage #sec6 .container dl dd ul li {padding-left: 14px;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #recruitPage #mainVisual h1 {top: 40px; transform: translateY(0);}
  #recruitPage #mainVisual h1 span::before {width: 250px;}
  #recruitPage p#textLead {margin: -185px 0 30px; padding: 55px 120px 0;}
  #recruitPage #sec1 .container .dispFlex {height: 340px; margin-top: 100px; padding: 0 50px; border-radius: 30px;}
  #recruitPage #sec1 .container .dispFlex:first-of-type {margin-top: 75px;}
  #recruitPage #sec1 .container .dispFlex .textWrap {width: calc(100% - 400px);}
  #recruitPage #sec1 .container .dispFlex .textWrap h3 {font-size: 21px;}
  #recruitPage #sec1 .container .dispFlex .textWrap h3 span {font-size: 28px;}
  #recruitPage #sec1 .container .dispFlex .imgWrap {width: 400px; height: 340px;}
  #recruitPage #sec1 .container .dispFlex .imgWrap img {border-radius: 30px;}
  #recruitPage #sec1 .container .dispFlex:first-of-type .imgWrap img {left: -50px;}
  #recruitPage #sec1 .container .dispFlex:last-of-type .imgWrap img {left: 50px;}
  #recruitPage #sec2 .container h2.secTitle {margin-bottom: 25px;}
  #recruitPage #sec2 .container .dispFlex {margin-top: 25px;}
  #recruitPage #sec2 .container .dispFlex figure {padding: 25px; border-radius: 25px;}
  #recruitPage #sec2 .container .dispFlex figure figcaption {font-size: 18px;}
  #recruitPage #sec2 .container .dispFlex figure:nth-of-type(2) figcaption {padding-top: 25px;}
  #recruitPage #sec3 .container .dispFlex dl {width: 306px; height: 306px;}
  #recruitPage #sec3 .container .dispFlex dl dt {padding-top: 50px; font-size: 27px;}
  #recruitPage #sec3 .container .dispFlex dl dd {padding-top: 115px; font-size: 27px;}
  #recruitPage #sec3 .container .dispFlex dl dd span {font-size: 63px;}
  #recruitPage #sec3 .container .dispFlex dl:nth-of-type(3) dt {padding-top: 77px;}
  #recruitPage #sec3 .container .dispFlex dl:nth-of-type(3) dd {padding-top: 25px;}
  #recruitPage #sec3 .container .dispFlex dl:last-of-type dt {padding-top: 77px;}
  #recruitPage #sec3 .container .dispFlex dl:last-of-type dd {padding-top: 25px;}
  #recruitPage #sec4 .container h2 {margin-bottom: 25px;}
  #recruitPage #sec4 .container h2 span::before {top: -60px; width: 153px; height: 54px;}
  #recruitPage #sec4 .container ol {margin-top: 25px;}
  #recruitPage #sec4 .container ol li {padding: 8px;}
  #recruitPage #sec4 .container ol li span {height: 85px; padding: 18px 18px 18px 100px; font-size: 22px;}
  #recruitPage #sec4 .container ol li span::before {left: -18px; width: 100px; height: 85px;}
  #recruitPage #sec4 .container ol li span::after {left: 18px; font-size: 32px;}
  #recruitPage #sec5 {padding: 100px 0;}
  #recruitPage #sec5 .container > .dispFlex:last-of-type {margin-top: 100px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex h3 {font-size: 27px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex dl dd {margin-top: -20px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2:last-of-type {margin-top: 52px;}
  #trapezoid h2.secTitle::after {top: 94px; left: 126px; border-width: 4px;}
  #trapezoid h2.secTitle span::before {bottom: -28px; width: 4px; height: 26px;}
  #recruitPage #sec6 .container h2.secTitle {margin-bottom: 50px;}
  #recruitPage #sec6 .container h2.secTitle span b {bottom: -25px; left: 13px;}
  #recruitPage #sec6 .container dl {margin-top: 25px; padding: 50px; border-radius: 25px;}
  #recruitPage #sec6 .container dl dt {padding-left: 50px; font-size: 22px;}
  #recruitPage #sec6 .container dl dd {margin-top: 25px; padding-left: 50px;}
  #recruitPage #sec6 .container dl dt::before, #recruitPage #sec6 .container dl dd::before {top: -8px; width: 40px; height: 40px;}
  #recruitPage #sec8 .container h2.secTitle {margin-bottom: 25px;}
}
@media (min-width: 992px) {
  #recruitPage #sec1 .container .dispFlex {align-items: center;}
}
@media (max-width: 991px) {
  #recruitPage #sec1 .container .dispFlex {height: auto;}
  #recruitPage #sec1 .container .dispFlex .imgWrap {height: auto;}
  #recruitPage #sec3 .container .dispFlex dl {width: 236px; height: 236px;}
  #recruitPage #sec3 .container .dispFlex dl dt {padding-top: 30px; font-size: 21px;}
  #recruitPage #sec3 .container .dispFlex dl dd {padding-top: 97px; font-size: 21px;}
  #recruitPage #sec3 .container .dispFlex dl dd span {font-size: 49px;}
  #recruitPage #sec3 .container .dispFlex dl:nth-of-type(3) dt {padding-top: 60px;}
  #recruitPage #sec3 .container .dispFlex dl:nth-of-type(3) dd {padding-top: 17px;}
  #recruitPage #sec3 .container .dispFlex dl:last-of-type dt {padding-top: 60px;}
  #recruitPage #sec3 .container .dispFlex dl:last-of-type dd {padding-top: 17px;}
  #recruitPage #sec4 .container ol li {padding: 5px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #recruitPage #mainVisual h1 {top: 25px; transform: translateY(0);}
  #recruitPage #mainVisual h1 span::before {width: 210px;}
  #recruitPage p#textLead {margin: -155px 0 20px; padding: 35px 35px 0;}
  #recruitPage #sec1 .container .dispFlex {margin-top: 40px; padding: 20px; border-radius: 20px;}
  #recruitPage #sec1 .container .dispFlex:first-of-type {margin-top: 40px;}
  #recruitPage #sec1 .container .dispFlex .textWrap {width: calc(100% - 240px);}
  #recruitPage #sec1 .container .dispFlex .textWrap h3 {font-size: 18px;}
  #recruitPage #sec1 .container .dispFlex .textWrap h3 span {font-size: 24px;}
  #recruitPage #sec1 .container .dispFlex .imgWrap {width: 240px;}
  #recruitPage #sec1 .container .dispFlex .imgWrap img {bottom: -20px; border-radius: 20px;}
  #recruitPage #sec1 .container .dispFlex:first-of-type .imgWrap img {left: -20px;}
  #recruitPage #sec1 .container .dispFlex:last-of-type .imgWrap img {left: 20px;}
  #recruitPage #sec2 .container h2.secTitle {margin-bottom: 20px;}
  #recruitPage #sec2 .container .dispFlex {margin-top: 20px;}
  #recruitPage #sec2 .container .dispFlex figure {padding: 20px; border-radius: 20px;}
  #recruitPage #sec2 .container .dispFlex figure figcaption {font-size: 16px;}
  #recruitPage #sec2 .container .dispFlex figure:nth-of-type(2) figcaption {padding-top: 22px;}
  #recruitPage #sec4 .container h2 {margin-bottom: 20px;}
  #recruitPage #sec4 .container h2 span::before {top: -50px; width: 136px; height: 48px;}
  #recruitPage #sec4 .container ol {margin-top: 20px;}
  #recruitPage #sec4 .container ol li span {height: 75px; padding: 15px 15px 15px 80px; font-size: 20px;}
  #recruitPage #sec4 .container ol li span::before {left: -13px; width: 80px; height: 75px;}
  #recruitPage #sec4 .container ol li span::after {left: 13px; font-size: 28px;}
  #recruitPage #sec5 {padding: 80px 0;}
  #recruitPage #sec5 .container > .dispFlex:last-of-type {margin-top: 80px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex h3 {font-size: 24px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex dl dd {margin-top: -15px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2:last-of-type {margin-top: 45px;}
  #trapezoid::before {transform: skewX(-8deg);}
  #trapezoid h2.secTitle::after {top: 83px; left: 112px; border-width: 3px;}
  #trapezoid h2.secTitle span::before {bottom: -24px; width: 3px; height: 22px;}
  #recruitPage #sec6 .container h2.secTitle {margin-bottom: 40px;}
  #recruitPage #sec6 .container h2.secTitle span b {bottom: -22px; left: 10px;}
  #recruitPage #sec6 .container dl {margin-top: 20px; padding: 40px; border-radius: 20px;}
  #recruitPage #sec6 .container dl dt {padding-left: 45px; font-size: 20px;}
  #recruitPage #sec6 .container dl dd {margin-top: 20px; padding-left: 45px;}
  #recruitPage #sec6 .container dl dd br {display: none;}
  #recruitPage #sec6 .container dl dt::before, #recruitPage #sec6 .container dl dd::before {top: -7px; width: 35px; height: 35px;}
  #recruitPage #sec8 .container h2.secTitle {margin-bottom: 20px;}
}
@media (min-width: 768px) {
  #recruitPage #mainVisual::before {background-image: url("images/sub/recruit-mv-pc.webp");}
  #recruitPage p#textLead {color: #FFF; font-weight: 500; text-align: center;}
  #recruitPage #sec2::before {background-image: url("images/sub/recruit-sec2-bg-pc.webp");}
  #recruitPage #sec5::before {background-image: url("images/sub/recruit-sec5-bg-pc.webp");}
}
@media (max-width: 767px) {
  #recruitPage #mainVisual::before {background-image: url("images/sub/recruit-mv-mp.webp");}
  #recruitPage #mainVisual h1 span::before {width: 165px;}
  #recruitPage p#textLead {padding: 15px 30px 0;}
  #recruitPage #sec1 .container .dispFlex {flex-direction: column; margin-top: 30px; padding: 30px 15px 0; border-radius: 15px; background: linear-gradient(to top, #D7F3FF 0%, #FFFFFF 50%, #FFF0F8 100%);}
  #recruitPage #sec1 .container .dispFlex:first-of-type {flex-direction: column; margin-top: 30px;}
  #recruitPage #sec1 .container .dispFlex .textWrap {width: 100%; margin-bottom: 15px;}
  #recruitPage #sec1 .container .dispFlex .textWrap h3 {font-size: 15px; text-align: center;}
  #recruitPage #sec1 .container .dispFlex .textWrap h3 span {font-size: 20px;}
  #recruitPage #sec1 .container .dispFlex .imgWrap {width: 100%;}
  #recruitPage #sec1 .container .dispFlex .imgWrap img {position: relative; border-radius: 15px;}
  #recruitPage #sec1 .container .dispFlex:first-of-type .imgWrap img {left: -15px;}
  #recruitPage #sec1 .container .dispFlex:last-of-type .imgWrap img {left: 15px;}
  #recruitPage #sec2::before {background-image: url("images/sub/recruit-sec2-bg-mp.webp");}
  #recruitPage #sec2 .container h2.secTitle {margin-bottom: 15px;}
  #recruitPage #sec2 .container .dispFlex {margin-top: 15px;}
  #recruitPage #sec2 .container .dispFlex figure {padding: 15px; border-radius: 15px;}
  #recruitPage #sec2 .container .dispFlex figure figcaption {font-size: 14px;}
  #recruitPage #sec2 .container .dispFlex figure:nth-of-type(2) figcaption {padding-top: 15px;}
  #recruitPage #sec3 .container .dispFlex {justify-content: center;}
  #recruitPage #sec4 .container h2.secTitle {margin-bottom: 15px;}
  #recruitPage #sec4 .container h2.secTitle span::before {top: -40px; left: -15px; width: 102px; height: 36px;}
  #recruitPage #sec4 .container ol {margin-top: 15px;}
  #recruitPage #sec4 .container ol li span {height: 67px; padding: 13px 13px 13px 70px; font-size: 18px;}
  #recruitPage #sec4 .container ol li span::before {left: -15px; width: 70px; height: 67px;}
  #recruitPage #sec4 .container ol li span::after {left: 8px; font-size: 26px;}
  #recruitPage #sec5 {padding: 60px 0;}
  #recruitPage #sec5::before {background-image: url("images/sub/recruit-sec5-bg-mp.webp");}
  #recruitPage #sec5 .container > .dispFlex {flex-direction: column;}
  #recruitPage #sec5 .container > .dispFlex:last-of-type {margin-top: 60px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex h3 {font-size: 22px; text-align: center;}
  #recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex dl dd {margin-top: -10px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2:last-of-type {margin-top: 15px;}
  #trapezoid::before {left: 80%; transform: skewX(-6deg);}
  #trapezoid h2.secTitle::after {top: 71px; left: 68px; border-width: 2px;}
  #trapezoid h2.secTitle span::before {bottom: -19px; width: 2px; height: 18px;}
  #recruitPage #sec6 .container h2.secTitle {margin-bottom: 30px;}
  #recruitPage #sec6 .container h2.secTitle span b {bottom: -20px; left: 8px;}
  #recruitPage #sec6 .container dl {margin-top: 15px; padding: 30px 15px; border-radius: 15px;}
  #recruitPage #sec6 .container dl dt {padding-left: 35px; font-size: 18px; line-height: 1.2;}
  #recruitPage #sec6 .container dl dd {margin-top: 20px; padding-left: 35px;}
  #recruitPage #sec6 .container dl dt::before, #recruitPage #sec6 .container dl dd::before {top: -5px; width: 30px; height: 30px;}
  #recruitPage #sec6 .container dl dt::before {top: -4px;}
  #recruitPage #sec7 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-bk2-280x214.svg");}
  #recruitPage #sec8 .container h2.secTitle {margin-bottom: 15px;}
}
@media (max-width: 360px) {
  #recruitPage #sec2 .container .dispFlex figure figcaption {font-size: 90%;}
  #recruitPage #sec4 .container ol li span {font-size: 16px;}
  #recruitPage #sec5 .container .dispFlex .calcArea2.dispFlex h3 {font-size: 18px;}
  #trapezoid h2.secTitle::after {top: 60px; left: 60px;}
  #trapezoid h2.secTitle span::before {bottom: -16px; height: 14px;}
}

/* #entryPage（サンクスページ）設定
--------------------------------------------------------------------------*/
#entryPage #mainVisual h1 span::before {width: 275px;}
#entryPage #sec1 .container h2 {margin-bottom: 30px;}
#entryPage #sec1 .container a {margin-top: 60px;}
@media (max-width: 1229px) and (min-width: 992px) {
  #entryPage #mainVisual h1 span::before {width: 230px;}
  #entryPage #sec1 .container h2 {margin-bottom: 25px;}
  #entryPage #sec1 .container a {margin-top: 50px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #entryPage #mainVisual h1 span::before {width: 195px;}
  #entryPage #sec1 .container h2 {margin-bottom: 20px;}
  #entryPage #sec1 .container a {margin-top: 40px;}
}
@media (min-width: 768px) {
  #entryPage #mainVisual::before {background-image: url("images/sub/recruit-mv-pc.webp");}
}
@media (max-width: 767px) {
  #entryPage #mainVisual::before {background-image: url("images/sub/recruit-mv-mp.webp");}
  #entryPage #mainVisual h1 span::before {width: 155px;}
  #entryPage #sec1 .container h2 {margin-bottom: 15px;}
  #entryPage #sec1 .container a {margin-top: 30px;}
}

/* #companyPage（企業情報ページ）設定
--------------------------------------------------------------------------*/
#companyPage #mainVisual h1 span::before {width: 330px;}
#companyPage #sec1 .container > .dispFlex {flex-direction: row-reverse; align-items: center; gap: 60px; padding: 0 120px;}
#companyPage #sec1 .container .dispFlex .Inner {position: relative; flex-direction: column; width: calc(100% - 360px - 60px);}
#companyPage #sec1 .container .dispFlex .Inner::before {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: block; width: 400px; height: 400px; background: center / cover no-repeat; background-image: url("images/sub/company-sec1-bg.webp");}
#companyPage #sec1 .container .dispFlex .Inner p {padding-top: 0;}
#companyPage #sec1 .container .dispFlex .Inner p:last-of-type {text-align: right;}
#companyPage #sec1 .container .dispFlex picture {width: 360px; height: 500px; border-radius: 20px; overflow: hidden;}
#companyPage #sec2 {padding: 120px 0; clip-path: inset(0);}
#companyPage #sec2::before, #companyPage #sec2::after {content: ''; position: fixed; top: 0; left: 0; display: block; width: 100%; overflow: hidden;}
#companyPage #sec2::before {height: 100dvh; background: center / cover no-repeat; filter: blur(3px);}
#companyPage #sec2::after {height: 100dvh; background-color: rgba(0,0,0,0.6);}
#companyPage #sec2 .container h2.secTitle {color: #FFF;}
#companyPage #sec2 .container h2.secTitle span {background-color: transparent;}
#companyPage #sec2 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-wh-280x214.svg");}
#companyPage #sec2 .container dl {text-align: center;}
#companyPage #sec2 .container dl dt {position: relative; width: 100%; height: 80px; margin-bottom: 15px; color: #FFF; font-size: 24px; line-height: 60px;}
#companyPage #sec2 .container dl dt::before {content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 300px; height: 80px; background: center / cover no-repeat; background-image: url("images/sub/company-sec2-title.svg");}
#companyPage #sec2 .container dl dd {position: relative; color: #FFF; font-size: 40px; line-height: 1.4;}
#companyPage #sec2 .container dl dd:first-of-type {margin-bottom: 120px;}
#companyPage #sec2 .container dl dd:first-of-type::before {content: ''; position: absolute; bottom: -60px; left: 50%; transform: translateX(-50%); display: block; width: 1200px; height: 10px; background: center / cover no-repeat; background-image: url("images/sub/company-sec2-bg-1404x10.svg"); opacity: 0.25;}
#companyPage #sec3 {background-color: #FCFCFC;}
#companyPage #sec4 {background-color: #FCFCFC;}
#companyPage #sec5 {background-color: #FCFCFC;}
#companyPage #sec5 .container .dispFlex dl {padding: 30px 15px 15px; background-color: #FFF; border-radius: 30px; text-align: center; filter: drop-shadow(4px 6px 12px rgba(0,0,0,0.1));}
#companyPage #sec5 .container .dispFlex dl dt {font-size: 24px;}
#companyPage #sec5 .container .dispFlex dl dd:first-of-type ul {padding: 15px 0;}
#companyPage #sec5 .container .dispFlex dl dd:first-of-type ul li {line-height: 1.6;}
#companyPage #sec5 .container .dispFlex dl dd:first-of-type ul li address span {display: block;}
#companyPage #sec5 .container .dispFlex dl dd:last-of-type {border-radius: 20px; overflow: hidden;}
#companyPage #sec6 {background-color: #FCFCFC;}
#companyPage #sec6 .container .dispFlex {flex-wrap: wrap; justify-content: center;}
#companyPage #sec6 .container .dispFlex dl {padding: 30px; border: solid 1px #CCC; text-align: center;}
#companyPage #sec6 .container .dispFlex dl dt {margin-bottom: 25px;}
#companyPage #sec6 .container .dispFlex dl dt img {width: 100%; max-width: 300px;}
#companyPage #sec6 .container .dispFlex dl dd {font-weight: 500; line-height: 1.6;}
#companyPage #sec6 .container .dispFlex dl dd:last-of-type a {text-decoration: underline;}
@media (min-width: 1230px) {
  #companyPage #sec6 .container .dispFlex dl dd:first-of-type address span {padding-left: 10px;}
}
@media (max-width: 1229px) {
  #companyPage #sec1 .container .dispFlex picture {border-radius: 15px;}
  #companyPage #sec6 .container .dispFlex dl dd:first-of-type address span {display: block;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #companyPage #mainVisual h1 span::before {width: 285px;}
  #companyPage #sec1 .container > .dispFlex {gap: 50px; padding: 0 50px;}
  #companyPage #sec1 .container .dispFlex .Inner {width: calc(100% - 300px - 50px);}
  #companyPage #sec1 .container .dispFlex .Inner::before {width: 300px; height: 300px;}
  #companyPage #sec1 .container .dispFlex picture {width: 300px; height: 400px;}
  #companyPage #sec2 {padding: 100px 0;}
  #companyPage #sec2 .container dl dt {height: 64px; margin-bottom: 13px; font-size: 20px; line-height: 45px;}
  #companyPage #sec2 .container dl dt::before {width: 240px; height: 64px;}
  #companyPage #sec2 .container dl dd {font-size: 32px;}
  #companyPage #sec2 .container dl dd:first-of-type {margin-bottom: 100px;}
  #companyPage #sec2 .container dl dd:first-of-type::before {bottom: -50px; width: 950px; height: 8px;}
  #companyPage #sec5 .container .dispFlex dl {padding-top: 25px; border-radius: 25px;}
  #companyPage #sec5 .container .dispFlex dl dt {font-size: 20px;}
  #companyPage #sec5 .container .dispFlex dl dd:last-of-type {border-radius: 15px;}
  #companyPage #sec6 .container .dispFlex dl {padding: 25px;}
  #companyPage #sec6 .container .dispFlex dl dt {margin-bottom: 20px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #companyPage #mainVisual h1 span::before {width: 240px;}
  #companyPage #sec1 .container > .dispFlex {gap: 40px; padding: 0 20px;}
  #companyPage #sec1 .container .dispFlex .Inner {width: calc(100% - 250px - 40px);}
  #companyPage #sec1 .container .dispFlex .Inner::before {width: 280px; height: 280px;}
  #companyPage #sec1 .container .dispFlex picture {width: 250px; height: 360px;}
  #companyPage #sec2 {padding: 80px 0;}
  #companyPage #sec2 .container dl dt {height: 48px; margin-bottom: 10px; font-size: 16px; line-height: 35px;}
  #companyPage #sec2 .container dl dt::before {width: 180px; height: 48px;}
  #companyPage #sec2 .container dl dd {font-size: 24px;}
  #companyPage #sec2 .container dl dd:first-of-type {margin-bottom: 80px;}
  #companyPage #sec2 .container dl dd:first-of-type::before {bottom: -40px; width: 700px; height: 6px;}
  #companyPage #sec5 .container .dispFlex dl {padding-top: 20px; border-radius: 20px;}
  #companyPage #sec5 .container .dispFlex dl dt {font-size: 18px;}
  #companyPage #sec5 .container .dispFlex dl dd:first-of-type ul li address span {font-size: 13px;}
  #companyPage #sec5 .container .dispFlex dl dd:last-of-type {border-radius: 13px;}
  #companyPage #sec6 .container .dispFlex dl {padding: 20px;}
  #companyPage #sec6 .container .dispFlex dl dt {margin-bottom: 15px;}
  #companyPage #sec6 .container .dispFlex dl dd:last-of-type a {font-size: 75%;}
}
@media (min-width: 768px) {
  #companyPage #mainVisual::before {background-image: url("images/sub/company-mv-pc.webp");}
  #companyPage #sec2::before {background-image: url("images/sub/company-sec2-bg-pc.webp");}
}
@media (max-width: 767px) {
  #companyPage #mainVisual::before {background-image: url("images/sub/company-mv-mp.webp");}
  #companyPage #mainVisual h1 span::before {width: 200px;}
  #companyPage #sec1 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-bk2-280x214.svg");}
  #companyPage #sec1 .container > .dispFlex {flex-direction: column-reverse; gap: 30px; padding: 0;}
  #companyPage #sec1 .container .dispFlex .Inner {width: 100%;}
  #companyPage #sec1 .container .dispFlex .Inner::before {width: 260px; height: 260px;}
  #companyPage #sec1 .container .dispFlex picture {width: 100%; max-width: 450px; height: 300px;}
  #companyPage #sec2 {padding: 60px 0;}
  #companyPage #sec2::before {background-image: url("images/sub/company-sec2-bg-mp.webp");}
  #companyPage #sec2 .container dl dt {height: 40px; margin-bottom: 10px; font-size: 14px; line-height: 30px;}
  #companyPage #sec2 .container dl dt::before {width: 150px; height: 40px;}
  #companyPage #sec2 .container dl dd {font-size: 20px;}
  #companyPage #sec2 .container dl dd:first-of-type {margin-bottom: 60px;}
  #companyPage #sec2 .container dl dd:first-of-type::before {bottom: -30px; width: 100%; height: 5px;}
  #companyPage #sec3 .container h2.secTitle::before,
  #companyPage #sec4 .container h2.secTitle::before,
  #companyPage #sec5 .container h2.secTitle::before {background-image: url("images/common/bg-secTitle-bk2-280x214.svg");}
  #companyPage #sec5 .container .dispFlex {flex-direction: column; gap: 30px;}
  #companyPage #sec5 .container .dispFlex dl {padding-top: 20px; border-radius: 15px;}
  #companyPage #sec5 .container .dispFlex dl dt {font-size: 22px;}
  #companyPage #sec5 .container .dispFlex dl dd:first-of-type ul {padding-top: 10px;}
  #companyPage #sec5 .container .dispFlex dl dd:last-of-type {border-radius: 10px;}
  #companyPage #sec6 .container .dispFlex dl {padding: 15px;}
  #companyPage #sec6 .container .dispFlex dl dt {margin-bottom: 10px;}
}
@media (max-width: 360px) {
  #companyPage #sec2 .container dl dd {font-size: 16px;}
}

/* #contactPage（お問い合わせページ）設定
--------------------------------------------------------------------------*/
#contactPage #mainVisual h1 span::before {width: 310px;}
#contactPage #sec2 {background-color: #FCFCFC;}
@media (min-width: 1230px) {
  #contactPage #sec1 {margin-bottom: 120px;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #contactPage #mainVisual h1 span::before {width: 270px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #contactPage #mainVisual h1 span::before {width: 225px;}
  #contactPage #sec1 .container p.textArea br {display: none;}
}
@media (min-width: 768px) {
  #contactPage #mainVisual::before {background-image: url("images/sub/contact-mv-pc.webp");}
}
@media (max-width: 767px) {
  #contactPage #mainVisual::before {background-image: url("images/sub/contact-mv-mp.webp");}
  #contactPage #mainVisual h1 span::before {width: 180px;}
  #contactPage #sec2 {padding: 30px 15px;}
}
@media (max-width: 767px) and (min-width: 465px) {
  #contactPage #sec2 {padding-top: 120px;}
}

/* #thanksPage（サンクスページ）設定
--------------------------------------------------------------------------*/
#thanksPage #mainVisual h1 span::before {width: 275px;}
#thanksPage #sec1 .container h2 {margin-bottom: 30px;}
#thanksPage #sec1 .container a {margin-top: 60px;}
@media (max-width: 1229px) and (min-width: 992px) {
  #thanksPage #mainVisual h1 span::before {width: 230px;}
  #thanksPage #sec1 .container h2 {margin-bottom: 25px;}
  #thanksPage #sec1 .container a {margin-top: 50px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #thanksPage #mainVisual h1 span::before {width: 195px;}
  #thanksPage #sec1 .container h2 {margin-bottom: 20px;}
  #thanksPage #sec1 .container a {margin-top: 40px;}
}
@media (min-width: 768px) {
  #thanksPage #mainVisual::before {background-image: url("images/sub/contact-mv-pc.webp");}
}
@media (max-width: 767px) {
  #thanksPage #mainVisual::before {background-image: url("images/sub/contact-mv-mp.webp");}
  #thanksPage #mainVisual h1 span::before {width: 155px;}
  #thanksPage #sec1 .container h2 {margin-bottom: 15px;}
  #thanksPage #sec1 .container a {margin-top: 30px;}
}

/* #newsPage（最新情報ページ）設定
--------------------------------------------------------------------------*/
#newsPage #mainVisual h1 span::before {width: 190px;}
#newsPage #sec1 .container h2.secTitle {margin-bottom: 0;}
@media (max-width: 1229px) and (min-width: 992px) {
  #newsPage #mainVisual h1 span::before {width: 164px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #newsPage #mainVisual h1 span::before {width: 135px;}
}
@media (min-width: 768px) {
  #newsPage #mainVisual::before {background-image: url("images/sub/news-mv-pc.webp");}
}
@media (max-width: 767px) {
  #newsPage #mainVisual::before {background-image: url("images/sub/news-mv-mp.webp");}
  #newsPage #mainVisual h1 span::before {width: 110px;}
}

/* #paginationArea設定
--------------------------------------------------------------------------*/
#paginationArea {position: relative; margin: 30px 0 0; padding: 0; font-size: 14px; line-height: 14px; text-align: center; clear: both;}
#paginationArea .pagination-box {display: inline-block;}
#paginationArea .pagination-box span, #paginationArea .pagination-box a {display: block; margin: 2px 2px 2px 0; padding: 10px 15px 10px 15px; background-color: #FFF; border: solid 1px #CCC; border-radius: 5px; color: #333; font-size: 14px; line-height: 14px; text-decoration: none; float: left;}
#paginationArea .pagination-box .current {padding: 10px 15px 10px 15px; background-color: #F0D34A; border: solid 1px #F0D34A;}
@media (min-width: 1230px) {
  #paginationArea .pagination-box a:hover {background-color: #F0D34A; border: solid 1px #F0D34A;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #paginationArea {margin: 25px 0 0;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #paginationArea {margin: 20px 0 0;}
}
@media (max-width: 767px) {
  #paginationArea {margin: 15px 0 0;}
  #paginationArea .pagination-box span.page-of {float: none;}
  #paginationArea .pagination-box span, #paginationArea .pagination-box a, #paginationArea .pagination-box .current {padding: 7px 10px 7px 10px;}
}

/* #postPage（ブログ記事ページ #mainVisual）設定
--------------------------------------------------------------------------*/
#postPage #mainVisual h1 span::before {width: 190px;}
#postPage #sec1 .container h2.secTitle {margin-bottom: 0;}
@media (max-width: 1229px) and (min-width: 992px) {
  #postPage #mainVisual h1 span::before {width: 164px;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #postPage #mainVisual h1 span::before {width: 135px;}
}
@media (min-width: 768px) {
  #postPage #mainVisual::before {background-image: url("images/sub/news-mv-pc.webp");}
}
@media (max-width: 767px) {
  #postPage #mainVisual::before {background-image: url("images/sub/news-mv-mp.webp");}
  #postPage #mainVisual h1 span::before {width: 110px;}
}

/* #postPage（ブログ記事ページ #rightArea）設定
--------------------------------------------------------------------------*/
#postPage #sec1 {padding: 120px 0;}
#secPost {padding-bottom: 0;}
#secPost .container {gap: 0;}
#rightArea {width: 75%; padding-left: 60px;}
#rightArea .Inner h2.postTitle {height: auto; margin-bottom: 15px; padding: 0 0 15px; border-bottom: solid 2px #CCC; font-size: 26px; line-height: 1.2;}
#rightArea .Inner .blogInfo {justify-content: space-between; align-items: center;}
#rightArea .Inner .blogInfo span {position: relative;}
#rightArea .Inner .blogInfo span::before, #rightArea .Inner .blogInfo span::after {content: '・';}
#rightArea .Inner .blogInfo span::after {left: auto; right: 0;}
#rightArea .Inner .blogInfo span.blogCategory ul {display: inline-block; padding: 0;}
#rightArea .Inner .blogInfo span.blogCategory ul li {padding: 0;}
#postArea {padding: 60px 0 0; clear: both;}
#postArea img {width: auto; max-width: 100%; padding: 0;}
#postArea h3 {padding: 0 0 30px; font-size: 24px; font-weight: 700; line-height: 1.6;}
#postArea p {padding: 0 0 30px; line-height: 1.6;}
#postArea p a {font-weight: 500; text-decoration: underline; word-break: break-all;}
#postArea strong {font-weight: 700;}
#postArea .alignleft {display: inline-block;}
#postArea .aligncenter {display: block; margin: 0 auto; text-align: center;}
#postArea .alignright {display: block; margin: 0 0 0 auto; text-align: right;}
#postArea blockquote {position: relative; margin: 0 0 30px; padding: 1.2em; border: none; background-color: #EEE; font-size: 1em; line-height: 1.4;}
#postArea blockquote:before, #postArea blockquote:after {position: absolute; color: #F0D34A; font-size: 4em;}
#postArea blockquote:before {content: '“'; top: -20px; left: -2px;}
#postArea blockquote:after {content: '”'; top: auto; bottom: -47px; left: auto; right: -2px;}
#postArea blockquote p {padding-bottom: 0;}
#postArea code {display: block; margin-bottom: 30px; padding: 10px; background-color: rgba(51,51,51,0.07);}
#postArea .pdfemb-viewer {margin-bottom: 30px;}
#postArea .gallery {display: flex; flex-wrap: wrap; gap: 15px;}
#postArea .gallery-item {margin-top: 0 !important; margin-bottom: 30px;}
#postArea .gallery-columns-2 .gallery-item {width: calc(50% - 15px / 2);}
#postArea .gallery-columns-3 .gallery-item {width: calc(33.333333% - 15px * 2 / 3);}
#postArea .gallery-item .gallery-icon {margin: 0; padding-right: 0;}
#postArea .gallery-item .gallery-icon img {margin: 0; border: none;}
#postArea .wp-block-pdfemb-pdf-embedder-viewer {max-width: none;}
#postArea div.pdfemb-toolbar button.pdfemb-prev::before,
#postArea div.pdfemb-toolbar button.pdfemb-next::before,
#postArea div.pdfemb-toolbar button.pdfemb-zoomout::before,
#postArea div.pdfemb-toolbar button.pdfemb-zoomin::before {position: static;}
#postArea .addtoany_content {margin: 0; padding: 30px 0 0;}
#postArea #prevNext {padding: 30px 0 0;}
#postArea #prevNext ul li.prev-link {width: 50%; padding-right: 30px;}
#postArea #prevNext ul li.next-link {width: 50%; margin-left: auto; padding-left: 30px;}
#postArea #prevNext ul li a {display: block; padding: 6px; background-color: #FFF; border: solid 2px #F0D34A; overflow: hidden;}
#postArea #prevNext ul li a figure {width: 40%; height: 80px; float: left;}
#postArea #prevNext ul li a figure span {height: 80px;}
#postArea #prevNext ul li a dl {width: 60%; height: 80px; padding-left: 5px; float: left;}
#postArea #prevNext ul li a dl dt {width: 100%; padding: 0 0 7px; border-bottom: solid 1px #F0D34A; color: #F0D34A; font-size: 90%; font-weight: 500;}
#postArea #prevNext ul li a dl dd {max-height: 60px; padding: 5px; font-size: 90%; line-height: 1.3; overflow: hidden;}
#postArea #prevNext ul li a dl dd::before {content: none;}
#postArea #prevNext ul li.next-link a figure {float: right;}
#postArea #prevNext ul li.next-link a dl {padding: 0 5px 0 0; float: right;}
#postArea #prevNext ul li.next-link a dl dt {text-align: right;}
@media (min-width: 1230px) {
  #secPost #rightArea .Inner , #secPost #leftArea .Inner {position: sticky; top: 15px;}
}
@media (max-width: 1229px) {
  #postArea blockquote:before {top: -15px;}
  #postArea blockquote:after {bottom: -48px;}
  #postArea .gallery {gap: 10px;}
  #postArea .gallery-columns-2 .gallery-item {width: calc(50% - 10px / 2);}
  #postArea .gallery-columns-3 .gallery-item {width: calc(33.333333% - 10px * 2 / 3);}
  #postArea #prevNext ul li a dl dd {max-height: 70px;}
  #postArea #prevNext ul li a figure, #postArea #prevNext ul li a figure span, #postArea #prevNext ul li a dl {height: 85px;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #postPage #sec1 {padding: 100px 0;}
  #rightArea {padding-left: 50px;}
  #rightArea .Inner h2.postTitle {font-size: 26px;}
  #postArea {padding: 50px 0 0;}
  #postArea h3 {padding: 0 0 25px; font-size: 22px;}
  #postArea p {padding: 0 0 25px;}
  #postArea blockquote, #postArea .pdfemb-viewer {margin-bottom: 25px;}
  #postArea code {margin-bottom: 25px;}
  #postArea .pdfemb-viewer {margin-bottom: 25px;}
  #postArea .gallery-item {margin-bottom: 25px;}
  #postArea #prevNext {padding: 25px 0 0;}
  #postArea #prevNext ul li.prev-link {padding-right: 25px;}
  #postArea #prevNext ul li.next-link {padding-left: 25px;}
}
@media (min-width: 992px) {
  #secPost .container {flex-direction: row-reverse;}
}
@media (max-width: 991px) {
  #secPost .container {flex-direction: column;}
  #rightArea {width: 100%; padding-left: 0;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #postPage #sec1 {padding: 80px 0;}
  #rightArea .Inner h2.postTitle {font-size: 24px;}
  #postArea {padding: 40px 0 0;}
  #postArea h3 {padding: 0 0 20px; font-size: 20px;}
  #postArea p {padding: 0 0 20px;}
  #postArea blockquote, #postArea .pdfemb-viewer {margin-bottom: 20px;}
  #postArea code {margin-bottom: 20px;}
  #postArea .pdfemb-viewer {margin-bottom: 20px;}
  #postArea .gallery-item {margin-bottom: 20px;}
  #postArea #prevNext {padding: 20px 0 0;}
  #postArea #prevNext ul li.prev-link {padding-right: 20px;}
  #postArea #prevNext ul li.next-link {padding-left: 20px;}
}
@media (max-width: 767px) {
  #postPage #sec1 {padding: 60px 0;}
  #rightArea .Inner h2.postTitle {font-size: 20px;}
  #postArea {padding: 30px 0 0;}
  #postArea h3 {padding: 0 0 15px; font-size: 18px;}
  #postArea p {padding: 0 0 15px;}
  #postArea blockquote, #postArea .pdfemb-viewer {margin-bottom: 15px;}
  #postArea code {margin-bottom: 15px;}
  #postArea .pdfemb-viewer {margin-bottom: 15px;}
  #postArea .gallery {gap: 5px;}
  #postArea .gallery-item {margin-bottom: 15px;}
  #postArea .gallery-columns-2 .gallery-item {width: calc(50% - 5px / 2);}
  #postArea .gallery-columns-3 .gallery-item {width: calc(33.333333% - 5px * 2 / 3);}
  #postArea #prevNext {padding: 15px 0 0;}
  #postArea #prevNext ul {gap: 30px;}
  #postArea #prevNext ul li {display: flex; max-width: 200px;}
  #postArea #prevNext ul li.prev-link {padding-right: 0;}
  #postArea #prevNext ul li.next-link {padding-left: 0;}
  #postArea #prevNext ul li a {width: 100%;}
  #postArea #prevNext ul li a figure {width: 100%; float: none;}
  #postArea #prevNext ul li a dl {width: 100%; height: auto; padding: 0; float: none;}
  #postArea #prevNext ul li a dl dt {margin-top: 10px; line-height: 1.3;}
  #postArea #prevNext ul li a dl dd {max-height: 85px; padding: 5px 0 0;}
  #postArea #prevNext ul li.next-link a figure {float: none;}
  #postArea #prevNext ul li.next-link a dl {padding: 0; float: none;}
}

/* #postPage（ブログ記事ページ #leftArea設定）設定
--------------------------------------------------------------------------*/
#leftArea {width: 25%;}
#leftArea nav .pageTitle {position: relative; display: block; width: 100%; height: 80px; margin-bottom: 15px; background-color: #F0D34A; border-radius: 15px; color: #FFF; font-size: 24px; font-weight: 700; line-height: 80px; text-align: center; box-sizing: initial; overflow: hidden; clip-path: inset(0);}
#leftArea nav .pageTitle::before {content: ''; position: absolute; top: 5px; right: -15px; display: block; width: 95px; height: 95px; background: center / cover no-repeat; background-image: url("images/sub/company-sec1-bg.webp");}
#leftArea nav ul#sideTopics {margin-bottom: 30px; padding: 10px; background-color: #FFF; border-radius: 15px; filter: drop-shadow(5px 5px 5px #DDD);}
#leftArea nav ul#sideTopics li.blogArea {position: relative; width: 100%; height: 110px;}
#leftArea nav ul#sideTopics li.blogArea:nth-of-type(2) {border-top: solid 1px #CCC;}
#leftArea nav ul#sideTopics li.blogArea a {gap: 0; width: 100%; height: 110px; padding: 10px 0; border-bottom: solid 1px #CCC;}
#leftArea nav ul#sideTopics li.blogArea a figure {position: relative; width: 35%; height: 90px; border: solid 1px #EEE;}
#leftArea nav ul#sideTopics li.blogArea a figure img {position: absolute; width: 100%; height: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; object-position: center;}
#leftArea nav ul#sideTopics li.blogArea a ul.textArea {position: relative; width: 65%; height: 90px; padding: 0 0 0 10px;}
#leftArea nav ul#sideTopics li.blogArea a ul.textArea li.blogCategory {position: absolute; top: 0; width: calc(100% - 10px); padding: 5px; background-color: #F0D34A; border-radius: 5px; color: #FFF; font-size: 75%; text-align: center;}
#leftArea nav ul#sideTopics li.blogArea a ul.textArea li.textTitle {position: absolute; top: 23px; max-height: 45px; padding-top: 10px; font-size: 80%; line-height: 1.4; overflow: hidden;}
#leftArea nav ul#sideTopics li.blogArea a ul.textArea li.blogDate {position: absolute; bottom: 0; right: 5px; font-size: 75%; text-align: right;}
#leftArea nav ul#category_sidebar li#categories-3 {margin-bottom: 30px; padding: 10px; background-color: #FFF; border-radius: 15px; filter: drop-shadow(5px 5px 5px #DDD);}
#leftArea nav ul#category_sidebar li#categories-3 ul li a {position: relative; display: block; width: 100%; margin-bottom: 0; padding: 15px; border-bottom: solid 1px #CCC; font-size: 14px;}
#leftArea nav ul#category_sidebar li#categories-3 ul li:nth-of-type(2) a {border-top: solid 1px #CCC;}
#leftArea nav ul#category_sidebar li#categories-3 ul li a::before {content: '-'; top: 50%; left: 5px; transform: translateY(-50%); padding-right: 5px;}
#leftArea nav ul#category_sidebar li#archives-2 {padding: 10px; background-color: #FFF; border-radius: 15px; filter: drop-shadow(5px 5px 5px #DDD);}
#leftArea nav ul#category_sidebar li#archives-2 span.textLabel {display: none;}
#leftArea nav ul#category_sidebar label.screen-reader-text {position: relative; display: block; width: 100%; height: 80px; margin-bottom: 15px; background-color: #F0D34A; border-radius: 15px; color: #FFF; font-size: 24px; font-weight: 700; line-height: 80px; text-align: center; box-sizing: initial; overflow: hidden; clip-path: inset(0);}
#leftArea nav ul#category_sidebar label.screen-reader-text::before {content: ''; position: absolute; top: 5px; right: -15px; display: block; width: 95px; height: 95px; background: center / cover no-repeat; background-image: url("images/sub/company-sec1-bg.webp");}
#leftArea nav ul#category_sidebar select#archives-dropdown-2 {position: relative; z-index: 10; top: 0; left: 50%; display: block; width: 100%; margin-left: -50%; padding: 5px; border: solid 1px #CCC; font-size: 14px;}
#leftArea nav ul#category_sidebar select#archives-dropdown-2 option {font-size: 14px;}
@media (max-width: 1229px) {
  #leftArea nav ul#sideTopics li.blogArea a ul.textArea li.textTitle {font-size: 90%;}
}
@media (max-width: 1229px) and (min-width: 992px) {
  #leftArea nav .pageTitle {height: 60px; font-size: 20px; line-height: 60px;}
  #leftArea nav ul#sideTopics {margin-bottom: 25px;}
  #leftArea nav ul#category_sidebar li#categories-3 {margin-bottom: 25px;}
  #leftArea nav ul#category_sidebar li#categories-3 ul li a {padding: 13px 25px;}
  #leftArea nav ul#category_sidebar li#categories-3 ul li a::before {left: 13px;}
  #leftArea nav ul#category_sidebar label.screen-reader-text {height: 60px; font-size: 20px; line-height: 60px;}
  #leftArea nav .pageTitle::before, #leftArea nav ul#category_sidebar label.screen-reader-text::before {top: 4px; right: -10px; width: 70px; height: 70px;}
}
@media (min-width: 992px) {
  #leftArea nav ul {position: static;}
}
@media (max-width: 991px) {
  #leftArea {width: 100%; padding: 0;}
}
@media (max-width: 991px) and (min-width: 768px) {
  #leftArea {margin-top: 40px;}
  #leftArea nav .pageTitle {height: 50px; font-size: 18px; line-height: 50px;}
  #leftArea nav ul#sideTopics {margin-bottom: 20px;}
  #leftArea nav ul#sideTopics li.blogArea a figure {width: 140px;}
  #leftArea nav ul#sideTopics li.blogArea a ul.textArea {width: 600px;}
  #leftArea nav ul#category_sidebar li#categories-3 {margin-bottom: 20px;}
  #leftArea nav ul#category_sidebar label.screen-reader-text {height: 50px; font-size: 18px; line-height: 50px;}
  #leftArea nav .pageTitle::before, #leftArea nav ul#category_sidebar label.screen-reader-text::before {top: 3px; right: -8px; width: 60px; height: 60px;}
}
@media (max-width: 767px) {
  #leftArea {margin-top: 30px;}
  #leftArea nav .pageTitle {height: 40px; font-size: 16px; line-height: 40px;}
  #leftArea nav ul#sideTopics {margin-bottom: 15px;}
  #leftArea nav ul#sideTopics li.blogArea a figure {width: 40%;}
  #leftArea nav ul#sideTopics li.blogArea a ul.textArea {width: 60%;}
  #leftArea nav ul#category_sidebar li#categories-3 {margin-bottom: 15px;}
  #leftArea nav ul#category_sidebar label.screen-reader-text {height: 40px; font-size: 16px; line-height: 40px;}
  #leftArea nav .pageTitle::before, #leftArea nav ul#category_sidebar label.screen-reader-text::before {top: 2px; right: -5px; width: 45px; height: 45px;}
}