@charset "utf-8";
/* CSS Document */

/*{
  font-family: 'Manrope', sans-serif;
  font-family: 'Noto Sans JP', sans-serif;
  font-family: 'Roboto', sans-serif;
}*/
body, h1, h2, h3, h4, p, dl, dt, dd {
  margin: 0;
}
h1, h2, h3, h4 {
  font-size: 100%;
  line-height : 1;
}
body, th, td {
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  font-weight: 400;
  line-height: 1.77778;
  color: #000000;
}
td {
  text-align: left;
}
p {
  text-align: justify;
}
entries-set {
  display: none;
  margin: 0;
  padding: 0;
}
entries-set:state(--show) {
  display: block;
}

.col_B {
  color: #001F5F;
}
.col_R {
  color: #D7291D;
}
.eng {
  font-weight: 900;
  letter-spacing: 0.04em;
}
.jpn {
  font-weight: 700;
  letter-spacing: 0.08em;
}
.initial {
  font-weight: 900;
  letter-spacing: 0.06em;
}
.san {
  font-weight: 700;
  letter-spacing: 0.08em;
}
.dep {
  font-weight: 700;
}
a:hover {
  opacity: 0.6;
}
.nr {
  white-space: nowrap;
}
.tume {
  letter-spacing: -0.03em
}
.bg_B {
  background-color: #E0EBF3;
}
.bg_Y {
  background-color: #FFFFE9;
}
.bg_W {
  background-color: #ffffff;
}
.natR, .natY {
  position: relative;
}
.natR::after, .natY::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
}
.natR::after {
  background-image: url("images/natR.svg");
}
.natY::after {
  background-image: url("images/natY.svg");
}
.office {
  transform: translateX(-0.5em);
  display: inline-block;
}

/*ナビ*/
nav {
  position:fixed;
  width: 100%;
  z-index: 10;
}
nav,
nav a {
  color: #001F5F;
  text-decoration: none;
  letter-spacing: 0.04em;
}
.always {
  right: 0;
  top: 0;
  width: 100%;
  position: absolute;
}
nav .menu{
  display: none;
  max-height: 100vh;
  overflow-y: auto;
  box-sizing: border-box;
}
nav.on .menu{
  display: block;
}

nav .burger {
  right: 0;
  top: 0;
  position: absolute;
}
nav .burger span {
  position: absolute;
  transition: all 0.25s;
  width: 56%;
  left: 22%;
}
nav.on .burger span:nth-child(1) {
  transform: rotate(-225deg)
}
nav.on .burger span:nth-child(2) {
  opacity: 0;
}
nav.on .burger span:nth-child(3) {
  transform: rotate(-135deg)
}

nav ul {
  box-sizing: border-box;
  position: relative;
  list-style-type: none;
  padding-left: 0;
  line-height: 1;
}
nav .links li {
  border-top: solid 1px #C9DCE9;
  display: flex;
  align-items: center;
  position: relative;
  box-sizing: border-box;
}
nav .links li.entry {
  padding-left: 0;
  padding-right: 0;
  height: auto;
}
nav .links > .lk {
  border-top: solid 1px #C9DCE9;
}
nav .links .lk a{
  position: relative;
  width: 100%;
  display: block;
}
nav .links .lk a::before {
  position: absolute;
  top: 50%;
  content: '';
  display: block;
  background-image: url("images/linkIcon.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
nav .links li .jpn{
  display: block;
  width: 100%;
}
nav .links > ul {
  display: flex;
  flex-wrap: wrap;
}
nav .links > ul > .lk {
  border-top: dashed 1px #C9DCE9;
  width: 50%;
}
nav .links > ul > .lk:nth-child(odd) {
  border-right: dashed 1px #C9DCE9;
}
nav ul .eng {
  font-weight: 900;
}
nav ul .jpn {
  color: #66799F;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding-top: 0.3em;
}

/*ロゴ*/
.logoH a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/*フッター*/
footer {
  position: relative;
  background-color: #1C2D6E;
  line-height: 1;
}

footer .pagetop {
  width: 100%;
  left: 0;
  display: none;
  position: fixed;
}
footer .pagetop a {
  display: block;
  margin-left: auto;
  box-shadow: 0em 0em 0.3em rgba(0,0,0,0.3);
}
footer .pagetop.on {
  display: block;
}
footer .pagetop.up {
  position: absolute;
}
footer .copy.wrapper{
  position: relative;
}
footer .sitelink{
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center;
  background-color: #001F5F;
  color: #ffffff;
  text-decoration: none;
}
footer .sitelink::after {
  content: '';
  background-image: url("images/linkIcon.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
  margin-left: 1.25em;
  margin-top: 0.15em;
}
footer p {
  color: #80A4CF;
}

/*エントリーボタン*/
.entry a {
  position: relative;
  box-sizing: border-box;
  text-decoration: none;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center center;
  margin: 0 auto;
  box-shadow: 0em 0em 0.3em rgba(0, 0, 0, 0.3);
}
.entry a::after,
.entry a::before {
  content: '';
  background-image: url("images/screw.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  display: block;
  top: 50%;
}
.entry a::after {
}
.entry a::before {
}
.entry a span{
  color: #ffffff;
  display: block;
}

section,
.wrapper,
.container,
nav ul.links,
nav custom-entries-element,
header {
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
}

header .wrapper {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}

nav ul.links::before,
section::before {
  content: '';
  display: block;
  background-image: url("images/secSplit.svg");
  background-position: center center;
  background-repeat: no-repeat;
}
main section:first-child::before {
  display: none;
}

header {
  color: #001F5F;
  line-height: 1;
}
h2 {
  color: #001F5F;
}

/*トップ*/
#movie {
  text-align: center;
}
.top .dash {
  font-weight: 900;
  display: flex;
  align-items: center;
}
.top .dash > span {
  letter-spacing: 0.04em;
}
.top .dash::after {
  background-position: left center;
}
.top .dash sup,
.top .dash .caps {
  font-size: 60%;
}
.top .dash .caps {
  display: block;
}
.top h2 > span {
  display: block;
  text-align:center;
  line-height: 1;
}
.top h2 .eng {
  font-weight: 900;
  letter-spacing: 0.06em;
  margin-bottom: 0.05em;
}
.top h2 .jpn {
  font-weight: 700;
  letter-spacing: 0.08em;
}

.link a.box {
  position: relative;
  display: block;
  text-decoration: none;
  color: #001F5F;
}
.link img {
  display:block;
  width: 100%;
}
#link1 .comment {
  font-weight: 900;
  font-feature-settings: "palt";
  letter-spacing: 0.125em;
}
#link1 p, #link3 p {
  font-weight: 700;
}
#link2 p {
  font-weight: 900;
  position: relative;
}
#link3 p {
  font-feature-settings: "palt";
}
#link2 p::after {
  content: '';
  background-image: url("images/topintHK.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  width: 100%;
  display: block;
  position: absolute;
  top: 100%;
  height: 2em;
}
#link2 a .name,
#other a .name{
  text-decoration: none;
  position: absolute;
  color: #ffffff;
  bottom: 0;
  box-sizing: border-box;
  background-image: url("images/topnameMat.svg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  line-height: 1;
}
#link2 a .name > span,
#other a .name > span {
  display: block;
}
#link2 a img,
#other a img {
  border: none;
}
#link3 {
  background-color: #669BC1;
}

/*一般ページ*/
.general h1::after {
  background-position: left top;
}
.general h1 > span{
  display: block;
}
.general h1 .eng {
  font-weight: 900;
  display: flex;
  align-items: center;
}
.general h1 .jpn {
  font-weight: 700;
}
.general h1 .eng span{
  letter-spacing: 0.04em;
}
.general h1 .jpn {
  letter-spacing: 0.08em;
}

