@charset "UTF-8";
/** MAIN CONTAINERS
==============================================*/
.section-hero {
   padding: 10px 40px 0;
   margin-bottom: 40px;
   height: calc(100vh - 115px);
   overflow: hidden;
   position: relative;
}
.section-hero .section-content{
   height: 100%;
   /* background-color: #003567; */
   background-position: 50% bottom;
   background-size: cover;
   background-repeat: no-repeat;
}
@media only screen and (min-width: 768px) {
.page--works .section-hero{
   height: auto; /*calc(85vh - 115px)*/
   margin-bottom: 0;
}}
/* .page--works .section-hero .section-content{
   background-size: auto 100%;
} */
.section-hero .content{
   position: relative;
   top: 50%;
   transform: translateY(-50%);
}
.section-hero .catchcopy {
   font-size: 12rem;
   font-family: "Montserrat", sans-serif;
   font-weight: 750;
   font-style: italic;
   letter-spacing: 0;
   display: flex;
   flex-direction: column;
   line-height: 1.1;
}
@media only screen and (max-width: 767px) {
   .section-hero{
      padding: 10px 10px 0;
      margin-bottom: 1rem;
   }
   .section-hero .catchcopy{
      font-size: 4rem;
   }
}
/*--------------------*/
.anime.animated {
   visibility: visible;
   -webkit-animation-play-state: running;
   animation-play-state: running;
}
.anime-tsde-4 {
   -webkit-animation-delay: 0.4s;
   animation-delay: 0.4s;
}
.anime-tsde-16 {
   -webkit-animation-delay: 1.6s;
   animation-delay: 1.6s;
}
.anime-tsdu-10 {
   -webkit-animation-duration: 1s;
   animation-duration: 1s;
}
.anime {
   visibility: hidden;
   -webkit-animation-play-state: paused;
   animation-play-state: paused;
}
.splash {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: linear-gradient(-45deg, #fff, #ffffff);
   -webkit-animation: gradientFade 0.4s linear 0.4s forwards;
   animation: gradientFade 0.4s linear 0.4s forwards;
   -webkit-mask-position: 0 100vh;
   mask-position: 0 100vh;
   -webkit-mask-image: linear-gradient(-45deg, #000, #000 66.6666666667%, transparent 77.7777777778%);
   mask-image: linear-gradient(-45deg, #000, #000 66.6666666667%, transparent 77.7777777778%);
   -webkit-mask-size: 100vw 350vw;
   mask-size: 100vw 350vw;
   -webkit-mask-repeat: no-repeat;
   mask-repeat: no-repeat;
}
@-webkit-keyframes gradientFade {
   0% {
     -webkit-mask-position: 0 -150vw;
             mask-position: 0 -150vw;
   }
   100% {
     -webkit-mask-position: 0 100vh;
             mask-position: 0 100vh;
   }
 }
 @keyframes gradientFade {
   0% {
     -webkit-mask-position: 0 -150vw;
             mask-position: 0 -150vw;
   }
   100% {
     -webkit-mask-position: 0 100vh;
             mask-position: 0 100vh;
   }
 }
@-webkit-keyframes scaleFadeIn {
   0% {
     -webkit-transform: scale(1.1);
             transform: scale(1.1);
     opacity: 0;
   }
   100% {
     -webkit-transform: scale(1);
             transform: scale(1);
     opacity: 1;
   }
 }
 
 @keyframes scaleFadeIn {
   0% {
     -webkit-transform: scale(1.1);
             transform: scale(1.1);
     opacity: 0;
   }
   100% {
     -webkit-transform: scale(1);
             transform: scale(1);
     opacity: 1;
   }
 }
 .scaleFadeIn {
   -webkit-animation-fill-mode: backwards;
   animation-fill-mode: backwards;
   -webkit-animation-name: scaleFadeIn;
   animation-name: scaleFadeIn;
}

 @-webkit-keyframes fadeInFromBottom {
   0% {
     -webkit-transform: translateY(40px);
             transform: translateY(40px);
     opacity: 0;
   }
   100% {
     -webkit-transform: translateY(0);
             transform: translateY(0);
     opacity: 1;
   }
 }
 
 @keyframes fadeInFromBottom {
   0% {
     -webkit-transform: translateY(40px);
             transform: translateY(40px);
     opacity: 0;
   }
   100% {
     -webkit-transform: translateY(0);
             transform: translateY(0);
     opacity: 1;
   }
 }
 .fadeInFromBottom {
   -webkit-animation-fill-mode: backwards;
           animation-fill-mode: backwards;
   -webkit-animation-name: fadeInFromBottom;
           animation-name: fadeInFromBottom;
 }
 
/*--------------------*/

.section-intro{
   padding-bottom: 4rem;
}
.section-intro .section-content{
   width: fit-content;
   margin-right: auto;
   padding: 1rem 10%;
}
 .headline .catch {
   margin-top: 20px;
   font-size: 8rem;
   font-weight: 900;
   line-height: 1.2;
 }
 .section-intro .txt {
   margin-top: 1em;
   font-size: 1.6rem;
   font-weight: 800;
   line-height: 2.2;
   letter-spacing: -0.5px;
   color: #003567;
 }
 @media only screen and (max-width: 767px) {
   .section-intro .section-content{
      padding: 1rem 2rem;
   }
   .swection-intro .headline{
      padding: 0;
   }

   .headline .catch {
      font-size: 4.0rem;
      margin-top: 2rem;
      line-height: 1.2;
   }
}

.page--privacy .site-main {
   padding-top: 12rem;
}
.page--privacy .section-privacy {
   margin-bottom: 200px;
   font-family: "Noto Sans JP", sans-serif;
}
.page--privacy .section-privacy .content p:not(.has-list) {
   padding-bottom: 40px;
}
.page--privacy .section-privacy .content ol {
   padding-bottom: 40px;
}
.page--privacy .policy ul {
   list-style: "■";
   list-style-position: inside;
}
.page--privacy .policy ol {
   list-style: decimal;
   list-style-position: inside;
}
.page--privacy .policy ul li::marker,
.page--privacy .policy ol li::marker {
   color: #003567;
}

.page--contact .page-title{
   padding-top: 9rem;
}
.page--contact .page-title.en{
   font-size: 9rem;
   font-weight: 700;
}
.page--contact .page-title-cap {
   font-weight: 700;
   padding-left: 3rem;
   font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
   .page--contact .page-title.en{
      font-size: 5.2rem;
      line-height: 1;
      padding-top: 5rem;
   }
   .page--contact .page-title-cap {
      padding-left: 2rem;
   }
}

.page--contact .section-contact .section-content {
   background-color: #F6F6F6;
   padding-bottom: 100px;
}
/* .page--contact .section-contact .headline {
   text-align: center;
   padding: 4em 0;
} */
.page--contact .section-contact .headline__text {
   font-size: 1.8rem;
}
.page--contact .section-contact .content h3 {
   font-size: 1.4rem;
   margin-bottom: 1.5em;
}
.page--contact .section-contact .content .btn {
   max-width: 250px;
   margin: 3em auto 0;
}
.page--contact .section-contact .content .btn .border {
   border: 1px solid #111;
}
.page--contact .section-thanks {
   text-align: center;
   padding-bottom: 10em;
}
@media only screen and (max-width: 767px) {
   .page--contact .section-thanks {
      padding: 10em 0;
   }
   
}
.page--contact .section-thanks strong {
   font-size: 140%;
}
.page--contact table span {
   display: inline-block;
   padding: 0 .5em;
   background: #8b99a9;
   color: #fff;
   font-weight: normal;
   font-size: 1.3rem;
   border-radius: 4px;
}
.page--contact table span.require {
   background: #a40000;
}
.page--contact table ::placeholder{
   color: #ccc;
   font-weight: 700;
}
.page--contact .qtro-mailform input[type='text'], .page--contact .qtro-mailform input[type='email'], .page--contact .qtro-mailform input[type='tel'], .page--contact .qtro-mailform input[type='number'] {
   display: inline-block;
   vertical-align: middle;
   *vertical-align: auto;
   *zoom: 1;
   *display: inline;
   width: 100%;
   height: auto;
   padding: 15px;
   background-color: #fff;
   border: 1px solid #e0e0e0;
   border-radius: 6px;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}
.page--contact .qtro-mailform input[type='text']:focus, .page--contact .qtro-mailform input[type='email']:focus, .page--contact .qtro-mailform input[type='tel']:focus, .page--contact .qtro-mailform input[type='number']:focus {
   border: 1px solid #003567;
   outline: 0;
}
.page--contact .qtro-mailform input, .page--contact .qtro-mailform select {
   min-height: 40px;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform input, .page--contact .qtro-mailform select {
      min-height: 20px;
   }
}
.page--contact .qtro-mailform textarea {
   width: 100% !important;
   min-height: 14em;
   padding: 10px;
   background-color: #fff;
   border: 1px solid #e0e0e0;
   border-radius: 6px;
}
.page--contact .qtro-mailform textarea:focus {
   border: 1px solid #003567;
   outline: 0;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform textarea {
      max-width: none;
   }
}
.page--contact .qtro-mailform #submit-button, .page--contact .qtro-mailform input[type='submit'] {
   padding: 2em 8em;
   color: #fff;
   background: #999999;
   border: none;
   cursor: pointer;
   border-radius: 4px;
   transition: all .4s ease;
}
.page--contact .qtro-mailform #submit-button.is-inactive {
   pointer-events: none;
}
.page--contact .qtro-mailform #submit-button.is-active {
   background: #003567;
}
.page--contact .qtro-mailform #submit-button:hover, .page--contact .qtro-mailform input[type='submit']:hover {
    /* background-color: #003567; */
   opacity: 0.8;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform #submit-button, .page--contact .qtro-mailform input[type='submit'] {
      width: 90%;
      padding: 2em 0;
   }
}
.page--contact .qtro-mailform [include*="form-input-select()"] {
   color: #111;
   display: block;
   border-radius: 5px;
   box-shadow: none;
   width: 100%;
   position: relative;
}
.page--contact .qtro-mailform [include*="form-input-select()"]::before, .page--contact .qtro-mailform [include*="form-input-select()"]::after {
   content: '';
   display: block;
   position: absolute;
   pointer-events: none;
   border: 1px solid transparent;
   width: 0;
   height: 0;
   right: 16px;
}
.page--contact .qtro-mailform [include*="form-input-select()"]::before {
   bottom: 55%;
   border-width: 0 6.5px 8px 6.5px;
   border-bottom-color: #D6D6D6;
}
.page--contact .qtro-mailform [include*="form-input-select()"]::after {
   border-width: 8px 6.5px 0 6.5px;
   border-top-color: #D6D6D6;
   top: 55%;
}
.page--contact .qtro-mailform [include*="form-input-select()"]:hover select {
   border-color: #003567;
}
.page--contact .qtro-mailform [include*="form-input-select()"]:hover select:focus {
   outline-color: transparent;
}
.page--contact .qtro-mailform [include*="form-input-select()"]:hover::before {
   border-bottom-color: #003567;
}
.page--contact .qtro-mailform [include*="form-input-select()"]:hover::after {
   border-top-color: #003567;
}
.page--contact .qtro-mailform [include*="form-input-select()"] select {
   -webkit-appearance: none !important;
   -moz-appearance: none !important;
   appearance: none !important;
   border: 1px solid #e0e0e0;
   border-radius: 5px;
   font-weight: 400;
   color: inherit;
   padding: 5px 15px;
   -webkit-transition: border-color 0.2s ease, outline 0.2s ease;
   transition: border-color 0.2s ease, outline 0.2s ease;
   background-color: #fff;
   line-height: 2.5;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform [include*="form-input-select()"] select {
      padding: 1rem;
   }
}
.page--contact .qtro-mailform [include*="form-input-select()"] select:focus {
   outline: 1px solid #003567;
   outline-offset: -1px;
}
.page--contact .qtro-mailform [include*="form-input-select()"] select[disabled], .page--contact .qtro-mailform [include*="form-input-select()"] select:disabled {
   opacity: 0.4;
   cursor: not-allowed;
}
.page--contact .qtro-mailform [include*="form-input-select()"] select:invalid {
   color: #C7C7C7;
}
.page--contact .qtro-mailform [include*="form-input-select()"] select::-ms-expand {
   display: none;
}
@-webkit-keyframes ripple {
   0% {
      box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
   }
   50% {
      box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);
   }
   100% {
      box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
   }
}
@keyframes ripple {
   0% {
      box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
   }
   50% {
      box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);
   }
   100% {
      box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
   }
}
.page--contact .qtro-mailform .md-radio {
   margin: 16px 0;
   line-height: 1;
}
.page--contact .qtro-mailform .md-radio.md-radio-inline {
   display: inline-block;
}
.page--contact .qtro-mailform .md-radio label.mfp_checked:before {
   border-color: #adb4dc;
   -webkit-animation: ripple 0.2s linear forwards;
   animation: ripple 0.2s linear forwards;
}
.page--contact .qtro-mailform .md-radio label.mfp_checked:after {
   -webkit-transform: scale(1);
   transform: scale(1);
}
.page--contact .qtro-mailform .md-radio input[type='radio'] {
   display: none;
}
.page--contact .qtro-mailform .md-radio label {
   position: relative;
   display: inline-block;
   height: 20px;
   margin-bottom: 0;
   padding: 0 30px;
   line-height: 20px;
   vertical-align: bottom;
   cursor: pointer;
}
.page--contact .qtro-mailform .md-radio label:before, .page--contact .qtro-mailform .md-radio label:after {
   position: absolute;
   border-radius: 50%;
   -webkit-transition: all 0.3s ease;
   transition: all 0.3s ease;
   -webkit-transition-property: border-color, -webkit-transform;
   transition-property: border-color, -webkit-transform;
   transition-property: transform, border-color;
   transition-property: transform, border-color, -webkit-transform;
   content: '';
}
.page--contact .qtro-mailform .md-radio label:before {
   top: 0;
   left: 0;
   width: 20px;
   height: 20px;
   border: 2px solid rgba(0, 0, 0, 0.54);
}
.page--contact .qtro-mailform .md-radio label:after {
   top: 5px;
   left: 5px;
   width: 10px;
   height: 10px;
   background: #adb4dc;
   -webkit-transform: scale(0);
   transform: scale(0);
}
.page--contact .qtro-mailform .md-checkbox {
   position: relative;
   margin: 1em 0;
   line-height: 1;
   text-align: left;
}
.page--contact .qtro-mailform .md-checkbox.md-checkbox-inline {
   display: inline-block;
}
.page--contact .qtro-mailform .md-checkbox label {
   display: inline;
   clear: both;
   padding-left: 1px;
   line-height: 1.25em;
   vertical-align: top;
   cursor: pointer;
   font-size: 1.3rem;
   font-weight: 700;
}
.page--contact .qtro-mailform .md-checkbox label:not(:empty) {
   padding-left: 0.75em;
}
.page--contact .qtro-mailform .md-checkbox label:before, .page--contact .qtro-mailform .md-checkbox label:after {
   position: absolute;
   top: 0;
   left: 0;
   content: '';
}
.page--contact .qtro-mailform .md-checkbox label:before {
   width: 1.25em;
   height: 1.25em;
   background: #fff;
   border: 2px solid rgba(0, 0, 0, 0.54);
   border-radius: 0.125em;
   cursor: pointer;
   -webkit-transition: background 0.3s;
   transition: background 0.3s;
}
.page--contact .qtro-mailform .md-checkbox label.mfp_checked:before {
   background: #337ab7;
   border: none;
}
.page--contact .qtro-mailform .md-checkbox label.mfp_checked:after {
   width: 0.75em;
   height: 0.375em;
   border: 0.125em solid #fff;
   border-top-style: none;
   border-right-style: none;
   -webkit-transform: translate(0.25em, 0.33654em) rotate(-45deg);
   transform: translate(0.25em, 0.33654em) rotate(-45deg);
}
.page--contact .qtro-mailform .md-checkbox input[type='checkbox'] {
   display: block;
   float: left;
   width: 1.25em;
   margin: 0;
   font-size: inherit;
   outline: 0;
   visibility: hidden;
}
.page--contact .qtro-mailform .md-checkbox input[type='checkbox']:checked + label:before {
   background: #337ab7;
   border: none;
}
.page--contact .qtro-mailform .md-checkbox input[type='checkbox']:checked + label:after {
   width: 0.75em;
   height: 0.375em;
   border: 0.125em solid #fff;
   border-top-style: none;
   border-right-style: none;
   -webkit-transform: translate(0.25em, 0.33654em) rotate(-45deg);
   transform: translate(0.25em, 0.33654em) rotate(-45deg);
}
.page--contact .qtro-mailform .md-checkbox input[type='checkbox']:disabled + label:before {
   border-color: rgba(0, 0, 0, 0.26);
}
.page--contact .qtro-mailform .md-checkbox input[type='checkbox']:disabled:checked + label:before {
   background: rgba(0, 0, 0, 0.26);
}
.page--contact .qtro-mailform input.tel-split {
   width: 6em;
}
.page--contact .qtro-mailform .tel-concat {
   margin: 0 1em;
}
.page--contact .qtro-mailform .mfp_buttons {
   text-align: center;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform .mfp_buttons {
      margin-bottom: 0;
   }
}
.page--contact .qtro-mailform .mfp_buttons span {
   font-weight: normal;
   font-size: 10px;
   display: inline-block;
   vertical-align: middle;
   *vertical-align: auto;
   *zoom: 1;
   *display: inline;
}
.page--contact .qtro-mailform .mfp_buttons .enter, .page--contact .qtro-mailform .mfp_buttons #mfp_button_send {
   padding: 16px 100px;
   background-color: #003567;
   color: #fff;
}
.page--contact .qtro-mailform .mfp_buttons .enter:hover, .page--contact .qtro-mailform .mfp_buttons #mfp_button_send:hover {
   background-color: #254984;
}
.page--contact .qtro-mailform .mfp_buttons .cancel, .page--contact .qtro-mailform .mfp_buttons #mfp_button_cancel {
   background-color: #888;
}
.page--contact .qtro-mailform .mfp_buttons .cancel:hover, .page--contact .qtro-mailform .mfp_buttons #mfp_button_cancel:hover {
   background-color: #9f9f9f;
}
.page--contact .qtro-mailform .mfp_buttons #mfp_button_send {
   padding: 16px 60px;
}
.page--contact .qtro-mailform input.w100p, .page--contact .qtro-mailform select.w100p, .page--contact .qtro-mailform textarea.w100p {
   width: 100%;
}
.page--contact .qtro-mailform input.w70p, .page--contact .qtro-mailform select.w70p, .page--contact .qtro-mailform textarea.w70p {
   width: 70%;
}
.page--contact .qtro-mailform input.w50p, .page--contact .qtro-mailform select.w50p, .page--contact .qtro-mailform textarea.w50p {
   width: 50%;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform input.w50p, .page--contact .qtro-mailform select.w50p, .page--contact .qtro-mailform textarea.w50p {
      width: 100%;
   }
}
.page--contact .qtro-mailform input.w33p, .page--contact .qtro-mailform select.w33p, .page--contact .qtro-mailform textarea.w33p {
   width: 33.3333%;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform input.w33p, .page--contact .qtro-mailform select.w33p, .page--contact .qtro-mailform textarea.w33p {
      width: 100%;
   }
}
.page--contact .qtro-mailform input.w25p, .page--contact .qtro-mailform select.w25p, .page--contact .qtro-mailform textarea.w25p {
   width: 25%;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform input.w25p, .page--contact .qtro-mailform select.w25p, .page--contact .qtro-mailform textarea.w25p {
      width: 100%;
   }
}
.page--contact .qtro-mailform input.w20p, .page--contact .qtro-mailform select.w20p, .page--contact .qtro-mailform textarea.w20p {
   width: 20%;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform input.w20p, .page--contact .qtro-mailform select.w20p, .page--contact .qtro-mailform textarea.w20p {
      width: 100%;
   }
}
.page--contact .qtro-mailform .notes {
   margin: .75em 0;
   font-weight: normal;
}
.page--contact .qtro-mailform .comment {
   text-align: right;
}
.page--contact .qtro-mailform .vat {
   vertical-align: top;
}
.page--contact .qtro-mailform .no-pad-top {
   padding-top: 0;
}
.page--contact .qtro-mailform table {
   width: 100%;
   border-collapse: collapse;
   border-spacing: 0;
}
.page--contact .qtro-mailform table tr{
   display: block;
   padding: 1rem;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform table tr{
      padding: 1rem 0;
   }
}
.page--contact .qtro-mailform tr.address th {
   vertical-align: top;
}
.page--contact .qtro-mailform tr.address li {
   margin: 0 0 8px;
}
.page--contact .qtro-mailform th {
   font-weight: normal;
   line-height: 1.6;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform th br {
      display: none;
   }
   .page--contact .qtro-mailform th span {
      margin-left: 1em;
      font-size: 1.0rem;
   }
}
.page--contact .qtro-mailform th, .page--contact .qtro-mailform td {
   position: relative;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform th, .page--contact .qtro-mailform td {
      width: auto;
   }
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform {
      display: block;
   }
   .page--contact .qtro-mailform tbody, .page--contact .qtro-mailform thead, .page--contact .qtro-mailform tr {
      display: block;
   }
   .page--contact .qtro-mailform th, .page--contact .qtro-mailform td {
      display: block;
   }
}
.page--contact .qtro-mailform .grid {
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
   align-items: center;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform .grid input {
      min-height: 0;
   }
}
.page--contact .qtro-mailform .grid > * {
   margin-right: 2em;
}
.page--contact .qtro-mailform .thanks {
   margin: 4em 0;
   line-height: 2;
   text-align: center;
}
.page--contact .qtro-mailform .mailform__title {
   margin-top: 1.5em;
   font-weight: bold;
}
.page--contact .qtro-mailform .mailform__title span {
   color: #1677cb;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform .mailform__title {
      margin: 1em 0 0;
   }
}
@media only screen and (max-width: 767px) {
   .page--contact #mfp_overlay {
      padding: 0 5%;
   }
}
@media only screen and (max-width: 767px) {
   .page--contact #mfp_overlay th {
      font-size: 10px;
   }
}
.page--contact #mfp_overlay div#mfp_overlay_inner {
   padding: 40px 20px;
}
@media only screen and (max-width: 767px) {
   .page--contact #mfp_overlay div#mfp_overlay_inner {
      padding: 20px 10px;
      width: auto;
   }
}
.page--contact #mfp_overlay button, .page--contact #mfp_overlay html input[type='button'], .page--contact #mfp_overlay input[type='reset'], .page--contact #mfp_overlay input[type='submit'] {
   cursor: pointer;
   -webkit-appearance: button;
}
.page--contact #mfp_overlay table {
   width: 100%;
}
.page--contact #mfp_overlay table th {
   width: 30%;
}
.page--contact #mfp_overlay table#mfp_confirm_table tr th, .page--contact #mfp_overlay table#mfp_confirm_table tr td {
   padding: 1em;
   border-top: dotted 1px #ccc;
   text-align: left;
}
.page--contact #mfp_overlay h4 {
   margin: 1.5em 0 1em;
   text-align: center;
   font-weight: bold;
   font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
   .page--contact #mfp_overlay h4 {
      margin-top: 0;
      font-size: 1.5rem;
   }
}
.page--contact #mfp_overlay .mfp_buttons {
   display: -webkit-box;
   display: flex;
   margin-top: 2em;
   text-align: center;
   -webkit-box-pack: center;
   justify-content: center;
}
.page--contact #mfp_overlay .mfp_element_button {
   margin: 0 5px;
   padding: 1.25em 0;
   width: 45%;
   border-radius: 3px;
   color: #fff;
   line-height: 1;
}
.page--contact #mfp_overlay #mfp_button_send {
   background-color: #003567;
}
.page--contact #mfp_overlay #mfp_button_send:hover {
   background-color: #0054a5;
}
.page--contact #mfp_overlay #mfp_button_cancel {
   background-color: #888;
}
.page--contact #mfp_overlay #mfp_button_cancel:hover {
   background-color: #959595;
}
.page--contact .qtro-mailform th, .page--contact .qtro-mailform td {
   padding: .3em 1em;
}
@media only screen and (max-width: 767px) {
   .page--contact .qtro-mailform th {
      padding-bottom: 0;
   }
}
.page--contact .qtro-mailform th {
   text-align: left;
   font-weight: 800;
}
@media only screen and (min-width: 768px) {
   /* .page--contact .qtro-mailform th {
      width: 30%;
   } */
   .page--contact .qtro-mailform th, .page--contact .qtro-mailform td{
      width: 100%;
      display: block;
   }
   
}
@media only screen and (min-width: 768px) {
   .page--contact .qtro-mailform th span {
      position: relative;
      top: 0;
      right: -1rem;
   }
}
/* .page--contact .qtro-mailform tr {
   border-top: 1px solid #d2d1d2;
}
.page--contact .qtro-mailform tr:last-child {
   border-bottom: 1px solid #d2d1d2;
} */
.page--contact .section-contact .headline {
   text-align: center;
}
.page--contact .section-contact .headline .block {
   margin-top: 3em;
   padding-bottom: 3em;
}
.page--contact .section-contact .headline .block.tel{
   border-bottom: solid 1px #003567;
}
.page--contact .section-contact .headline .block__title {
   margin-bottom: .5em;
   /* color: #0096d1; */
   font-weight: bold;
   font-size: 1.8rem;
}
/* @media only screen and (max-width: 767px) {
   .page--contact .section-contact .headline .block__title {
      font-size: 1.8rem;
   }
} */
.page--contact .section-contact .headline .tel-num {
   /* color: #424242; */
   font-weight: 750;
   font-size: 6.0rem;
   font-family: 'Montserrat', "Noto Sans JP", sans-serif;
   line-height: 1.2;
}
@media only screen and (max-width: 767px) {
   .page--contact .section-contact .headline .tel-num {
      font-size: 4.0rem;
   }
}
.page--contact .section-contact .headline .mail .require {
   margin-right: .5em;
   line-height: 1.8;
}
.page--contact .section-contact .content {
   /* margin-top: 3em; */
   background: #fff;
   box-shadow: 5px 5px 10px rgba(0,0,0,0.1);
   padding: 3rem 15% 10rem;
   border-radius: 2rem;
}
.page--contact .section-contact .privacy {
   margin: 3em 0;
   text-align: center;
}
@media only screen and (max-width: 767px) {
   .page--contact .section-contact .content {
      border-radius: 1rem;
      padding: 2rem 5% 8rem;
   }
   .page--contact .section-contact .privacy {
      margin: 1.5em 0;
   }
}
.page--contact .section-contact .privacy a {
   /* color: #56b4d6; */
   text-decoration: underline;
   text-underline-offset: .8rem;
}
.page--contact .section-contact .privacy a:hover {
   text-decoration: none;
}
@media only screen and (max-width: 767px) {
   .page--contact .section-contact .privacy a:hover {
      text-decoration: underline;
   }
}
.page--contact .section-contact .privacy .md-checkbox {
   display: inline-block;
}
@media only screen and (max-width: 767px) {
   .page--contact .section-contact .privacy .md-checkbox {
      line-height: 1.8;
   }
}
@media only screen and (min-width: 768px) {
   .page--contact .section-contact .privacy .mfp_err {
      margin-left: 30%;
   }
   .page--contact .section-contact .form-select {
      max-width: 50%;
   }
}
.page--business .localnav__title {
   font-weight: 800;
   font-size: 3rem;
   margin-bottom: 3rem;
}
.page--subnav .slick01 img{
   padding: 0 0 0 3rem;
}
.page--subnav .section-content .cell{
   padding: 0 3rem 0 1.8rem;
   margin: 2rem 1rem;
   position: relative;
}
@media only screen and (min-width: 768px) {
   .page--subnav .section-content .cell{
      width: calc( 50% - 2rem);
   }
}
.page--subnav.heavy .section-content .cell{
   border-left: 1.2rem solid #38bd9f;
}
.page--subnav.maintenance .section-content .cell{
   border-left: 1.2rem solid #ab9fc2;
}
.page--subnav .section-content .cell::after{
   background: #d9d9d9;
   position: absolute;
   z-index: 1;
   height: 60%;
   content: "";
   bottom: 0;
   left: -1.2rem;
   width: 1.2rem;
}
.page--subnav .section-content h3{
   font-size: 5rem;
   font-weight: 900;
   line-height: 1.2;
   padding: .5rem 0 0;
   margin: 0 0 -5px;
}
.page--subnav .section-content span.en{
   font-size: 2rem;
   font-weight: 900;
   letter-spacing: 0;
}
.page--subnav.heavy .section-content span.en{
   color: #38bd9f;
}
.page--subnav.maintenance .section-content span.en{
   color: #ab9fc2;
}
/* .page--subnav.workflow .section-content span.en{
   color: #bbbd38;
} */

