@charset "utf-8";

/*--------

SETTING

--------*/
html {
  font-size: 62.5%;
}

@media screen and (min-width:1700px) {
  html {
    font-size: 71.5%;
  }
}


@media screen and (max-width:1700px) {
  html {
    font-size: 71.5%;
  }
}

@media screen and (max-width:1600px) {
  html {
    font-size: 68.5%;
  }
}

@media screen and (max-width:1500px) {
  html {
    font-size: 65.5%;
  }
}

@media screen and (max-width:1400px) {
  html {
    font-size: 62.5%;
  }
}

a {
  color: inherit;
}

/*
 setting - VARIABLE
---------------------------------*/
:root {
  --colorWhite: #fff;
  --textColor_invert: var(--colorWhite);
  --colorBlack: #111111;
  --textColor_main: var(--colorBlack);
  --colorAccent: #0fabbc;
  --colorAccentLight: #12cad6;
  --grad: linear-gradient(to right, var(--colorAccent), var(--colorAccentLight));

  --colorButton: orange
}

[data-color="invert"] {
  color: var(--textColor_invert);
}

[data-color="white"] {
  color: #fff
}

/*--------

BASE

--------*/
body {
  color: var(--textColor_main);
  font-family: "roboto", "noto sans jp", sans-serif;
  font-size: 1.4rem;
  font-feature-settings: 'palt'1;
  line-height: 1.57;
  width: 100%;
}

/*--------

COMMON

--------*/
.page-inner {
  display: block;
}

.js-salaryFormat::after {
  content: "円";
}

.js-salaryFormat.is-min::after {
  content: "円 ～";
}

.cmn-inner {
  padding: 0 5%;
}

.sec-header {
  padding-bottom: 3.5em;
  position: relative;
  z-index: 3;
}

.sec-heading {
  text-align: center;
}

.sec-heading_eng {
  border-bottom: 1px solid var(--colorAccent);
  display: inline-block;
  font-size: 3.5rem;
  font-weight: 500;
  letter-spacing: .25em;
  position: relative;
  padding-bottom: .25em;
  text-transform: uppercase;
}

.sec-heading_eng[data-color="invert"] {
  border-bottom: 1px solid #fff;
}

.post-count {
  font-size: 1.25rem;
  position: absolute;
  right: -1.5em;
  top: 0;
}

.sec-heading_jp {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: .25em;
  margin-top: 1em;
}

.cmn-section-desc {
  font-size: 1.2rem;
  margin-top: 2em;
}

.site-header {
  background-color: rgba(255, 255, 255, .95);
  box-shadow: 0 6px 12px rgba(0, 0, 0, .1);
  left: 0;
  opacity: .9;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.header-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 1em 3%;
}

.header_siteName h2 {
  font-size: 1.15rem;
  font-weight: 500;
}

/*--------

top - common

--------*/
.sec-component:nth-child(odd) {
  background: rgb(227, 242, 255);
  background: linear-gradient(337deg, rgba(227, 242, 255, 1) 0%, rgba(22, 23, 23, 1) 0%, rgba(242, 242, 242, 1) 0%, rgba(240, 240, 240, 1) 100%);
}

.sec-inner {
  margin: 0 auto;
  padding: 5em 0;
  width: 78%;
}

.sec-inner--wide {
  margin: 0 auto;
  padding: 5em 0;
  width: 85%;
}

.sec-inner--thin {
  margin: 0 auto;
  padding: 5em 0;
  width: 60%;
}

.recruit-list_container {
  margin: 0 auto;
  padding: 5em 0;
  width: 78%;
}

.sec-contents {
  padding: 1em 0;
}

/*
 top - FV
---------------------------------*/
#fv {
  height: 95vh;
  position: relative;
  width: 100%;
}

