@charset 'UTF-8';
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  outline: 0;
}

body {
  line-height: 1;

  -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul,
li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  background: transparent;
  color: #000;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs
*/
hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

input,
select {
  vertical-align: middle;
}

img,
iframe {
  vertical-align: bottom;
}

th {
  text-align: left;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

/*
@import "./fontawesome/fontawesome.scss";
@import "./fontawesome/solid.scss";
@import "./fontawesome/regular.scss";
@import "./fontawesome/brands.scss";
*/
:root {
  --width-base: 1260px;
  --width-main-column: 700px;
  --width-side-column: 200px;
  /* 色 **************************** */
  --color-red: #f26e5a;
  --color-navy2: #5875aa;
  --color-blue: #0280ff;
  --color-bouken: #1e1e34;
  --color-sky: #02d8ff;
  --color-gray0: rgba(203, 233, 255, .5);
  --color-navy: #331470;
  --color-gray: #eaeaea;
  --color-gray2: #b2b2b2;
  --color-gray3: #747474;
  --color-black: #333;
  --color-white: #fff;
  --color-main: var(--color-bouken, #1e1e34);
  --color-sub: var(--color-sky, #02d8ff);
  --text-color: var(--color-white, #fff);
  /* フォント **************************** */
  --font-meiryo: メイリオ, Meiryo, sans-serif;
  --font-notosans: Noto Sans JP;
  --font-syncopate: Syncopate;
  --font-yugo: 游ゴシック体, YuGothic, 游ゴシック, Yu Gothic;
  --font-yumin: 游明朝, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  --font-roboto: Roboto;
  --font-iconFont: Font Awesome 5 Free;
  --font-gothic-base: var(--font-meiryo);
  --font-mincho-base: var(--font-yumin);
  --font-gothic: var(--font-notosans), var(--font-gothic-base);
  --font-mincho: var(--font-zen), var(--font-mincho-base);
  --font-syncopate: 'Syncopate', var(--font-gothic-base);
  --font-notoserifsc: 'Noto Serif SC', var(--font-mincho-base);
  --font-notosanssc: 'Noto Sans SC', var(--font-gothic-base);
  --font-roboto: 'Roboto', var(--font-gothic-base);
  --pattern-cross: repeating-linear-gradient(
  45deg,
  var(--color-gray) 25%,
  transparent 25%,
  transparent 75%,
  var(--color-gray) 75%,
  var(--color-gray)
  ),
  repeating-linear-gradient(
  45deg,
  var(--color-gray) 25%,
  transparent 25%,
  transparent 75%,
  var(--color-gray) 75%,
  var(--color-gray)
  );
  --pattern-stripe: repeating-linear-gradient(
  -45deg,
  transparent 0,
  transparent 3px,
  var(--color-gray) 3px,
  var(--color-gray) 6px
  );
  --gradient-sky--horizonal: linear-gradient(
  90deg,
  hsl(192deg 97% 59%) 0%,
  hsl(191deg 100% 50%) 11%,
  hsl(193deg 100% 50%) 22%,
  hsl(195deg 100% 50%) 33%,
  hsl(196deg 100% 50%) 44%,
  hsl(198deg 100% 50%) 56%,
  hsl(200deg 100% 50%) 67%,
  hsl(201deg 100% 50%) 78%,
  hsl(203deg 100% 50%) 89%,
  hsl(205deg 100% 51%) 100%
  );
  --gradient-sky--vertical: linear-gradient(
  180deg,
  hsl(192deg 97% 59%) 0%,
  hsl(191deg 100% 50%) 11%,
  hsl(193deg 100% 50%) 22%,
  hsl(195deg 100% 50%) 33%,
  hsl(196deg 100% 50%) 44%,
  hsl(198deg 100% 50%) 56%,
  hsl(200deg 100% 50%) 67%,
  hsl(201deg 100% 50%) 78%,
  hsl(203deg 100% 50%) 89%,
  hsl(205deg 100% 51%) 100%
  );
}

.bg-red {
  background-color: #f26e5a;
}

.text-red {
  color: #f26e5a;
}

.bg-navy2 {
  background-color: #5875aa;
}

.text-navy2 {
  color: #5875aa;
}

.bg-blue {
  background-color: #0280ff;
}

.text-blue {
  color: #0280ff;
}

.bg-bouken {
  background-color: #1e1e34;
}

.text-bouken {
  color: #1e1e34;
}

.bg-sky {
  background-color: #02d8ff;
}

.text-sky {
  color: #02d8ff;
}

.bg-gray0 {
  background-color: rgba(203, 233, 255, .5);
}

.text-gray0 {
  color: rgba(203, 233, 255, .5);
}

.bg-navy {
  background-color: #331470;
}

.text-navy {
  color: #331470;
}

.bg-gray {
  background-color: #eaeaea;
}

.text-gray {
  color: #eaeaea;
}

.bg-gray2 {
  background-color: #b2b2b2;
}

.text-gray2 {
  color: #b2b2b2;
}

.bg-gray3 {
  background-color: #747474;
}

.text-gray3 {
  color: #747474;
}

.bg-black {
  background-color: #333;
}

.text-black {
  color: #333;
}

.bg-white {
  background-color: #fff;
}

.text-white {
  color: #fff;
}

.interval5em > *:not(:last-child) {
  margin-bottom: .5em;
}

.interval10em > *:not(:last-child) {
  margin-bottom: 1em;
}

.interval15em > *:not(:last-child) {
  margin-bottom: 1.5em;
}

.interval20em > *:not(:last-child) {
  margin-bottom: 2em;
}

.interval25em > *:not(:last-child) {
  margin-bottom: 2.5em;
}

.interval30em > *:not(:last-child) {
  margin-bottom: 3em;
}

.interval35em > *:not(:last-child) {
  margin-bottom: 3.5em;
}

.interval40em > *:not(:last-child) {
  margin-bottom: 4em;
}

.interval45em > *:not(:last-child) {
  margin-bottom: 4.5em;
}

.interval50em > *:not(:last-child) {
  margin-bottom: 5em;
}

.display-xl {
  display: none;
}

.display-lg {
  display: none;
}

.display-md {
  display: none;
}

.display-sm {
  display: none;
}

.display-xs {
  display: none;
}

html {
  font-size: 62.5%;
}

body {
  background-color: var(--color-white);
  color: var(--text-color);
  font-size: min(1.6rem, 3.3vw);
  font-family: var(--font-gothic);
  word-wrap: break-word;
  transition: background-color .5s;

  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
}

.textLeft {
  text-align: left;
}

.textRight {
  text-align: right;
}

.textCenter {
  text-align: center;
}

.textJustify {
  text-align: justify;

  text-justify: inter-ideograph;
}

.weightBold {
  font-weight: bold;
}

.text-common {
  line-height: 1.75;
}

.textMarker {
  background: linear-gradient(
  to bottom,
  transparent 0,
  transparent 50%,
  rgba(var(color-main), .25) 50%,
  rgba(var(color-main), .25) 100%
  );
}

html {
  scroll-behavior: smooth;
}

body {
  display: -ms-grid;
  display: grid;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  background-color: var(--color-bouken);

  -ms-grid-rows: 0 1fr auto;
  -ms-grid-columns: 100%;
  grid-template: 'header' 0
  'main' 1fr
  'footer' auto
  / 100%;
}

.header {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: header;
}

.footer {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: footer;
}

.main {
  position: relative;
  z-index: 2;
  width: 100%;

  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: main;
}

.wrap-1column {
  display: flex;
  justify-content: center;
}

.wrap-2column {
  display: flex;
  flex-flow: row-reverse nowrap;
  justify-content: space-between;
}

.main-column {
  width: var(--width-main-column);
}

.sidebar {
  width: var(--width-side-column);
}

body:not(.index) .wrap {
  padding: 40px 0 0;
}

.inner {
  padding: 0 140px;
}

.clearfix:after {
  display: block;
  clear: both;
  content: '';
}

.flexCenter {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}

.flexLeft {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}

.flexRight {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fullWidth {
  width: 100%;
  min-width: var(--width-base);
}

.contents {
  width: var(--width-base);
  margin-right: auto;
  margin-left: auto;
}

.content {
  max-width: var(--width-base);
  margin-right: auto;
  margin-left: auto;
}

.content__inner {
  padding: 0 128px;
}

.content__inner--top {
  display: flex;
  justify-content: center;
  padding: 0;
}

.content__inner--company,
.content__inner--requirements {
  padding: 0 110px;
}

.header {
  /*
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 11;
	transition: background-color 0.5s;
	*/
}

.header__inner {
  /*
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;

		@include media(sm) {
			align-items: center;
			//height: 19vw;
		}
		*/
}

.header__logo {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
}

.header__drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 11;
}

.logo {
  display: flex;
  align-items: center;
  gap: 1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.logo--header {
  margin: 25px 0 0 30px;
}

.logo__text {
  color: var(--color-white);
  font-weight: bold;
  line-height: 1.25;
  font-family: var(--font-syncopate);
  letter-spacing: .06em;
}

.logo__text--header {
  font-size: min(1.4rem, 2.8vw);
}

.logo__text--footer {
  font-size: min(1.4rem, 2.5vw);
}

.footer {
  position: relative;
  padding: 40px 0;
  border-top: 1px solid var(--color-navy2);
  background-image: radial-gradient(var(--color-black) 30%, transparent 31%),
  radial-gradient(var(--color-black) 30%, transparent 31%);
  background-position: 0 0, 1px 1px;
  background-size: 2px 2px;
  background-color: var(--color-main);
  color: #fff;
}

.footer__inner--column {
  display: flex;
  flex-flow: column wrap;
  gap: 40px;
}

.footer__inner--row {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.footer__col {
  width: calc(100% / 3);
}

.footer__row--middle {
  display: flex;
  justify-content: flex-end;
}

.footer__row--bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-logo {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 1em;
  line-height: 1.75;
}

.footer-logo .js_desvg {
  width: 182px;
  height: 52px;
}

.footer-logo .js_desvg path {
  fill: var(--color-white);
}

.footer-info {
  width: 100%;
}

.footer-info > li {
  font-size: min(1.4rem, 3.2vw);
  line-height: 2;
  letter-spacing: .1em;
}

.footer-info > li:nth-child(1),
.footer-info > li:nth-child(2) {
  width: 100%;
}

.footer-info a {
  color: var(--color-white);
  font-weight: bold;
}

.section-entry {
  padding: 100px 0;
}

.cta {
  background-color: var(--color-main);
}

.cta__requirements__links {
  display: flex;
  flex-flow: row wrap;
}

.cta__requirements__inner {
  display: flex;
  justify-content: center;
  width: 50%;
  padding: 70px 90px;
}

.cta__requirements__inner--1 {
  background: url(../images/bg-requirements1@2x.jpg) no-repeat center center/cover;
}

.cta__requirements__inner--2 {
  background: url(../images/bg-requirements2@2x.jpg) no-repeat center center/cover;
}

.cta__requirements__link {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  width: 100%;
  max-width: 540px;
  padding: 90px 130px;
  border: 1px solid var(--color-sub);
  background: transparent;
  transition: background .5s;
}

.cta__requirements__link:hover {
  background: rgba(2, 216, 255, .8);
}

.cta__requirements__text {
  margin-bottom: 2em;
  color: var(--color-sub);
  font-weight: bold;
  font-size: min(2.5rem, 4.4vw);
  text-align: center;
  transition: color .5s;
}

.cta__requirements__link:hover .cta__requirements__text {
  color: var(--color-main);
}

.cta__requirements__btn {
  display: block;
  width: 270px;
  padding: 1em;
  border-radius: 1.5em;
  background: var(--gradient-sky--horizonal);
  font-weight: bold;
  font-size: min(2rem, 4vw);
  text-align: center;
  transition: background .5s, color .5s;
}

.cta__requirements__link:hover .cta__requirements__btn {
  background: var(--color-main);
  color: var(--color-white);
}

.cta__entry {
  padding: 110px 0 130px;
  background: url(../images/bg-entry@2x.jpg) no-repeat center center/cover;
}

.cta__bottom {
  padding: 150px 0;
  text-align: center;
}

.cta__bottom__text--1 {
  margin-bottom: .25em;
  color: var(--color-sub);
  font-weight: bold;
  font-size: min(8.7rem, 13.6vw);
  font-family: var(--font-syncopate);
}

.cta__bottom__text--2 {
  margin-bottom: 1em;
  color: var(--color-sub);
  font-weight: bold;
  font-size: min(3.2rem, 3.6vw);
  font-family: var(--font-syncopate);
}

.cta__bottom__text--3 {
  font-weight: bold;
  font-size: min(3.4rem, 5.2vw);
  letter-spacing: .08em;
  text-indent: .08em;
}

.footer_corporate {
  border-bottom: 1px solid var(--color-sky);
  color: var(--color-sky);
  font-weight: bold;
  font-size: 2rem;
  line-height: 2;
  font-family: var(--font-syncopate);
}

.copyright {
  color: var(--color-navy2);
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: .08em;
}

input[type='text'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='url'],
input[type='password'],
input[type='datetime'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='time'],
input[type='datetime-local'],
input[type='number'],
input[type='range'],
input[type='color'],
input[type='submit'],
input[type='button'],
input[type='image'],
select,
button,
textarea,
progress {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  font-family: var(--font-gothic);
  outline: none;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* プレースホルダー */
::-webkit-input-placeholder {
  opacity: .3;
  color: #000;
}
::-moz-placeholder {
  opacity: .3;
  color: #000;
}
:-ms-input-placeholder {
  opacity: .3;
  color: #000;
}
::-ms-input-placeholder {
  opacity: .3;
  color: #000;
}
::placeholder {
  opacity: .3;
  color: #000;
}

/* 入力欄 */
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='url'],
input[type='password'],
input[type='datetime'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='time'],
input[type='datetime-local'],
input[type='number'],
input[type='range'] {
  width: 100%;
  padding: .4em 1em;
  border: 1px solid #ccc;
  color: #333;
}

/* 入力欄 */
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='url'],
input[type='password'],
textarea {
  background: #fff;
  font-size: 16px;
}

/* 日付 */
input[type='datetime'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='time'],
input[type='datetime-local'] {
  font-size: 16px;
}

/* 数値 */
/* スピンボタン非表示*/
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
  margin: 0;

  -webkit-appearance: none;
}

input[type='number'] {
  -moz-appearance: textfield;
}

/* レンジ */
/* カラーピッカー */
select {
  width: 100%;
  margin-right: .05em;
  padding: .75em 2em .75em 1em;
  border: 1px solid #ccc;
  background: #fff url(../images/icon-tri.png) no-repeat right .5em center;
  font-size: 16px;
}

select::-ms-expand {
  display: none;
}

textarea {
  width: 100%;
  height: 300px;
  /* ieでスクロールバー非表示 */
  padding: .5em 1em;
  overflow: hidden;
  border: 1px solid #ccc;
}

input[type='submit'],
input[type='button'],
button {
  cursor: pointer;
}

.first-view {
  display: flex;
  justify-content: flex-end;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 0;
  width: 100%;
  height: 100vh;
}

.first-view__img {
  width: 100%;
  height: 100vh;

  -o-object-position: center;
  object-position: center;
}

.main-visual {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  position: relative;
  width: 100%;
  height: 100vh;
}

.main-copy {
  position: absolute;
  top: 8vw;
  bottom: 0;
  left: 3.9vw;
  width: 46%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  font-size: 1.1vw;
}

.main-copy__text--1 {
  position: relative;
  margin-bottom: .1em;
  color: var(--color-sky);
  font-weight: bold;
  font-size: 693.8%;
  font-family: var(--font-syncopate);
}

.main-copy__text--1:after {
  display: block;
  position: absolute;
  right: 0;
  bottom: -.25em;
  width: 10.4vw;
  height: 5.6vw;
  background: url(../images/joinus.svg) no-repeat center center/contain;
  content: '';
}

.main-copy__text--2 {
  margin-bottom: 1em;
  color: var(--color-sky);
  font-weight: bold;
  font-size: 200%;
  font-family: var(--font-syncopate);
}

.main-copy__text--3 {
  font-weight: bold;
  font-size: 187.5%;
  letter-spacing: .08em;
}

.bg-page {
  width: 100%;
  height: 780px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /*
	&--interview_01{
		background-image: url(../images/main-interview_01.jpg);
	}
	&--interview_02{
		background-image: url(../images/main-interview_02.jpg);
	}
	&--interview_03{
		background-image: url(../images/main-interview_03.jpg);
	}
	*/
}

.bg-page--requirements {
  background-image: url(../images/main-requirements_2025.jpg);
}

.graduate .bg-page--requirements {
  background-image: url(../images/main-graduate.jpg);
}

.bg-page--company {
  background-image: url(../images/main-company.jpg);
}

.bg-page--entry {
  background-image: url(../images/main-entry.jpg);
}

.bg-page--business {
  background-image: url(../images/main-business.jpg);
}

.page-main {
  width: 100%;
  overflow: hidden;
}

.page-main .content {
  position: relative;
  height: 450px;
  padding-top: 200px;
}

.head-page {
  color: var(--color-white);
  font-weight: bold;
  font-size: 187%;
  letter-spacing: .08em;
  white-space: nowrap;
}

.head-page:before {
  display: block;
  margin-bottom: .25em;
  color: transparent;
  font-weight: bold;
  font-size: 483%;
  line-height: .75;
  font-family: var(--font-syncopate);
  letter-spacing: 0;
  text-indent: -.1em;
  content: attr(data-text);

  -webkit-text-stroke: 1px var(--color-sub);
}

/*　疑似要素テキスト　*/
.attrTextLeft:before,
.attrTextTop:before,
.attrTextBottom:after,
.attrTextRight:after {
  content: attr(data-text);
}

.attrTextLeft:before,
.attrTextRight:after {
  display: inline-block;
}

.attrTextTop:before,
.attrTextBottom:after {
  display: block;
}

/*　疑似要素テキスト　*/
/*　疑似要素アイコン　*/
.attrIconLeft:before,
.attrIconTop:before,
.attrIconBottom:after,
.attrIconRight:after {
  font-weight: 900;
  content: attr(data-icon);
}

.attrIconTop:before,
.attrIconBottom:after {
  display: block;
}

.attrIconLeft:before,
.attrIconRight:after {
  display: inline-block;
}

/*　疑似要素アイコン　*/
#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}

#nav-open {
  display: inline-block;
  position: relative;
  top: 0;
  right: 0;
  z-index: 10000;
  width: 160px;
  height: 160px;
  box-shadow: 0 0 2px rgba(0, 0, 0, .5);
  background: var(--color-sky);
  vertical-align: middle;
}

#nav-open:after {
  position: absolute;
  right: 0;
  bottom: 2.25em;
  left: 0;
  margin: auto;
  color: var(--color-main);
  font-weight: bold;
  font-size: 1.6rem;
  font-family: var(--font-syncopate);
  text-align: center;
  content: 'MENU';
}

#nav-open:hover {
  cursor: pointer;
}

#nav-open span {
  position: absolute;
  right: 0;
  left: 0;
  width: 35%;
  height: 1px;
  margin: auto;
  background: var(--color-main);
  transition: all .5s;
}

#nav-open span:nth-of-type(1) {
  top: 40%;
}