.page--subnav .section-content .cell p{
   font-size: 1.4rem;
   font-weight: 600;
   letter-spacing: 0;
   padding: 3rem 0 1rem;
}
@media only screen and (max-width: 767px) {
   .page--subnav .section-content h3{
      font-size: 3.4rem;
   }
   .page--subnav .section-content span.en{
      font-size: 1.3rem;
   }
   .page--subnav .section-content .cell p{
      font-size: 1.2rem;
   }
   .page--subnav .section-content .cell::after{
      height: 70%;
   }
   .page--subnav .section-content .cell p{
      padding: .5rem 0 0;
   }
}


.page--subnav .localnav .grid-x .cell{
   position: relative;
}
.page--business a .cap{
   opacity: 1;
   transition: all .5s;
}
.page--business a:hover .cap{
   opacity: .8;
}
.page--business .localnav dl.cap {
   font-family: 'Montserrat',"Noto Sans JP", sans-serif;
   text-align: left;
   padding: 2rem 2rem 3rem 7rem;
   color: #fff;
   letter-spacing: 1px;
   position: relative;
   height: 200px;
}
.page--business .localnav dl::before {
   content: "";
   display: block;
}
.page--business .localnav dl.cap::before {
   position: absolute;
   width: 3rem;
   height: 3rem;
   top: 3.5rem;
   left: 3rem;
   content: url(../img/business/lnav-arrow.png);
}
.page--business .localnav .ln-heavy dl{
   background: #38bd9f;
}
.page--business .localnav .ln-maintenance dl{
   background: #ab9fc2;
}
.page--business .localnav .ln-workflow dl{
   background: #bbbd38;
}
.page--subnav.heavy .localnav .ln-heavy dl.cap{
  background: none;
}
.page--subnav.maintenance .localnav .ln-maintenance dl.cap{
   background: none;
 }
 .page--subnav.workflow .localnav .ln-workflow dl.cap{
   background: none;
 }
.page--subnav .localnav .cell dl.cap{
   position: absolute;
   height: 20rem;
   z-index: 1;
   left: 3rem;
   right: 3rem
}
.page--business .localnav .cell dl.bgimg {
   height: 40rem;
   overflow: hidden;
}
.page--business .localnav .cell dl.bgimg::before {
   position: relative;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   transition: all .5s;
}
.page--business .localnav .cell a:hover dl.bgimg::before {
   transform: scale(1.1);
}
.page--business .localnav .ln-heavy dl.bgimg::before {
   background: url(../img/business/lnav-bg-heavy.jpg) 0% 100% / 100% no-repeat;
}
.page--business .localnav .ln-maintenance dl.bgimg::before {
   background: url(../img/business/lnav-bg-maintenance.jpg) 0% 100% / 100% no-repeat;
}
.page--business .localnav .ln-workflow dl.bgimg::before {
   background: url(../img/business/lnav-bg-workflow.jpg) 0% 100% / 100% no-repeat;
}

@media only screen and (max-width: 767px) {
   .page--business .localnav dl.cap {
      padding: 3rem 2rem 3rem 7rem;
   }
   .page--business .localnav dl.cap::before {
      top: 4.2rem;
   }   
   .page--business .localnav .cell dl.bgimg {
      height: 35rem;
   }
   /* .page--philosophy .localnav dl {
      border-top: 10px solid #D9D8D9;
   } */
   .page--subnav .localnav .cell dl.cap{
      left: 1rem;
      right: 1rem;
   }
}
.page--business .localnav dt {
   font-size: 3.4rem;
   font-weight: 750;
   padding: 1rem 0;
   line-height: 1.2;
}
.page--business .localnav dd {
   /* text-align: left; */
   font-size: 1.2rem;
   font-weight: 600;
   padding: 0;
   letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
   .page--business .localnav dt {
      font-size: 3.0rem;
   }   
}
.page--subnav .site-header{
   position: fixed;
}
.page--subnav .section-hero{
   padding: 0;
   margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
   .page--subnav .section-hero{
      height: 103rem;
   }
   }