.fv_bg {
  background-image: url(../img/top-fv_bg.jpg);
  background-size: cover;
  background-position: center center;
  left: 0;
  height: 100%;
  opacity: .9;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.fv_bg::before {
  background: rgb(227, 242, 255);
  background: linear-gradient(337deg, rgba(227, 242, 255, 1) 0%, rgba(0, 0, 0, 1) 0%, rgba(17, 38, 64, 1) 0%, rgba(0, 0, 0, 1) 100%);
  content: "";
  left: 0;
  height: 100%;
  opacity: .3;
  position: absolute;
  top: 0;
  width: 100%;
}

.fv_bg::after {
  background-image: linear-gradient(-45deg,
      #fff 25%, #000 25%, #000 50%, #fff 50%, #fff 75%, #000 75%, #000);
  background-size: 4px 4px;
  content: "";
  left: 0;
  height: 100%;
  opacity: .15;
  position: absolute;
  top: 0;
  width: 100%;
}

.fv-catchContainer {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 90%;
  z-index: 5;
}

.fv-catchContainer_catch {
  font-size: 5rem;
  font-weight: 500;
  letter-spacing: .25em;
}

.fv-catchContainer_companyName {
  font-weight: 500;
  opacity: .9;
  padding-top: .5em;
}

/*
 top - ABOUT
---------------------------------*/
.about-contents {
  text-align: center;
}

.about-block_heading {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: .12em;
}

.about-block_desc {
  letter-spacing: .05em;
  line-height: 1.75;
  margin-top: 1.5em;
  opacity: .5;
}

.about-block::before {
  content: "〇";
  color: var(--colorAccent);
  display: block;
  font-size: 1.5rem;
  font-weight: 300;
  padding-bottom: 1.5em;
}

.about-img {
  filter: drop-shadow(0 1rem 1.25rem rgba(0, 0, 0, .32));
  margin: 3em auto 0;
  max-width: 60%;
}

.about-img_img {
  border-radius: 10%;
  width: 100%;
}

/*
 top - BUSINESS
---------------------------------*/
.biz-list:not(:first-child) {
  margin-top: 2em;
}

.biz-list_catch {
  color: var(--colorAccent);
  border-bottom: 2px solid;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: .2em;
  padding-bottom: .5em;
}

.biz-listContent {
  margin-top: 2em;
}

.biz-list {
  display: flex;
}

.biz-listThumbnail {
  filter: drop-shadow(0 .5rem 1.5rem rgba(0, 0, 0, .2));
  width: 35%;
}

.biz-listContent {
  padding: 0 4.5%;
  width: 65%;
}

.biz-listThumbnail_img {
  border-radius: 1em 4em;
  width: 100%;
}

.biz-desc {
  padding-top: 1em;
}

.biz-desc_bizName {
  font-size: 1.6rem;
}

.biz-desc_txt {
  font-size: 1.5rem;
  opacity: .75;
  padding-top: 1em;
  max-width: 65%;
}

/*
 top - FAQ
---------------------------------*/
.faq-list:not(:first-child) {
  margin-top: 2em;
}

.faq-listQueBlock {
  padding: 1em 0;
}

.faq-listQueBlock_question {
  color: #0fabbf;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: .05em;
}

.faq-listQueBlock_question::before {
  content: "Q.";
  color: var(--colorAccent);
  font-size: 2em;
  padding-right: .25em;
}

.faq-listAnswerBlock {
  align-items: center;
  background-color: #fff;
  border: .5px solid var(--colorAccent);
  border-radius: .5em;
  display: flex;
  padding: 2em 2%;
}

.faq-listAnswerBlock_icon {
  border-right: .5px solid;
  color: var(--colorAccent);
  font-size: 3rem;
  margin-right: 2%;
  padding-left: 1%;
  padding-right: 2%;
  text-align: center;
}

.faq-listAnswerBlock_answer {
  font-size: 1.4rem;
  line-height: 1.7;
  opacity: .75;
}

/*
 top - BENEFITS
---------------------------------*/
.benefit-lists {
  display: flex;
  justify-content: space-between;
}

.benefit-list {
  background-color: var(--colorWhite);
  border: .5px solid rgba(0, 0, 0, .1);
  box-shadow: 0 2rem 2rem -1rem rgba(0, 0, 0, .1);
  padding: 2em 2% 1.35em;
  width: calc(100% / 4 - 1%);
}

.benefit-list_icon {
  color: var(--colorAccent);
  font-size: 1.4em;
  text-align: center;
}

.benefit-list_icon::after {
  background-color: rgba(0, 0, 0, .25);
  content: "";
  display: block;
  margin: .5em auto 0;
  height: .5px;
  width: 20%;
}

.benefit-list_caption {
  font-weight: 500;
  letter-spacing: .075em;
  padding-top: 1em;
  text-align: center;
}

.benefit-list_desc {
  color: #a9a9a9;
  font-size: 1.2rem;
  padding-top: .5em;
  text-align: center;
}

/* end top */

/*--------

page - JOB

--------*/
.job-details {
  background-color: var(--colorWhite);
  padding: 4em 0;
  width: calc(100% - var(--asideWidth));
}

.job-details_header {
  padding: 1em 0;
}

.job-category {
  align-items: center;
  display: flex;
}

.job-jobType {
  background: linear-gradient(to right, var(--colorAccent), var(--colorAccentLight));
  border-radius: .1em;
  color: var(--colorWhite);
  letter-spacing: .075em;
  padding: .2em 1.36em;
}

.job-category_jobName {
  opacity: .75;
  padding-left: .85em;
}

.job-tags {
  margin-top: .75em;
  opacity: .75;
  padding: .5em 0;
}

.job-tags_tag {
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 300;
}

.job-tags_tag:not(:last-child) {
  margin-right: 1em;
}

.job-tags_tag::before {
  content: "#";
}

.job-recruitTitle {
  font-size: 2.5rem;
  font-weight: 500;
  margin-top: .5em;
  max-width: 80%;
}

.job-dataContainer {
  margin-top: 3.5em;
}

.job-dataBlock:not(:first-child) {
  padding-top: 3.75em;
}

.job-dataBlock_caption {
  border-bottom: .5px solid var(--colorAccent);
  border-left: .5px solid var(--colorAccent);
  color: var(--colorAccent);
  font-weight: 500;
  letter-spacing: .05em;
  padding: .5em 0;
  padding-left: .75em;
}

.job-dataBlockContent {
  max-width: 80%;
  padding-top: 1.5em;
}

.job-data:not(:first-child) {
  margin-top: 1em;
}

.job-dataNote {
  font-size: 1.2rem;
  opacity: .7;
}

.job-dataTags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: .5em;
}

.job-dataTags_tag {
  background: var(--grad);
  border: .5px solid var(--colorAccentLight);
  border-radius: .2em;
  color: var(--colorWhite);
  font-weight: 500;
  letter-spacing: .05em;
  margin-top: .45em;
  padding: .3em 1.5em;
}

.job-dataTags_tag:not(:last-child) {
  margin-right: 1em;
}

.job-dataTags_tag::before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  color: var(--colorAccentLight);
  font-weight: bold;
  padding-right: .3em;
}