#nav-open span:nth-of-type(2) {
  top: 50%;
}

/*閉じる用の薄黒カバー*/

#nav-content {
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  transform: translateX(105%);
  width: 100%;
  max-width: 670px;
  height: 100%;
  padding: 170px 125px 70px;
  overflow: auto;
  background: linear-gradient(
  180deg,
  rgba(49, 211, 252, .83) 0%,
  rgba(0, 208, 255, .83) 11%,
  rgba(0, 200, 255, .83) 22%,
  rgba(0, 191, 255, .83) 33%,
  rgba(0, 187, 255, .83) 44%,
  rgba(0, 179, 255, .83) 56%,
  rgba(0, 170, 255, .83) 67%,
  rgba(0, 166, 255, .83) 78%,
  rgba(0, 157, 255, .83) 89%,
  rgba(5, 151, 255, .83) 100%
  );
  transition: .4s ease-in-out;

  -webkit-backdrop-filter: blur(50px);
  backdrop-filter: blur(50px);
  -webkit-transform: translateX(105%);
}

.btn-close {
  display: none;
  margin: 40px;
  padding: 1em;
  background: var(--color-main);
  color: #fff;
  text-align: center;
  cursor: pointer;
}

#nav-input:checked ~ #nav-open {
  background-color: var(--color-main);
}

#nav-input:checked ~ #nav-open:after {
  color: var(--color-white);
  content: 'CLOSE';
}

#nav-input:checked ~ #nav-open span {
  background-color: var(--color-white);
}

#nav-input:checked ~ #nav-open span:nth-of-type(1) {
  transform: translateY(10px) rotate(-20deg);
  transition: all .5s;

  -webkit-transform: translateY(10px) rotate(-20deg);
}

#nav-input:checked ~ #nav-open span:nth-of-type(2) {
  transform: translateY(-5px) rotate(20deg);
  transition: all .5s;

  -webkit-transform: translateY(-5px) rotate(20deg);
}

#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  opacity: 1;
  transform: translateX(0%);

  -webkit-transform: translateX(0%);
}