.page--concept .section-hero .content,
.page--business .section-hero .content,
.page--works .section-hero .content{
   position: relative;
   color: #fff;
   text-align: center;
   /* height: 100%; */
}
.page--subnav .section-hero .content{
   text-align: left;
}
.page--subnav .section-hero .content p{
   font-size: 2.4rem;
   font-weight: 750;
}
.page--subnav .section-hero .content .en{
   font-style: italic;
   line-height: 1;
   padding-left: 10%;
}
.page--subnav .section-hero .catchcopy{
   top: unset;
   transform: none;
   padding-left: 10%;
   font-size: 9rem;
}
.page--subnav .section-hero .ja-wh{
   background: #fff;
   width: fit-content;
   box-sizing: content-box;
   padding: 0 1rem 0 10%;
   margin-top: 3rem;
   color: #003567;
}
@media only screen and (max-width: 767px) {
   .page--subnav .section-hero .content{
      top: 45%;
   }
}

.page--concept .section-intro{
   position: relative;
}
.section-intro .section-mark{
   position: absolute;
   top: -20rem;
   right: 13%;
   background: #ffd800;
   width: 200px;
   height: 600px;
   transform: skewX(-10deg);
   text-align: center;
   font-size: 2.4rem;
   font-family: 'Montserrat',sans-serif;
   font-weight: 750;
   letter-spacing: 0;
   line-height: 1.3;
   padding: 5rem 2rem;
}
@media only screen and (max-width: 767px) {
   .section-intro .section-mark{
      top: -21rem;
      right: 50%;
      width: 130px;
      height: 200px;
      transform: translateX(50%) skewX(-10deg);
      font-size: 2.0rem;
      padding: 3rem 2rem;
   }
}

.page--concept .section-parallelogram .block{
   display: flex;
   height: 600px;
   width: 100%;
}
.page--concept .section-parallelogram .block:nth-child(odd){
   margin-right: auto;
   background: #fff;
}
@media only screen and (min-width: 768px) {
.page--concept .section-parallelogram .block:nth-child(even){
   margin-left: auto;
   flex-direction: row-reverse;
}
}
@media only screen and (max-width: 767px) {
   .page--concept .section-parallelogram .block{
      flex-wrap: wrap;
      justify-content: space-between;
      height: unset;
   }

}

.page--concept .section-parallelogram .block .bggradation-1{
   width: 10%;
   background: linear-gradient(0deg,#00a0e9, #003567);
}
.page--concept .section-parallelogram .block .bggradation-2{
   width: 12rem;
   background: linear-gradient(0deg,#00a0e9, #003567);
   clip-path: polygon(-1% 100%, -1% 0%, 100% 0%, 0% 100%);
}
.page--concept .section-parallelogram .block:nth-child(even) .bggradation-2{
   clip-path: polygon(100% 0%, 100% 0%, 101% 100%, 1% 100%);
}

@media only screen and (max-width: 767px) {
   .page--concept .section-parallelogram .block .bggradation-1{
      height: 400px;
      width: 5%;
   }
   .page--concept .section-parallelogram .block .bggradation-2{
      height: 400px;
      width: 8rem;
      position: absolute;
      left: 19px;
   }
   .page--concept .section-parallelogram .block:nth-child(even) .bggradation-1{
      position: absolute;
      right: 0;
   }
   .page--concept .section-parallelogram .block:nth-child(even) .bggradation-2{
      right: calc( 5% - 1px );
      left: unset;
   }
   .page--concept .section-parallelogram .block:nth-child(even) .bgimg{
      clip-path: polygon(0% 0%, 96% 0%, 74% 100%, 0% 100%);
   }
   }
.page--concept .section-parallelogram .block .bgimg{
   width: 30%;
   background: #999;
   transform: translate(-52px) skewX(-11.5deg);
   overflow: hidden;
}
@media only screen and (min-width: 768px) {
   .page--concept .section-parallelogram .block:nth-child(even) .bgimg{
      transform: translate(52px) skewX(-11.5deg);
   }
}
.page--concept .section-parallelogram .block .bgimg::after{
   content: "";
   display: block;
   background: url(../img/concept/block-1-img.jpg) 73% 50% / 200%;
   width: 130%;
   height: 100%;
   transform: skew(11.5deg);
   position: absolute;
   left: -15%;
}
.page--concept .section-parallelogram .block-2 .bgimg::after{
   background: url(../img/concept/block-2-img.jpg) 47% 75% / 170%;
}
.page--concept .section-parallelogram .block-3 .bgimg::after{
   background: url(../img/concept/block-3-img.jpg) 75% 70% / 205%;
}
.page--concept .section-parallelogram .block-4 .bgimg::after{
   background: url(../img/concept/block-4-img.jpg) 47% 55% / 103%;
}
@media only screen and (max-width: 767px){
   .page--concept .section-parallelogram .block .bgimg{
      width: 95%;
      height: 400px;
      transform: none;
      clip-path: polygon(26% 0%, 100% 0%, 101% 100%, 4% 100%);
      position: relative;
      left: 0;
   }
   .page--concept .section-parallelogram .block .bgimg::after{ 
      width: 100%;
      background-position: 60% 34%;
      background-size: 230%;
      transform: none;
      position: absolute;
      left: 0;
   }
}
.page--concept .section-parallelogram .block .caption{
   width: 50%;
   height: fit-content;
   padding: 0 6rem;
   font-family: 'Montserrat', "Noto Sans JP", sans-serif;
   position: relative;
   top: 50%;
   transform: translateY(-50%);
}
.page--concept .section-parallelogram .block .caption .block__headline {
   margin: 0 0 4rem;
   position: relative;
   line-height: 1;
}
.page--concept .section-parallelogram .block .caption .block__headline h1{
   color: #ffd800;
   font-family: 'Montserrat', "Noto Sans JP", sans-serif;
   font-size: 12rem;
   font-weight: 700;
   font-style: italic;
   line-height: 1;  
}
.page--concept .section-parallelogram .block .caption .block__headline p {
   font-size: 5rem;
   color: #003567;
   display: inline-block;
   font-style: normal;
   font-weight: 900;
   position: absolute;
   top: 20px;
   padding-left: 13rem;
}
.page--concept .section-parallelogram .block-1 .caption .block__headline p {
   padding-left: 10rem;
}
   .page--concept .section-parallelogram .block .caption .block__headline p.en {
   bottom: 15px;
   top: unset;
   font-size: 2.6rem;
   font-style: italic;
   letter-spacing: 0;
   font-weight: 800;
}
.page--concept .section-parallelogram .block .caption .block__content {
   margin-top: 1em;
   margin-bottom: 10rem;
   font-size: 1.6rem;
   font-weight: 800;
   line-height: 2.2;
   letter-spacing: -0.5px;
}
@media only screen and (max-width: 767px) {
   .page--concept .section-parallelogram .block .caption{
   width: 100%;
   padding: 0 5%;
   top: 0 ;
   transform: none;
   }
   .page--concept .section-parallelogram .block .caption .block__headline {
   margin: 2rem auto 4rem;
   width: 80%;
   }
   .page--concept .section-parallelogram .block .caption .block__headline h1{
      font-size: 7rem;
   }
   .page--concept .section-parallelogram .block .caption .block__headline p {
      padding-left: 7rem;
      font-size: 3rem;
      top: 12px;
   }
   .page--concept .section-parallelogram .block-1 .caption .block__headline p {
      padding-left: 6rem;
   }
   .page--concept .section-parallelogram .block .caption .block__headline p.en {
      font-size: 2rem;
      bottom: 8px;
   }
}


.page--concept .section-hero .section-content{
   background-image: url(../img/concept/hero-img.jpg);
}
@media only screen and (max-width: 767px) {
   .page--concept .section-hero .section-content {
      background-image: url(../img/concept/hero-img-m2x.jpg);
   }
}

.page--business .section-hero .section-content{
   background-image: url(../img/business/hero-img.jpg);
}
.page--business .section-hero .catchcopy::after,
.page--equipment .section-hero .catchcopy::after{
   content: "";
    width: 140px;
    height: 450px;
    display: block;
    background: #ffd800;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) skewX(-10deg);
    z-index: -1;
}
.page--subnav .section-hero .catchcopy::after{
   display: none;
}

@media only screen and (max-width: 767px) {
   .page--business .section-hero .section-content {
      background-image: url(../img/business/hero-img-m2x.jpg);
   }
   .page--business .section-hero .catchcopy {
      font-size: 7rem;
   }
   .page--business .section-hero .catchcopy::after {
      width: 100px;
      height: 300px;
   }
}
.page--business .localnav {
   text-align: center;
   padding: 3em 0;
   /* margin-top: 10em; */
}
@media only screen and (max-width: 767px) {
   .page--business .localnav {
      padding: 0 0 3em;
   }
}

.page--business.heavy .section-hero .section-content{
   background-image: url(../img/business/heavy/hero-img.png);
}
@media only screen and (max-width: 767px) {
   .page--business.heavy .section-hero .section-content {
      background-image: url(../img/business/heavy/hero-img-m2x.png);
   }
}
.page--business.maintenance .section-hero .section-content{
   background-image: url(../img/business/maintenance/hero-img.png);
}
@media only screen and (max-width: 767px) {
   .page--business.maintenance .section-hero .section-content {
      background-image: url(../img/business/maintenance/hero-img-m2x.png);
   }
}
.page--business.workflow .section-hero .section-content{
   background-image: url(../img/business/workflow/hero-img.png);
}
@media only screen and (max-width: 767px) {
   .page--business.workflow .section-hero .section-content {
      background-image: url(../img/business/workflow/hero-img-m2x.png);
   }
}

@media only screen and (max-width: 767px) {
   .page--subnav .section-hero .content .en{
      padding-left: 5%;
   }
   .page--subnav .section-hero .catchcopy{
      font-size: 4rem;
      padding-left: 5%;
   }
   .page--business.page--subnav .section-hero .catchcopy{
      font-size: 4rem;
      padding-left: 5%;
   }
   .page--subnav .section-hero .content .ja-wh{
      padding: 0 1rem 0 5%;
      margin-top: 1rem;
      line-height: 1.6;
      font-size: 2rem;
   }
}
.page--subnav .section-content{
   margin-bottom: 5rem;
}
.page--subnav .section-content .image-scroll{
   width: 98%;
   margin-left: auto;
   margin-bottom: 5rem;
}
@media only screen and (max-width: 767px){
   .section-intro .txt {
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 2.0;
   }
}

@media only screen and (min-width: 768px){
   .page--business.workflow .section-intro .content {
      padding: 0 3rem;
   }
}
.page--business.workflow .section-flow ol {
   list-style: decimal;
   list-style-position: inside;
}
.page--business.workflow .section-flow ol.flow-list li {
   background: #fff;
   padding: 3rem 3rem 6rem;
}
@media only screen and (min-width: 768px){
   .page--business.workflow .section-flow ol.flow-list li {
      margin: 2rem;
      width: 30%;
   }
}
.page--business.workflow .section-flow ol.flow-list li::marker {
   font-size: 7rem;
   font-family: 'Montserrat','NOTO SANS JP',sans-serif;
   font-style: italic;
   color: #003567;
   font-weight: 700;
   line-height: 1.6;
   letter-spacing: 0px;
}
.page--business.workflow .section-flow .flow-list h3 {
   display: inline-block;
   line-height: 2;
   font-size: 3rem;
   font-weight: 900;
   vertical-align: text-bottom;
   /* margin-bottom: 0rem; */
}
.page--business.workflow .section-flow .flow-list p {
   line-height: 1.7;
   font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
   .page--business.workflow .section-flow ol.flow-list li {
      text-align: center;
      padding: 3rem 2rem 6rem;
   }
   .page--business.workflow .section-flow ol.flow-list li::marker {
   font-size: 4rem;
   }
   .page--business.workflow .section-flow .flow-list h3 {
      font-size: 2.4rem;
   }
   .page--business.workflow .section-flow .flow-list p {
      text-align: left;
   }
}
.page--equipment .section-hero .section-content{
   background-image: url(../img/equipment/hero-img.jpg);
}
@media only screen and (max-width: 767px) {
   .page--equipment .section-hero .section-content{
      background-image: url(../img/equipment/hero-img-m2x.jpg);
   }
}

@media only screen and (min-width: 768px) {
   .page--equipment .headline .catch {
   font-size: 6rem;
}
}
.page--equipment .section-images .block{
   margin-bottom: 6rem;
}
.page--equipment .section-images .content{
   display: flex;
}
@media only screen and (max-width: 767px) {
   .page--business .section-hero .catchcopy,
   .page--works .section-hero .catchcopy{
      font-size: 6rem;
   }
   .page--equipment .section-images .content{
      display: block;
   }   
}
.page--equipment .section-images .list-ttl{
   padding: 0 1rem;
   margin-right: 5rem;
   width: 19rem;
}
.page--equipment .section-images .list-ttl h1{
   font-size: 4.5rem;
   font-weight: 700;
}
@media only screen and (max-width: 767px) {
   .page--equipment .section-images .list-ttl{
      margin-bottom: 2rem;
   }
   .page--equipment .section-images .list-ttl h1{
      font-size: 3.5rem;
   }   
}
.page--equipment .section-images .list-ttl p{
   font-size: 1.7rem;
   font-weight: 700;
   line-height: 1;
}
.page--equipment .section-images .list-img{
   flex: 1;
}
.page--equipment .section-images .list-img .cell{
   width: 23%;
}
.page--equipment .section-images .img .figure{
   border-radius: 10px;
   overflow: hidden;
}
.page--equipment .section-images .img .figure::after{
   content: "";
   background-position: 50% 50%;
   background-size: cover;
   background-repeat: no-repeat;
    display: block;
   height: 100%;
   width: 100%;
   aspect-ratio: 1/1;
/*   border-radius: 10px; */
   transition: all .5s;
}
.page--equipment .section-images .img a:hover .figure::after{
   transform: scale(1.1);
}
.page--equipment .section-images .grid-x .cell{
   padding: 0;
   margin: 10px;
   border-radius: 10px;
   overflow: hidden;
}
@media only screen and (max-width: 767px) {
   .page--equipment .section-images .list-img .cell{
      width: 44%;
   }   
}

/* modal */
 
 /* モーダルを開くボタン */
  .modal__images {
   display: flex;
   flex-wrap: wrap;
 }
 
 .modal__images .js-open-modal {
   position: relative;
   width: calc((100% - (32px * 2)) / 3);
   transition: all .6s;
 }
 
 .modal__images .js-open-modal:hover {
   opacity: .6;
 }
 
 .modal__images .js-open-modal {
   cursor: pointer;
 }
 
 .modal__images .js-open-modal:nth-child(3n - 1),
 .modal__images .js-open-modal:nth-child(3n) {
   margin-left: 32px;
 }
 
 .modal__images .js-open-modal:nth-child(n + 4) {
   margin-top: 32px;
 }
 
 .page--equipment .modal__images .js-open-modal:before {
   display: block;
   padding-top: calc((2 / 3) * 100%);
   padding-top: 100%;
   content: '';
 }
 
 .modal__images .js-open-modal img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center top;
   border-radius: 10px;
   transition: all .6s;
 }
 .modal__images .js-open-modal:hover img{
   transform: scale(1.1);
 }
 
 /* モーダル */
.modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   padding: 30px;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: opacity 0.5s;
   pointer-events: none;
   opacity: 0;
   z-index: 100;
   background-color: rgba(0, 0, 0, 0.6);
   transition-delay: .25s;
   font-family: "Noto Sans JP", sans-serif;
 }
 
 /* モーダルがactiveの時 */
 .modal.is-active {
   opacity: 1;
   pointer-events: auto;
 }
 
 /* モーダル背景のオーバーレイ部分 */
 .modal__overlay {
   position: absolute;
   width: 100%;
   height: 100%;
   cursor: pointer;
 }
 
 /* モーダルのコンテンツ */
 .modal__content {
   position: relative;
   width: 100%;
   max-width: 900px;
 }
 .modal__content p{
   color: #fff;
   margin-left: 5%;
 } 
 /* モーダルを閉じるボタン */
 .modal__close-btn {
   position: absolute;
   right: calc(10% - 25px);
   top: -45px;
   width: 50px;
   height: 35px;
   cursor: pointer;
   z-index: 10;
 }
 .modal__close-btn:before, .modal__close-btn:after{
   border-top: 1px #fff solid;
   content: "";
   position: absolute;
   width: 4rem;
   transform-origin: center;
 }
 .modal__close-btn:before {
   transform: rotate(30deg);
}
.modal__close-btn:after{
   transform: rotate(-30deg);
} 