.job-desc {
  line-height: 1.75;
}

/* application button */
.job-appButtonContainer {
  border-top: .5px solid #a9a9a9;
  margin-top: 5em;
  padding: 5em 0 7em;
}

.job-appButtonNote {
  font-weight: 500;
  padding-bottom: 4em;
  text-align: center;
}

.job-appButton {
  text-align: center;
}

.job-appButton_button {
  background: var(--grad);
  background-color: var(--colorAccent);
  box-shadow: 0 10px 2em rgba(15, 173, 190, 0.3);
  border-radius: .15em;
  color: var(--colorWhite);
  font-size: 2rem;
  font-weight: 500;
  padding: 1.25em 7.5em;
  transition: .25s;
}

.job-appButton_button::before {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  opacity: .5;
  padding-right: .4em;
}

.job-appButton_button:hover {
  background: none;
  background-color: var(--colorWhite);
  border: 2px solid var(--colorAccent);
  color: var(--colorAccent);
}

[data-font-strong] {
  font-weight: 500;
}

/*--------

components - RECRUIT LIST

--------*/
.recruit-listComponents {
  background: rgb(64, 98, 129);
  background: linear-gradient(337deg, rgba(64, 98, 129, .8) 0%, rgba(22, 23, 23, 1) 0%, rgba(21, 150, 213, .8) 0%, rgba(20, 219, 167, .75) 100%);
  padding: 5em 0;
  position: relative;
  z-index: 1;
}