/*
#overview
トップに戻る
*/
/*
#styleguide
トップに戻る

```
<div>
<a id="js-pagetop" class="pagetop" href="#top">
	<span></span>
</a>
</div>
```
*/
.pagetop {
  display: block;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 5;
  transform: scale(0, 0);
  width: 50px;
  height: 50px;
  background: var(--color-sky);
  color: var(--color-main);
  text-align: center;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;

  -webkit-transform: scale(0, 0);
  -webkit-transform-origin: center;
  transform-origin: center;
}

.pagetop:before {
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 0;
  left: 0;
  transform: rotate(135deg);
  width: 22px;
  height: 22px;
  margin: auto;
  border-bottom: 3px solid var(--color-main);
  border-left: 3px solid var(--color-main);
  content: '';

  -webkit-transform: rotate(135deg);
}

.pagetop.active {
  transform: scale(1, 1);

  -webkit-transform: scale(1, 1);
}

.list-num-period {
  counter-reset: cnt;
}

.list-num-period > li {
  list-style-position: inside;
  padding-left: 1.6em;
  text-indent: -.6em;
  counter-increment: cnt;
}

.list-num-period > li:before {
  display: inline-block;
  margin-right: .5em;
  content: counter(cnt) '.';
}

.list-num-period .list-num-period {
  margin: 1em;
}

.list-num-period .list-num-period .list-num-period {
  margin: 1em;
}

.list-num-brackets > li {
  list-style-position: inside;
  margin-left: 2em;
  text-indent: -1em;
  counter-increment: cnt;
}

.list-num-brackets > li:before {
  display: inline-block;
  margin-right: .5em;
  content: counter(cnt) ')';
}

.list-caution > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-caution > li:before {
  content: '※';
}

.list-circle > li {
  margin-left: 1.5em;
  text-indent: -1.5em;
}

.list-circle > li:before {
  margin-right: .5em;
  content: '●';
}

.list-circle-border > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-circle-border > li:before {
  content: '○';
}

.list-dot > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-dot > li:before {
  content: '・';
}

.list-item {
  display: flex;
  flex-flow: row wrap;
}

.list-item li:not(:last-child):after {
  margin: 0 .25em;
  content: '　';
}

.list-dia > li {
  margin-left: 1.5em;
  text-indent: -1.5em;
}

.list-dia > li:before {
  margin-right: .5em;
  content: '◆';
}

.nav-link {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 60px;
}

.link-prev,
.link-next,
.link-archive {
  flex: 1;
}

.link-prev a,
.link-next a {
  display: block;
  position: relative;
}

.link-prev a:before,
.link-prev a:after,
.link-next a:before,
.link-next a:after {
  display: inline-block;
  width: .5em;
  height: .5em;
  border-right: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
}

.link-prev {
  order: 1;
}

.link-prev a:before {
  transform: rotate(135deg);
  content: '';

  -webkit-transform: rotate(135deg);
}

.link-next {
  order: 3;
}

.link-next a {
  text-align: right;
}

.link-next a:after {
  transform: rotate(-45deg);
  content: '';

  -webkit-transform: rotate(-45deg);
}

.link-archive {
  order: 2;
}

.link-archive a {
  padding: 1em;
  text-align: center;
}

.link-archive a.btn-common {
  width: auto;
}

/*
#overview
ページ送り
*/
/*
#styleguide
ページ送り

```
<ol class="pagination">
	<li>
		<a class="pager prev" href="">prev</a>
	</li>
	<li>
		<a class="pager" href="">1</a>
	</li>
	<li>
		<a class="pager" href="">2</a>
	</li>
	<li>
		<a class="pager current" href="">3</a>
	</li>
	<li>
		<a class="pager" href="">4</a>
	</li>
	<li>
		<a class="pager" href="">5</a>
	</li>
	<li>
		<a class="pager next" href="">next</a>
	</li>
</ol>
```
*/

.pagination__inner {
  display: flex;
  align-items: center;
  position: relative;
}

.pagination__item {
  margin: 0 5px;
  font-size: 13px;
}

.pagination__link {
  display: inline-block;
  min-width: 40px;
  height: 40px;
  background: var(--color-sub);
  color: var(--color-white);
  font-size: 20px;
  line-height: 40px;
  text-align: center;
  transition: background-color .5s;
}

.pagination__link:hover,
.pagination__link--current {
  opacity: 1;
  background: var(--color-main);
}

.pagination__link--first,
.pagination__link--last,
.pagination__link--prev,
.pagination__link--next {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination__link--first:before,
.pagination__link--first:after,
.pagination__link--last:before,
.pagination__link--last:after,
.pagination__link--prev:before,
.pagination__link--prev:after,
.pagination__link--next:before,
.pagination__link--next:after {
  display: block;
  width: .35em;
  height: .35em;
  border-top: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  content: '';

  -webkit-transform-origin: center;
  transform-origin: center;
}

.pagination__link--first {
  /*
			&:before,
			&:after {
				content: none;
			}
			*/
}

.pagination__link--first:before {
  transform: rotate(-135deg);

  -webkit-transform: rotate(-135deg);
}

.pagination__link--first:after {
  transform: rotate(-135deg);

  -webkit-transform: rotate(-135deg);
}

.pagination__link--prev:before {
  transform: rotate(-135deg);

  -webkit-transform: rotate(-135deg);
}

.pagination__link--prev:after {
  content: none;
}

.pagination__link--last {
  /*
			&:before,
			&:after {
				content: none;
			}
			*/
}

.pagination__link--last:before {
  transform: rotate(45deg);

  -webkit-transform: rotate(45deg);
}

.pagination__link--last:after {
  transform: rotate(45deg);

  -webkit-transform: rotate(45deg);
}

.pagination__link--next:before {
  transform: rotate(45deg);

  -webkit-transform: rotate(45deg);
}

.pagination__link--next:after {
  content: none;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar:hover {
  width: 10px;
}

::-webkit-scrollbar-track {
  border-radius: 3px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
  background: var(--color-navy2);
}

::-webkit-scrollbar-track:hover {
  border-radius: 5px;
}

::-webkit-scrollbar-thumb {
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .3);
  background: var(--color-sub);
}

::-webkit-scrollbar-thumb:hover {
  border-radius: 5px;
}

.breadcrumb::-webkit-scrollbar {
  width: 2px;
  height: 2px;
}

.horizontal-table--sm-scroll::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

/*
#overview
ボタン
*/
a:not([class]):hover,
a:not([class]):focus {
  text-decoration: underline;
}

table a,
p a {
  color: var(--color-white);
  text-decoration: underline;
}

table a:hover,
table a:focus,
p a:hover,
p a:focus {
  font-weight: bold;
}

table a[target='_blank']:after,
p a[target='_blank']:after {
  font-weight: normal;
  font-family: Material Icons;
  content: '\e89e';
}

p a {
  margin: 0 .5em;
}

a[href^='tel:'] {
  pointer-events: none;
}

a[href^='tel:']:hover,
a[href^='tel:']:focus {
  pointer-events: none;
}

/*
#styleguide
ボタン

.btnです。
```
<a class="btn" href="#">ボタン</a>

<div class="flexCenter">
	<a class="btn-common" href="#">ボタン</a>
</div>
```
*/
.btn-wrapper {
  display: flex;
}

* + .btn-wrapper {
  margin-top: 3em;
}

.btn-wrapper--center {
  justify-content: center;
}

.btn-wrapper--right {
  justify-content: flex-end;
}

.btn-wrapper--bottom {
  margin-top: 3em;
}

.btn-wrapper--column {
  flex-flow: column nowrap;
}

.btn-wrapper--column.btn-wrapper--center {
  align-items: center;
}

* + .btn-wrapper--company {
  margin-top: 110px;
}

* + .btn-wrapper--requirements {
  margin-top: 200px;
}

.btn,
input.btn,
button.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 820px;
  max-width: 100%;
  height: 110px;
  border-radius: 55px;
  background: linear-gradient(
  90deg,
  #31d3fc 0%,
  #00d0ff 11%,
  #00c8ff 22%,
  deepskyblue 33%,
  #0bf 44%,
  #00b3ff 56%,
  #0af 67%,
  #00a6ff 78%,
  #009dff 89%,
  #0597ff 100%
  );
  color: var(--color-main);
  font-weight: bold;
  font-size: min(2.3rem, 4vw);
  line-height: 1.5;
  letter-spacing: .1em;
  text-align: center;
  text-indent: .1em;
  transition: background .5s, color .5s;
}

.btn:hover,
.btn:focus,
input.btn:hover,
input.btn:focus,
button.btn:hover,
button.btn:focus {
  background: linear-gradient(
  90deg,
  #2ed9ff 0%,
  #00d0ff 11%,
  #00d0ff 22%,
  #00d0ff 33%,
  #00d0ff 44%,
  #00d0ff 56%,
  #00d0ff 67%,
  #00d0ff 78%,
  #00d0ff 89%,
  #05d1ff 100%
  );
}

.btn--entry,
input.btn--entry,
button.btn--entry {
  background-image: none;
  background-color: var(--color-main);
  color: var(--color-white);
  transition: background-color .5s, color .5s;
}

.btn--entry:hover,
.btn--entry:focus,
input.btn--entry:hover,
input.btn--entry:focus,
button.btn--entry:hover,
button.btn--entry:focus {
  background-image: none;
  background-color: var(--color-white);
  color: var(--color-main);
}

/*
* object-fitのclassとie対応（ofi.js必要）
*/
.ofi-cover {
  object-fit: cover;
  font-family: 'object-fit: cover;';

  -o-object-fit: cover;
}

.ofi-contain {
  object-fit: contain;
  font-family: 'object-fit: contain;';

  -o-object-fit: contain;
}

.wrap-zoom {
  overflow: hidden;
}

.wrap-zoom > img {
  transition: .5s;
}

.wrap-zoom > img:hover {
  transform: scale(1.1);

  -webkit-transform: scale(1.1);
}

/*
#overview
タイトル
*/
/*
#styleguide
タイトル

```
<h2 class="head-common">タイトル</h2>
```
*/
/*
#styleguide
タイトル

```
<h3 class="head-common border">タイトル</h3>
```
*/
.head {
  margin-bottom: 2em;
}

.head::before {
  display: block;
  color: var(--color-sub);
  font-size: 6rem;
  font-family: var(--font-syncopate);
  letter-spacing: 0;
  content: attr(data-text);
}

.head__text {
  margin-top: .5em;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.5;
  letter-spacing: .08em;
}

.head__text--message {
  display: none;
}

.head__text--entry {
  color: var(--color-white);
  font-size: 6rem;
  font-family: var(--font-syncopate);
  text-align: center;

  -webkit-text-stroke: 1px var(--color-sub);
}

.underline-head {
  margin-bottom: 2em;
  background-image: repeating-linear-gradient(
  45deg,
  var(--color-main) 0px,
  var(--color-main) 1px,
  transparent 0%,
  transparent 50%
  );
  background-position: center bottom;
  background-size: 8px 8px;
  background-repeat: repeat-x;
  line-height: 1.5;
  letter-spacing: .2em;
}