.page--equipment .swiper [class^="swiper-button-"]::after {
   font-size: 30px;
}
.page--equipment .swiper img{
   width: 90%;
   margin: 0 auto;
   display: block;
}
.page--equipment .swiper-button-prev, .swiper-rtl .swiper-button-next{
   left: -2px;
}
.page--equipment .swiper-button-next, .swiper-rtl .swiper-button-prev{
   right: -2px;
}
.swiper-button-next,
.swiper-button-prev {
    --swiper-navigation-color: #fff;
}
 /* Swiperの矢印部分 */
 @media (max-width: 768px) {
   .modal .swiper-button-next,
   .modal .swiper-button-prev {
     display: none;
   }
 }
 /*----------------------------------*/
 
 .section-list table {
   background: #fff;
   border-radius: 10px;
   border-collapse: collapse;
   margin: 2rem 0rem;
   width: 100%;
   overflow: hidden;
   font-weight: 600;
}
.section-list tbody {
   display: block;
   margin: 2rem auto 4rem;
   width: 85%;
}
.section-list tr{
   display: inline-table;
   width: 100%;
}
 .section-list th {
   background: #003567;
   color: #fff;
   text-align: left;
   padding: 1.2rem calc(7.5% + 1rem);
}
.section-list td {
   padding: 1.2rem 0;
   border-bottom: 1px solid #d9d9d9;
}
.section-list td:first-child {
   width: calc( 85% - 1rem);
   /* padding-right: 0; */
   padding-left: 1rem;
}
.section-list td:last-child {
   width: 15%;
   /* padding: 1.2rem 2rem 1.2rem 0; */
   text-align: right;
}
@media only screen and (max-width: 767px) {
   .section-list .section-content .grid-x .cell{
      padding: 0;
   }
   .section-list th{
      padding: 1.2rem 5%;
   }
   .section-list td {
      padding: 0.5rem 0;
   }
}

.small{font-size: 70%;}

.page--company .section-hero{
   height: 619px; /*calc(100vh - 115px);*/
}
.page--company .section-hero .section-content{
   background-image: url(../img/company/hero-img.png);
}
@media only screen and (max-width: 767px) {
   .page--company .site-main{
      padding-top: 0;
   }
   .page--company .section-hero{
      height: 108vw;
   }
   .page--company .section-hero .section-content{
      background-image: url(../img/company/hero-img-m2x.png);
   }
}
.page--company .section-content .catch .en{
   font-size: 9rem;
   font-weight: 700;
}
.page--company .catch .ja{
   font-size: 2.6rem;
   font-weight: 700;
   padding: 0  3rem;
   display: block;
   letter-spacing: 2px;
}
@media only screen and (max-width: 767px) {
   .page--company .section-content {
      margin-bottom: 0rem;
   }
   .page--company .section-content .catch .en{
      font-size: 5.6rem;
   }
   .page--company .catch .ja{
      font-size: 2.4rem;
      padding: 0  1rem;
      letter-spacing: 1px;
   }
}
.page--company .section-content .flex{
   height: 700px;
}
.page--company .image-greeting{
   background: url(../img/company/img-01.jpg) top left / cover;
   width: 100%;
   /* height: auto;
   margin-right: calc(5% - 50vw); */
   aspect-ratio: 29 / 15;
}
.page--company .caption-greeting{
   width: 52%;
   /* padding: 15rem 5rem 15rem 0; */
   margin: auto;
   margin-right: 3%;
}
.page--company .caption-greeting h1 {
   font-size: 3.6rem;
   font-weight: 900;
   font-family: "Noto Sans JP", sans-serif;
   margin-bottom: 4rem;
}
.page--company .caption-greeting .name{
   margin-bottom: 2rem;
   font-size: 1.8rem;
}
.page--company .caption-greeting p{
   font-weight: 500;
   font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
   .page--company .section-content .flex{
      display: block;
      height: auto;
      margin: 0 auto;
   }
   .page--company .image-greeting{
      background: url(../img/company/img-01-m2x.jpg) center top / contain no-repeat;
      /* aspect-ratio: 71 / 60; */
   }
   .page--company .caption-greeting {
      width: 100%;
      padding: 32rem 5% 3rem;
      margin: 0;
  }
  .page--company .caption-greeting h1 {
   font-size: 2rem;
   margin-bottom: 2rem;
  }
  .page--company .caption-greeting .name{
   margin-bottom: .5rem;
   font-size: 1.7rem;
  }
}
.page--company .section-list{
   padding: 8rem 0;
}
.page--company .section-list .block{
   margin-bottom: 2rem;
}
.page--company .section-list .content{
   display: flex;
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 800;
}
.page--company .section-list .list-ttl{
   padding: 3rem;
   margin-right: 5rem;
   width: 27%;
   background: #fff;
   border-left: #003567 1rem solid;
}
.page--company .section-list .list-ttl h1{
   font-size: 1.8rem;
   font-weight: 900;
}
.page--company .section-list .list{
   padding: 3rem;
}
.page--company .section-list .list ol{
   list-style: decimal;
   list-style-position: inside;
   font-size: 1.6rem;
   line-height: 2.5;
}
.page--company .section-list .list ul{
  list-style: "●";
  list-style-position: inside;
  line-height: 2.5;
}
.page--company .section-list .list li::marker{
   color: #003567;
   font-size: inherit;
}
.page--company .section-list .content-1 .list-ttl h1{
   font-size: 2.6rem;
}
.page--company .section-list .content-1 .list ol{
   font-size: 2.4rem;
}
.page--company .section-list .content-3 .list{
   width: 40%;
}
.page--company .section-list .content-3 .list li{
   padding-left: 0;
}
@media only screen and (max-width: 767px) {
   .page--company .section-list{
      padding: 2rem 0;
   }
   .page--company .section-list .content{
      display: block;
   }
   .page--company .section-list .list-ttl{
      padding: 2rem;
      width: 100%;
      border-left: #003567 .7rem solid;
   }
   .page--company .section-list .list-ttl h1{
      font-size: 1.6rem;
   }   
   .page--company .section-list .list{
      padding: 1rem 0;
   }
   .page--company .section-list .list ol{
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 2.2;
   }
   .page--company .section-list .content-1 .list-ttl h1{
      font-size: 1.8rem;
   }
   .page--company .section-list .content-1 .list ol{
      font-size: 1.8rem;
      font-weight: 800;
      line-height: 2.0;
   }   
   .page--company .section-list .content-3 .list{
      width: 100%;
   }
   .page--company .section-list .content-3 .list li{
      line-height: 1;
      font-size: 1.5rem;
      font-weight: 600;
   }
}

.page--company .section-cominfo .grid-x .cell {
   padding: 0 4rem 0 0;
   text-align: left;
}
.page--company .section-cominfo .cell h3 {
   font-weight: 700;
   border-bottom: #003567 solid 2px;
   line-height: 3;
   padding: 0 1.4rem;
}
.page--company .section-cominfo table{
   font-family: "Noto Sans JP", sans-serif;
   line-height: 3;
   width: 100%;
   margin-bottom: 5rem;
}
.page--company .section-cominfo th, 
.page--company .section-cominfo td {
   line-height: 1.8;
   padding: 1.4rem 0;
   border-bottom: 1px solid #d9d9d9;
}
.page--company .section-cominfo th{
   padding: 1.4rem 3rem 1.4rem 1rem;
   width: 17%;
   vertical-align: top;
}
.page--company .section-cominfo .history tr th{
   width: 27%;
}
/* .page--company .section-cominfo tr td{
   line-height: 1.8;
} */
.page--company .section-cominfo .suppliers .grid-y {
   padding: 1rem 1.4rem;
   height: 390px;
   flex-wrap: wrap;
}
.page--company .section-cominfo .suppliers .grid-y .cell {
   padding-right: 0;
}
@media only screen and (max-width: 767px) {
   .page--company .section-cominfo .grid-x .cell {
      padding: 0;
   }
   .page--company .section-cominfo th, 
   .page--company .section-cominfo td {
      display: block;
      width: 100%;
   }
   .page--company .section-cominfo th{
      border: none;
      padding-bottom: 0.5rem;
   }
   .page--company .section-cominfo td{
      padding: 0 1rem 1.4rem;
   }
   .page--company .section-cominfo .history tr th{
      width: 100%;
   }   
   .page--company .section-cominfo .suppliers .grid-y {
      height: 510px;
   }
}
.page--company .section-cominfo .map {
   padding: 8rem 0
}
@media only screen and (max-width: 767px) {
   .page--company .section-cominfo .map {
      padding: 2rem 0
   }
   .page--company .section-cominfo .map iframe{
      height: 30rem;
   }
}


.page--recruit .site-header{
   position: fixed;
}
 .page--recruit .site-main {
   background-position: 50% -8px;
   background-repeat: no-repeat;
}
.page--recruit .site-main {
   background-image: url(../img/recruit/top/bg-bottom.png);
}
@media only screen and (max-width: 767px) {
   .page--recruit .site-main {
      background-position: 65% 105%;
      background-size: 185% auto;
   }
}
.page--recruit .section-recruit .content {
   /* padding: 100px 0;
   background-color: #fff; */
}
/*-----------------------------------------------*/
.page--recruit.apply .section-recruit .content{
   font-family: "Noto Sans JP", sans-serif;
   padding: 50px 0 100px;
   background-color: #fff;
   border-radius: 2rem;
   box-shadow: 5px 5px 10px rgba(0,0,0,0.1);
   margin-bottom: 5rem;
}
.page--recruit.apply .panel{
   width: 80%;
}
.page--recruit .section-recruit .content h2 {
   font-size: 1.8rem;
   font-weight: bold;
   margin-bottom: 3rem;
}
.page--recruit .section-recruit .content h2 .type {
   font-size: 2.8rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.apply .section-recruit .content{
      width: 95%;
   }
}
.page--recruit.apply .require table tr th{}
/*-----------------------------------------------*/
@media only screen and (max-width: 767px) {
   .page--recruit .section-recruit .content {
      padding: 40px 20px;
   }
}
.page--recruit .section-recruit .content .btn {
   margin-top: 5em;
}
.page--recruit .section-recruit .content .btn a {
   max-width: 400px;
   font-size: 1.8rem;
   padding: 1.6em 3em;
   color: #fff;
   background: #003567;
   border: none;
   cursor: pointer;
   border-radius: 5px;
}
/* .page--recruit .section-recruit .content h2 {
   color: #059e3d;
   font-weight: bold;
} */
@media only screen and (max-width: 767px) {
   .page--recruit .section-recruit .content h2 {
      text-align: center;
      font-size: 1.6rem;
   }
   .page--recruit .section-recruit .content h2 .type{
      font-size: 2.4rem;
   }
}
.page--recruit .section-recruit .content table {
   border-spacing: 0;
   border-collapse: collapse;
}
.page--recruit .section-recruit .content table tr {
   border-bottom: 1px solid #ccc;
}
.page--recruit .section-recruit .content table tr:first-child {
   border-top: 1px solid #ccc;
}
.page--recruit .section-recruit .content table th, .page--recruit .section-recruit .content table td {
   padding: 1em 1em;
}
.page--recruit .section-recruit .content table th {
   text-align: left;
   vertical-align: top;
}
.page--recruit .section-recruit .block + .block {
   margin-top: 4em;
}
.page--recruit .section-recruit .suspended {
   text-align: center;
   margin: 4em 0;
}
.page--recruit .section-recruit .entry {
   text-align: center;
   margin-top: 5em;
}
.page--recruit .section-recruit .entry .txt {
   font-size: 120%;
   color: #059e3d;
   font-weight: bold;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-recruit .entry .txt {
      font-size: 1.4rem;
   }
}
.page--recruit .section-recruit .entry ul {
   margin-top: 1.5em;
   -webkit-box-pack: center;
   justify-content: center;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-recruit .entry li {
      padding: 3px;
   }
}
.page--recruit .section-recruit .entry li a {
   display: block;
}
/* .page--recruit .site-main {
   background-color: #cde09e;
} */
@media only screen and (min-width: 768px) {
   .page--recruit .site-main {
      padding: 0;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit .site-main {
      padding-bottom: 25rem;
      padding-top: 0;
      margin-bottom: -35rem;
   }
}
.page--recruit .section-hero{
   padding: 0;
   height: 168rem;
   /* overflow: visible; */
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-hero{
   height: 100vh;
   }
}
.page--recruit .localnav {
   margin-top: 100px;
}
.page--recruit .titlebar {
   color: #059e3d;
   text-align: center;
   padding-top: 50px;
}
@media only screen and (max-width: 767px) {
   .page--recruit .titlebar {
      padding: 50px 0 30px;
   }
}
.page--recruit .titlebar .page-title {
   display: inline-block;
   border-bottom: 8px solid #059e3d;
   letter-spacing: .35ch;
   font-weight: 800;
   font-size: 4.5rem;
   line-height: 1.6;
}
@media only screen and (max-width: 767px) {
   .page--recruit .titlebar .page-title {
      border-bottom: 4px solid #059e3d;
      font-size: 1.8rem;
   }
}
.page--recruit .titlebar .page-title-en {
   margin-top: .5em;
   font-weight: 800;
   font-size: 1.8rem;
   font-family: urw-din, sans-serif;
   letter-spacing: 0.35ch;
}
.page--recruit .keyvisual {
   padding-top: 200px;
   height: 500px;
   background-position: 50% 50%;
   background-size: cover;
   text-align: left;
}
@media only screen and (max-width: 767px) {
   .page--recruit .keyvisual {
      padding: 15px 0;
      height: 130px;
   }
   .page--recruit .keyvisual .dir-title {
      height: 100%;
   }
   .page--recruit .keyvisual img {
      height: 100%;
      width: auto;
   }
}
.page--recruit .section-voicenav {
   margin: 13rem 0;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav {
      margin: 40px 10px 0;
   }
}
.page--recruit .section-voicenav .content {
   /* background-image: url(../img/recruit/top/voice-bg.png);
   background-repeat: no-repeat; */
   text-align: center;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav .content {
      /* background-image: url(../img/recruit/top/voice-bg-m2x.png);
      background-position: 21% 3%;
      background-size: cover; */
      padding: 90px 0 0;
      /* border-radius: 8px; */
   }
}
.page--recruit .section-voicenav .content .section-title{
   font-size: 8rem;
   font-weight: 750;
   margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav .content .section-title {
   font-size: 3.8rem;
   margin-bottom: 0;
   }
}
.page--recruit .section-voicenav .content .section-title .inv{
   color: #fff;
   text-shadow: 1px 1px 0 #003567, -1px -1px 0 #003567, 
               -1px 1px 0 #003567, 1px -1px 0 #003567,
                  0px 1px 0 #003567, 0-1px 0 #003567, 
                  -1px 0 0 #003567, 1px 0 0 #003567
   }
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav .content .block .grid-x .cell{
      padding: 30px;
   }
}
.page--recruit .section-voicenav .content a {
   /* color: #059e3d; */
   display: block;
   position: relative;
}
.page--recruit section a:hover::before {
   background-color: rgba(255,255,255,0.2);
   content: "";
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   z-index: 0;
   top: 0;
   left: 0;
}
.page--recruit.index .section-about a{
   display: block;

}
.page--recruit.index .section-about a:hover img{
   opacity: .8;
}
.page--recruit section a:hover .alpha{
   opacity: 1;
}
/* .page--recruit .section-voicenav .thumb {
   padding-top: 100px;
   height: 400px;
   overflow: hidden;
} 
.page--recruit .section-voicenav img {
   width: 75%;
}*/
.page--recruit .section-voicenav a::after {
   content: "";
   background: url(../img/recruit/top/dot.png) top left/contain no-repeat;
   position: absolute;
   display: block;
   width: 100%;
   height: 100%;
   top: 3rem;
   left: 3rem;
   z-index: -1;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav a::after {
      background-image: url(../img/recruit/top/dot-m2x.png);
      top: 1.8rem;
      left: 1.8rem;
   }
   }