.contBox h2 {
  font-weight: 900;
  position: relative;
  margin: 0 auto;
}
.contBox h2::before,
.contBox h2::after,
.contBox h2 > span::before,
.contBox h2 > span::after {
  content: '';
  position: absolute;
  display: block;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.contBox h2.bg_B::before,
.contBox h2.bg_B::after {
  background-image: url("images/curvB.svg");
  bottom: 0;
}
.contBox h2.bg_Y::before,
.contBox h2.bg_Y::after {
  background-image: url("images/curvY.svg");
  bottom: 0;
}
.contBox h2 > span::before,
.contBox h2 > span::after {
  background-image: url("images/screwB.svg");
}
.contBox h2 > span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.contBox h2 > span span {
  display: block;
  text-align: center;
}
.contBox h2 > span > .normal,
.contBox h2 > span .eng {
  line-height: 1;
  letter-spacing: 0.04em;
}
.contBox h2 > span .jpn {
  line-height: 1;
  letter-spacing: 0.04em;
  margin-top: 0.25em;
}
.content {
  box-sizing: border-box;
}

.midashi {
  font-weight: 700;
  color: #001F5F;
  line-height: 1.7;
}
.wBox {
  box-sizing: border-box;
  background-color: #ffffff;
}
.r15 {
}
.general ul, .general ol{
  padding-left: 0;
  list-style-type: none;
  margin: 0;
}

.general .textBlock,
.general .innerBlock {
  margin: 0 auto;
}

.general .tableDL dt {
  color: #001F5F;
  font-weight: 700;
}

#jigyo .wBox,
#strong ul,
#department .wBox,
#number ul {
  margin: 0 auto;
}

a.lightBlue:link, a.lightBlue:visited {
  color: #3FA9F5;
  text-decoration: underline;
}
a.lightBlue:hover {
  text-decoration: none;
}

/*会社紹介*/
#jigyo .textBlock ul {
  display: flex;
  justify-content: space-around;
  box-sizing: border-box;
}
#jigyo .textBlock li {
  box-sizing: border-box;
  background-color: #ffffff;
  display: block;
  text-align: center;
  border-radius: 50%;
  line-height: 1;
}
#jigyo .textBlock li span{
  display: block;
  font-weight: 900;
}
#jigyo .textBlock li:nth-child(1) {
  color: #94B9D4;
}
#jigyo .textBlock li:nth-child(2) {
  color: #EDA19C;
}
#jigyo .textBlock li:nth-child(3) {
  color: #73AC79;
}
#jigyo h3 {
  font-weight: 700;
  display: inline-block;
  color: #001F5F;
  padding: 0.4em 1.25em;
}
/*#jigyo .textBlock p {
  font-feature-settings: "palt";
}*/
#jigyo h3 span{
  line-height: 1;
}
/**/
#jigyo .wBox{
  margin-top: 2em;
  padding-top: 2em;
  padding-bottom: 2em;
}
.midashi2 {
  text-align: center;
  color: #001F5F;
}
.midashi2 span{
  font-weight: 700;
  display: inline-block;
  position: relative;
}
.midashi2 span::before,
.midashi2 span::after {
  content: "";
  display: block;
  position: absolute;
  border: solid 0.045em #001F5F;
  top: calc(50% - 0.0225em);
}
#jigyo .jigyo2 ul li{
  position: relative;
  text-align: center;
}
#jigyo .jigyo2 ul li .wari7 {
  position: absolute;
}
#strong li {
  box-sizing: border-box;
  position: relative;
}
#strong li img{
  display: block;
  margin: 0 auto;
}
#movie iframe{
}

/*仕事紹介*/
.business .icon {
  box-sizing: border-box;
  display: inline-block;
}
#flow ol {
  margin: 0 auto;
}
#flow li {
  position: relative;
}
#flow li::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  background-image: url("images/angle.svg");
  background-position: center center;
  background-repeat: no-repeat;
}
#flow li:last-child::after {
  display: none;
}
#flow .number {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #ffffff;
  background-color: #19356F;
  border-radius: 50%;
}
#flow h3 {
  box-sizing: border-box;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: 0;
  height: 100%;
}
#flow h3 > span{
  font-weight: 700;
  color: #001F5F;
  line-height: 1.25;
}
#flow h3 > span .sm{
  font-size: 0.73em;
}
#flow .icon {
  position: relative;
  float: right;
  text-align: center;
}
#flow .icon span {
  font-weight: 700;
  display: block;
  line-height: 1;
}
#flow .eigyo {
  color: #DF544A;
  background-color: #F9DFDD;
}
#flow .tech {
  color: #1767A0;
  background-color: #D9EEFD
}
#flow .seizo {
  color: #20998D;
  background-color: #C3ECE8;
}

#department {
  text-align: center;
}
#department .wBox {
  position: relative;
}
#department .icon{
  display: inline-block;
  background-color: #ffffff;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 50%;
}
#department .icon.eigyo {
  background-image: url("images/iconR.svg");
}
#department .icon.tech {
  background-image: url("images/iconB.svg");
}
#department .icon.seizo {
  background-image: url("images/iconG.svg");
}
#department h3 {
  color: #001F5F;
  font-weight: 900;
}
/*#department p {
  text-align: left;
}*/

/*キャリアパス*/
#learning dl {
  overflow: hidden;
  margin: 0 auto;
  display: flex;
}
#learning dl:last-child {
  margin-bottom: 0;
}
#learning dl dt,
#learning dl dd {
  box-sizing: border-box;
}
#learning dl dt {
  text-align: center;
  color: #ffffff;
  background-repeat: no-repeat;
}
#learning dl dt span{
  display: block;
  font-weight: 900;
}
#learning dl:nth-child(1) dt {
  background-color: rgba(102,155,193,1.00);
  background-image: url("images/neji1.svg");
}
#learning dl:nth-child(2) dt {
  background-color: rgba(41,94,146,1.00);
  background-image: url("images/neji2.svg");
}
#learning dl:nth-child(3) dt {
  background-color: rgba(16,57,111,1.00);
  background-image: url("images/neji3.svg");
}
#learning dl:nth-child(4) dt {
  background-color: rgba(0,31,95,1.00);
  background-image: url("images/neji4.svg");
}
#learning dl dd h3{
  color: #001F5F;
  font-weight: 900;
  margin-bottom: 0.35em;
}
#learning dl dd p{
  line-height: 1.6;
}
.price {
  position: relative;
  font-weight: 900;
  line-height: 1.35;
}
.price::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url("images/price.svg");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}
.price > span {
  display: block;
}
#number li {
  box-sizing: border-box;
  color: #001F5F;
  position: relative;
  /*font-weight: 900;*/
  line-height: 1;
  background-repeat: no-repeat;
}
#number li:nth-child(1) {
  background-image: url("images/number1.svg");
}
#number li:nth-child(2) {
  background-image: url("images/number2.svg");
}
#number li:nth-child(3) {
  background-image: url("images/number3.svg");
}
#number li:nth-child(4) {
  background-image: url("images/number4.svg");
}
#number li:nth-child(5) {
  background-image: url("images/number5.svg");
}
#number li h3 {

}
#number li h3 .caps{
  display: block;
}
#number li .caps {
  font-weight: 400;
  color: #808FAF;
}
#number li .num {
  font-weight: 900;
  position: relative;
}
#number li:nth-child(1) .capbold {
  padding-top: 0.25em;
  padding-left: 1.5em;
  display: block;
}
#number li h4 {
  font-weight: 700;
}
#number li:nth-child(2) .num {
  padding-left: 1.5em;
}
#number li:nth-child(4) .data span {
  display: inline-block;
}
#number li:nth-child(4) .data .tit{
  width: 9em;
}
#number li:nth-child(4) .data > span {
  padding-bottom: 0.25em;
}
#number li:nth-child(4) .data:last-child {
  padding-top: 0.35em;
}
#number li:nth-child(4) .data .capsmall {
  font-weight: 700;
}
#number li:nth-child(5) .col2{
  display: flex;
}
#number li:nth-child(5) .col2 .num{
  text-align: center;
  width: 50%;
}
#number li:nth-child(5) .col2 .num:first-child {
  border-right: dashed 1px #669BC1;
}

/*採用情報*/
#message .textBlock {
  position: relative;
}
#recruit .bonas {
  display: flex;
  align-items: center;
  gap: 1.5em;
}
#recruit .bonas > span {
  display: block;
  position: relative;
}
#recruit .bonas > span:first-child::after {
  position: absolute;
  content:'';
  background-image: url("images/namikokka.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 100%;
  width: 1em;
  right: -1.25em;
  top: 0;
}
#recruit .month {
  display: inline-block;
  width: 1.5em;
  text-align: center;
}
#benefit ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#benefit li {
  text-align: center;
}
#benefit li::before {
  content: '';
  display: block;
  margin: 0 auto;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}