.underline-head__text {
  display: inline-block;
  padding: .5em;
  font-weight: bold;
  font-size: min(2.8rem, 5.5vw);
}

.swiper-container {
  z-index: 3 !important;
}

.swiper-pagination {
  bottom: 25px !important;
  z-index: 4;
}

.swiper-pagination-bullet {
  opacity: 1 !important;
  width: 65px !important;
  height: 4px !important;
  margin: 0 15px !important;
  border-radius: 0 !important;
  background: var(--color-white) !important;
}

.swiper-pagination-bullet-active {
  background: var(--color-sub) !important;
  /*
		&:after {
			content: "";
			position: absolute;
			left: -7px;
			top: -7px;
			display: block;
			width: 24px;
			height: 24px;
			border: 3px solid $color-green;
			border-radius: 50%;
    }
    */
}

.swiper-button-prev,
.swiper-button-next {
  background-color: rgba(0, 0, 0, .25);
  transition: background-color .5s;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  color: var(--color-white);
  font-size: 20px;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  background-color: rgba(0, 0, 0, .5);
}

.swiper-button-prev {
  left: 0;
}

.swiper-button-next {
  right: 0;
}

.swiper-main .swiper-slide:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: radial-gradient(#333 30%, transparent 31%), radial-gradient(#333 30%, transparent 31%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
  background-color: rgba(0, 0, 0, .15);
  content: '';
}

.swiper-main .swiper-slide img {
  width: 100vw;
  max-width: 100%;
  height: calc(100vh - 100px);
  min-height: calc(100vh - 100px);
}

.swiper-works {
  width: 100%;
  margin-bottom: 3em;
}

.swiper-works img {
  width: 100%;
  height: calc((100vw / 4) * (290 / 500));
}

.wrap-nav {
  width: 100%;
}