.page--recruit .section-voicenav dl {
   /* padding: 1em 0;
   line-height: 1.5; */
   padding: 1em 0 3rem 3rem;
   line-height: 1.5;
   border: 4px #003567 solid;
   width: 70%;
   margin: -5rem auto 0;
   border-radius: 2rem 0;
   background: #fff;
   position: relative;
}
.page--recruit .section-voicenav .cell:nth-child(2) dl {
   width: 75%;
   padding: 1.5rem 0 3rem 4rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav dl {
      padding: 2.2rem 0 2rem 5rem;
      width: 85%;
   }
   .page--recruit .section-voicenav .cell:nth-child(2) dl {
      width: 90%;
      padding: 1.5rem 0 2rem 5rem;
   }   
}
.page--recruit .section-voicenav dt {
   font-size: 3.0rem;
   font-weight: bold;
}
.page--recruit .section-voicenav dt::after {
   content: url(../img/recruit/top/arrow.png);
   position: absolute;
   top: 4.5rem;
   left: 1.4rem;
   transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav dt {
      font-size: 3.2rem;
      line-height: 1.2;
   }
   .page--recruit .section-voicenav dt::after {
      left: 2.4rem;
   }
   .page--recruit .section-voicenav .cell:nth-child(2) dt::after {
      left: 1.4rem;
   }
}
.page--recruit .section-voicenav dd {
   font-size: 1.5rem;
}
/* @media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav dd {
      font-size: 1rem;
   }
} */
.page--recruit .section-voicenav dd.en {
   font-weight: 800;
}
.page--recruit .section-voicenav dd.dept {
   border: 1px solid #003567;
   margin: 1.0rem auto 0;
   position: absolute;
   background: #fff;
   font-weight: 800;
   border-radius: 5px;
   padding: 0.7rem 0 0.5rem;
   overflow: hidden;
}
.page--recruit .section-voicenav .dept span{
   padding: 0.7rem 1rem;
   letter-spacing: 1px;
}
.page--recruit .section-voicenav .dept .cont{
   color: #fff;
   background: #003567;
   border: 1rem solid #003567;
   border-left-width: 1.4rem;
   padding: 0.7rem 0;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-voicenav dd.dept {
      left: 2rem;
   }
   .page--recruit .section-voicenav .dept .cont{
      border: 1.3rem solid #003567;
   }
}