.recruit-bgWrap {
  left: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  overflow: hidden;
  top: 0;
}

.recruit-bgWrap::before {
  background-image: url("../img/top-fv_bg.jpg");
  background-size: cover;
  background-position: center center;
  content: "";
  filter: blur(11px);
  left: 0;
  height: 100%;
  opacity: .7;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.recruit-bgWrap::after {
  background-image: linear-gradient(-45deg,
      #fff 25%, #000 25%, #000 50%, #fff 50%, #fff 75%, #000 75%, #000);
  background-size: 4px 4px;
  content: "";
  left: 0;
  height: 100%;
  opacity: .185;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.term-lists {
  display: flex;
  position: relative;
  z-index: 3;
}

.term-list {
  font-size: 1.25rem;
}

.term-list:not(:last-child) {
  margin-right: .5em;
}

.term-list:not(:last-child)::after {
  content: "|";
  opacity: .25;
  padding-left: .5em;
}

.term-list_count {
  font-weight: 500;
}

.recruit-categoryBlock {
  padding: 7em 0;
}

.recruit-contents {
  margin-top: 2em;
  position: relative;
  z-index: 3;
}

.recruit-categoryBlock_inner {
  display: flex;
}

.recruit-categoryCaption {
  width: 30%;
}

.recruit-categoryCaption_h {
  background-color: rgba(0, 0, 0, .2);
  color: #fff;
  font-weight: 500;
  padding: 1.5em 0;
  position: sticky;
  text-align: center;
  top: 45vh;
}

.recruit-lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 5%;
  width: 70%;
}

.recruit-list {
  background-color: rgba(255, 255, 255, .9);
  border-radius: 1.15em;
  box-shadow: 0 2.5rem 2rem -.5rem rgba(0, 0, 0, .32);
  padding: 1em 3% 1.5em;
  transition: .35s;
  width: calc(100% / 2 - 3%);
}

.recruit-list {
  margin-right: 1.5%;
}

.recruit-list:nth-child(n + 3) {
  margin-top: 2em;
}

.recruit-list:hover {
  background-color: rgba(255, 255, 255, .85);
  box-shadow: 0 2.5rem 2rem -.25rem rgba(0, 0, 0, .42);
  transform: translateY(-8px);
}

.recruit-list:hover .recruit-listHeader_title {
  opacity: .65;
}

.recruit-inner {
  padding: 1em 0;
}

.recruit-contents {
  margin-top: .9em;
  padding: .25em 0 1em;
}

.recruit-listHeader_jobType {
  background-color: rgba(15, 171, 188, .9);
  border-radius: .2em;
  color: var(--colorWhite);
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  padding: .15em .5em;
}

.recruit-listHeader_title {
  border-bottom: .5px solid var(--colorAccentLight);
  font-size: 1.75rem;
  font-weight: 500;
  margin-top: 1em;
  padding-bottom: 1em;
  transition: .25s;
}

.recruit-infoList {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.recruit-infoList:not(:first-child) {
  margin-top: 1em;
}

.recruit-infoListIcon {
  line-height: 12px;
  width: 12.5%;
  text-align: center;
}

.recruit-infoListIcon_icon {
  fill: var(--colorAccent);
  width: 12px;
}

.recruit-infoListContent {
  padding-left: 5%;
  width: 87.5%;
}

.recruit-infoStrong {
  font-size: 1.5rem;
  font-weight: 500;
}

.recruit-infoNote {
  font-size: 1.1rem;
  opacity: .46;
  line-height: 1.25;
}

.recruit-footerTags_tag {
  line-height: 1.25;
}

.recruit-footerTags_tag {
  background-color: #ececec;
  font-size: 1rem;
  font-weight: 300;
  opacity: .5;
  padding: .1em .5em;
}

/* is-NONE */
.recruit-list--none {
  padding: 5em 0;
  text-align: center;
}

.single-job-wrap {
  align-items: flex-start;
  display: flex;
  padding: 12vh 7.5%;
  --asideWidth: 25%
}

.job-aside {
  padding-left: 1%;
  position: sticky;
  top: 20vh;
  width: var(--asideWidth);
}

.job-aside_container {
  border-radius: .75em;
  box-shadow: 0 2rem 2rem -1rem rgba(0, 0, 0, .2);
  padding: 2em 10%;
}

.job-asideHeader {
  opacity: .9;
}

.job-asideSummary {
  padding-top: .25em;
}

.job-asideSummary_icon {
  opacity: .5;
  margin-right: .5em;
}

.job-asideSummary_salary {
  opacity: .5;
  font-size: 1.2rem;
}

.job-asideHeader_tags {
  border: .5px solid rgba(0, 0, 0, .1);
  display: inline-block;
  font-size: 1rem;
  padding: .1em .15em;
}

.job-asideHeader_title {
  font-size: 1.35rem;
  font-weight: 500;
  margin-top: 1em;
}

.job-asideButton {
  margin-top: 2em;
}

.job-asideButton_button {
  background-color: var(--colorButton);
  border: 2px solid var(--colorButton);
  border-radius: .3em;
  color: var(--colorWhite);
  font-weight: 500;
  display: block;
  padding: .5em 1em;
  text-align: center;
  transition: .5s;
}

.job-asideButton_button:hover {
  background-color: var(--colorWhite);
  border-radius: .5em;
  color: var(--colorButton);
}

.job-asideFooter {
  margin-top: 2em;
}

.job-asideTags {
  font-size: 1rem;
  font-weight: 300;
  display: flex;
  flex-wrap: wrap;
  opacity: .75;
}

.job-asideTags_tag {
  font-style: italic;
}

.job-asideTags_tag:not(:last-child){

  margin-right: 0.75em;
}

.job-asideTags_tag::before {
  content: "#";
}

/*--------

section - MEMBER

--------*/
.is--itwPage {
  background: rgb(227, 242, 255);
  background: linear-gradient(337deg, rgba(227, 242, 255, 1) 0%, rgba(22, 23, 23, 1) 0%, rgba(242, 242, 242, 1) 0%, rgba(240, 240, 240, 1) 100%);
  margin-top: 3em;
}

.section-member {
  padding: 5em 0;
}

.itw-tmb {
  width: 100%;
  height: auto;
  text-align: center;
}

.itw-tmb_tmb {
  border-radius: 1.5em 1.5em 0 0;
}

.member-lists {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 3;
  padding: 0 12.5%;
}

.member-list {
  background-color: var(--colorWhite);
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: 1.5em;
  box-shadow: 0 2.5rem 2rem -1rem rgba(0, 0, 0, .2);
  padding-bottom: 2em;
  transition: .5s;
  width: calc(100% / 4);
}

.member-list:hover {
  transform: translateY(-8px);
}

.member-list:not(:last-child) {
  margin-right: 1.5%;
}

.member-name {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: .1em;
  padding: 1em 0 .5em;
  text-align: center;
}

.member-desc {
  line-height: 1.65;
  padding: 0 7.5%;
}

.member-prof {
  font-size: 1.2rem;
  opacity: .5;
  text-align: center;
}

/*--------

single - INTERVIEW

--------*/
.itw-pageWrap {
  align-items: flex-start;
  display: flex;
  padding: 12vh 7.5% 0;
}

.itw-content {
  min-height: 100vh;
  width: 80%;
}

.itw-personInfo {
  background-color: #ececec;
  border-radius: .5em;
  margin-top: 1.5em;
  padding: 1.25em 3.4% 1em;
}

.itw-personInfo_name {
  font-size: 1.2rem;
  font-weight: 500;
  opacity: .9;
}

.itw-personInfo_prof {
  font-size: 1rem;
  opacity: .5;
  padding-top: .5em;
}

.itw-content_inner {
  margin: 0 auto;
  padding: 5em 0;
  width: 80%;
}

.itw-blockContainer {
  margin-top: 1em;
}

.itw-block {
  padding-top: 4em;
}

.itw-block_question {
  font-size: 1.563rem;
  font-weight: 500;
}

.itw-block_question::before {
  content: "―";
}

.itw-block_answer {
  border-top: 1px solid rgba(0, 0, 0, .1);
  line-height: 1.76;
  margin-top: 1em;
  opacity: .8;
  padding-top: 1em;
}

.itw-aside {
  position: sticky;
  width: 20%;
  top: 20vh;
}

.itw-aside_name {
  font-size: 1.2rem;
  font-weight: 500;
  padding-top: 1.5em;
}

.itw-aside_prof {
  font-size: 1rem;
  opacity: .5;
  padding-top: .75em;
}

.itw-asideIndex {
  border-top: 1px solid rgba(0, 0, 0, .1);
  counter-reset: itwAsideIndexList 0;
  display: block;
  opacity: .5;
  margin-top: 1em;
  padding-top: 1em;
}

.itw-aside_thumbnail {
  display: block;
  height: 200px;
  text-align: center;
}

.itw-aside_thumbnail_img {
  border-radius: .5em;
  height: 100%;
}

.itw-asideIndex_item {
  font-size: 1.2rem;
}

.itw-asideIndex_item::before {
  counter-increment: itwAsideIndexList 1;
  content: counter(itwAsideIndexList, decimal)".";
}

.itw-asideIndex_item:not(:first-child) {
  margin-top: .3em;
}

/*--------

FOOTER

--------*/
.site-footer {
  background: var(--grad);
}

.site-footer_inner {
  padding: 2.5em 0 2em;
}

.footer-topButton {
  text-align: center;
}

.footer-topButton_icon {
  fill: var(--colorWhite);
  width: 80px;
}

.js--top {
  cursor: pointer;
}

/*--------

 front - COMPANY INFO

--------*/
#company {
  background-color: #f8f8f8;
}

.company-info_name {
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: .05em;
}

.compnay-infoContainer {
  padding: 1em 0 2em;
}

.company-infoBlock {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: .15em;
  align-items: center;
  display: flex;
  margin-top: .75em;
  padding: 0 1em;
}

.company-infoBlock_content {
  border-left: .5px solid rgba(0, 0, 0, .15);
  font-size: 1.3rem;
  font-weight: 500;
  margin-left: 1em;
  opacity: .95;
  padding: 1.5em 0;
  padding-left: 1.5em;
  transition: .1s;
  width: 100%;
}

.company-info_link {
  display: block;
  width: 100%;
}

.company-info_link .company-infoBlock_content {
  color: var(--colorAccent);
  text-decoration: underline;
}

.company-info_link:hover .company-infoBlock_content {
  background: var(--colorButton);
  color: #fff;
}

.company-infoBlockIcon {
  height: 16px;
  width: 16px;
}

.company-infoBlockIcon_icon {
  fill: var(--colorAccent);
  opacity: .9;
}

.company-infoBlockSub {
  padding-top: .1em;
}

.company-infoBlockSub_content {
  font-weight: 400;
  font-size: 1rem;
  margin-top: 1em;
  opacity: .75;
}

/*--------

page - ENTRY

--------*/
code {
  font-family: inherit !important;
}

textarea {
  font: inherit !important;
}

select,
input[type="email"],
input[type="text"],
input[type="checkbox"],
textarea {
  background-color: #ececec;
  border: 2px solid #ececec;
  padding: 1.5em 1.2em;
}

textarea {
  width: 100%;
}

textarea:focus,
input:focus,
textarea:active,
input:active,
textarea:visited,
input:visited {
  border: 2px solid var(--colorButton);
  border-radius: .15em;
  outline: none;
}

.entry-note {
  opacity: .75;
  padding-bottom: 3em;
}

.required-color {
  color: red;
}

.required::before {
  content: "*";
  color: red;
  padding-right: .15em;
}

.top-button {
  margin-top: 3.5em;
}

.top-button__button {
  background-color: var(--colorButton);
  border: 2px solid var(--colorButton);
  color: #fff;
  display: block;
  font-weight: 500;
  padding: 1em 0;
  text-align: center;
  transition: .5s;
}

.top-button__button:hover {
  background-color: #fff;
  color: var(--colorButton);
}

.entry-page {
  padding: 30vh 5% 5em;
  min-height: 100vh;
  position: relative;
}

.entry-page::before {
  background: linear-gradient(to right, #0f4c75, #3282b8);
  content: "";
  left: 0;
  height: 100%;
  opacity: .25;
  position: absolute;
  top: 0;
  width: 100%;
}

.entry-page::after {
  background-image: linear-gradient(-45deg,
      #fff 25%, #000 25%, #000 50%, #fff 50%, #fff 75%, #000 75%, #000);
  background-size: 4px 4px;
  content: "";
  left: 0;
  height: 100%;
  opacity: .15;
  position: absolute;
  top: 0;
  width: 100%;
}

.entry-ttl-container {
  box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .2);
  background-image: linear-gradient(135deg, #72EDF2 10%, #5151E5 100%);
  height: 40vh;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.entry-ttl-container_ttl {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 35vh;
  padding: 1em 0;
  position: relative;
  text-align: center;
  z-index: 1;
}

.entry-contents {
  background-color: #f8f8f8;
  box-shadow: 0 2.5rem 2rem -1rem rgba(0, 0, 0, .2);
  border-radius: 1em;
  margin: 0 auto;
  padding: 5em 5%;
  position: relative;
  width: 60%;
  z-index: 1;
}

.entry-container {
  border-top: 1px solid rgba(0, 0, 0, .1);
  padding-top: 3em;
}

.entry-item_name {
  font-weight: 500;
}

.entry-submit[type="submit"] {
  background-color: var(--colorButton);
  border: 2px solid var(--colorButton);
  border-radius: .2em;
  box-shadow: 0 10px 16px rgba(255, 165, 0, 0.64);
  color: var(--colorWhite);
  cursor: pointer;
  display: block;
  font-size: 2rem;
  font-weight: bold;
  outline: none;
  padding: 2em 0;
  appearance: none;
  width: 100%;
  text-align: center;
  transition: .25s;
}

.entry-submit:hover {
  background-color: var(--colorWhite);
  color: var(--colorButton);
  cursor: pointer;
}

.entry-item:not(:first-child) {
  margin-top: 3em;
}

.form-flex {
  display: flex;
}

.label-flex {
  align-items: center;
  display: flex;
}

.label-flex--margin {
  margin-right: .5em;
  padding-right: .5em;
}

.label-flex--margin select,
.label-flex--margin input[type="text"] {
  margin-right: .5em;
}

.entry-item--center {
  text-align: center;
}

.entry-item_form {
  padding: 1em 0;
}

@media screen and (max-width: 2000px) {
  .recruit-list {
    border-radius: 2em;
    padding: 2.5em 4% 3em;
    width: calc(100% / 2 - 5%);
  }

  .recruit-list:nth-child(n + 3) {
    margin-top: 4em;
  }

  .single-job-wrap {
    align-items: flex-start;
    display: flex;
    padding: 12vh 10%;
    --asideWidth: 25%
  }
}

@media screen and (max-width: 1400px) {
  .recruit-list {
    border-radius: 1.15em;
    padding: 1em 3% 1.5em;
    width: calc(100% / 2 - 3%);
  }

  .recruit-list:nth-child(n + 3) {
    margin-top: 2em;
  }

  .single-job-wrap {
    align-items: flex-start;
    display: flex;
    padding: 12vh 7.5%;
    --asideWidth: 35%
  }

  .member-lists {
    padding: 0 7.5%;
  }
}

@media screen and (max-width:1300px) {
  .recruit-list_container {
    width: 90%;
  }

  .fv-catchContainer_catch {
    font-size: 4rem;
  }

  .member-lists {
    padding: 0 3%;
  }
}

@media screen and (max-width:768px) {
  .member-lists {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .member-list:not(:last-child) {
    margin-right: 4%;
  }

  .member-list {
    width: calc(100% / 2 - 4%);
  }

  .member-list:nth-child(n + 3) {
    margin-top: 4em;
  }

  .recruit-list {
    padding: 2em 7.5%;
    width: 100%;
  }

  .recruit-list:nth-child(n + 3) {
    margin-top: 0;
  }

  .recruit-list:not(:first-child) {
    margin-top: 3.5em;
  }

  .entry-contents {
    width: 100%;
  }

  .biz-desc_txt {
    max-width: 100%;
  }

  .biz-list {
    align-items: center;
  }

  .biz-list_catch {
    letter-spacing: .15em;
  }

  /*copy core */
  .job-details {
    padding-top: 0;
    width: 100%;
  }

  .job-dataTags_tag {
    margin-top: .5em;
    padding: .3em 1em;
  }

  .single-job-wrap {
    padding-bottom: 3em;
  }

  .job-appButtonContainer {
    margin-top: 1em;
  }

  .fv-catchContainer_catch {
    font-size: 3.5rem;
  }

  .fv_bg {
    background-attachment: scroll;
  }
}

@media screen and (max-width:480px) {

  select,
  input[type="email"],
  input[type="text"],
  input[type="submit"],
  textarea {
    width: 100%;
    -webkit-appearance: none;
  }

  .fv-catchContainer_catch {
    font-size: 2.5rem;
  }

  .about-img {
    max-width: 100%;
  }

  .member-list:not(:last-child) {
    margin-right: 0;
  }

  .member-list:nth-child(n + 3) {
    margin-top: none;
  }

  .member-list {
    width: 100%;
  }

  .member-list:not(:first-child) {
    margin-top: 4em;
  }

  .recruit-lists {
    padding-right: 0;
    width: 80%;
  }

  .recruit-categoryCaption {
    width: 23%;
  }

  .recruit-categoryCaption_h {
    font-size: 1rem;
  }

  .job-aside {
    display: none;
    visibility: hidden;
  }

  .job-recruitTitle,
  .job-dataBlockContent {
    max-width: 100%;
  }

  .job-appButton_button {
    display: block;
    margin: 0 auto;
    padding: 1em 0;
    width: 80%;
  }

  .term-lists {
    justify-content: center;
    opacity: .5;
  }

  .recruit-listHeader_title {
    font-size: 1.55rem;
    margin-top: 1em;
  }

  .company-info_name {
    text-align: center;
  }

  .biz-listThumbnail {
    width: 100%;
  }

  .biz-list_catch {
    letter-spacing: .1em;
  }

  .biz-list {
    display: block;
  }

  .biz-listContent {
    width: 100%;
  }

  .faq-listQueBlock_question {
    color: var(--colorAccent);
  }

  .faq-listQueBlock_question::before {
    font-size: inherit;
    padding-right: .1em;
  }

  .faq-listAnswerBlock_icon {
    border-right: none;
    display: none;
    visibility: hidden;
  }

  .faq-listAnswerBlock {
    display: block;
  }

  .faq-listAnswerBlock {
    padding: 1.25em 5%
  }

  .benefit-lists {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .benefit-list {
    width: 50%;
  }

  .sec-inner--thin {
    width: 80%;
  }

  .recruit-list {
    padding: 1em 5% 1.5em;
    width: 100%;
  }

  .recruit-listHeader_jobType {
    border-radius: 1em;
    display: block;
    margin: 0 auto;
    padding: .5em 0;
    text-align: center;
  }

  .recruit-categoryBlock {
    padding: 3.5em 0;
  }

  .itw-pageWrap {
    display: block;
  }

  .itw-aside {
    position: relative;
    width: 100%;
    top: auto;
  }

  .itw-content {
    min-height: auto;
    width: 100%;
  }

  .itw-content_inner {
    padding-top: 0;
    width: 100%;
  }

  .itw-title {
    display: none;
  }

  .itw-personInfo {
    display: none;
    visibility: hidden;
  }

  .entry-submit[type="submit"] {
    padding: 1em 0;
  }

  .recruit-inner {
    padding: 0;
  }

  .job-appButtonContainer {
    margin-top: 0;
  }

  .job-appButtonNote {
    padding-bottom: 2em;
  }

  .job-appButton_button {
    background: none;
    background-color: var(--colorButton);
    box-shadow: 0 10px 1em rgba(249, 161, 0, 0.3);
  }

  /* core */
  .single-job-wrap {
    padding-bottom: 1em;
  }

}