.drawer-nav {
  display: flex;
  flex-flow: column nowrap;
  gap: 60px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.drawer-nav__item::before {
  display: block;
  color: var(--color-white);
  font-weight: bold;
  font-size: min(1.8rem, 4vw);
  font-family: var(--font-syncopate);
  content: attr(data-text);
}

.drawer-nav__item--parent::before {
  margin-bottom: .5em;
}

.drawer-nav [href]::after {
  content: '';
}

.drawer-nav__link {
  display: block;
  color: var(--color-main);
  font-weight: bold;
  line-height: 2;
  letter-spacing: .08em;
}

.drawer-nav__link::after {
  display: inline-block;
  transform: rotate(45deg);
  width: .35em;
  height: .35em;
  margin-left: 1em;
  border-top: 2px solid var(--color-main);
  border-right: 2px solid var(--color-main);
  vertical-align: 10%;

  -webkit-transform: rotate(45deg);
}

.drawer-nav__link--parent {
  font-size: min(2.6rem, 5vw);
}

.drawer-nav__link--children {
  font-size: min(1.8rem, 4vw);
  letter-spacing: .03em;
}

.drawer-nav__link--children::before {
  display: inline-block;
  width: 2em;
  margin-right: 1em;
  color: var(--color-sub);
  font-family: var(--font-syncopate);
  content: attr(data-text);
}

.drawer-nav__children {
  display: flex;
  margin-top: 1em;
}

.drawer-nav__children--people {
  flex-flow: column nowrap;
  gap: .5em;
}

.drawer-nav__children--people::before {
  color: var(--color-sub);
  font-weight: bold;
  font-family: var(--font-syncopate);
  content: attr(data-text);
}

.drawer-nav__children--requirements {
  flex-flow: row wrap;
  gap: 4em;
}

.drawer-nav__children--requirements [data-text]::before {
  content: none;
}

.footer-nav {
  display: flex;
  gap: 80px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.footer-nav__item::before {
  display: block;
  color: var(--color-sub);
  font-weight: bold;
  font-size: 1.5rem;
  font-family: var(--font-syncopate);
  content: attr(data-text);
}

.footer-nav__item--parent::before {
  margin-bottom: .5em;
}

.footer-nav__item--children {
  margin-bottom: 1em;
}

.footer-nav__item--children::before {
  color: var(--color-navy2);
  font-size: 1.2rem;
}

.footer-nav [href]::after {
  content: '';
}

.footer-nav__link {
  display: block;
  color: var(--color-white);
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: .08em;
}

.footer-nav__link::after {
  display: inline-block;
  transform: rotate(45deg);
  width: .35em;
  height: .35em;
  margin-left: 1.5em;
  border-top: 2px solid var(--color-sub);
  border-right: 2px solid var(--color-sub);
  vertical-align: 10%;

  -webkit-transform: rotate(45deg);
}

.footer-nav__link--parent {
  font-weight: bold;
  font-size: 2rem;
}

.footer-nav__link--children {
  font-size: 1.6rem;
}

.footer-nav__children {
  margin-top: 1.5em;
}

.js-fadeInUp {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, transform 1s;
  transition: opacity 1s, transform 1s, -webkit-transform 1s;
  transition-delay: .2s;

  -webkit-transform: translateY(20px);
}

.js-fadeInUp.show {
  opacity: 1;
  transform: translateY(0);

  -webkit-transform: translateY(0);
}

.js-fadeIn {
  opacity: 0;
  transition: opacity 2s;
}

.js-fadeIn.show {
  opacity: 1;
}

.js-fadeInRight {
  opacity: 0;
  transform: translateX(-100px);
  transition: opacity 2s, -webkit-transform 2s;
  transition: opacity 2s, transform 2s;
  transition: opacity 2s, transform 2s, -webkit-transform 2s;
  transition-delay: .2s;

  -webkit-transform: translateX(-100px);
}

.js-fadeInRight.show {
  opacity: 1;
  transform: translateX(0);

  -webkit-transform: translateX(0);
}

.js-fadeInLeft {
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 2s, -webkit-transform 2s;
  transition: opacity 2s, transform 2s;
  transition: opacity 2s, transform 2s, -webkit-transform 2s;
  transition-delay: .2s;

  -webkit-transform: translateX(100px);
}

.js-fadeInLeft.show {
  opacity: 1;
  transform: translateX(0);

  -webkit-transform: translateX(0);
}

.horizontal-table__inner {
  width: 100%;
  border-top: 1px solid var(--color-navy2);
  line-height: 1.75;
  letter-spacing: .1em;
}

.horizontal-table__row {
  border-bottom: 1px solid var(--color-navy2);
}

.horizontal-table__head {
  width: 220px;
  padding: 1em 0;
}

.horizontal-table__text {
  padding: 1em 0;
  word-break: break-word;
  vertical-align: top;
}

.horizontal-table__placeholder {
  margin-top: .5em;
  font-size: 75%;
}

.confirm .horizontal-table__placeholder,
.entry-confirm .horizontal-table__placeholder {
  display: none;
}

.horizontal-table__placeholder:before {
  content: '例：';
}

.horizontal-table--contact .horizontal-table__head {
  width: 250px;
  padding: 1em 4em .75em 1em;
}

.horizontal-table--contact .horizontal-table__head:after {
  display: inline-block;
  padding: .25em .5em;
  border-radius: 3px;
  color: var(--color-white);
  font-size: 75%;
}

.horizontal-table--contact .horizontal-table__head--require,
.horizontal-table--contact .horizontal-table__head--optional {
  position: relative;
}

.horizontal-table--contact .horizontal-table__head--require:after,
.horizontal-table--contact .horizontal-table__head--optional:after {
  position: absolute;
  top: 1.5em;
  right: 1em;
}

.horizontal-table--contact .horizontal-table__head--require:after {
  background-color: var(--color-red);
  content: '必須';
}

.horizontal-table--contact .horizontal-table__head--optional:after {
  background-color: var(--color-main);
  content: '任意';
}

.vertical-table__inner {
  width: 100%;
  line-height: 1.75;
  letter-spacing: .1em;
}

.vertical-table__row {
  border-bottom: 1px solid var(--color-navy2);
}

.vertical-table__head {
  display: list-item;
  list-style: none;
  padding: 1em 0;
}

.vertical-table__text {
  display: list-item;
  list-style: none;
  padding: 1em 0;
  vertical-align: top;
}

.vertical-table__job {
  font-weight: bold;
  font-size: 125%;
}

.vertical-table__placeholder {
  margin-top: .5em;
  font-size: 75%;
}

.confirm .vertical-table__placeholder,
.entry-confirm .vertical-table__placeholder {
  display: none;
}

.vertical-table__placeholder:before {
  content: '例：';
}

.vertical-table--contact .vertical-table__head {
  padding: 2em 0 .75em 0;
}

.vertical-table--contact .vertical-table__head:after {
  display: inline-block;
  padding: .25em .75em;
  color: var(--color-main);
  font-size: 75%;
}

.vertical-table--contact .vertical-table__head--require,
.vertical-table--contact .vertical-table__head--optional {
  position: relative;
}

.vertical-table--contact .vertical-table__head--require:after,
.vertical-table--contact .vertical-table__head--optional:after {
  margin-left: 2em;
}

.vertical-table--contact .vertical-table__head--require:after {
  background-color: var(--color-sub);
  content: '必須';
}

.vertical-table--contact .vertical-table__head--optional:after {
  background-color: var(--color-gray2);
  content: '任意';
}

.vertical-table--contact .vertical-table__text {
  padding: .75em 0 2em 0;
}

/*


@import "./2_component/icon.scss";

@import "./2_component/background.scss";
@import "./2_component/sns.scss";

@import "./2_component/loading.scss";
@import "./2_component/faq.scss";
@import "./2_component/biz-cal.scss";
@import "./2_component/accordion.scss";

@import "./2_component/slider.scss";
@import "./2_component/attr.scss";
@import "./2_component/tab.scss";

@import "./2_component/calendar.scss";
*/
.section--flow .content {
  padding-top: 190px;
  padding-bottom: 190px;
}

.section-flow {
  margin-bottom: 150px;
}

.flow-head {
  padding: .25em 0 .25em 1em;
  background: var(--gradient-sky--horizonal);
  color: var(--color-main);
  font-weight: bold;
  font-size: 144%;
  line-height: 1.5;
  letter-spacing: .08em;
}

.flow-list {
  display: flex;
  flex-flow: row wrap;
  overflow: hidden;
  counter-reset: cnt;
}

.flow-list__item {
  position: relative;
  width: 270px;
  padding: 2.5em 0;
  counter-increment: cnt;
}

.flow-list__item::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1260px;
  height: 1px;
  background-color: var(--color-sky);
}

.flow-list__item::after {
  display: block;
  position: absolute;
  top: 26%;
  right: -2.5em;
  width: 1.25em;
  height: 1.25em;
  background: url(../images/arrow.png) no-repeat center center/contain;
}

.flow-list__item:not(:nth-child(4n)):not(:last-child) {
  margin-right: 60px;
}

.flow-list__item:not(:nth-child(4n)):not(:last-child)::after {
  content: '';
}

.flow-list__item:nth-child(5n)::before {
  content: '';
}

.flow-list__picture {
  display: block;
  margin-bottom: 1.5em;
}

.flow-list__img {
  display: block;
}

.flow-list__dt {
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 1.9rem;
  letter-spacing: .08em;
}

.flow-list__dt:before {
  display: inline-block;
  margin-right: 1em;
  color: var(--color-sky);
  font-family: var(--font-syncopate);
  content: '0' counter(cnt);
}

.flow-list__dd {
  font-size: 1.6rem;
  line-height: 2;
}

.flow-annotation-list {
  padding: 70px 100px;
  border: 1px solid var(--color-sky);
}

.flow-annotation-list > li {
  margin-left: 1.5em;
  font-size: 1.6rem;
  line-height: 2;
  text-indent: -1.5em;
}

.flow-annotation-list > li::before {
  display: inline-block;
  width: .5em;
  height: .5em;
  margin-right: 1em;
  border-radius: .25em;
  background-color: var(--color-sky);
  content: '';
}

.section--philosophy .content,
.section--policy .content,
.section--promise .content,
.section--business .content {
  padding-top: 160px;
  padding-bottom: 160px;
  border-bottom: 1px solid var(--color-navy2);
}

.company .section--company .content {
  padding-top: 160px;
  padding-bottom: 250px;
}

.policy-list {
  display: flex;
  gap: 60px;
  counter-reset: cnt;
}

.policy-list__item {
  flex: 1;
  list-style-position: inside;
  position: relative;
  border: 1px solid var(--color-sub);
  counter-increment: cnt;
}

.policy-list__item::before,
.policy-list__item::after {
  display: block;
  position: absolute;
  top: 0;
  width: 42%;
  height: 100%;
  background-color: rgba(39, 39, 64, .3);
  content: '';

  mix-blend-mode: screen;
}

.policy-list__item::before {
  left: 0;
  transform: skewX(31deg);

  -webkit-transform: skewX(31deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.policy-list__item::after {
  right: 0;
  transform: skewX(-31deg);

  -webkit-transform: skewX(-31deg);
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.policy-list__inner {
  display: block;
  padding: 50px 45px 75px 55px;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.75;
  letter-spacing: .08em;
}

.policy-list__inner::before {
  display: block;
  margin-bottom: .5em;
  color: var(--color-sub);
  font-weight: bold;
  font-size: 3rem;
  font-family: var(--font-syncopate);
  content: counter(cnt) '.';
}

.business-wrap {
  display: flex;
  gap: 180px;
}

.business-box__head {
  margin-bottom: 1em;
  color: var(--color-sub);
  font-weight: bold;
  font-size: 2.5rem;
  letter-spacing: .08em;
}

.business-box__head::before {
  content: '【';
}

.business-box__head::after {
  content: '】';
}

.business-list__item {
  margin-left: 2em;
  font-size: 2rem;
  line-height: 2.5;
  text-indent: -1.5em;
}

.business-list__item:before {
  margin-right: 2em;
  color: var(--color-navy2);
  font-size: 50%;
  vertical-align: 15%;
  content: '●';
}

.company-dl {
  display: flex;
}

.company-dl:not(:first-child) {
  padding-top: 1em;
}

.company-dl:not(:last-child) {
  padding-bottom: 1em;
  border-bottom: 1px solid var(--color-navy2);
}

.company-dl__head {
  width: 20%;
  color: var(--color-sub);
}

.company-dl__head::before {
  content: '<';
}

.company-dl__head::after {
  content: '>';
}

.company-dl__text {
  width: 50%;
}

.company-list {
  display: flex;
  flex-flow: row wrap;
  gap: 0 1em;
}

.history-list__time {
  margin-right: 1em;
}

.general-list--group,
.general-list--license {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
}

.iso9001 {
  position: absolute;
  right: 0;
  bottom: 1em;
}

.main-contact {
  width: 575px;
}

.text-top-form {
  margin-bottom: 50px;
  line-height: 1.75;
}

.wrap-table-dl {
  margin-bottom: 60px;
}

.wrap-table-dl > dl {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.wrap-table-dl > dl > dt {
  width: 150px;
  margin-right: 20px;
  padding: 15px 0;
  font-size: 14px;
  line-height: 40px;
  text-align: right;
}

body:not(.confirm) .wrap-table-dl > dl > dt:before {
  margin-right: 1em;
  padding: .25em 1em;
  color: var(--color-white);
  font-size: 15px;
}

body:not(.confirm) .wrap-table-dl > dl > dt.required:after {
  margin-left: .5em;
  color: var(--color-red);
  content: '*';
}

.wrap-table-dl > dl > dd {
  padding: 15px 0;
}

.wrap-table-dl dl {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.wrap-table-dl dt {
  width: 340px;
  font-weight: bold;
  font-size: 20px;
}

.wrap-table-dl dd {
  width: 650px;
}

.email-confirm {
  font-size: 14px;
  line-height: 1.75;
}

.wrap-zip {
  display: flex;
  align-items: center;
}

.wrap-zip p {
  margin-left: 2em;
  font-size: 13px;
  line-height: 1.25;
}

/*
input[name="zipcode[data][0]"] {
	width: 120px !important;

	@include media(sm) {
		width: 30% !important;
	}
}
input[name="zipcode[data][1]"] {
	width: 165px !important;

	@include media(sm) {
		width: 40% !important;
	}
}
input[name^="tel[data]"] {
	width: 140px !important;

	@include media(sm) {
		width: 30% !important;
	}
}
*/
.mw_wp_form .error {
  display: inline-block !important;
  margin: .25em 0 .25em 1em;
  color: var(--color-red) !important;
  vertical-align: bottom;
}

input[name$='year'] + .mw_wp_form .error,
input[name$='month'] + .mw_wp_form .error,
input[name$='day'] + .mw_wp_form .error {
  position: relative;
  bottom: -2em;
  left: 0;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin: 0 !important;
}

.mwform-radio-field {
  margin-right: 3em;
}

.mwform-radio-field.vertical-item {
  display: block;
}

.mwform-radio-field.vertical-item:not(:last-child) {
  margin-bottom: .5em;
}

.mwform-radio-field input[type='radio'] {
  vertical-align: -15%;
}

.mwform-checkbox-field {
  margin-bottom: 3em;
}

.mw_wp_form_confirm {
  line-height: 48px;
}

.text-complete {
  display: flex;
  justify-content: center;
  margin-bottom: 150px;
}

.text-complete p {
  line-height: 1.75;
}

.wrap-career {
  padding-bottom: 1.5em;
  border-bottom: 1px solid var(--color-gray2);
}

.text-form.required:before {
  margin-right: .5em;
  padding: .25em 1em;
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 75%;
  content: '必須';
}

.confirm .text-form {
  display: none;
}

.confirm .confirm-none {
  display: none;
}

.text-privacypolicy {
  margin-bottom: 80px;
  line-height: 2;
}

.confirm .text-privacypolicy {
  display: none;
}

input[name='name'],
input[name='kana'],
input[name='email'],
input[name='email2'],
input[name='tel'],
input[name='zipcode'] {
  width: 380px;
  max-width: 100%;
  padding: 1em 1.5em;
}

input[name='address'] {
  width: 600px;
  max-width: 100%;
  margin-top: 2em;
  padding: 1em;
}

.zipcode-text {
  margin-left: 1em;
  vertical-align: bottom;
}

.confirm .zipcode-text {
  display: none;
}

textarea[name='career'],
textarea[name='point'] {
  padding: 1em 1.5em;
}

input[name^='birth_'],
input[name^='graduate_'],
input[name^='career_'] {
  margin: 0 .5em;
}

.birth-wrap {
  display: flex;
}

.birth-box {
  position: relative;
}

.birth-box .error {
  position: absolute;
  right: 2.5em;
  bottom: -2em;
}

input[name$='year'],
input[name$='month'],
input[name$='day'] {
  width: 110px;
  margin: 0 1em;
  padding: 1em 1.5em;
}

input[name='submitBack'] {
  display: block;
  margin-top: 2em;
  color: var(--color-main);
  text-decoration: underline;
}

.privacy {
  height: 426px;
  margin: 180px 0 120px;
  padding: 40px 50px;
  overflow-y: scroll;
  background-color: #354665;
}

.confirm .privacy {
  display: none;
}

.privacy__inner {
  padding: 0;
  line-height: 1.75;
}

.privacy__head {
  margin-bottom: 1em;
  font-size: 18px;
}

.privacy__box:not(:last-child) {
  margin-bottom: 1.5em;
}

.section--entry {
  padding-top: 140px;
  padding-bottom: 220px;
}

.entry-text {
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: .08em;
  text-align: center;
  text-indent: .08em;
}

.entry-text--top {
  margin-bottom: 120px;
}

.entry-text--bottom {
  margin-top: 150px;
}

.progress-form {
  display: flex;
  justify-content: center;
  gap: 180px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 4em;
}

.progress-form:before {
  display: block;
  position: absolute;
  right: 0;
  bottom: .5em;
  left: 0;
  z-index: 1;
  width: 88%;
  height: 1px;
  margin: auto;
  background-color: var(--color-navy2);
  content: '';
}

.progress-form__item {
  position: relative;
  z-index: 2;
  width: 3em;
  color: var(--color-navy2);
  font-weight: bold;
  letter-spacing: .08em;
  text-align: center;
  text-indent: .08em;
}

.progress-form__item:after {
  display: block;
  width: 1em;
  height: 1em;
  margin: 1em auto 0;
  border-radius: 50%;
  background-color: var(--color-navy2);
  content: '';
}

body.contact:not(.confirm):not(.complete) .progress-form__item[data-progress='contact'],
body.entry:not(.confirm):not(.complete) .progress-form__item[data-progress='entry'],
.confirm .progress-form__item[data-progress='confirm'],
.complete .progress-form__item[data-progress='complete'] {
  color: var(--color-sub);
}

body.contact:not(.confirm):not(.complete) .progress-form__item[data-progress='contact']:after,
body.entry:not(.confirm):not(.complete) .progress-form__item[data-progress='entry']:after,
.confirm .progress-form__item[data-progress='confirm']:after,
.complete .progress-form__item[data-progress='complete']:after {
  background-color: var(--color-sub);
}

.section {
  background-color: var(--color-main);
}

.section--message {
  padding: 340px 0 165px;
}

.index .section--company {
  padding: 165px 0 115px;
}

.section--people {
  padding: 115px 0 140px;
}

.section-top {
  position: relative;
  padding: 140px 0 200px;
  background-color: rgba(30, 30, 52, 1);

  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

.section-top__text {
  font-weight: bold;
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: .08em;
}

.section-top__text > p {
  font-weight: bold;
}

.section-top__text > p:not(:last-child) {
  margin-bottom: 2.5em;
}

.section-top__copy {
  position: absolute;
  bottom: -.5em;
  left: 0;
  color: var(--color-sky);
  font-weight: bold;
  font-size: 9.9vw;
  font-family: var(--font-syncopate);
  text-align: center;
}

.section-message-text {
  margin-bottom: 2.5em;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.75;
  letter-spacing: .08em;
}

.common-list {
  display: -ms-grid;
  display: grid;
  gap: 150px 60px;

  -ms-grid-columns: 1fr 60px 1fr;
  grid-template-columns: repeat(2, 1fr);
}

.common-list__item {
  font-size: 100%;
}

.common-list__inner {
  padding: 10%;
  border: 1px solid var(--color-sub);
}

.common-list__q {
  position: relative;
  margin-bottom: 1em;
  padding: .25em 0 .25em 5em;
  background: var(--gradient-sky--horizonal);
  color: var(--color-main);
  font-weight: bold;
  font-size: 144%;
  line-height: 1.5;
  letter-spacing: .08em;
}

.common-list__q::before {
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 .1em;
  color: transparent;
  font-weight: bold;
  font-size: 370%;
  line-height: .75;
  font-family: var(--font-syncopate);
  content: 'Q';

  -webkit-text-stroke: 2px var(--color-white);
}

.common-list__head {
  margin-bottom: 1em;
  color: var(--color-sub);
  font-weight: 500;
  font-size: 144%;
  line-height: 1.75;
  letter-spacing: .08em;
}

.common-list__head--people {
  margin-bottom: .75em;
  color: var(--color-white);
  font-weight: bold;
  font-size: 125%;
}

.common-list__head--company {
  margin-top: -1em;
  margin-bottom: 1em;
  color: var(--color-white);
}

.common-list__head--company::before {
  display: block;
  margin-bottom: .25em;
  color: var(--color-sub);
  font-size: 6rem;
  line-height: 1;
  font-family: var(--font-syncopate);
  content: attr(data-text);
}

.common-list__text {
  font-size: 100%;
  line-height: 2;
  letter-spacing: .02em;
}

.common-list__picture {
  display: block;
}

.common-list__img {
  display: block;
  max-width: 100%;
  height: auto;
}

.president {
  display: block;
  position: relative;
}

.president__img {
  position: relative;
  z-index: 2;
}

.president::before {
  display: block;
  position: absolute;
  top: 10%;
  left: 10%;
  z-index: 1;
  width: 500px;
  height: 600px;
  background: var(--gradient-sky--vertical);
  content: '';
}

.business-limg-list {
  display: flex;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.business-limg-list__item {
  flex: 1;
}

.business-limg-list__img {
  width: 100%;
  height: auto;
}

.people-main {
  margin-bottom: 90px;
}

.people-main .content {
  display: flex;
  align-items: center;
  height: 100%;
}

.people-main .content--interview_03 {
  justify-content: flex-end;
}

.people-top {
  margin-bottom: 90px;
  color: var(--color-sub);
  font-weight: bold;
  font-size: 219%;
  line-height: 1.85;
  letter-spacing: .08em;
}

.interview-data--people {
  width: 440px;
  min-height: 560px;
  padding: 60px 50px;
  background: var(--gradient-sky--horizonal);
  color: var(--color-main);
  line-height: 2;
  letter-spacing: .08em;
}

.interview-data__join {
  font-size: 100%;
  letter-spacing: .08em;
}

.interview-data__place {
  font-size: 100%;
  letter-spacing: .08em;
}

.interview-data__name {
  padding: .5em 0;
  font-weight: bold;
  font-size: 156%;
  letter-spacing: .08em;
}

.interview-data__name--people {
  padding: .5em 0 0;
  font-size: 219%;
}

.interview-data__name--people h1 {
  font-weight: bold;
}

.interview-data__name-e {
  color: var(--color-sub);
  font-size: 100%;
  font-family: var(--font-syncopate);
}

.interview-data__name-e--people {
  margin-bottom: 3em;
  color: var(--color-main);
}

.interview-data__head {
  margin-bottom: 1.5em;
  color: var(--color-white);
  font-size: 125%;
  font-family: var(--font-syncopate);
}

.interview-data__head::after {
  display: block;
  width: 2em;
  height: 1px;
  margin-top: .5em;
  background-color: var(--color-white);
  content: '';
}

.interview-data__profile {
  line-height: 1.75;
}

.interview-data__profile::before {
  display: block;
  margin-bottom: 1em;
  padding: 0 1em;
  background-color: var(--color-white);
  font-weight: bold;
  font-family: var(--font-syncopate);
  content: 'PROFILE';
}

.interview-list__item {
  position: relative;
  padding-top: 1em;
}

.interview-list__link {
  display: block;
  position: relative;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-white);
  font-size: 100%;
  line-height: 1.75;
}

.interview-list__link:hover .interview-list__img {
  transform: scale(1.1);

  -webkit-transform: scale(1.1);
}

.interview-list__link:hover .interview-list__more {
  background-color: var(--color-sub);
  color: var(--color-main);
}

.interview-list__head {
  display: block;
  position: relative;
  z-index: 10;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: -1em;
  padding: .25em 1em;
  background: var(--gradient-sky--horizonal);
  color: var(--color-main);
  font-size: 125%;
  font-family: var(--font-syncopate);
}

.interview-list__picture {
  display: block;
  position: relative;
  z-index: 1;
  margin-bottom: 1em;
  overflow: hidden;
}

.interview-list__img {
  position: relative;
  z-index: 1;
  transform: scale(1);
  max-width: 100%;
  height: auto;
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;

  -webkit-transform: scale(1);
}

.interview-list__data {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.interview-list__more {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 110px;
  height: 110px;
  margin-bottom: .5em;
  border: 1px solid var(--color-sub);
  border-radius: 50%;
  color: var(--color-sub);
  font-size: 1.3rem;
  line-height: 1.5;
  font-family: var(--font-syncopate);
  text-align: center;
  transition: color .2s, background-color .2s;
}

.section--type .content {
  padding-top: 190px;
  padding-bottom: 190px;
  border-bottom: 1px solid var(--color-navy2);
}

.section--requirements-top .content {
  padding-top: 130px;
  padding-bottom: 210px;
}

.common-text-top {
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.75;
  letter-spacing: .08em;
}

.requirements-nav {
  display: flex;
  justify-content: center;
  gap: 100px;
  margin-bottom: 85px;
}

.requirements-nav__link {
  display: block;
  transform: skewX(-30deg);
  width: 440px;
  padding: 1em;
  border: 1px solid var(--color-sub);
  background-color: var(--color-main);
  color: var(--color-sub);
  font-size: 2.5rem;
  line-height: 1;
  text-align: center;
  transition: background-color .5s, color .5s;

  -webkit-transform: skewX(-30deg);
}

.career .requirements-nav__link[href*='career'],
.graduate .requirements-nav__link[href*='graduate'],
.requirements-nav__link:hover,
.requirements-nav__link:active {
  background-color: var(--color-sub);
  color: var(--color-main);
}

.career .requirements-nav__link[href*='career'] span::after,
.graduate .requirements-nav__link[href*='graduate'] span::after,
.requirements-nav__link:hover span::after,
.requirements-nav__link:active span::after {
  transform: scaleY(1);

  -webkit-transform: scaleY(1);
}

.career .requirements-nav__link[href*='career'],
.graduate .requirements-nav__link[href*='graduate'] {
  pointer-events: none;
}

.requirements-nav__link h1,
.requirements-nav__link span {
  display: block;
  position: relative;
  transform: skewX(30deg);
  font-weight: bold;
  letter-spacing: .08em;
  text-indent: .08em;

  -webkit-transform: skewX(30deg);
}

.requirements-nav__link h1::after,
.requirements-nav__link span::after {
  display: block;
  position: absolute;
  right: 0;
  bottom: -1.5em;
  left: 0;
  transform: scaleY(0);
  width: 2px;
  height: 1em;
  margin: auto;
  background-color: var(--color-white);
  content: '';
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;

  -webkit-transform: scaleY(0);
}

@media screen and (max-width: 1500px) {
  .display-xl {
    display: block;
  }
  .none-xl {
    display: none;
  }
}

@media screen and (max-width: 1260px) {
  .display-lg {
    display: block;
  }
  .none-lg {
    display: none;
  }
  .wrap-2column {
    flex-flow: column nowrap;
    margin-bottom: 50px;
  }
  .main-column {
    width: 100%;
    margin-bottom: 50px;
  }
  .sidebar {
    width: 100%;
  }
  .inner {
    padding: 0;
  }
  .fullWidth {
    min-width: 100%;
  }
  .sp-contents {
    width: 100%;
    padding-right: 6.4%;
    padding-left: 6.4%;
  }
  .content {
    max-width: 100%;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .content__inner--company,
  .content__inner--requirements {
    padding: 0;
  }
  .content__inner {
    max-width: 100%;
    padding: 0;
  }
  .footer {
    padding: 40px 0 50px;
  }
  .footer__inner--column {
    justify-content: center;
  }
  .footer__inner--row {
    justify-content: center;
  }
  .cta__requirements__inner {
    padding: 5vw;
  }
  .cta__requirements__link {
    padding: 5vw;
  }
  .cta__requirements__btn {
    width: 100%;
  }
  .first-view__img {
    width: 100%;
  }
  .main-copy {
    left: 5vw;
  }
  .bg-page {
    height: 61.9vw;
  }
  .page-main .content {
    height: 35.7vw;
    padding-top: 15.9vw;
  }
  .head-page {
    font-size: 2.4vw;
  }
  #nav-close {
    display: none;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .9);
    transition: .3s ease-in-out;
  }
  .head::before {
    font-size: 4.8vw;
  }
  .head__text {
    font-size: 2vw;
  }
  .head__text--entry {
    font-size: 4.8vw;
  }
  .swiper-works img {
    height: calc((100vw / 3) * (290 / 500));
  }
  .footer-nav {
    gap: 5vw;
  }
  .footer-nav__item::before {
    font-size: 1.5vw;
  }
  .footer-nav__item--children::before {
    font-size: 1.2vw;
  }
  .footer-nav__link {
    font-size: 1.4vw;
  }
  .footer-nav__link::after {
    margin-left: .5em;
  }
  .footer-nav__link--parent {
    font-size: 2vw;
  }
  .footer-nav__link--children {
    font-size: 1.6vw;
  }
  .horizontal-table__row {
    font-size: 1.3vw;
  }
  .section-flow {
    margin-bottom: 12vw;
  }
  .flow-list__item {
    width: 18.7vw;
  }
  .flow-list__item::after {
    top: 9vw;
    right: -3.2vw;
    width: 1.6vw;
    height: 1.6vw;
  }
  .flow-list__item:not(:nth-child(4n)):not(:last-child) {
    margin-right: 4.7vw;
  }
  .flow-list__img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .flow-list__dt {
    font-size: 1.5vw;
  }
  .flow-list__dd {
    font-size: 1.27vw;
  }
  .flow-annotation-list {
    padding: 5.5vw 7.9vw;
  }
  .flow-annotation-list > li {
    font-size: 1.27vw;
  }
  .policy-list {
    gap: 3.5vw;
  }
  .policy-list__inner {
    padding: 3.8vw 2vw 4.7vw 3.7vw;
    font-size: 2vw;
  }
  .policy-list__inner::before {
    font-size: 2.4vw;
    line-height: 1;
  }
  .business-wrap {
    gap: 13vw;
  }
  .business-wrap {
    flex-flow: column nowrap;
  }
  .business-box__head {
    font-size: 2vw;
  }
  .business-list__item {
    font-size: 1.6vw;
  }
  .iso9001 {
    width: 15.5vw;
    height: auto;
  }
  .entry-text {
    font-size: 1.6vw;
  }
  .entry-text--top {
    margin-bottom: 9.5vw;
  }
  .entry-text--bottom {
    margin-top: 12vw;
  }
  .progress-form__item {
    font-size: 2.4vw;
  }
  .section-top__text {
    font-size: 1.3vw;
  }
  .section-message-text {
    font-size: 2.4vw;
  }
  .common-list {
    gap: 12vw 5vw;
  }
  .common-list__item {
    font-size: 1.3vw;
  }
  .common-list__q {
    font-size: 1.3vw;
  }
  .common-list__head--company::before {
    font-size: 4.8rem;
  }
  .president__img {
    width: 38vw;
    height: auto;
  }
  .president::before {
    width: 38vw;
    height: 100%;
  }
  .interview-data__name-e {
    font-size: 81%;
  }
  .interview-list__link {
    font-size: 1.3vw;
  }
  .interview-list__more {
    width: 8.7vw;
    height: 8.7vw;
    font-size: 1vw;
  }
  .common-text-top {
    font-size: 2vw;
  }
  .requirements-nav {
    gap: 7.9vw;
  }
  .requirements-nav__link {
    width: 34.9vw;
    font-size: 2vw;
  }
}

@media screen and (max-width: 992px) {
  .display-md {
    display: block;
  }
  .none-md {
    display: none;
  }
  .contents {
    width: 100%;
  }
  .copyright {
    text-align: center;
  }
  .first-view__img {
    -o-object-position: 80%;
    object-position: 80%;
  }
  .main-copy {
    top: auto;
    bottom: 14vw;
    left: 0;
    width: 100%;
    padding: 0 12vw 0 5vw;
  }
  .main-copy__text--1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 13.6vw;
  }
  .swiper-pagination {
    display: none;
  }
  .swiper-button-prev,
  .swiper-button-next {
    display: none !important;
  }
  .swiper-main .swiper-slide img {
    height: 66vw;
    min-height: 66vw;
    /*
				min-height: calc(100vh - 33vw);
				height: calc(100vh - 33vw);
				*/
  }
  .wrap-table-dl > dl > dt {
    align-items: center;
    width: 25%;
    margin-right: 0;
    padding: 30px 0 15px 0;
    line-height: 1.5;
    text-align: left;
    text-indent: 0;
  }
  .wrap-table-dl > dl > dd {
    width: 70%;
    padding: 15px 0 30px 0;
  }
  .wrap-table-dl > div p {
    padding-left: 0;
  }
  .wrap-table-dl > div p span {
    display: block;
  }
  .wrap-table-dl > div dl {
    flex-flow: column nowrap;
  }
  .wrap-table-dl > div dt {
    padding: 30px 0 15px 0;
  }
  .wrap-table-dl > div dd {
    padding: 15px 0 30px 0;
  }
}

@media screen and (max-width: 768px) {
  .display-sm {
    display: block;
  }
  .none-sm {
    display: none;
  }
  body {
    -ms-grid-rows: 0 1fr auto;
    -ms-grid-columns: 100%;
    grid-template: 'header' 0
    'main' 1fr
    'footer' auto
    / 100%;
  }
  .header {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .footer {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .main {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .content__inner {
    justify-content: flex-start;
  }
  .content--people {
    padding-right: 0;
  }
  .logo--header {
    flex-flow: column nowrap;
    align-items: flex-end;
    gap: 0;
    margin: 3vw;
  }
  .logo__img {
    width: 50vw;
    height: auto;
  }
  .logo__text--header {
    margin-top: -.5em;
    margin-right: -1em;
  }
  .logo__text--header br {
    display: none;
  }
  .footer {
    padding: 14vw 0 8vw;
  }
  .footer__inner--column {
    flex-flow: column wrap;
    align-items: center;
    gap: 10vw;
  }
  .footer__inner--row {
    flex-flow: column wrap;
    align-items: center;
  }
  .footer__row--middle {
    display: none;
  }
  .footer__row--bottom {
    flex-flow: column nowrap;
  }
  .footer-logo {
    justify-content: center;
  }
  .footer-info {
    flex-flow: column nowrap;
    align-items: center;
    text-indent: .1em;
  }
  .footer-info > li {
    margin-bottom: .5em;
    text-align: center;
  }
  .footer-info > li:nth-child(1) {
    width: auto;
  }
  .section-entry {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    padding: 0;
  }
  .section-entry .content {
    padding: 0;
  }
  .section-entry .head,
  .section-entry .top-text {
    display: none;
  }
  .cta__requirements__inner {
    width: 100%;
  }
  .cta__requirements__link {
    padding: 10vw;
  }
  .cta__requirements__text {
    margin-bottom: 1.5em;
  }
  .cta__requirements__btn {
    width: 50vw;
  }
  .cta__entry {
    padding: 21vw 0;
    background: url(../images/bg-entry-sp@2x.jpg) no-repeat center center/cover;
  }
  .cta__bottom {
    padding: 25vw 0 22vw;
  }
  .cta__bottom__text--2 {
    margin-bottom: 2em;
  }
  .footer_corporate {
    margin-bottom: 2em;
    font-size: 5.6vw;
  }
  .copyright {
    font-size: 4.2vw;
  }
  .first-view {
    top: 32%;
    width: 100%;
  }
  .first-view__img {
    -o-object-position: center top;
    object-position: center top;
  }
  .main-visual {
    justify-content: center;
  }
  .main-copy {
    bottom: 35vw;
  }
  .main-copy__text--1:after {
    bottom: -.4em;
    width: 20%;
    height: 15vw;
  }
  .main-copy__text--2 {
    margin-bottom: 2em;
    font-size: 3.6vw;
  }
  .main-copy__text--3 {
    font-size: 5.2vw;
  }
  .bg-page {
    height: auto;
    background-position: top;
    background-size: 100% 64vw;
  }
  .bg-page--requirements,
  .bg-page--company,
  .bg-page--entry,
  .bg-page--business {
    height: 64vw;
    background-size: cover;
  }
  .page-main .content {
    height: 55.6vw;
    padding-top: 30vw;
  }
  .head-page {
    font-size: 4.4vw;
  }
  .head-page:before {
    font-size: 11.1vw;
  }
  #nav-open {
    width: 19vw;
    height: 19vw;
  }
  #nav-open:after {
    font-size: 2vw;
  }
  .btn-close {
    display: block;
  }
  .pagetop {
    width: 12vw;
    height: 12vw;
  }
  .pagetop:before {
    top: 1.5vw;
    width: 4vw;
    height: 4vw;
    border-bottom: .75vw solid var(--color-white);
    border-left: .75vw solid var(--color-white);
  }
  .btn-wrapper--bottom {
    margin-top: 5vw;
  }
  * + .btn-wrapper--company {
    margin-top: 18vw;
  }
  * + .btn-wrapper--requirements {
    margin-top: 18vw;
  }
  .btn,
  input.btn,
  button.btn {
    width: 100%;
    height: 23vw;
    border-radius: 11.5vw;
  }
  .head::before {
    font-size: 8.2vw;
  }
  .head__text {
    font-size: 4.4vw;
  }
  .head__text--entry {
    font-size: 8.2vw;
  }
  .swiper-main .swiper-slide:after {
    background-position: 0 0, 1px 1px;
    background-size: 2px 2px;
    background-color: rgba(0, 0, 0, .25);
  }
  .swiper-works img {
    height: 44vw;
  }
  .drawer-nav {
    gap: 10vw;
  }
  .drawer-nav__children--requirements {
    gap: 3em;
  }
  .footer-nav {
    display: none;
  }
  .horizontal-table__row {
    font-size: 3.6vw;
  }
  .horizontal-table--sm-scroll {
    padding-bottom: 5vw;
    overflow-x: auto;
  }
  .horizontal-table--sm-vertical .horizontal-table__head {
    display: list-item;
    list-style: none;
    width: 100%;
    padding: .75em 0 .25em;
    font-weight: bold;
    font-size: 3.6vw;
  }
  .horizontal-table--sm-vertical .horizontal-table__text {
    display: list-item;
    list-style: none;
    width: 100%;
    padding: .25em 0 .75em;
    font-size: 3.3vw;
  }
  .horizontal-table--sm-vertical--contact .horizontal-table__head {
    width: 100%;
    padding: 1em 1em .5em;
  }
  .vertical-table--sm-scroll {
    padding-bottom: 5vw;
    overflow-x: auto;
  }
  .section--flow .content {
    padding-top: 19.4vw;
    padding-bottom: 19.4vw;
  }
  .section-flow {
    margin-bottom: 10vw;
  }
  .flow-list {
    gap: 0 5vw;
  }
  .flow-list__item {
    width: 42.5vw;
    padding: 6vw 0;
  }
  .flow-list__item::after {
    top: 18vw;
    right: -3.75vw;
    width: 2.5vw;
    height: 2.5vw;
  }
  .flow-list__item:not(:nth-child(4n)):not(:last-child) {
    margin-right: 0;
  }
  .flow-list__item:nth-child(5n)::before {
    content: none;
  }
  .flow-list__item:nth-child(odd):not(:first-child)::before {
    width: 90vw;
    content: '';
  }
  .flow-list__dt {
    font-size: 3.6vw;
  }
  .flow-list__dd {
    font-size: 3vw;
  }
  .flow-annotation-list {
    padding: 5vw;
  }
  .flow-annotation-list > li {
    font-size: 3vw;
  }
  .section--philosophy .content,
  .section--policy .content,
  .section--promise .content,
  .section--business .content {
    padding-top: 19.4vw;
    padding-bottom: 19.4vw;
  }
  .company .section--company .content {
    padding-top: 19.4vw;
    padding-bottom: 19.4vw;
  }
  .policy-list {
    flex-flow: column nowrap;
    gap: 5vw;
  }
  .policy-list__item {
    position: relative;
  }
  .policy-list__item::before {
    transform: skewX(50deg);

    -webkit-transform: skewX(50deg);
  }
  .policy-list__item::after {
    transform: skewX(-50deg);

    -webkit-transform: skewX(-50deg);
  }
  .policy-list__inner {
    padding: 10vw 10vw 10vw 20vw;
    font-size: 4.4vw;
  }
  .policy-list__inner::before {
    display: inline-block;
    position: absolute;
    top: 9, 5vw;
    left: 10vw;
    margin-right: .5em;
    margin-bottom: 0;
    font-size: 5.6vw;
    line-height: 1.75;
  }
  .business-box__head {
    font-size: 4.4vw;
  }
  .business-list__item {
    font-size: 3.9vw;
  }
  .company-dl {
    flex-flow: column nowrap;
    margin-left: 5vw;
  }
  .company-dl__head {
    width: 100%;
  }
  .company-dl__text {
    width: 100%;
  }
  .history-list__time {
    display: block;
  }
  .history-list__content {
    display: block;
  }
  .general-list--group,
  .general-list--license {
    -webkit-column-count: auto;
    -moz-column-count: auto;
    column-count: auto;
  }
  .iso9001 {
    display: block;
    position: relative;
    bottom: 0;
    width: auto;
    max-width: 41.7vw;
    height: auto;
    margin: 1em 0 0 auto;
  }
  .mw_wp_form .error {
    display: block !important;
  }
  .mw_wp_form_confirm {
    line-height: 2;
  }
  .text-complete {
    margin-bottom: 20vw;
  }
  .text-privacypolicy {
    margin-bottom: 10vw;
  }
  input[name='name'],
  input[name='kana'],
  input[name='email'],
  input[name='email2'],
  input[name='tel'],
  input[name='zipcode'] {
    width: 100%;
  }
  input[name='zipcode'] {
    width: 95%;
  }
  input[name='address'] {
    width: 100%;
  }
  .zipcode-text {
    display: none;
  }
  textarea[name='career'],
  textarea[name='point'] {
    height: 83.3vw;
  }
  .birth-wrap {
    flex-flow: row wrap;
  }
  .birth-box--1 {
    margin-right: 40vw;
    margin-bottom: 2em;
  }
  .birth-box--2 {
    margin-left: 2.5em;
  }
  input[name$='year'],
  input[name$='month'],
  input[name$='day'] {
    width: 27vw;
    margin: 0 .5em;
  }
  .privacy {
    height: 113vw;
    margin: 15vw 0;
    padding: 7.5vw 6vw;
  }
  .privacy__head {
    font-size: 3.6vw;
  }
  .section--entry {
    padding-top: 16.7vw;
    padding-bottom: 33vw;
  }
  .entry-text {
    font-size: 3.6vw;
    text-align: left;
  }
  .progress-form {
    justify-content: space-between;
    gap: 0;
    width: 67.5vw;
  }
  .progress-form:before {
    bottom: 2.5vw;
  }
  .progress-form__item {
    font-size: 4.4vw;
  }
  .progress-form__item:after {
    width: 5vw;
    height: 5vw;
  }
  .section--message {
    padding: 39vw 0 20vw;
  }
  .index .section--company {
    padding: 20vw 0 19vw;
  }
  .section--people {
    padding: 19vw 0 40vw;
  }
  .section-top__text {
    font-size: 3.6vw;
  }
  .section-top__copy {
    left: .25em;
    font-size: 15.6vw;
    text-align: left;
  }
  .section-message-text {
    font-size: 4.4vw;
  }
  .common-list {
    gap: 37.5vw 5vw;

    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
  }
  .common-list--people {
    gap: 18.6vw;
  }
  .common-list__item {
    font-size: 3.6vw;
  }
  .common-list__inner {
    padding: 10vw 8.3vw;
  }
  .common-list__q {
    padding: .5em 0 .5em 5em;
    font-size: 3.9vw;
  }
  .common-list__head {
    font-size: 4.4vw;
  }
  .common-list__head--people br {
    display: none;
  }
  .common-list__head--company {
    margin-top: -.75em;
  }
  .common-list__head--company::before {
    font-size: 8vw;
  }
  .common-list__img {
    width: 100%;
  }
  .president {
    margin-bottom: -15vw;
  }
  .president__img {
    width: 80vw;
  }
  .president::before {
    width: 80vw;
  }
  .business-limg-list {
    flex-flow: row wrap;
  }
  .business-limg-list__item {
    flex: auto;
    width: 50%;
  }
  .people-main {
    margin-bottom: 10vw;
  }
  .people-top {
    margin-bottom: 8.5vw;
    font-size: 4.4vw;
    letter-spacing: 0;
  }
  .people-top br {
    display: none;
  }
  .interview-data--people {
    width: 100%;
    min-height: auto;
    margin-top: 55vw;
    padding: 10vw;
  }
  .interview-list__link {
    font-size: 3vw;
  }
  .interview-list__link:hover .interview-list__img {
    transform: none;

    -webkit-transform: none;
  }
  .interview-list__img {
    transform: none;
    transition: none;

    -webkit-transform: none;
  }
  .interview-list__more {
    width: 16.1vw;
    height: 16.1vw;
    font-size: 2vw;
  }
  .section--type .content {
    padding-top: 19.4vw;
    padding-bottom: 19.4vw;
  }
  .section--requirements-top .content {
    padding-top: 19.4vw;
    padding-bottom: 19.4vw;
  }
  .common-text-top {
    font-size: 4.4vw;
  }
  .requirements-nav {
    gap: 5vw;
    margin-bottom: 14vw;
  }
  .requirements-nav__link {
    transform: skewX(-20deg);
    width: 39vw;
    font-size: 4.4vw;

    -webkit-transform: skewX(-20deg);
  }
  .requirements-nav__link h1,
  .requirements-nav__link span {
    transform: skewX(20deg);

    -webkit-transform: skewX(20deg);
  }
}

@media screen and (max-width: 575px) {
  .display-xs {
    display: block;
  }
  .none-xs {
    display: none;
  }
  .wrap-2column {
    margin-bottom: 0;
  }
  body:not(.index) .wrap {
    padding: 5vw 0 18vw;
  }
  .footer-logo {
    flex-flow: column wrap;
    align-items: center;
    margin: 0 0 5vw 0;
  }
  .footer-logo .js_desvg {
    width: 50vw;
    height: auto;
  }
  #nav-content {
    padding: 19vw 13vw 13vw;
  }
  #nav-input:checked ~ #nav-open span:nth-of-type(1) {
    transform: translateY(1.2vw) rotate(-20deg);

    -webkit-transform: translateY(1.2vw) rotate(-20deg);
  }
  #nav-input:checked ~ #nav-open span:nth-of-type(2) {
    transform: translateY(-.8vw) rotate(20deg);

    -webkit-transform: translateY(-.8vw) rotate(20deg);
  }
  .nav-link {
    margin-bottom: 10vw;
  }
  .link-prev,
  .link-next {
    width: 100%;
  }
  .link-prev {
    flex: 1;
  }
  .link-next {
    flex: 1;
  }
  .link-archive {
    flex: 1.5;
  }
  .pagination {
    padding: .5em 0;
    overflow-x: scroll;
  }
  .pagination__item {
    margin: 0 .25em;
    font-size: 4vw;
  }
  .pagination__link {
    min-width: 10vw;
    height: 10vw;
    font-size: 4.5vw;
    line-height: 10vw;
  }
  a[href^='tel:'] {
    pointer-events: auto;
  }
  .swiper-main .swiper-slide img {
    height: 100vw;
    min-height: 100vw;
  }
  .horizontal-table--xs-scroll {
    padding-bottom: 5vw;
    overflow-x: auto;
  }
  .horizontal-table--xs-vertical .horizontal-table__head {
    display: list-item;
    list-style: none;
    width: 100%;
    padding: 1em 1em .5em;
    font-weight: bold;
  }
  .horizontal-table--xs-vertical .horizontal-table__text {
    display: list-item;
    list-style: none;
    width: 100%;
    padding: .5em 1em 1em;
  }
  .horizontal-table--xs-vertical--contact .horizontal-table__head {
    width: 100%;
    padding: 1em 1em .5em;
  }
  .vertical-table--xs-scroll {
    padding-bottom: 5vw;
    overflow-x: auto;
  }
  .text-top-form {
    margin-bottom: 10vw;
  }
  .wrap-table-dl {
    margin-bottom: 4em;
  }
  .wrap-table-dl > dl {
    flex-flow: column nowrap;
  }
  .wrap-table-dl > dl > dt {
    width: 100%;
    padding: 2.5vw 0 1vw 0;
    font-size: 3.5vw;
  }
  .wrap-table-dl > dl > dt:before {
    font-size: 3vw;
  }
  .wrap-table-dl > dl > dd {
    width: 100%;
    padding: 1vw 0 2.5vw 0;
  }
  .wrap-table-dl > div p {
    font-size: 4vw;
  }
  .wrap-table-dl > div dt {
    padding: 2.5vw 0 1.25vw 0;
  }
  .wrap-table-dl > div dd {
    padding: 1.25vw 0 2.5vw 0;
  }
  .email-confirm {
    font-size: 3vw;
  }
  .wrap-zip {
    flex-flow: column nowrap;
    align-items: flex-start;
  }
  .wrap-zip p {
    margin-top: .5em;
    margin-left: 0;
    line-height: 1.5;
  }
  .wrap-zip p br {
    display: none;
  }
}

@media all and (-ms-high-contrast: none) {
  body {
    font-size: 16px;
  }
  .logo__text--header {
    font-size: 14px;
  }
  .logo__text--footer {
    font-size: 14px;
  }
  .footer-info > li {
    font-size: 14px;
  }
  .cta__requirements__text {
    font-size: 25px;
  }
  .cta__requirements__btn {
    font-size: 20px;
  }
  .cta__bottom__text--1 {
    font-size: 87px;
  }
  .cta__bottom__text--2 {
    font-size: 32px;
  }
  .cta__bottom__text--3 {
    font-size: 34px;
  }
  .btn,
  input.btn,
  button.btn {
    font-size: 23px;
  }
  .underline-head__text {
    font-size: 28px;
  }
  .swiper-main .swiper-slide:after {
    background-image: repeating-linear-gradient(
    45deg,
    var(--color-black) 25%,
    transparent 25%,
    transparent 75%,
    var(--color-black) 75%,
    var(--color-black)
    ),
    repeating-linear-gradient(
    45deg,
    var(--color-black) 25%,
    transparent 25%,
    transparent 75%,
    var(--color-black) 75%,
    var(--color-black)
    );
  }
  .drawer-nav__item::before {
    font-size: 18px;
  }
  .drawer-nav__link--parent {
    font-size: 26px;
  }
  .drawer-nav__link--children {
    font-size: 18px;
  }
}