.page--recruit.index .localnav .ln-index dt {
   background-color: #009f3c;
}
.page--recruit.index .localnav .ln-index dt span {
   color: #fff;
}
.page--recruit .gn-index a:hover {
   background-color: #4296C7;
}
.page--recruit.message .localnav .ln-message dt {
   background-color: #009f3c;
}
.page--recruit.message .localnav .ln-message dt span {
   color: #fff;
}
.page--recruit .gn-message a:hover {
   background-color: #4296C7;
}
.page--recruit.training .localnav .ln-training dt {
   background-color: #009f3c;
}
.page--recruit.training .localnav .ln-training dt span {
   color: #fff;
}
.page--recruit .gn-training a:hover {
   background-color: #4296C7;
}
.page--recruit.voice .localnav .ln-voice dt {
   background-color: #009f3c;
}
.page--recruit.voice .localnav .ln-voice dt span {
   color: #fff;
}
.page--recruit .gn-voice a:hover {
   background-color: #4296C7;
}
.page--recruit.apply .localnav .ln-apply dt {
   background-color: #009f3c;
}
.page--recruit.apply .localnav .ln-apply dt span {
   color: #fff;
}
.page--recruit .gn-apply a:hover {
   background-color: #4296C7;
}
/* .page--recruit.entry .localnav .ln-entry dt {
   background-color: #009f3c;
}
.page--recruit.entry .localnav .ln-entry dt span {
   color: #fff;
} */
.page--recruit .gn-entry a:hover {
   background-color: #4296C7;
}
.page--recruit.message .keyvisual {
   background-image: url(../img/recruit/message/hero-img.jpg);
}
.page--recruit.message .section-hero .section-content {
   position: relative;
}
@media only screen and (min-width: 768px) {
   .page--recruit.message .section-hero .section-content .figure {
      position: absolute;
      right: 0;
      bottom: 0;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-hero .section-content .figure {
      text-align: center;
   }
   .page--recruit.message .section-hero .section-content .figure img {
      width: 60%;
   }
}
.page--recruit.message .section-hero .catch {
   color: #059e3d;
   letter-spacing: .1ch;
   font-weight: bold;
   font-size: 4.6rem;
   line-height: 1.4;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-hero .catch {
      margin: 1em 0 1em;
      text-align: center;
      font-size: 2.4rem;
   }
}
.page--recruit.message .section-hero .headline {
   max-width: 500px;
   color: #059e3d;
}
@media only screen and (min-width: 768px) {
   .page--recruit.message .section-hero .headline {
      padding: 160px 0 120px;
   }
}
.page--recruit.message .section-hero .headline__title {
   margin-top: 100px;
   text-align: center;
   font-family: urw-din, sans-serif;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-hero .headline__title {
      margin-top: 0;
      padding: 2em 0;
   }
}
.page--recruit.message .section-hero .headline__title h1 {
   display: inline-block;
   border-bottom: 8px solid #059e3d;
   letter-spacing: .35ch;
   font-weight: 800;
   font-size: 4.8rem;
   line-height: 1.6;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-hero .headline__title h1 {
      border-bottom: 4px solid #059e3d;
      font-size: 1.8rem;
   }
}
.page--recruit.message .section-hero .headline__title .subtitle {
   margin-top: .5em;
   font-weight: 600;
   font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-hero .headline__title .subtitle {
      font-size: .9rem;
   }
}
.page--recruit.message .section-message {
   padding-top: 5em;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-message {
      margin: 0 10px;
      padding: 1em 0 5em;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-message dl {
      padding-bottom: 3em;
      text-align: center;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-message dl dt {
      font-size: 1.2rem;
      line-height: 2.3;
   }
}
.page--recruit.message .section-message dl dd {
   font-size: 2.4rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-message dl dd {
      line-height: 1.25;
   }
}
.page--recruit.message .section-message .txt {
   letter-spacing: 0;
   font-size: 1.6rem;
   line-height: 1.875;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-message .txt {
      font-size: 1.2rem;
   }
}
.page--recruit.message .section-message .txt + .txt {
   padding-top: 38px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.message .section-message .txt + .txt {
      padding-top: 35px;
   }
}
.page--recruit.training .keyvisual {
   background-image: url(../img/recruit/training/hero-img.jpg);
}
.page--recruit.training .section .headline {
   padding-bottom: 2em;
}
.page--recruit.training .section .headline__title {
   color: #009f3c;
   text-align: center;
   font-weight: bold;
   font-size: 3.6rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.training .section .headline__title {
      font-size: 2.0rem;
   }
}
.page--recruit.training .section .headline .lead {
   margin-top: 2em;
}
.page--recruit.training .section + .section {
   margin-top: 4em;
}
.page--recruit.training .section-training .content .cell {
   margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.training .section-training .content .cell {
      margin-bottom: 20px;
   }
}
.page--recruit.training .section-training .content .panel {
   padding: 1em 50px 50px;
   background-color: #fff;
}
@media only screen and (max-width: 767px) {
   .page--recruit.training .section-training .content .panel {
      padding: 1em 2em;
   }
}
.page--recruit.training .section-training .content .panel dt {
   text-align: center;
   font-weight: bold;
   font-size: 3.0rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.training .section-training .content .panel dt {
      font-size: 1.6rem;
   }
}
.page--recruit.training .section-event .figure, .page--recruit.training .section-event dt {
   text-align: center;
}
.page--recruit.training .section-event dt {
   font-weight: bold;
   font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.training .section-event dt {
      font-size: 1.5rem;
   }
}
.page--recruit.training .section-event dl {
   margin-top: 1em;
}
@media only screen and (max-width: 767px) {
   .page--recruit.training .section-event dl {
      margin: 1em 0 3em;
   }
}
.page--recruit.training .section-event dd {
   line-height: 1.8;
}
@media only screen and (max-width: 767px) {
   .page--recruit.training .section-event .figure img {
      width: 70%;
   }
}
.page--recruit.training .kenko_txt {
   letter-spacing: 0.09em;
}




@media only screen and (min-width: 768px) {
   .page--recruit .site-main {
      background-position: 50% 100%;
      background-size: contain;
      /* margin-bottom: -77rem;
      padding-bottom: 77rem; */
      margin-bottom: -68rem;
      padding-bottom: 100rem;
   }
      .page--recruit .section-hero .section-content {
      /* height: 700px; */
      background-image: url(../img/recruit/voice/hero-img.png);
      background-repeat: no-repeat;
      background-position: center top;
      background-size: 100% auto;
      height: 100%;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-hero .section-content{
      background-image: url(../img/recruit/voice/hero-img-m2x.png);
      top: -2rem;
   }
}
.page--recruit .section-hero .section-content {
   position: relative;
   z-index: 0;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-hero .section-content .content{
      margin: 2rem 0;
   }
}


.page--recruit .section-hero .content{
   top: 10%;
   transform: none;
}
.page--recruit .section-hero .content .page-title{
   font-size: 5rem;
   font-weight: 800;
   /* margin-bottom: 0; */
}
.page--recruit .section-hero .page-title-cap {
   /* margin-top: 1em; */
   font-size: 1.6rem;
   letter-spacing: 0;
   font-weight: 750;
   line-height: 1.6;
   padding: 0 0 0 2rem;
}


.page--recruit .section-hero .hero-msg dl{
   width: fit-content;
   text-align: center;
}
.page--recruit .section-hero dt {
   font-size: 5rem;
   font-weight: bold;
   line-height: 1;
}
/* @media only screen and (max-width: 767px) {
   .page--recruit .section-hero dt {
      font-size: 3.2rem;
      line-height: 1.2;
   }
} */
.page--recruit .section-hero dd {
   font-size: 2.6rem;
}
.page--recruit .section-hero dd.en {
   font-weight: 800;
   line-height: 1.8;
}
.page--recruit .section-hero dd.dept {
   margin: 2rem auto 0;
   background: #fff;
   font-size: 2rem;
   font-weight: 800;
   border-radius: 5px;
   overflow: hidden;
   width: fit-content;
}
.page--recruit .section-hero .dept span{
   padding: 0.7rem 1.3rem 0.7rem 1.6rem;
   letter-spacing: 1px;
}
.page--recruit .section-hero .dept .cont{
   color: #fff;
   background: #003567;
   border: 2rem solid #003567;
   padding: 0.7rem 0;
}

.page--recruit.voice .section-hero .hero-msg dl dt, 
.page--recruit.voice .section-hero .hero-msg dl .en{
   color: #fff;
}
.page--recruit.voice01 .section-hero .hero-msg dl dt, 
.page--recruit.voice01 .section-hero .hero-msg dl .en {
   color: #003567;
}
@media only screen and (max-width: 767px) {
   .page--recruit .section-hero dd.dept {
      left: 2rem;
   }
   .page--recruit .section-hero .dept .cont{
      border: 1.3rem solid #003567;
   }
}

.page--recruit .section-hero .hero-msg h2{
   font-size: 6rem;
   font-weight: 600;
   display: block;
   padding: 0;
   position: absolute;
   top: 55rem;
   left: -36vw;
   margin: 0 0 0 auto;
   border-left: #fff 30vw solid;
}
.page--recruit .section-hero .hero-msg h2 span{
   background: #fff;
   padding: .6rem 2rem;
}



@media only screen and (max-width: 767px) {
   .page--recruit .section-hero .content .page-title {
   font-size: 3.8rem;
   margin-bottom: 0;
   }
   .page--recruit .section-hero .page-title-cap {
      font-size: 1.44rem;
   }
}
.page--recruit .section-hero .content .page-title .inv{
   color: #fff;
   text-shadow: 1px 1px 0 #003567, -1px -1px 0 #003567, 
               -1px 1px 0 #003567, 1px -1px 0 #003567,
                  0px 1px 0 #003567, 0-1px 0 #003567, 
                  -1px 0 0 #003567, 1px 0 0 #003567
}   

@media only screen and (min-width: 768px){
   .page--recruit.about .section-hero .hero-msg {
      background-image: url(../img/recruit/about/hero-img-bg.png);
  }
  .page--recruit .section-hero .hero-msg {
   height: 80rem; /*86*/
   width: 88%; /*90*/
   max-width: none;
   background-position: left top;
   background-size: cover;
   border-radius: 4rem 0 0 4rem;
   margin-top: 5rem;
   margin-right: calc(50% - 50vw);
   position: relative;
   display: block;
   }
   .page--recruit .section-hero .hero-msg::after {
      background-image: url(../img/recruit/about/dot.png);
      border-radius: 4rem 0 0 4rem;
      position: absolute;
      display: block;
      width: 105%;
      height: 100%;
      top: 7rem;
      right: 0;
      z-index: -1;
  }
}
@media only screen and (max-width: 767px){
   .page--recruit.about .section-hero .hero-msg {
      background-image: url(../img/recruit/about/hero-img-bg-m2x.png);
      height: 97vw;
      background-position: top right;
      background-size: contain;
      background-repeat: no-repeat;
      padding-top: 20%;
      margin-bottom: 4rem;
   }
   .page--recruit.about .section-hero .hero-msg::after {
      background-image: url(../img/recruit/about/dot-m2x.png);
      background-size: cover;
      width: calc(100% - 1rem);
      margin-right: 1rem;
      top: 2rem;
      right: -1rem;
   }
}

.page--recruit.about .section-about{
      margin-top: -30rem;
}
@media only screen and (max-width: 767px){
   .page--recruit.about .section-about{
      margin-top: -28rem;
      padding: 0 0 40rem;
   }
}
.page--recruit.about .section-about .cell{
   display: flex;
}
.page--recruit.about .section-about .cell .box {
   margin: 4rem auto;
   width: 96%;
   background: #fff;
   padding: 7rem;
   text-align: center;
   border-radius: 5rem 0;
   border: 1px solid #003567;
   position: relative;
}
.page--recruit.about .section-about .cell .box::after {
   background: #003567;
   position: absolute;
   top: 4rem;
   left: 4rem;
   content: "";
   display: block;
   width: 100%;
   height: 100%;
   z-index: -1;
   border-radius: 5rem 0;
}
.page--recruit.about .section-about .img img {
   height: 14rem;
}
.page--recruit.about .section-about .cap h2 {
   font-size: 5rem;
   font-weight: 700;
   letter-spacing: 2px;
   text-wrap: nowrap;
   margin: 6rem 0 2rem;
}
.page--recruit.about .section-about .cap p {
   text-align: left;
}
@media only screen and (max-width: 767px){
   .page--recruit.about .section-about .cell .box {
      width: 100%;
      border-radius: 3rem 0;
      padding: 3rem;
      margin: 2rem auto;
   }
   .page--recruit.about .section-about .cell .box::after {
      border-radius: 3rem 0;
      top: 2rem;
      left: 2rem;
   }
   .page--recruit.about .section-about .img img {
      height: 10rem;
   }
   .page--recruit.about .section-about .cap h2 {
      font-size: 3rem;
      margin: 3rem 0 1rem;
   }
}






/* .page--recruit .section-hero .section-content {
   position: relative;
   z-index: 0;
} */
@media only screen and (max-width: 767px) {
   /* .page--recruit .section-hero .section-content .content{
      margin: 2rem 0;
   } */
   .page--recruit.voice .section-hero .section-content .content .page-title{
      font-size: 3.0rem;
   }
} 

.page--recruit.voice .section-hero .hero-msg{
   background-repeat: no-repeat;
}
.page--recruit .section-hero .hero-msg::after {
   content: "";
   background-position: top left;
   background-size: cover;
   background-repeat: no-repeat;
   position: absolute;
   display: block;
   width: 105%;
   height: 100%;
   top: 7rem;
   right: 0;
   z-index: -1;
}
@media only screen and (min-width: 768px) {
   .page--recruit.voice .section-hero .hero-msg{
      height: 80rem;
      width: 88%;
      max-width: none;
      padding: 29rem 0 0 15rem;
      background-position: left top;
      background-size: cover;
      border-radius: 4rem 0 0 4rem;
      margin-top: 5rem;
      margin-right: calc(50% - 50vw);
      position: relative;
      display: block;
   }
   .page--recruit.voice .section-hero .hero-msg::after {
      background-image: url(../img/recruit/voice/dot.png);
      border-radius: 4rem 0 0 4rem;
      position: absolute;
      display: block;
      width: 105%;
      height: 100%;
      top: 7rem;
      right: 0;
      z-index: -1;
   }
   .page--recruit.voice01 .section-hero .hero-msg{
      background-image: url(../img/recruit/voice/01/hero-msg-bg.png);
   }
   /* .page--recruit.voice02 .section-hero .hero-msg{
      background-image: url(../img/recruit/voice/02/hero-msg-bg.png);
   } */
   /* .page--recruit.voice03 .section-hero .hero-msg{
      background-image: url(../img/recruit/voice/03/hero-msg-bg.png);
   } */
}
.page--recruit.voice02 .section-hero .hero-msg{
   background-image: url(../img/recruit/voice/02/hero-msg-bg.png);
}
.page--recruit.voice03 .section-hero .hero-msg{
   background-image: url(../img/recruit/voice/03/hero-msg-bg.png);
}

@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-hero .hero-msg{
      height: 97vw;
      background-position: top right;
      background-size: contain;
      padding: 20% 0 0 0;
   }
   .page--recruit.voice01 .section-hero .hero-msg{
      background-image: url(../img/recruit/voice/01/hero-msg-bg-m2x.png);
   }
   .page--recruit .section-hero .hero-msg::after {
      background-image: url(../img/recruit/voice/dot-m2x.png);
      background-size: cover;
      width: calc(100% - 1rem);
      margin-right: 1rem;
      top: 2rem;
      right: -1rem;
   }
   .page--recruit.voice02 .section-hero .hero-msg,
   .page--recruit.voice03 .section-hero .hero-msg{
      background-size: cover;
      background-position: center;
      margin: 0 0 0 auto;
      width: 96%;
      border-radius: 3rem 0 0 3rem;
   }
   .page--recruit.voice03 .section-hero .hero-msg{
      background-position: 75% center;
   }
   .page--recruit.voice02 .section-hero .hero-msg::after,
   .page--recruit.voice03 .section-hero .hero-msg::after {
      width: calc(100% + 1rem);
      border-radius: 3rem 0 0 3rem;
   }

   .page--recruit.voice .section-hero dl{
      transform: scale(0.5) translateX(-25%);
   }   
   .page--recruit.voice .section-hero .hero-msg h2{
      font-size: 2.8rem;
    position: relative;
    border: none;
    top: 0;
    left: 0;
    margin-top: 10rem;
    text-align: center;
   }
   .page--recruit.voice .section-hero .hero-msg h2 span{
      padding: .6rem 1rem;
   }
}
.page--recruit.voice .section-voice{
   margin-top: -40rem;
}

@media only screen and (min-width: 768px) {
   .page--recruit.voice .section-voice .block .cell {
      padding: 4rem;
      position: relative;
   }
   .page--recruit.voice .section-voice .block .cell.cap {
      background: #f6f6f6;
      border-radius: 5rem;
   }
}
.page--recruit.voice .section-voice .cap h2 {
   font-size: 4rem;
   font-weight: 700;
   letter-spacing: 2px;
   margin: 5rem 0 3rem;
}
.page--recruit.voice .section-voice .img::after {
   content: "";
   background: url(../img/recruit/voice/dot-2.png) top left/contain no-repeat;
   position: absolute;
   display: block;
   width: 87%;
   height: 87%;
   top: 8rem;
   left: 8rem;
   z-index: -1;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .block .cell {
      padding: 2rem;
      position: relative;
      transform: translateX(-7px);
   }
   .page--recruit.voice .section-voice .img::after {
      top: 5rem;
      left: 5rem;
   }
   .page--recruit.voice .section-voice{
        margin-top: -10rem;
   }
   .page--recruit.voice .section-voice .cap h2 {
      font-size: 2.8rem;
      letter-spacing: 0;
      margin: 2rem 0;
   }
   .page--recruit.voice .section-voicenav {
      padding: 0 0 30rem;
  }
}
.page--recruit.voice .section-voice .content:nth-child(even) .block {
   /* margin-left: auto; */
   flex-direction: row-reverse;
}
@media only screen and (min-width: 768px) {
   .page--recruit.voice .section-voice .content:nth-child(even) .block .img{
      transform: translateX(-4rem);
   }
}
@media only screen and (min-width: 768px) {
   .page--recruit.index .site-main {
      background-position: 50% 100%;
      background-size: contain;
      margin-bottom: -77rem;
      padding-bottom: 77rem;
   }
      .page--recruit.index .section-hero .section-content {
      height: 700px;
      background-image: url(../img/recruit/top/hero-img.png);
      background-repeat: no-repeat;
      background-position: center top;
      background-size: cover;
      height: 100%;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-hero .section-content{
      background-image: url(../img/recruit/top/hero-img-m2x.png);
   }
}

.page--recruit.index .section-hero .content {
   text-align: center;
   top: 30vh;
}
@media only screen and (min-width: 768px) {
   .page--recruit.index .section-hero .content {
      /* padding-top: 240px; */
      top: 50vh;
      transform: translateY(-50%);
   }
}

.page--recruit.index .section-hero h1.page-title {
   font-size: 13rem;
   font-weight: 750;
   text-shadow: 10px 10px #fff;
}
.page--recruit.index .section-hero h1.page-title .inv{
   color: #fff;
   text-shadow: 1px 1px 0 #003567, -1px -1px 0 #003567, 
               -1px 1px 0 #003567, 1px -1px 0 #003567,
                0px 1px 0 #003567, 0-1px 0 #003567, 
                -1px 0 0 #003567, 1px 0 0 #003567,
                10px 10px #fff;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-hero h1.page-title {
      text-shadow: 5px 5px #fff;
   }
   .page--recruit.index .section-hero h1.page-title .inv{
      text-shadow: 1px 1px 0 #003567, -1px -1px 0 #003567, 
                  -1px 1px 0 #003567, 1px -1px 0 #003567,
                   0px 1px 0 #003567, 0-1px 0 #003567, 
                   -1px 0 0 #003567, 1px 0 0 #003567,
                   5px 5px #fff;
   }      
}
.page--recruit.index .section-hero .page-title-cap {
   margin-top: 1em;
   color: #003567;
   font-size: 2rem;
   letter-spacing: 0;
   font-weight: 600;
   line-height: 1.6;
   text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, 
               -1px 1px 0 #fff, 1px -1px 0 #fff,
                0px 1px 0 #fff, 0-1px 0 #fff, 
                -1px 0 0 #fff, 1px 0 0 #fff;
   padding: 0 0 10px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-hero h1.page-title {
      font-size: 7rem;
      line-height: 1;
   }   
   .page--recruit.index .section-hero .page-title-cap {
      font-size: 1.44rem;
      /* color: #009f3c; */
   }
}

.page--recruit.index .section-about{
   position: relative;
   top: -60rem;
   text-align: center;
   height: 0;
}

@media only screen and (max-width: 767px) {
   .page--recruit.index .section-about {
      top: -15rem;
      margin-top: 3em;
      padding-left: 1rem;
   }
   .page--recruit.index .section-about .row{
      padding: 0 20px;
   }
}
.page--recruit.index .section-message .section-content {
   position: relative;
   display: block;
}
@media only screen and (min-width: 768px) {
   .page--recruit.index .section-message .section-content {
      opacity: 1;
      -webkit-transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
      transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
   }
   .page--recruit.index .section-message .section-content:hover {
      opacity: 0.8;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-message .section-content {
      margin: 0;
      padding: 0;
   }
}
.page--recruit.index .section-message .section-content .figure {
   position: absolute;
   right: 0;
   bottom: 0;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-message .section-content .figure {
      position: static;
      margin-top: -200px;
      margin-bottom: 25px;
   }
   .page--recruit.index .section-message .section-content .figure img {
      width: 100%;
   }
}
.page--recruit.index .section-message .headline {
   padding: 120px 0 3em;
   max-width: 500px;
   color: #059e3d;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-message .headline {
      padding-top: 20px;
      max-width: inherit;
   }
}
.page--recruit.index .section-message .headline .catch {
   letter-spacing: .1ch;
   font-weight: bold;
   font-size: 4.6rem;
   line-height: 1.4;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-message .headline .catch {
      font-size: 2.4rem;
      text-align: center;
   }
}
.page--recruit.index .section-message .headline__title {
   font-family: urw-din, sans-serif;
   margin-top: 40px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-message .headline__title {
      padding-left: 19.2vw;
      margin-top: 45px;
   }
}
.page--recruit.index .section-message .headline__title h1 {
   display: inline-block;
   border-bottom: 8px solid #059e3d;
   letter-spacing: .35ch;
   font-weight: 800;
   font-size: 4.8rem;
   line-height: 1.6;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-message .headline__title h1 {
      font-size: 1.8rem;
      border-bottom: 4px solid #059e3d;
   }
}
.page--recruit.index .section-message .headline dl {
   margin-top: 2em;
   color: #000;
   line-height: 1.8;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-message .headline dt {
      font-size: 1.2rem;
   }
}
.page--recruit.index .section-message .headline dd {
   font-size: 2.4rem;
}
.page--recruit.index .section-event .section-content a {
   display: block;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-event .section-content a img {
      width: 100%;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-voicenav {
      margin: 25px 0;
   }
}
.page--recruit.index .section-other {
   padding: 8rem 0 60rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-other {
      padding: 0 0 20rem;
   }
}
.page--recruit.index .section-other a {
   display: block;
   /* color: #fff; */
   text-align: center;
   height: 566px;
   background-repeat: no-repeat;
   background-position: 50% 50%;
   background-size: contain;
   padding-top: 100px;
   position: relative;
}
.page--recruit.index .section-other a::after {
   content: "";
   display: block;
   background: url(../img/recruit/top/dot-2.png) top left/ contain no-repeat;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 3rem;
   left: 3rem;
   z-index: -1;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-other a {
      padding-top: 18%;
      margin-right: 1rem;
   }
   .page--recruit.index .section-other a::after {
      top: 2rem;
      left: 2rem;   
   }
}
@media only screen and (min-width: 768px) {
   .page--recruit.index .section-other a {
      opacity: 1;
      -webkit-transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
      transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
   }
   /* .page--recruit.index .section-other a:hover {
      opacity: 0.8;
   } */
}
.page--recruit.index .section-other a dl {
   /* background-color: #059e3d; */
   line-height: 1.6;
   padding: 4em 0;
    width: fit-content;
   margin: 0 auto;
}
.page--recruit.index .section-other a.job dl {
   color: #fff;
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-other a dl {
      padding: 2em 0;
      /* width: 100px; */
   }
}
.page--recruit.index .section-other a dt {
   font-size: 3.8rem;
   font-weight: bold;
   line-height: 1.3;
   position: relative;
}
.page--recruit.index .section-other a dt::after {
   content: url(../img/recruit/top/arrow.png);
   position: absolute;
   top: .5rem;
   left: -5.5rem;
   line-height: 1.3;
}
/* @media only screen and (max-width: 767px) {
   .page--recruit.index .section-other a dt {
      font-size: 1.7rem;
   }
} */
 .page--recruit.index .section-other a dd {
   font-size: 1.8rem;
}
.page--recruit.index .section-other .job {
   background-image: url(../img/recruit/top/job_description-img.png);
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-other .job {
      background-repeat: no-repeat;
      height: 93vw;
      background-size: contain;
      margin-bottom: 25px;
   }
}
.page--recruit.index .section-other .entry {
   background-image: url(../img/recruit/top/entry-img.png);
}
@media only screen and (max-width: 767px) {
   .page--recruit.index .section-other .entry {
      background-repeat: no-repeat;
      height: 93vw;
      background-size: contain;
   }
}
.page--recruit.apply .section-recruit{
   position: relative;
   margin-top: -140rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.apply .section-recruit{
      margin-top: -60rem;
   }
}
.page--recruit.apply .require table {
   width: 100%;
   font-size: 1.4rem;
}
/* .page--recruit.apply .require table tr:first-child {
   border-top: none;
} */
.page--recruit.apply .require table tr th {
   width: 25%;
}
.page--recruit.apply .require table tr th:before {
   content: "■ ";
}
.page--recruit.apply .entry-tel{
   width: 95%;
   text-align: center;
   padding-top: 1rem;
   padding-bottom: 0;
   margin-bottom: 60rem;
   background: #f6f6f6;
   border-radius: 2rem;
   position: relative;
   z-index: 1;
}
.page--recruit.apply .entry-tel h1{
   font-size: 2rem;
   font-weight: 700;
   margin-bottom: 1rem;
}
.page--recruit.apply .entry-tel .tel{
   font-size: 3.5rem;
   font-weight: 700;
}
@media only screen and (min-width: 768px) {
   .page--recruit.apply .entry-tel{
      max-width: 800px;
      padding-top: 3rem;
      padding-bottom: 0;
      margin-top: 7rem;
      margin-bottom: 80rem;
   }
   .page--recruit.apply .entry-tel .tel{
      font-size: 5.5rem;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.apply .require table tr th{
      line-height: 2;
      width: 100%;
      display: block;
      padding-bottom: 0;
   }
   .page--recruit.apply .require table tr td{
      line-height: 2;
      width: 100%;
      display: block;
      padding-top: 0;
   }
}
.w800{
   max-width: 800px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .site-main {
      padding-bottom: 40rem;
      padding-top: 0;
      margin-bottom: -30rem;
   }
}
.page--recruit.entry .section-entry {
   margin-top: -140rem;
   position: relative;
   z-index: 10;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .section-entry {
      margin-top: -60rem;
   }      
}
.page--recruit.entry span.require {
   display: inline-block;
   padding: 0 .5em;
   background: #a40000;
   color: #fff;
   font-weight: normal;
   font-size: 1.3rem;
   border-radius: 4px;
}
.page--recruit.entry table ::placeholder{
   color: #ccc;
   font-weight: 700;
}
.page--recruit.entry .qtro-mailform input[type='text'], .page--recruit.entry .qtro-mailform input[type='email'], .page--recruit.entry .qtro-mailform input[type='tel'], .page--recruit.entry .qtro-mailform input[type='number'] {
   display: inline-block;
   vertical-align: middle;
   *vertical-align: auto;
   *zoom: 1;
   *display: inline;
   width: 100%;
   height: auto;
   padding: 15px;
   background-color: #fff;
   border: 1px solid #e0e0e0;
   border-radius: 6px;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}
.page--recruit.entry .qtro-mailform input[type='text']:focus, .page--recruit.entry .qtro-mailform input[type='email']:focus, .page--recruit.entry .qtro-mailform input[type='tel']:focus, .page--recruit.entry .qtro-mailform input[type='number']:focus {
   border: 1px solid #003567;
   outline: 0;
}
.page--recruit.entry .qtro-mailform input, .page--recruit.entry .qtro-mailform select {
   min-height: 40px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform input, .page--recruit.entry .qtro-mailform select {
      min-height: 20px;
   }
}
.page--recruit.entry .qtro-mailform textarea {
   width: 100% !important;
   min-height: 14em;
   padding: 10px;
   background-color: #fff;
   border: 1px solid #e0e0e0;
   border-radius: 6px;
}
.page--recruit.entry .qtro-mailform textarea:focus {
   border: 1px solid #003567;
   outline: 0;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform textarea {
      max-width: none;
   }
}
.page--recruit.entry .qtro-mailform #submit-button, .page--recruit.entry .qtro-mailform input[type='submit'] {
   padding: 2em 8em;
   color: #fff;
   background: #999999;
   border: none;
   cursor: pointer;
   border-radius: 4px;
   transition: all .4s ease;
}
.page--recruit.entry .qtro-mailform #submit-button.is-inactive {
   pointer-events: none;
}
.page--recruit.entry .qtro-mailform #submit-button.is-active {
   background: #003567;
}
.page--recruit.entry .qtro-mailform #submit-button:hover, .page--recruit.entry .qtro-mailform input[type='submit']:hover {
   /* background-color: #0054a5; */
   opacity: 0.8;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform #submit-button, .page--recruit.entry .qtro-mailform input[type='submit'] {
      width: 90%;
      padding: 2em 0;
   }
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"] {
   color: #111;
   display: block;
   border-radius: 5px;
   box-shadow: none;
   width: 100%;
   position: relative;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"]::before, .page--recruit.entry .qtro-mailform [include*="form-input-select()"]::after {
   content: '';
   display: block;
   position: absolute;
   pointer-events: none;
   border: 1px solid transparent;
   width: 0;
   height: 0;
   right: 16px;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"]::before {
   bottom: 55%;
   border-width: 0 6.5px 8px 6.5px;
   border-bottom-color: #D6D6D6;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"]::after {
   border-width: 8px 6.5px 0 6.5px;
   border-top-color: #D6D6D6;
   top: 55%;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"]:hover select {
   border-color: #003567;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"]:hover select:focus {
   outline-color: transparent;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"]:hover::before {
   border-bottom-color: #003567;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"]:hover::after {
   border-top-color: #003567;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"] select {
   -webkit-appearance: none !important;
   -moz-appearance: none !important;
   appearance: none !important;
   border: 1px solid #e0e0e0;
   border-radius: 5px;
   font-weight: 400;
   color: inherit;
   padding: 5px 15px;
   -webkit-transition: border-color 0.2s ease, outline 0.2s ease;
   transition: border-color 0.2s ease, outline 0.2s ease;
   background-color: #fff;
   line-height: 2.5;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform [include*="form-input-select()"] select {
      padding: 1em;
   }
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"] select:focus {
   outline: 1px solid #003567;
   outline-offset: -1px;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"] select[disabled], .page--recruit.entry .qtro-mailform [include*="form-input-select()"] select:disabled {
   opacity: 0.4;
   cursor: not-allowed;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"] select:invalid {
   color: #C7C7C7;
}
.page--recruit.entry .qtro-mailform [include*="form-input-select()"] select::-ms-expand {
   display: none;
}
@keyframes ripple {
   0% {
      box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
   }
   50% {
      box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);
   }
   100% {
      box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
   }
}
.page--recruit.entry .qtro-mailform .md-radio {
   margin: 16px 0;
   line-height: 1;
}
.page--recruit.entry .qtro-mailform .md-radio.md-radio-inline {
   display: inline-block;
}
.page--recruit.entry .qtro-mailform .md-radio label.mfp_checked:before {
   border-color: #adb4dc;
   -webkit-animation: ripple 0.2s linear forwards;
   animation: ripple 0.2s linear forwards;
}
.page--recruit.entry .qtro-mailform .md-radio label.mfp_checked:after {
   -webkit-transform: scale(1);
   transform: scale(1);
}
.page--recruit.entry .qtro-mailform .md-radio input[type='radio'] {
   display: none;
}
.page--recruit.entry .qtro-mailform .md-radio label {
   position: relative;
   display: inline-block;
   height: 20px;
   margin-bottom: 0;
   padding: 0 30px;
   line-height: 20px;
   vertical-align: bottom;
   cursor: pointer;
}
.page--recruit.entry .qtro-mailform .md-radio label:before, .page--recruit.entry .qtro-mailform .md-radio label:after {
   position: absolute;
   border-radius: 50%;
   -webkit-transition: all 0.3s ease;
   transition: all 0.3s ease;
   -webkit-transition-property: border-color, -webkit-transform;
   transition-property: border-color, -webkit-transform;
   transition-property: transform, border-color;
   transition-property: transform, border-color, -webkit-transform;
   content: '';
}
.page--recruit.entry .qtro-mailform .md-radio label:before {
   top: 0;
   left: 0;
   width: 20px;
   height: 20px;
   border: 2px solid rgba(0, 0, 0, 0.54);
}
.page--recruit.entry .qtro-mailform .md-radio label:after {
   top: 5px;
   left: 5px;
   width: 10px;
   height: 10px;
   background: #adb4dc;
   -webkit-transform: scale(0);
   transform: scale(0);
}
.page--recruit.entry .qtro-mailform .md-checkbox {
   position: relative;
   margin: 1em 0;
   line-height: 1;
   text-align: left;
}
.page--recruit.entry .qtro-mailform .md-checkbox.md-checkbox-inline {
   display: inline-block;
}
.page--recruit.entry .qtro-mailform .md-checkbox label {
   display: inline;
   clear: both;
   padding-left: 1px;
   line-height: 1.25em;
   vertical-align: top;
   cursor: pointer;
   font-size: 1.3rem;
   font-weight: 700;
}
.page--recruit.entry .qtro-mailform .md-checkbox label:not(:empty) {
   padding-left: 0.75em;
}
.page--recruit.entry .qtro-mailform .md-checkbox label:before, .page--recruit.entry .qtro-mailform .md-checkbox label:after {
   position: absolute;
   top: 0;
   left: 0;
   content: '';
}
.page--recruit.entry .qtro-mailform .md-checkbox label:before {
   width: 1.25em;
   height: 1.25em;
   background: #fff;
   border: 2px solid rgba(0, 0, 0, 0.54);
   border-radius: 0.125em;
   cursor: pointer;
   -webkit-transition: background 0.3s;
   transition: background 0.3s;
}
.page--recruit.entry .qtro-mailform .md-checkbox label.mfp_checked:before {
   background: #337ab7;
   border: none;
}
.page--recruit.entry .qtro-mailform .md-checkbox label.mfp_checked:after {
   width: 0.75em;
   height: 0.375em;
   border: 0.125em solid #fff;
   border-top-style: none;
   border-right-style: none;
   -webkit-transform: translate(0.25em, 0.33654em) rotate(-45deg);
   transform: translate(0.25em, 0.33654em) rotate(-45deg);
}
.page--recruit.entry .qtro-mailform .md-checkbox input[type='checkbox'] {
   display: block;
   float: left;
   width: 1.25em;
   margin: 0;
   font-size: inherit;
   outline: 0;
   visibility: hidden;
}
.page--recruit.entry .qtro-mailform .md-checkbox input[type='checkbox']:checked + label:before {
   background: #337ab7;
   border: none;
}
.page--recruit.entry .qtro-mailform .md-checkbox input[type='checkbox']:checked + label:after {
   width: 0.75em;
   height: 0.375em;
   border: 0.125em solid #fff;
   border-top-style: none;
   border-right-style: none;
   -webkit-transform: translate(0.25em, 0.33654em) rotate(-45deg);
   transform: translate(0.25em, 0.33654em) rotate(-45deg);
}
.page--recruit.entry .qtro-mailform .md-checkbox input[type='checkbox']:disabled + label:before {
   border-color: rgba(0, 0, 0, 0.26);
}
.page--recruit.entry .qtro-mailform .md-checkbox input[type='checkbox']:disabled:checked + label:before {
   background: rgba(0, 0, 0, 0.26);
}
.page--recruit.entry .qtro-mailform input.tel-split {
   width: 6em;
}
.page--recruit.entry .qtro-mailform .tel-concat {
   margin: 0 1em;
}
.page--recruit.entry .qtro-mailform .mfp_buttons {
   text-align: center;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform .mfp_buttons {
      margin-bottom: 0;
   }
}
.page--recruit.entry .qtro-mailform .mfp_buttons span {
   font-weight: normal;
   font-size: 10px;
   display: inline-block;
   vertical-align: middle;
   *vertical-align: auto;
   *zoom: 1;
   *display: inline;
}
.page--recruit.entry .qtro-mailform .mfp_buttons .enter, .page--recruit.entry .qtro-mailform .mfp_buttons #mfp_button_send {
   padding: 16px 100px;
   background-color: #1F3E70;
   color: #fff;
}
.page--recruit.entry .qtro-mailform .mfp_buttons .enter:hover, .page--recruit.entry .qtro-mailform .mfp_buttons #mfp_button_send:hover {
   background-color: #254984;
}
.page--recruit.entry .qtro-mailform .mfp_buttons .cancel, .page--recruit.entry .qtro-mailform .mfp_buttons #mfp_button_cancel {
   background-color: #888;
}
.page--recruit.entry .qtro-mailform .mfp_buttons .cancel:hover, .page--recruit.entry .qtro-mailform .mfp_buttons #mfp_button_cancel:hover {
   background-color: #9f9f9f;
}
.page--recruit.entry .qtro-mailform .mfp_buttons #mfp_button_send {
   padding: 16px 60px;
}
.page--recruit.entry .qtro-mailform input.w100p, .page--recruit.entry .qtro-mailform select.w100p, .page--recruit.entry .qtro-mailform textarea.w100p {
   width: 100%;
}
.page--recruit.entry .qtro-mailform input.w70p, .page--recruit.entry .qtro-mailform select.w70p, .page--recruit.entry .qtro-mailform textarea.w70p {
   width: 70%;
}
.page--recruit.entry .qtro-mailform input.w50p, .page--recruit.entry .qtro-mailform select.w50p, .page--recruit.entry .qtro-mailform textarea.w50p {
   width: 50%;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform input.w50p, .page--recruit.entry .qtro-mailform select.w50p, .page--recruit.entry .qtro-mailform textarea.w50p {
      width: 100%;
   }
}
.page--recruit.entry .qtro-mailform input.w33p, .page--recruit.entry .qtro-mailform select.w33p, .page--recruit.entry .qtro-mailform textarea.w33p {
   width: 33.3333%;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform input.w33p, .page--recruit.entry .qtro-mailform select.w33p, .page--recruit.entry .qtro-mailform textarea.w33p {
      width: 100%;
   }
}
.page--recruit.entry .qtro-mailform input.w25p, .page--recruit.entry .qtro-mailform select.w25p, .page--recruit.entry .qtro-mailform textarea.w25p {
   width: 25%;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform input.w25p, .page--recruit.entry .qtro-mailform select.w25p, .page--recruit.entry .qtro-mailform textarea.w25p {
      width: 100%;
   }
}
.page--recruit.entry .qtro-mailform input.w20p, .page--recruit.entry .qtro-mailform select.w20p, .page--recruit.entry .qtro-mailform textarea.w20p {
   width: 20%;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform input.w20p, .page--recruit.entry .qtro-mailform select.w20p, .page--recruit.entry .qtro-mailform textarea.w20p {
      width: 100%;
   }
}
.page--recruit.entry .qtro-mailform .notes {
   margin: .75em 0;
   font-weight: normal;
}
.page--recruit.entry .qtro-mailform .comment {
   text-align: right;
}
.page--recruit.entry .qtro-mailform .vat {
   vertical-align: top;
}
.page--recruit.entry .qtro-mailform .no-pad-top {
   padding-top: 0;
}
.page--recruit.entry .qtro-mailform table {
   width: 100%;
   border-collapse: collapse;
   border-spacing: 0;
}
.page--recruit.entry .qtro-mailform table tr{
   display: block;
   padding: 1rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform table tr{
      padding: 1rem 0;
   }
}
.page--recruit.entry .qtro-mailform tr.address th {
   vertical-align: top;
}
.page--recruit.entry .qtro-mailform tr.address li {
   margin: 0 0 8px;
}
.page--recruit.entry .qtro-mailform th {
   font-weight: normal;
   line-height: 1.6;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform th br {
      display: none;
   }
   .page--recruit.entry .qtro-mailform th span {
      margin-left: 1em;
      font-size: 1.0rem;
   }
}
.page--recruit.entry .qtro-mailform th, .page--recruit.entry .qtro-mailform td {
   position: relative;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform th, .page--recruit.entry .qtro-mailform td {
      width: auto;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform {
      display: block;
   }
   .page--recruit.entry .qtro-mailform tbody, .page--recruit.entry .qtro-mailform thead, .page--recruit.entry .qtro-mailform tr {
      display: block;
   }
   .page--recruit.entry .qtro-mailform th, .page--recruit.entry .qtro-mailform td {
      display: block;
   }
}
.page--recruit.entry .qtro-mailform .grid {
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
   align-items: center;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform .grid input {
      min-height: 0;
   }
}
.page--recruit.entry .qtro-mailform .grid > * {
   margin-right: 2em;
}
.page--recruit.entry .qtro-mailform .thanks {
   margin: 4em 0;
   line-height: 2;
   text-align: center;
}
.page--recruit.entry .qtro-mailform .mailform__title {
   margin-top: 1.5em;
   font-weight: bold;
}
.page--recruit.entry .qtro-mailform .mailform__title span {
   color: #1677cb;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform .mailform__title {
      margin: 1em 0 0;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry #mfp_overlay {
      padding: 0 5%;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry #mfp_overlay th {
      font-size: 10px;
   }
}
.page--recruit.entry #mfp_overlay div#mfp_overlay_inner {
   padding: 40px 20px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry #mfp_overlay div#mfp_overlay_inner {
      padding: 20px 10px;
      width: auto;
   }
}
.page--recruit.entry #mfp_overlay button, .page--recruit.entry #mfp_overlay html input[type='button'], .page--recruit.entry #mfp_overlay input[type='reset'], .page--recruit.entry #mfp_overlay input[type='submit'] {
   cursor: pointer;
   -webkit-appearance: button;
}
.page--recruit.entry #mfp_overlay table {
   width: 100%;
}
.page--recruit.entry #mfp_overlay table th {
   width: 30%;
}
.page--recruit.entry #mfp_overlay table#mfp_confirm_table tr th, .page--recruit.entry #mfp_overlay table#mfp_confirm_table tr td {
   padding: 1em;
   border-top: dotted 1px #ccc;
   text-align: left;
}
.page--recruit.entry #mfp_overlay h4 {
   margin: 1.5em 0 1em;
   text-align: center;
   font-weight: bold;
   font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry #mfp_overlay h4 {
      margin-top: 0;
      font-size: 1.5rem;
   }
}
.page--recruit.entry #mfp_overlay .mfp_buttons {
   display: -webkit-box;
   display: flex;
   margin-top: 2em;
   text-align: center;
   -webkit-box-pack: center;
   justify-content: center;
}
.page--recruit.entry #mfp_overlay .mfp_element_button {
   margin: 0 5px;
   padding: 1.25em 0;
   width: 45%;
   border-radius: 3px;
   color: #fff;
   line-height: 1;
}
.page--recruit.entry #mfp_overlay #mfp_button_send {
   background-color: #003567;
}
.page--recruit.entry #mfp_overlay #mfp_button_send:hover {
   background-color: #0054a5;
}
.page--recruit.entry #mfp_overlay #mfp_button_cancel {
   background-color: #888;
}
.page--recruit.entry #mfp_overlay #mfp_button_cancel:hover {
   background-color: #959595;
}
/* .page--recruit.entry .keyvisual {
   background-image: url(../img/recruit/entry/hero-img.jpg);
} */
.page--recruit.entry .qtro-mailform th, .page--recruit.entry .qtro-mailform td {
   padding: .3em 1em;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .qtro-mailform th {
      padding-bottom: 0;
   }
}
.page--recruit.entry .qtro-mailform th {
   text-align: left;
   font-weight: 800;
}
@media only screen and (min-width: 768px) {
   /* .page--recruit.entry .qtro-mailform th {
      width: 30%;
   } */
   .page--recruit.entry .qtro-mailform th, .page--recruit .qtro-mailform td{
      width: 100%;
      display: block;
   }

}
@media only screen and (min-width: 768px) {
   /* .page--recruit.entry .qtro-mailform th span.require {
      position: absolute;
      top: 24px;
      right: 1em;
   } */
   .page--recruit.entry .qtro-mailform th span {
      position: relative;
      top: 0;
      right: -1rem;
   }
}
/* .page--recruit.entry .qtro-mailform tr {
   border-top: 1px solid #d2d1d2;
}
.page--recruit.entry .qtro-mailform tr:last-child {
   border-bottom: 1px solid #d2d1d2;
} */
.page--recruit.entry .section-entry .section-content {
   background-color: #fff;
   padding-bottom: 100px;
   border-radius: 2rem;
   padding: 3rem 5% 10rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .section-entry .section-content {
      width: 95%;
   }
}
.page--recruit.entry .section-entry .headline {
   text-align: center;
   padding: 0 0 4em;
}
.page--recruit.entry .section-entry .headline__text {
   font-size: 1.8rem;
}
.page--recruit.entry .section-entry .headline .entry {
   text-align: center;
   margin-top: 1em;
   margin-bottom: 5em;
}
.page--recruit.entry .section-entry .headline .entry ul {
   margin-top: 1.5em;
   -webkit-box-pack: center;
   justify-content: center;
}
.page--recruit.entry .section-entry .headline .entry li a {
   display: block;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .section-entry .headline .entry li {
      padding: 3px;
   }
}
.page--recruit.entry .section-entry .content h3 {
   font-size: 1.4rem;
   margin-bottom: 1.5em;
}
.page--recruit.entry .section-entry .content .btn {
   max-width: 250px;
   margin: 3em auto 0;
}
.page--recruit.entry .section-entry .content .btn .border {
   border: 1px solid #111;
}
.page--recruit.entry .section-entry .headline {
   text-align: center;
}
.page--recruit.entry .section-entry .headline .block {
   margin-top: 3em;
}
.page--recruit.entry .section-entry .headline .block__title {
   margin-bottom: .5em;
   /* color: #059e3d; */
   font-weight: bold;
   font-size: 1.8rem;
}
.page--recruit.entry .section-entry .headline .mail .require {
   margin-right: .5em;
   line-height: 1.8;
}
.page--recruit.entry .section-entry .privacy {
   margin: 3em 0;
   text-align: center;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .section-entry .privacy {
      /* margin: 1.5em 0; */
      border-radius: 1rem;
      padding: 2rem 5% 8rem;
   }
}
.page--recruit.entry .section-entry .privacy a {
   /* color: #56b4d6; */
   text-decoration: underline;
   text-underline-offset: .8rem;
}
.page--recruit.entry .section-entry .privacy a:hover {
   text-decoration: none;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .section-entry .privacy a:hover {
      text-decoration: underline;
   }
}
.page--recruit.entry .section-entry .privacy .md-checkbox {
   display: inline-block;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .section-entry .privacy .md-checkbox {
      line-height: 1.8;
   }
}
.page--recruit.entry .section-entry .privacy .mfp_err {
   margin-left: 30%;
}
.page--recruit.entry .section-entry .form-select {
   max-width: 50%;
}
.page--recruit.entry .section-thanks {
   margin-top: -140rem;
   position: relative;
   z-index: 10;
}
@media only screen and (max-width: 767px) {
   .page--recruit.entry .section-thanks {
   margin-top: -64rem;
}
}
.page--recruit.entry .section-thanks .content {
   background-color: #fff;
   text-align: center;
   padding: 5em 0 20em;
   margin-bottom: 80em;
   border-radius: 2rem;
}
.page--recruit.entry .section-thanks .content strong {
   font-size: 140%;
   margin: 0 0 2em;
}
@media only screen and (max-width: 767px) {
.page--recruit.entry.thanks .site-main{
   padding-bottom: 1rem;
   margin-bottom: -90rem;
}
}