#benefit li:nth-child(1)::before {
  background-image: url("images/bene1.svg");
}
#benefit li:nth-child(2)::before {
  background-image: url("images/bene2.svg");
}
#benefit li:nth-child(3)::before {
  background-image: url("images/bene3.svg");
}
#benefit li:nth-child(4)::before {
  background-image: url("images/bene4.svg");
}
#benefit li:nth-child(5)::before {
  background-image: url("images/bene5.svg");
}
#benefit li:nth-child(6)::before {
  background-image: url("images/bene6.svg");
}
#benefit li span {
  text-align: center;
  font-weight: 900;
  color: #001F5F;
  line-height: 1.1;
}

/*インタビュー*/
#profile,
#profile h2 {
  position: relative;
}
#profile::before,
#profile::after,
#profile h2::before,
#profile h2::after,
.txt .open::after {
  content: '';
  display: block;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("images/screwB.svg");
  position: absolute;
  margin-top: 0;
  margin-bottom: 0;
}
#profile::before,
#profile::after,
#profile h2::before,
#profile h2::after {
}

#profile h2 img {
  position: absolute;
  left: 0;
  bottom: 0;
}
#profile h2 .name {
  font-weight: 900;
}
#profile h2 .dep > span{
  font-feature-settings: "palt";
  color: #000000;
}
#profile .pro h3 {
  font-weight: 700;
  color: #001F5F;
}
.interview .txt {
  position: relative;
}
.interview .txt h3{
  font-weight: 900;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  color: #001F5F;
  background-color: #ffffff;
}
.interview .txt h3 > span {
  line-height: 1;
}
.interview .txt h3::before {
  content: '';
  display: inline-block;
  background-image: url("images/natInt.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.interview .txt .dash {
  color: #001F5F;
  font-weight: 900;
  line-height: 1.6;
}
.interview .pic {
  line-height: 0;
  text-align: center;
}
#schedule table {
  margin: 0 auto;
}
#schedule th,
#schedule td {
  padding: 0;
  vertical-align: top;
}
#schedule th > span {
  font-family: 'Manrope', sans-serif;
  color: #FFFF90;
  display: block;
  background-image: url("images/scheTH.svg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#schedule th > span > span {
  display: block;
  text-align: right;
  line-height: 1;
}
#schedule td {
  box-sizing: border-box;
}
#schedule h3 {
  color: #001F5F;
  font-weight: 900;
}

.interview1 #other a:nth-child(1){
  display: none;
}
.interview2 #other a:nth-child(2){
  display: none;
}
.interview3 #other a:nth-child(3){
  display: none;
}
.interview4 #other a:nth-child(4){
  display: none;
}

.grad {
  margin-top: -0.75em;
  display: block;
  bottom: 0;
  height: 0.75em;
  width: 100%;
  background-image: -webkit-linear-gradient(270deg,rgba(225,225,225,0.00) 0%,rgba(225,225,225,1.00) 100%);
  background-image: -moz-linear-gradient(270deg,rgba(225,225,225,0.00) 0%,rgba(225,225,225,1.00) 100%);
  background-image: -o-linear-gradient(270deg,rgba(225,225,225,0.00) 0%,rgba(225,225,225,1.00) 100%);
  background-image: linear-gradient(180deg,rgba(225,225,225,0.00) 0%,rgba(225,225,225,1.00) 100%);
}

/*PC*/
@media screen and (min-width: 1280px) {
  body, th, td, h1, h2, h3, h4{
    font-size: 18px;
  }
  body {
    background-size: 6000px auto;
  }
  header .inner {
    margin-left: 4.444em;
  }

  /*トップ*/
  .top h1 {
    margin-top: 1.5em;
  }
  .catch{
    height: 5em;
  }
  .preTitle{
    margin-left: 1.25em;
    height: 2.45em;
  }
  .title {
    margin-top: 1.5em;
  }
  .title img {
    height: 4.1667em;
  }
  .top .natR {
    margin-top: 1.5em;
  }
  .top .natY {
    margin-top: 0.25em;
  }
  .top .dash {
    padding-left: 2.5em;
    height: 3em;
  }
  .top .dash > span{
    font-size: 1.56em;
  }
  .top .dash > span .caps{
    margin-top: 0.5em;
  }
  .top .dash::after {
    width: 2em;
    background-size: 100% 2.5em;
  }

  /*一般ページ*/
  .general h1 {
    margin-top: 5.5em;
    padding-left: 2.75em;
  }
  .general h1::after {
    width: 2.75em;
    background-size: auto 2.5em;
  }
  .general h1 .eng {
    height: 2.5em;
    margin-bottom: 0.25em;
  }
  .general h1 .eng span{
    font-size: 2.9em;
  }
  .general h1 .jpn {
    font-size: 0.944em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  body, th, td, h1, h2, h3, h4{
    font-size: calc(14px + (4 * (100vw - 768px) / (1280 - 768)));
  }
  body {
    background-size: calc(100vw * 5120 / 1280) auto;
  }
  header .inner {
    margin-left: 6.25vw;
  }

  /*トップ*/
  .top h1 {
    margin-top: 2vw;
  }
  .catch{
    height: 7.09vw;
  }
  .preTitle{
    margin-left: 1.75vw;
    height: 3.46vw;
  }
  .title {
    margin-top: 2vw;
  }
  .title img {
    height: 5.86vw;
  }
  .top .natR {
    margin-top: 2vw;
  }
  .top .natY {
    margin-top: 0.5vw;
  }
  .top .dash {
    padding-left: 3.8vw;
    height: 4.12vw;
  }
  .top .dash > span{
    font-size: 2.2vw;
  }
  .top .dash > span .caps{
    margin-top: 0.5em;
  }
  .top .dash::after {
    width: 3.8vw;
    background-size: auto 3.5vw;
  }
  #link2 a .name .dep,
  #other a .name .dep {
    transform: scaleX( 0.875 );
    transform-origin: left center;
  }

  /*一般ページ*/
  .general h1 {
    margin-top: 7.65vw;
    padding-left: 3.8vw;
  }
  .general h1::after {
    width: 3.8vw;
    background-size: auto 3.5vw;
  }
  .general h1 .eng {
    height: 3.5vw;
    margin-bottom: 0.5vw;
  }
  .general h1 .eng span{
    font-size: 4vw;
  }
  .general h1 .jpn {
    font-size: 1.3vw;
  }
}

@media screen and (min-width: 1000px) {
  .container {
    max-width: 940px;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .container {
    width: 94%;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }

  .wrapper {
    max-width: 1280px;
  }

  /*ナビ*/
  nav ul.links {
    margin-top: 4em;
    width: 33.33333em;
  }
  nav custom-entries-element {
    width: 33.33333em;
  }
  nav ul.links::before {
    margin-bottom: 1.25em;
  }
  nav .burger {
    right: 1.78em;
    top: 0.5em;
    width: 4.67em;
    height: 4.67em;
    cursor: pointer;
  }
  nav .burger span {
    border-top: solid 0.28em #001F5F;
  }
  nav .burger span:nth-child(1) {
    top: calc(30% - 0.14em);
  }
  nav .burger span:nth-child(2) {
    top: calc(50% - 0.14em);
  }
  nav .burger span:nth-child(3) {
    top: calc(70% - 0.14em);
  }
  nav.on .burger span:nth-child(1) {
    top: calc(50% - 0.14em);
  }
  nav.on .burger span:nth-child(3) {
    top: calc(50% - 0.14em);
  }
  nav .links li {
    height: 3.8889em;
    padding-left: 4.5em;
    padding-right: 4.5em;
  }
  nav ul .eng{
    font-size: 1.444em;
  }
  nav ul .jpn{
    font-size: 0.778em;
  }
  nav ul .san{
    font-size: 0.889em;
  }
  nav .links .lk a::before {
    width: 0.927em;
    height: 0.927em;
    right: 0;
    margin-top: -0.4634em;
  }

  /*ロゴ*/
  .logoH {
    padding-top: 1.5em;
    padding-left: 2em;
  }
  .logoH a{
    width: 42.42%;
  }
  .logoH a .logo{
    width: 9.5%;
  }
  .logoH a .shamei{
    width: 37%;
  }
  .logoH a .bar{
    width: 0.2%;
  }
  .logoH a .recruiting{
    width: 44.7%;
  }

  /*フッター*/
  footer {
    height: 4.444em;
  }
  footer .pagetop {
    bottom: 1.4em;
    /*right: 1.4em;*/
  }
  footer .pagetop.up {
    bottom: calc(100% + 1.4em);
  }
  footer .pagetop a {
    width: 2.7778em;
    height: 2.7778em;
    margin-right: 2.675em;
  }
  footer .copy.wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
  }
  footer .sitelink{
    width: 16.6667em;
    font-size: 0.7778em;
  }
  footer .sitelink::after {
    width: 0.927em;
    height: 0.927em;
  }
  footer p{
    font-size: 0.5556em;
    padding-right: 3.5em;
  }

  /*エントリーボタン*/
  .entry {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .entry a {
    background-size: cover;
    border-radius: 0.833em;
    width: 33.333em;
    height: 6.6667em;
    border: solid 0.16667em #FBB7B7;
  }
  .entry a .eng{
    font-size: 2.88889em;
  }
  .entry a .jpn{
    font-size: 0.94444em;
  }
  .entry a::after,
  .entry a::before {
    margin-top: -0.694444em;
    width: 1.38889em;
    height: 1.38889em;
  }
  .entry a::after {
    right: 1em;
  }
  .entry a::before {
    left: 1em;
  }

  body {
    background-repeat: no-repeat;
    background-position: center top;
  }
  .top {
    background-image: url("images/topBG.svg");
  }
  .general {
    background-image: url("images/generalBG.svg");
  }

  nav ul.links::before,
  section::before {
    background-size: auto 1.3644em;
    height: 1.3644em;
  }

  main {
    background-image: url("images/mainBG.svg");
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 100% auto;
  }

  .top header .wrapper{
    max-height: 860px;
    height: 67.19vw;
    background-image: url("images/topheader.svg");
  }
  .general header .wrapper{
    max-height: 390px;
    height: 30vw;
  }
  .company header .wrapper{
    background-image: url("images/companyheader.svg");
  }
  .business header .wrapper{
    background-image: url("images/businessheader.svg");
  }
  .careerpath header .wrapper{
    background-image: url("images/careerpathheader.svg");
  }
  .recruit header .wrapper{
    background-image: url("images/recruitheader.svg");
  }
  .interview header .wrapper{
    background-image: url("images/interviewheader.svg");
  }

  section {
    padding-top: 3em;
  }
  section::before {
    margin-bottom: 3em;
  }

  /*トップ*/
  .top header {
    margin-bottom: -4.5em;
  }
  .top h2 {
    margin-bottom: 1.5em;
  }
  .top h2 .eng {
    font-size: 2.9em;
  }
  .top h2 .jpn {
    font-size: 0.94em;
  }

  #movie iframe {
    width: 40em;
    height: 22.5em;
  }
  .link .container{
    display: flex;
    justify-content: space-between;
  }
  #link1 a.box, #link3 a.box {
    width: 48%;
    padding: 2em;
    box-sizing: border-box;
  }

  #link1 a.box, #link3 a.box,
  #link1 a.box img, #link3 a.box img{
    border-radius: 0.833em;
  }

  #link1 p,
  #link3 p {
    font-size: 1em;
    line-height: 1.5;
  }
  #link1 .comment {
    margin-left: -2em;
    margin-right: -2em;
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 1.222em;
    line-height: 1.5;
  }
  #link1 a.box img, #link3 a.box img{
    margin-bottom: 1em;
  }

  #link2 {
    padding-bottom: 0;
  }
  #link2 .container,
  #other .container {
    justify-content: space-around;
    padding-left: 0;
    list-style-type: none;
    margin-top: 0;
    margin-bottom: 0;
    max-width: none;
  }
  #link2 p {
    font-size: 1.11em;
    line-height: 1.5;
    padding-bottom: 0.25em;
    margin-bottom: 0.5em;
  }
  #link2 a.box,
  #other a.box {
    position: relative;
  }
  #link2 a.box {
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
  #link2 a.box {
    width: 20.3125%;
  }
  #link2 a.box:nth-child(1) {
    background-image: url("images/int_top1.png");
  }
  #link2 a.box:nth-child(2) {
    background-image: url("images/int_top2.png");
  }
  #link2 a.box:nth-child(3) {
    background-image: url("images/int_top3.png");
  }
  #link2 a.box:nth-child(4) {
    background-image: url("images/int_top4.png");
  }

  #link2 img {
    opacity: 0;
  }
  #link2 a .name,
  #other a .name{
    width: 100%;
    height: 4.73em;
    padding-top: 1.15em;
    padding-left: 1.15em;
  }
  #link2 a .name .initial,
  #other a .name .initial {
    font-size: 1.333em;
  }
  #link2 a .name .san,
  #other a .name .san {
    font-size: 0.9em;
  }
  #link2 a .name .dep,
  #other a .name .dep {
    padding-top: 0.5em;
    font-size: 0.78em;
  }

  /*一般ページ*/
  .contBox h2 {
    border-top-left-radius: 0.83em;
    border-top-right-radius: 0.83em;
  }
  .contBox h2 {
    width: 27.8em;
    max-width: 53.2%;
    height: 5em;
  }
  .contBox h2::before,
  .contBox h2::after {
    width: 1.6667em;
    height: 0.8333em;
  }
  .contBox h2::before {
    left: -0.8333em;
  }
  .contBox h2::after {
    right: -0.8333em;
  }
  .contBox h2 > span::before,
  .contBox h2 > span::after {
    width: 1.2222em;
    height: 1.2222em;
    top: 0.6em;
  }
  .contBox h2 > span::before {
    left: 0.6em;
  }
  .contBox h2 > span::after {
    right: 0.6em;
  }
  .contBox h2 > span > .normal,
  .contBox h2 > span .eng {
    font-size: 1.78em;
  }
  .contBox h2 > span .jpn {
    font-weight: 900;
    font-size: 1.1em;
  }
  .content {
    border-radius: 0.83em;
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .midashi {
    text-align: center;
    font-size: 1.2em;
  }
  .wBox {
    border-radius: 0.83em;
  }
  .r15 {
    border-radius: 0.83em;
  }

  .general .textBlock,
  .general .innerBlock {
    width: 39em;
  }

  .general .tableDL::after {
    content: '';
    width: 100%;
    clear: both;
    display: block;
    border-bottom: dashed 1px #669BC1;
  }
  .general .tableDL dt,
  .general .tableDL dd {
    box-sizing: border-box;
    border-top: dashed 1px #669BC1;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    line-height: 2;
  }

  .general .tableDL dt:nth-child(1),
  .general .tableDL dd:nth-child(2) {
    border: none
  }
  .general .tableDL dt {
    clear: both;
    float: left;
    width: 6.7em;
  }
  .general .tableDL dt span {
    font-size: 1.1em;
  }
  .general .tableDL dd {
    box-sizing: border-box;
    float: right;
    width: calc(100% - 6.7em);
  }

  #jigyo .wBox,
  #strong ul,
  #department .wBox,
  #number ul {
    width: 90%;
  }
  #strong ul,
  #number ul {
    display: flex;
    justify-content: space-between;
  }

  /*会社紹介*/
  #jigyo .midashi {
    margin-top: 1.5em;
  }
  #jigyo .textBlock ul {
    padding: 2em;
  }
  #jigyo .textBlock li {
    width: 10em;
    height: 10em;
    padding-top: 1.75em;
  }
  #jigyo .textBlock li img{
    width: 3.5em;
  }
  #jigyo .textBlock li span{
    padding-top: 0.5em;
    font-size: 1.67em;
  }
  #jigyo h3 {
    border-radius: 1em;
    /*margin-top: 2em;*/
    margin-bottom: 0.5em;
  }
  #jigyo h3 span{
    font-size: 1.2em;
  }
  .midashi2 span{
    font-size: 1.2em;
    line-height: 1;
  }
  .midashi2 span::before,
  .midashi2 span::after {
    width: 3em;
  }
  .midashi2 span::before {
    left: -3.5em;
  }
  .midashi2 span::after {
    right: -3.5em;
  }
  #jigyo .jigyo2 ul{
    display: flex;
  }
  #jigyo .jigyo2 ul li{
    width: 50%;
  }
  #jigyo .jigyo2 ul li:first-child{
    border-right: solid 0.11em #E0EBF3;
  }
  #jigyo .jigyo2 ul li .ill {
    margin-top: 0.5em;
    width: 18em;
  }
  #jigyo .jigyo2 ul li .wari7 {
    right: 8%;
    top: 1em;
    width: 4.4em;
  }
  #strong ul {
    margin-top: 2em;
    padding-top: 3.75em;
  }
  #strong li {
    width: 31.25%;
    padding: 0 1.5em 1.5em 1.5em;
  }
  #strong h3 .no{
    margin-top: -3.75em;
    width: 7.4em;
  }
  #strong li .ill{
    margin-top: 0.75em;
    margin-bottom: 1em;
    width: 8.8em;
  }
  #movie iframe{
    width: 40em;
    height: 22.5em;
  }

  /*仕事紹介*/
  .business .icon img{
    width: 3.5em;
  }
  #flow ol {
    width: 32em;
    padding-top: 1.5em;
  }
  #flow li {
    height: 6em;
    margin-bottom: 1.5em;
  }
  #flow li::after {
    height: 1.5em;
    background-size: auto 0.83em;
  }
  #flow .number {
    margin-top: -2.2em;
    width: 4.4em;
    height: 4.4em;
  }
  #flow .number > span{
    font-size: 1.7em;
    line-height: 1;
  }
  #flow h3 {
    padding-left: 3.5em;
    width: 30em;
  }
  #flow h3 > span{
    font-size: 1.2em;
  }
  #flow h3,
  #flow .icon {
    border-radius: 0.55em;
  }
  #flow .icon {
    padding-top:0.35em;
    width: 4.8em;
    height: 4.8em;
    margin-top: 0.6em;
    margin-right: 0.6em;
  }
  #flow .icon span {
    font-size: 0.9em;
  }

  #department .content {
    padding-top: 1.75em;
  }
  #department .wBox {
    padding-left: 3.4%;
    padding-right: 3.4%;
    padding-bottom: 3em;
    margin-top: 3em;
  }
  #department .icon{
    background-size: 3.5em auto;
    width: 5em;
    height: 5em;
    margin-top: -1.75em;
  }
  #department .icon.eigyo {
    box-shadow: 0.25em 0.25em 0 #EFA9A5;
    border: solid #EFA9A5 0.15em;
  }
  #department .icon.tech {
    box-shadow: 0.25em 0.25em 0 #A2C2D9;
    border: solid #A2C2D9 0.15em;
    margin-right: 0.75em;
  }
  #department .icon.seizo {
    box-shadow: 0.25em 0.25em 0 #A6D6D1;
    border: solid #A6D6D1 0.15em;
  }
  #department h3 {
    font-size: 1.4em;
    padding-top: 0.5em;
    padding-bottom: 0.15em;
  }
  #department .pics {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  #department .r15 {
    width: 48%;
  }
  #department .r15:first-child {
    margin-right: 3.4%;
  }

  /*キャリアパス*/
  #learning dl {
    width: 62%;
    margin-bottom: 1.5em;
  }
  #learning dl dt {
    background-size: 2.2em auto;
    background-position: center 77%;
    width: 7.5em;
  }
  #learning dl dt span{
    font-size: 1.1em;
    padding-top: 1.25em;
  }
  #learning dl dd {
    padding: 1.5em;
    width: calc(100% - 7.5em);
  }
  #learning dl dd h3{
    font-size: 1.1em;
  }
  .price {
    margin-top: 0.5em;
    padding-left: 2.5em;
  }
  .price::after {
    width: 1.7em;
    height: 2.28em;
  }
  #number ul {
    flex-wrap: wrap;
    gap: 1.5em 0;
  }
  #number li {
    width: 48.3%;
    padding: 2.25em;
    background-size: 8.4em auto;
  }
  #number li:nth-child(1) {
    background-position: 85% 65%;
  }
  #number li:nth-child(2) {
    background-position: 85% 65%;
  }
  #number li:nth-child(3) {
    background-position: 85% 65%;
  }
  #number li:nth-child(4) {
    background-position: 85% 42%;
  }
  #number li:nth-child(5) {
    background-position: 95% center;
  }
  #number li:last-child {
    width: 100%;
  }
  #number li .koumoku {
    font-size: 1.2em;
  }
  #number li h3 {
    position: absolute;
  }
  #number li h3 .caps{
    padding-top: 0.5em;
  }
  #number li .caps {
    font-size: 0.7em;
  }
  #number li .kazu {
    font-size: 3.1em;
  }
  #number li h4,
  #number li .capbold,
  #number li .nen {
    font-size: 1em;
  }
  #number li:nth-child(1) .num,
  #number li:nth-child(2) .num {
    padding-top: 4em;
  }
  #number li:nth-child(1) .capbold {
    padding-left: 2.75em;
  }
  #number li:nth-child(3) .num,
  #number li:nth-child(4) .num {
    padding-top: 6em;
  }
  #number li:nth-child(3) h4 {
    position: absolute;
    margin-top: -1.25em;
  }
  #number li:nth-child(4) .num {
    padding-bottom:1.5em;
  }
  #number li:nth-child(5) .col2{
    width: 50%;
    margin-left: 25%;
  }
  #number li:nth-child(5) h4 {
    padding-bottom: 0.25em;
  }

  /*採用情報*/
  #message .textBlock::after {
    content: '';
    display: block;
    clear: both;
  }
  #message .textBlock p {
    margin-bottom: 0.75em;
  }
  #message .spacer {
    opacity: 1;
    width: 0px;
    height: 15em;
    float: right;
  }
  #message img.r15 {
    clear: right;
    float: right;
    width: 20em;
    margin-top: 1.25em;
    margin-left: 1.25em;
  }
  #benefit .textBlock {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  #benefit ul {
    gap: 2.5em 0em;
  }
  #benefit li {
    width: 11em;
  }
  #benefit li::before {
    width: 9em;
    height: 7.625em;
    margin-bottom: 0.75em;
  }
  #benefit li span {
    font-size: 1.5em;
  }

  /*インタビュー*/
  #profile {
    padding-top: 8em;
  }
  #profile h2 {
    padding-top: 1.5em;
    padding-bottom: 1em;
  }
  #profile::before,
  #profile::after,
  #profile h2::before,
  #profile h2::after {
    width: 1.2222em;
    height: 1.2222em;
  }
  #profile h2::before,
  #profile h2::after {
    top: 0.6em;
  }
  #profile::before,
  #profile::after {
    bottom: 0.6em;
  }
  #profile h2::before,
  #profile::after {
    left: 0.6em;
  }
  #profile h2::after,
  #profile::before {
    right: 0.6em;
  }
  #profile h2 img {
    width: 19.44em;
  }
  #profile h2 > div {
    padding-left: 21.5em;
  }
  #profile h2 .dash {
    padding-bottom:0.75em;
  }
  #profile h2 .dash > span{
    font-size: 1.78em;
    line-height: 1.375;
  }
  #profile h2 .initial {
    font-size: 1.33em;
  }
  #profile h2 .san {
    padding-left: 0.25em;
  }
  #profile h2 .dep {
    padding-top: 0.5em;
  }
  #profile h2 .dep > span{
    font-size: 0.9em;
  }
  #profile .pro {
    padding: 2em 4em;
    font-size: 0.78em;
  }
  #profile .pro h3 {
    padding-bottom: 0.25em;
  }
  #profile .pro p{
    line-height: 1.43;
  }
  .interview .txt {
    padding: 2.25em;
  }
  .interview .txt h3{
    position: absolute;
    border: solid 0.083em #669BC1;
    border-radius: 0.55em;
    box-shadow: 0.25em 0.25em 0 #669BC1;
    width: 20em;
    height: 3em;
    padding-left: 1em;
    top: -1.25em;
    left: -1.25em;
  }
  .interview .txt h3 > span {
    font-size: 1.1em;
  }
  .interview .txt h3::before {
    margin-right: 0.5em;
    width: 1.6em;
    height: 1.278em;
  }
  .interview .txt h3 > span {
    font-size: 1.1em;
    line-height: 1;
  }
  .interview .txt .dash {
    font-size: 1.1em;
    padding-top: 1em;
    padding-bottom: 0.5em;
  }
  .interview main .txt{
    margin-top: 3em;
  }
  .interview main .pic img{
    width: 28em;
  }
  .interview main .pic,
  #schedule{
    margin-top: 1.5em;
  }
  .contBox#schedule h2 > span .eng {
    font-size: 2.1em;
  }
  #schedule table {
    width: 90%;
  }
  #schedule th,
  #schedule td {
    padding-bottom: 2em;
  }
  #schedule tr:last-child th,
  #schedule tr:last-child td {
    padding-bottom: 0;
  }
  #schedule th {
    width: 7.2em;
    background-image: url("images/dot.svg");
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 0.28em auto;
  }
  #schedule tr:last-child th {
    background: none;
  }
  #schedule th > span {
    width: 7.2em;
    height: 3.1em;
    padding-top: 0.6em;
  }
  #schedule th > span > span {
    padding-right: 0.7em;
    font-size: 1.72em;
  }
  #schedule td {
    padding-left: 1em;
    padding-top: 0.9em;
  }
  #schedule h3 {
    font-size: 1.3em;
    padding-bottom: 0.5em;
  }

  #other {
    width: 53.33em;
    margin: 0 auto;
  }
  #other .container {
    display: flex;
    transform-origin: center bottom ;
    transform: scale(0.73);
    margin-top: -10%;
  }
  #other a.box {
    width: 27%;
  }
  #other img {
    display: block;
    width: 100%;
  }
}