/* .page--recruit.voice .keyvisual {
   background-image: url(../img/recruit/voice/hero-img.jpg);
} */
.page--recruit.voice .titlebar {
   padding-top: 30px;
   padding-bottom: 1em;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .page-title {
      font-size: 1.8rem;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .page-title-en {
      font-size: 0.9rem;
   }
}
.page--recruit.voice .section-voice .headline {
   text-align: center;
   padding: 0 30px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline {
      padding: 0 12px;
   }
}
.page--recruit.voice .section-voice .headline__title {
   padding: 2em 0;
   line-height: 1;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline__title {
      padding: 12px 0 25px;
   }
}
.page--recruit.voice .section-voice .headline .catch {
   font-weight: bold;
   font-size: 4.8rem;
   line-height: 1.5;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline .catch {
      font-size: 2.4rem;
   }
}
.page--recruit.voice .section-voice .headline .name-holder {
   margin-top: 2em;
}
.page--recruit.voice .section-voice .headline .name-holder dl {
   line-height: 1.4;
}
.page--recruit.voice .section-voice .headline .name-holder dd {
   font-size: 1.8rem;
}
.page--recruit.voice .section-voice .headline .nh-jp dt {
   font-size: 6.0rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline .nh-jp dt {
      font-size: 2.4rem;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline .nh-jp dd {
      font-size: 1.2rem;
   }
}
.page--recruit.voice .section-voice .headline .nh-en {
   margin-top: 1.5em;
   font-family: urw-din, sans-serif;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline .nh-en {
      margin-top: 25px;
   }
}
.page--recruit.voice .section-voice .headline .nh-en dt {
   font-size: 2.4rem;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline .nh-en dt {
      font-size: 1.5rem;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .headline .nh-en dd {
      font-size: 1.2rem;
   }
}
.page--recruit.voice .section-voice .l-txt .block {
   padding: 0 20px;
   max-width: 600px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .l-txt .block {
      margin: 0 5px;
      max-width: inherit;
   }
}
.page--recruit.voice .section-voice .l-txt .block.right {
   margin-left: auto;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .l-txt .block.right {
      margin-left: 5px;
   }
   .page--recruit.voice .section-voice .l-txt .block.right .figure {
      padding: 30px 0 5px;
   }
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .l-txt .block.right .txt {
      font-size: 1.2rem;
   }
}
.page--recruit.voice .section-voice .content {
   margin-top: 100px;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .content {
      margin-top: 30px;
   }
}
.page--recruit.voice .section-voice .content .unit__headline {
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
   align-items: center;
   margin: 2em 0;
}
.page--recruit.voice .section-voice .content .unit__headline span {
   position: relative;
   z-index: 2;
   display: inline-block;
   color: #fff;
   padding: 0 0.65em 0 0.5em;
   font-family: urw-din, sans-serif;
   font-style: italic;
   font-weight: 600;
   font-size: 3.0rem;
   margin-left: 1em;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .content .unit__headline span {
      font-size: 1.5rem;
   }
}
.page--recruit.voice .section-voice .content .unit__headline span:after {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: -1;
   background-color: #009E3B;
   content: '';
   -webkit-transform: skewX(-40deg);
   transform: skewX(-40deg);
}
.page--recruit.voice .section-voice .content .unit__headline h3 {
   font-size: 3.0rem;
   font-weight: bold;
   margin-left: 1em;
}
@media only screen and (max-width: 767px) {
   .page--recruit.voice .section-voice .content .unit__headline h3 {
      font-size: 1.5rem;
   }
}
.page--works .entry {
   padding-bottom: 4em;
   /* text-align: center; */
}
@media only screen and (max-width: 767px) {
   .page--works .entry {
      padding: 0 5px 2em;
   }
}
.page--works .entry .figure{
   aspect-ratio: 1 / 1;
   filter: grayscale(100%);
   border: 1.5rem solid #fff;
   overflow: hidden;
}
@media only screen and (max-width: 767px) {
   .page--works .entry .figure{
      border: 1rem solid #fff;
   }
}
.page--works .entry .figure img{
   /* object-fit: cover;
   width: 100%;
   height: 100%;
   transition: all .6s; */
   border-radius: 0;;
}
.page--works .entry a:hover .figure img{
   transform: scale(1.1);
}
.page--works .entry dl {
   padding: 1em 1.5rem;
   font-family: "Noto Sans JP", sans-serif;
   line-height: 1.6;
}
.page--works .entry dt {
   font-size: 2.1rem;
   font-weight: 700;
}
@media only screen and (max-width: 767px) {
   .page--works .entry dt {
      font-size: 1.5rem;
   }
}
.page--works .entry dd {
   font-size: 1.4rem;
   font-weight: 700;
}
.page--works /*.entry*/ .cat {
   display: inline-block;
   font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
   .page--works .entry .cat {
      font-size: 1.0rem;
   }
}
/* .page--works .entry .cat a { */
.page--works /*.entry*/ .cat span {
      border-radius: 4px;
   /* border: 1px solid #ccc; */
   display: inline-block;
   padding: 0 1rem;
   background-color: #003567;
   color: #fff;
}
/* .page--works .entry .cat a:hover {
   background-color: #444;
   color: #fff;
} */
.page--works /*.entry*/ .cat ul {
   display: -webkit-box;
   display: flex;
   flex-wrap: wrap;
   -webkit-box-pack: center;
   justify-content: center;
   padding: 0 1.5rem;
}
.page--works /*.entry*/ .cat li {
   padding: 0 .5rem .5rem 0;
}
.page--works .section-archive {
   padding-top: 90px;
   padding-bottom: 100px;
}
@media only screen and (max-width: 767px) {
   .page--works .section-archive {
      padding-bottom: 50px;
   }
}
/* .page--works .section-archive .content a { */
   .page--works .section-archive .content span {
   display: block;
}
.page--works .section-archive .btn {
   margin-top: 3em;
}
@media only screen and (max-width: 767px) {
   .page--works .section-archive .btn {
      margin-top: 2em;
   }
}
.page--works .section-archive .btn .more {
   max-width: 340px;
   border-radius: 4px;
   background-color: #000;
}
@media only screen and (max-width: 767px) {
   .page--works .section-archive .btn .more {
      margin: 0 7%;
   }
}
.page--works .modal__close-btn{
   right: 65px;
}
@media only screen and (max-width: 767px) {
   .page--works .modal__close-btn{
      right: 15px;
   }
}
.page--works .swiper-button-prev, .swiper-rtl .swiper-button-next {
   left: 10px;
}
.page--works .modal__content{
   max-width: 1100px;
}
.page--works .modal .modal-content {
   display: flex;
   padding: 5rem 7rem 3rem;
   background-color: #fff;
   margin: 0 5rem;
}
.page--works .modal .modal-content .figure{
   width: 60%;
   max-width: 50rem;
/*   overflow: hidden;*/
}
.page--works .modal .modal-content .figure img{
    max-width: 50rem;
    max-height: 40rem;
    object-fit: cover;
}
@media only screen and (max-width: 767px) {
   .page--works .modal .modal-content {
      display: block;
      padding: 2rem 5%;
      margin: 0 auto;
      width: 90%;
      height: 70vh;
      overflow-y: scroll;
   }
   .page--works .modal .modal-content .figure{
      width: 100%;
   }
}
.swiper-pagination {
   --swiper-pagenation-color: #003567;
   --swiper-theme-color: #003567;
}
.page--works .swiper .slider{
   --add-bottom: 50px;
   padding-bottom: var(--add-bottom);
}
.page--works .swiper .slider [class^="swiper-button-"]{
   top: calc(50% - var(--add-bottom) / 2);
}
.page--works .swiper .slider .swiper-pagination {
   margin: 0;
}

@media only screen and (max-width: 767px) {
   .page--works .swiper .slider{
   --add-bottom: 35px;
   padding-bottom: var(--add-bottom);
}
}
.page--works .modal .post-detail {
   padding-left: 3rem;
   width: 45%;
   margin: 2rem auto;
}
.page--works .modal .post-detail  * {
   margin: 0 0 .8rem;
   font-family: 'Montserrat','Noto Sans JP', sans-serif;
   color: #003567;
}
.page--works .modal .post-detail .post-headline > *{
   font-weight: 700;
}
.page--works .modal .post-detail .cat ul{
   padding-left: 0;
}
.page--works .modal .post-detail .cat ul span.label{
   color: #fff;
   line-height: 2.2;
}
.page--works .modal .post-detail .post-credit{
   font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
   .page--works .modal .post-detail {
      padding-left: 0;
      width: 95%;
      margin: 0 auto;
   }
   .page--works .modal .post-detail  .post-headline * {
      margin: 0;
   }
   .page--works .modal .post-detail  .post-headline h1 {
      font-size: 2.4rem;
   }
}

@media only screen and (min-width: 768px) {
   .page--works.index .site-main {
      padding-top: 0;
   }
}
.page--works.index .section-hero .section-content {
   /* position: relative;
   background-position: 50% 50%;
   background-size: cover; */
   background-image: url(../img/works/hero-img.jpg);
}
@media only screen and (min-width: 768px) {
   .page--works.index .section-hero .section-content {
      /* overflow: hidden;
      height: 800px;
      background-color: #003567; */
      background-position: center;
      aspect-ratio: 34 / 15;
   }
}
@media only screen and (max-width: 767px) {
   .page--works.index .section-hero .section-content {
      background-image: url(../img/works/hero-img-m2x.jpg);
   }
}

.page--works.index .section-hero .entry {
   background-color: #fff;
   text-align: left;
}
@media only screen and (min-width: 768px) {
   .page--works.index .section-hero .entry__txt a {
      opacity: 1;
      -webkit-transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
      transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
   }
   .page--works.index .section-hero .entry__txt a:hover {
      opacity: 0.8;
   }
}
.page--works.index .section-hero .entry__txt:not(:first-child) {
   display: none;
}
@media only screen and (min-width: 768px) {
   .page--works.index .section-hero .entry {
      position: absolute;
      bottom: 70px;
      left: 70%;
      margin-left: -80px;
      padding: 40px;
      width: 400px;
   }
}
@media only screen and (max-width: 767px) {
   .page--works.index .section-hero .entry {
      padding: 20px;
      text-align: center;
   }
}
.page--works.index .section-hero .entry dl {
   padding-top: 0;
}
.page--works.index .section-hero .entry dl dd {
   margin-top: .25em;
}
.page--works.index .section-hero .entry .desc {
   margin-top: 1.5em;
   font-size: 1.2rem;
   line-height: 2;
}
@media only screen and (max-width: 767px) {
   .page--works.index .section-hero .entry .desc {
      display: none;
   }
}
@media only screen and (min-width: 768px) {
   .page--works.index .section-hero .slick-slide {
      background-color: #000;
   }
}
.page--works.index .section-hero .slick-slide.slick-active .slide {
   opacity: 1;
}
.page--works.index .section-hero .slide {
   height: 800px;
   background-position: 50% 50%;
   background-size: cover;
}
.page--works.index .section-hero .slide:not(:first-child) {
   display: none;
}
@media only screen and (min-width: 768px) {
   .page--works.index .section-hero .slide {
      width: 70vw !important;
   }
}
@media only screen and (max-width: 767px) {
   .page--works.index .section-hero .slide {
      width: 100vw !important;
      height: 250px;
   }
}
.page--works .section-hero .content {
   position: relative;
   color: #fff;
   text-align: center;
}
.page--works .section-hero .catchcopy::after {
   content: "";
   width: 140px;
   height: 450px;
   display: block;
   background: #ffd800;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%) skewX(-10deg);
   z-index: -1;
}



@media only screen and (min-width: 768px) {
   .page--works.single .section-article .entry {
      padding: 0 50px;
   }
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .entry {
      padding: 0;
   }
}
.page--works.single .section-article .slider {
   position: relative;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .slider {
      line-height: 1;
   }
}
.page--works.single .section-article .slide {
   position: relative;
   padding-bottom: 57.15%;
   display: block !important;
   overflow: hidden;
}
.page--works.single .section-article .slide img {
   position: absolute;
   height: 100%;
   width: auto;
   top: 0;
   left: 50%;
   -webkit-transform: translate(-50%, 0);
   transform: translate(-50%, 0);
}
.page--works.single .section-article .slide:not(:first-child) {
   display: none !important;
}
.page--works.single .section-article .headline {
   padding: 5em 0 3em;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .headline {
      padding: 3em 0 1.5em;
   }
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .headline__title {
      font-size: 1.5rem;
   }
}
.page--works.single .section-article .headline__subtitle {
   font-size: 1.0rem;
   font-family: urw-din, sans-serif;
}
.page--works.single .section-article .headline .cat {
   margin-top: 2em;
   font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .headline .cat {
      font-size: 1.0rem;
   }
}
.page--works.single .section-article .headline .cat a {
   border: 1px solid #111;
}
.page--works.single .section-article .content {
   margin-top: 60px;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .content {
      margin: 25px 0 0;
   }
}
.page--works.single .section-article .content .summary {
   padding: 0 40px;
   text-align: left;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .content .summary {
      padding: 0 20px;
   }
}
.page--works.single .section-article .content .data {
   margin-top: 3em;
   letter-spacing: normal;
   font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-article .content .thumbs {
      display: none;
   }
}
.page--works.single .section-article .content .thumbs li {
   padding: 1px;
}
.page--works.single .section-article .content .thumbs img {
   width: 100%;
}
.page--works.single .section-article .content .thumbs .active {
   position: relative;
}
.page--works.single .section-article .content .thumbs .active:before {
   content: ' ';
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.5);
   background-image: url(../img/works/icon-cross.png);
   background-position: 50% 50%;
   background-repeat: no-repeat;
}
.page--works.single .section-archive {
   margin-top: 150px;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-archive {
      margin-top: 50px;
   }
}
.page--works.single .section-archive .headline {
   padding: 2em 0;
}
.page--works.single .section-archive .headline__title {
   font-family: urw-din, sans-serif;
   font-weight: bold;
   font-size: 2.4rem;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-archive .headline__title {
      font-size: 1.6rem;
   }
}
.page--works.single .section-archive .more {
   font-size: 2.0rem;
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-archive .more {
      font-size: 1.4rem;
   }
}
@media only screen and (max-width: 767px) {
   .page--works.single .section-archive .entry:nth-child(n+3) {
      display: none;
   }
}
a.anchor {
   display: block;
   padding-top: 173px;
   margin-top: -173px;
}
@media only screen and (max-width: 767px) {
   a.anchor {
      display: block;
      padding-top: 82px;
      margin-top: -82px;
   }
}