/*SP*/
@media screen and (max-width: 767px) {
  body, th, td{
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  body, th, td, h1, h2, h3, h4{
    font-size: 16px;
  }
  .pc {
    display: none !important;
  }

  .wrapper {
    width: 100%;
  }
  .container {
    width: 90.6667%;
  }

  header .inner {
    margin-left: 5%;
  }

  /*ナビ*/
  nav.on {
    height: 100vh;
  }
  nav .menu{
    padding-bottom: 3em;
  }
  nav ul.links {
    margin-top: 2.75em;
    width: 83%;
  }
  nav ul.links::before {
    margin-bottom: 1em;
  }
  nav .burger {
    top: 0.8em;
    right: 0.5em;
    width: 3em;
    height: 3em;
  }
  nav .burger span {
    border-top: solid 0.2em #001F5F;
  }
  nav .burger span:nth-child(1) {
    top: calc(30% - 0.1em);
  }
  nav .burger span:nth-child(2) {
    top: calc(50% - 0.1em);
  }
  nav .burger span:nth-child(3) {
    top: calc(70% - 0.1em);
  }
  nav.on .burger span:nth-child(1) {
    top: calc(50% - 0.1em);
  }
  nav.on .burger span:nth-child(3) {
    top: calc(50% - 0.1em);
  }
  nav .links li {
    height: 4.375em;
  }
  nav .links li.lk > a,
  nav .links li > span {
    display: block;
    width: 100%;
    text-align: center;
  }
  nav ul .eng{
    font-size: 1.625em;
  }
  nav ul .jpn{
    font-size: 0.875em;
  }
  nav ul .san{
    font-size: 1.1em;
  }
  nav .links .lk a::before {
    width: 1.1em;
    height: 1.1em;
    right: 0.5em;
    margin-top: -0.55em;
  }

  /*ロゴ*/
  .logoH {
    padding-top: 1.275em;
    padding-left: 1.1em;
  }
  .logoH a{
    width: 13.8em;
  }
  .logoH a .logo{
    width: 17%;
  }
  .logoH a .recruiting{
    width: 79.4%;
  }

  /*フッター*/
  footer {
    /*margin-top: 1.25em*/
  }
  footer .copy.wrapper {
    height: 7.5em;
  }
  footer .pagetop {
    bottom: 0.7em;
    /*right: 0.7em;*/
  }
  footer .pagetop a {
    width: 3.125em;
    height: 3.125em;
    margin-right: 0.7em;
  }
  footer .pagetop.up {
    bottom: calc(100% + 0.7em);
  }
  footer .sitelink{
    width: 100%;
    height: 50%;
    font-size: 0.875em;
  }
  footer .sitelink::after {
    width: 1.1em;
    height: 1.1em;
  }
  footer p{
    height: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.625em;
    line-height: 1.25;
  }

  /*エントリーボタン*/
  .entry {
    padding-top: 3.25em;
    padding-bottom: 4.75em;
  }
  .entry a {
    background-size: cover;
    border-radius: 0.75em;
    height: 4.6875em;
    width: 18.75em;
    max-width: 91.1765%;
    text-align: center;
    border: solid 0.125em #FBB7B7;
  }
  .entry a .eng{
    font-size: 1.75em;
  }
  .entry a .jpn{
    font-size: 0.845em;
  }
  .entry a::after,
  .entry a::before {
    margin-top: -0.625em;
    width: 1.25em;
    height: 1.25em;
  }
  .entry a::after {
    right: 0.75em;
  }
  .entry a::before {
    left: 0.75em;
  }


  nav ul.links::before,
  section::before {
    background-size: auto 1.7em;
    height: 1.7em;
  }

  .top header .wrapper{
    height: 184vw;
    background-image: url("images/topBG_sp.svg");
  }
  .general header .wrapper{
    height: 72vw;
  }
  .company header .wrapper{
    background-image: url("images/companyBG_sp.svg");
  }
  .business header .wrapper{
    background-image: url("images/businessBG_sp.svg");
  }
  .careerpath header .wrapper{
    background-image: url("images/careerpathBG_sp.svg");
  }
  .recruit header .wrapper{
    background-image: url("images/recruitBG_sp.svg");
  }
  .interview header .wrapper{
    background-image: url("images/interviewBG_sp.svg");
  }

  section {
    padding-top: 2.5em;
  }
  section::before {
    margin-bottom: 2.5em;
  }

  /*トップ*/
  .top header .inner img {
    display: block;
  }
  .top h1 {
    margin-top: 6vw;
  }
  .catch{
    height: 9.7vw;
  }
  .preTitle{
    margin-top: 5vw;
    height: 5.6vw;
  }
  .title {
    margin-top: 1.75vw;
  }
  .title img {
    height: 8.8vw;
    margin-bottom: 1vw;
  }
  .top .natR {
    margin-top: 9vw;
  }
  .top .natY {
    margin-top: 0.5vw;
  }
  .top .dash {
    padding-left: 7vw;
    height: 7.7vw;
  }
  .top .dash > span{
    font-size: 4.3vw;
  }
  .top .dash > span .caps{
    margin-top: 1vw;
  }
  .top .dash::after {
    width: 7vw;
    background-size: auto 6.5vw;
  }

  .top header {
    margin-bottom: -1.5em;
  }
  .top h2 {
    margin-bottom: 1.25em;
  }
  .top h2 .eng {
    font-size: 2.25em;
  }
  .top h2 .jpn {
    font-size: 0.875em;
  }

  #movie iframe {
    width: 100%;
    height: 50.625vw;
  }
  #link1 a.box, #link3 a.box {
    padding: 1.875em;
    box-sizing: border-box;
  }
  #link1 a.box:first-child, #link3 a.box:first-child {
    margin-bottom: 0.825em;
  }

  #link1 a.box, #link3 a.box,
  #link1 a.box img, #link3 a.box img{
    border-radius: 0.625em;
  }

  #link1 p,
  #link3 p {
    font-size: 1em;
    line-height: 1.5;
  }
  #link1 .comment {
    margin-left: -1.875em;
    margin-right: -1.875em;
    margin-bottom: 0.625em;
    text-align: center;
    font-size: 1.125em;
    line-height: 1.5;
  }
  #link1 a.box img, #link3 a.box img{
    margin-bottom: 1em;
  }

  #link2 h2{
    margin-bottom: 2.75em;
  }
  #link2 .container {
    width: 95%;
    margin-right: 0;
  }
  #link2 a.box {
    position: relative;
    height: 16.25em;
    max-width: 23.4375em;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3em;
  }
  #link2 a.box:last-child {
    margin-bottom: 0;
  }

  #link2 p {
    position: relative;
    z-index: 2;
    width: 10em;
    font-size: 1.25em;
    line-height: 1.5;
    padding-bottom: 0.25em;
  }
  #link2 img {
    position: absolute;
    height: 100%;
    width: auto;
    top: 0;
    right: 0;
  }
  #link2 a .name{
    width: 16.25em;
    height: 5.3125em;
    padding-top: 1.2em;
    padding-left: 1.2em;
  }
  #link2 a .name .initial {
    font-size: 1.5em;
  }
  #link2 a .name .san {
    font-size: 1em;
  }
  #link2 a .name .dep {
    padding-top: 0.75em;
    font-size: 0.845em;
  }

  /*一般ページ*/
  .general h1 {
    margin-top: 8vw;
    padding-left: 8.25vw;
  }
  .general h1::after {
    width: 8.25vw;
    background-size: auto 7.8vw;
  }
  .general h1 .eng {
    height: 7.8vw;
    margin-bottom: 0.75vw;
  }
  .general h1 {
    text-shadow: 2px 2px 2px #E0EBF3, -2px 2px 2px #E0EBF3, 2px -2px 2px #E0EBF3, -2px -2px 2px #E0EBF3;
  }
  .general h1 .eng span{
    font-size: 9vw;
  }
  .general h1 .jpn {
    font-size: 4.3vw;
  }

  .contBox h2 {
    border-top-left-radius: 0.625em;
    border-top-right-radius: 0.625em;
  }
  .content {
    border-radius: 0.625em;
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
  .contBox h2.bg_B {
    width: 16.25em;
    max-width: 76.5%;
    height: 4.375em;
  }
  .contBox h2.bg_Y {
    width: 19.375em;
    max-width: 91.1765%;
    height: 4.375em;
  }
  .contBox h2::before,
  .contBox h2::after {
    width: 1.25em;
    height: 0.625em;
  }
  .contBox h2::before {
    left: -0.625em;
  }
  .contBox h2::after {
    right: -0.625em;
  }
  .contBox h2 > span::before,
  .contBox h2 > span::after {
    width: 1.375em;
    height: 1.375em;
    top: 0.5em;
  }
  .contBox h2 > span::before {
    left: 0.5em;
  }
  .contBox h2 > span::after {
    right: 0.5em;
  }
  .contBox h2 > span > .normal {
    font-size: 1.5em;
    line-height: 1.15;
  }
  .contBox h2 > span .eng {
    font-size: 1.375em;
  }
  .contBox h2 > span .jpn {
    font-size: 1em;
  }

  .company .midashi,
  #flow .midashi,
  .recruit .midashi{
    text-align: justify;
  }
  .midashi {
    margin: 0 auto;
    /*width: 91.1765%;*/
    width: 88.236%;
    font-size: 1.125em;
  }
  .wBox {
    border-radius: 0.625em;
  }
  .r15 {
    border-radius: 0.625em;
  }

  .general .textBlock {
    width: 88.236%;
    /*width: 91.1765%;*/
  }
  .general .innerBlock {
    /*width: 88.236%;*/
    width: 91.1765%;
  }

  .general .tableDL dt,
  .general .tableDL dd {
    padding-left: 0.3125em;
    padding-right: 0.3125em;
  }
  .general .tableDL dt {
    padding-top: 0.5em;
    padding-bottom: 0.25em;
  }
  .general .tableDL dd {
    border-bottom: dashed 1px #669BC1;
    line-height: 1.625;
    padding-bottom: 0.5em;
  }
  .general .tableDL dd:last-child {
    border-bottom: none;
  }

  #jigyo .wBox,
  #strong ul,
  #number ul {
    width: 91.1765%;
  }
  #department .wBox {
    width: 94.1176%;
  }

  /*会社紹介*/
  #jigyo .midashi {
    margin-top: 2em;
  }
  #jigyo .textBlock ul {
    padding: 1em 0 2.5em 0;
  }
  #jigyo .textBlock li {
    width: 5.875em;
    height: 5.875em;
    padding-top: 0.6em;
  }
  #jigyo .textBlock li img{
    width: 2.85em;
  }
  #jigyo .textBlock li span{
    font-size: 1.125em;
  }
  #jigyo h3 {
    border-radius: 0.9625em;
    /*margin-top: 2.5em;*/
    margin-bottom: 0.75em;
  }
  #jigyo h3 span{
    font-size: 1.125em;
  }
  .midashi2 span{
    font-size: 1.125em;
    line-height: 1.4;
  }
  .midashi2 span::before,
  .midashi2 span::after {
    width: 2.5em;
  }
  .midashi2 span::before {
    left: -3em;
  }
  .midashi2 span::after {
    right: -3em;
  }
  #jigyo .jigyo2 ul li:last-child h3 {
    margin-top: 1.5em;
  }
  #jigyo .jigyo2 ul li .ill {
    width: 16.5em;
  }
  #jigyo .jigyo2 ul li .wari7 {
    left: calc(50% + 5.5em);
    top: 1em;
    width: 4.4em;
  }
  #strong li {
    margin-top: 5.5em;
    padding: 0 1.5em 1.5em 1.5em;
  }
  #strong h3 .no{
    transform: translateY(-3.5em);
    width: 6.9em;
  }
  #strong li .ill{
    margin-top: -2em;
    margin-bottom: 1em;
    width: 8.8em;
  }
  #movie iframe{
    width: 82.667vw;
    height: 46.5vw;
  }

  /*仕事紹介*/
  .business .icon img{
    width: 2.4em;
  }
  #flow ol {
    width: 91.1765%;
    padding-top: 1.5em;
  }
  #flow li {
    height: 4.375em;
    margin-bottom: 2em;
  }
  #flow li::after {
    height: 2em;
    background-size: auto 0.8em;
  }
  #flow .number {
    margin-top: -1.5625em;
    width: 3.125em;
    height: 3.125em;
  }
  #flow .number > span{
    font-size: 1.125em;
    line-height: 1;
  }
  #flow h3 {
    padding-left: 2em;
    width: calc(100% - 1.71875em);
    /*width: 17em;*/
  }
  #flow h3 > span{
    font-size: 1.125em;
  }
  #flow h3,
  #flow .icon {
    border-radius: 0.395em;
  }
  #flow .icon {
    padding-top: 0.4em;
    width: 3.4375em;
    height: 3.4375em;
    margin-top: 0.47em;
    margin-right: 0.47em;
    line-height: 0;
  }
  #flow .icon span {
    margin-top: 0.35em;
    font-size: 0.6875em;
  }

  #department .midashi {
    width: 100%;
  }
  #department .wBox {
    padding-left: 2.9412%;
    padding-right: 2.9412%;
    padding-bottom: 1em;
  }

  #department .wBox:last-child {
    margin-top: 4em;/**/
  }
  #department .icon{
    background-size: 3.15em auto;
    width: 4.5em;
    height: 4.5em;
    margin-top: -1.25em;
  }
  #department .icon.eigyo {
    box-shadow: 0.18em 0.18em 0 #EFA9A5;
    border: solid #EFA9A5 0.1em;
  }
  #department .icon.tech {
    box-shadow: 0.18em 0.18em 0 #A2C2D9;
    border: solid #A2C2D9 0.1em;
    margin-right: 0.75em;
  }
  #department .icon.seizo {
    box-shadow: 0.18em 0.18em 0 #A6D6D1;
    border: solid #A6D6D1 0.1em;
  }
  #department h3 {
    font-size: 1.5em;
    padding-top: 0.75em;/**/
    padding-bottom: 0.5em;
  }
  #department .pics img {
    display: block;
    width: 100%;
    margin-top: 0.5em;
  }
  #department .pics {
    padding-bottom: 1em;
  }

  /*キャリアパス*/
  #learning dl {
    margin: 0 auto;
    width: 91.1765%;
    margin-bottom: 1.5em;
  }
  #learning dl dt {
    background-size: 2.4em auto;
    background-position: center 60%;
    width: 5em;
  }
  #learning dl dt span{
    font-size: 1.25em;
    padding-top: 1em;
  }
  #learning dl dd {
    padding: 1.5em 1em;
    width: calc(100% - 5em);
  }
  #learning dl dd h3{
    font-size: 1.125em;
    line-height: 1.25;
    padding-bottom: 0.25em;
  }
  .price {
    margin-top: 0.5em;
    padding-left: 2.5em;
  }
  .price::after {
    width: 1.875em;
    height: 2.5em;
  }
  #number li {
    padding: 2em;
    margin-bottom: 1em;
    background-size: 7.2em auto;
  }
  #number li:nth-child(1) {
    background-position: 90% 60%;
  }
  #number li:nth-child(2) {
    background-position: 90% 60%;
  }
  #number li:nth-child(3) {
    background-position: 90% 60%;
  }
  #number li:nth-child(4) {
    background-position: 90% 30%;
  }
  #number li:nth-child(5) {
    background-position: 90% 10%;
  }
  #number li .koumoku {
    font-size: 1.25em;
  }
  #number li h3 .caps{
    padding-top: 0.5em;
  }
  #number li .caps {
    font-size: 0.75em;
  }
  #number li .kazu {
    font-size: 2.8125em;
  }
  #number li h4 {
    font-size: 1em;
  }
  #number li .nen,
  #number li .capbold {
    font-size: 1.125em;
  }
  #number li .num {
    margin-top: 2.5em;
  }
  #number li:nth-child(3) h4 {
    margin-bottom: 0.25em;
  }
  #number li:nth-child(4) .num {
    padding-bottom: 1.5em;
  }
  /*#number li:nth-child(4) .data:last-child {
    padding-top: 0.75em;
  }*/
  #number li:nth-child(5) .col2{
    margin-left: -12%;
    margin-right: -12%;
  }
  #number li:nth-child(5) h4 {
    margin-bottom: 0.25em;
  }

  /*採用情報*/
  #message img.r15 {
    display: block;
    width: 100%;
    margin-top: 2em;
  }
  #benefit ul {
    gap: 1.25em 0em;
    padding-top: 1em;
    padding-bottom: 1em;
    justify-content: space-around;
  }
  #benefit li {
    width: 50%;
  }
  #benefit li::before {
    width: 5.375em;
    height: 4.554em;
    margin-bottom: 0.5em;
  }
  #benefit li span {
    font-size: 1.375em;
  }

  /*インタビュー*/
  #profile h2 {
    height: 23.125em;
    box-sizing: border-box;
    overflow-x: hidden;
    padding: 0;
  }
  #profile::before,
  #profile::after,
  #profile h2::before,
  #profile h2::after,
  .txt .open::after {
    width: 1.3em;
    height: 1.3em;
  }
  #profile h2::before,
  #profile h2::after {
    top: 1em;
  }
  #profile::before,
  #profile::after {
    bottom: 1em;
  }
  #profile h2::before,
  #profile::after {
    left: 1em;
  }
  #profile h2::after,
  #profile::before {
    right: 1em;
  }
  #profile h2 > div{
    box-sizing: border-box;
    position: relative;
    width: 21.25em;
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
    padding-top: 3em;
  }
  #profile h2 img {
    width: 14.6875em;
  }
  .interview2 #profile h2 img,
  .interview3 #profile h2 img,
  .interview4 #profile h2 img {
    left: -1.5em;
  }
  #profile h2 .dash {
    text-align: justify;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.5em;
    line-height: 1.4;
    width: 12.05em;
    max-width: 91.1765%;
    /*padding-left: 5.3vw;
    padding-right: 5.3vw;*/
  }
  #profile h2 .name,
  #profile h2 .dep {
    padding-left: 11.5em;
  }
  #profile h2 .name {
    margin-top: 2.5em;
  }
  #profile h2 .initial {
    font-size: 1.25em;
  }
  #profile h2 .san,
  #profile h2 .dep > span{
    font-size: 0.875em;
  }
  #profile h2 .dep {
    padding-top: 0.25em;
    line-height: 1.57;
  }
  #profile .pro {
    font-size: 0.875em;
  }
  #profile .pro,
  .interview .txt {
    padding-top: 2em;
    padding-bottom: 3.5em;
    padding-right: 5%;
    padding-left: 5%;
  }
  .interview .txt {
    position: relative;
  }
  #profile .pro h3 {
    padding-bottom: 0.25em;
  }
  #profile .pro p{
    line-height: 1.7;
  }
  .interview .txt h3{
    border: solid 0.083em #669BC1;
    border-radius: 0.5em;
    box-shadow: 0.25em 0.25em 0 #669BC1;
    height: 3.125em;
    padding-left: 1em;
    margin: -3em -0.5em 0em -0.5em;
  }
  .interview .txt h3 > span {
    font-size: 1.125em;
  }
  .interview .txt h3::before {
    margin-right: 0.5em;
    width: 1.5em;
    height: 1.2em;
  }
  .interview .txt h3 > span {
    font-size: 1.1em;
    line-height: 1;
  }
  .interview .txt .dash {
    font-size: 1.125em;
    line-height: 1.5;
    padding-top: 1.25em;
    padding-bottom: 0.5em;
  }
  .interview main .txt{
    margin-top: 3.25em;
  }
  .interview main .txt#why{
    margin-top: 3.75em;
  }
  .interview main .pic img{
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 80vw;
  }
  .interview main .pic,
  #schedule{
    margin-top: 2em;
  }
  .interview .txt .continue {
    display: none;
    /*height: 10em;
    overflow-y: hidden;*/
  }
  .interview .txt.on .continue {
    display: inline;
    /*height: auto;*/
  }
  .interview main .txt .open{
    position: absolute;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    border: solid 1px #669BC1;
    background-color: #ffffff;
    color: rgba(0,31,95,1.00);
    box-shadow: 0.1em 0.1em 0em #669BC1;
    width: 9em;
    height: 2em;
    border-radius: 0.5em;
    bottom: 0.85em;
    left: 50%;
    margin-left: -4.5em;
    padding-right: 1em;
  }
  .interview main .txt .open::after {
    right: 0.5em;
    top: 50%;
    margin-top: -0.65em;
  }
  .interview main .txt .open::before {
    content: '続きを読む';
  }
  .interview main .txt.on .open::after {
    background-image: url("images/screwB2.svg");
  }
  .interview main .txt.on .open::before {
    content: '閉じる';
  }
  .contBox#schedule h2 > span .eng {
    font-size: 1.65em;
  }
  #schedule .content {
    padding-top: 1em;
  }
  #schedule table {
    width: 91.1765%;
    margin-right: auto;
    margin-left: auto;
  }
  #schedule th,
  #schedule td {
    display: block;
  }
  #schedule tr:last-child th,
  #schedule tr:last-child td {
    padding-bottom: 0;
  }
  #schedule tr {
    width: 5.625em;
    background-image: url("images/dot.svg");
    background-position: 1.25em top;
    background-repeat: repeat-y;
    background-size: 0.25em auto;
  }
  #schedule tr:last-child {
    background: none;
  }
  #schedule th > span {
    width: 5.625em;
    height: 2.38em;
    padding-top: 0.5em;
  }
  #schedule th > span > span {
    padding-right: 0.675em;
    font-size: 1.34125em;
  }
  #schedule td {
    padding-left: 2.5em;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
  #schedule tr:last-child td {
    padding-bottom: 0;
  }
  #schedule h3 {
    font-size: 1.125em;
    padding-bottom: 0.5em;
  }

  #other .container {
    width: 100%;
    overflow-x: hidden;
    margin-bottom: -2em;
  }
  #other a.box {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 18.4em;
    margin-bottom: 2em;
  }
  #other a.box .grad {
    position: absolute;
    bottom: 0;
    left: -50vw;
    width: 200vw;
  }
  #other img {
    position: relative;
    display: block;
    opacity: 1;
    width: 7.9em;
    margin-left: auto;
    margin-right: 0;
  }
  #other a .name{
    text-decoration: none;
    width: 13.25em;
    height: 3.93463125em;
    padding-top: 0.75em;
    padding-left: 0.75em;
  }
  #other a .name .initial {
    font-size: 1.125em;
  }
  #other a .name .san {
    font-size: 1em;
  }
  #other a .name .dep {
    padding-top: 0.5em;
    font-size: 0.875em;
  }
}
