@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */ }

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit; }

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0; }

/* # =================================================================
     # General elements
     # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0; }

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */ }

/*
  * Correct `block` display not defined for any HTML5 element in IE 8/9
  * Correct `block` display not defined for `details` or `summary` in IE 10/11
  * and Firefox
  * Correct `block` display not defined for `main` in IE 11
  */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block; }

summary {
  display: list-item;
  /* Add the correct display in all browsers */ }

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */ }

[hidden],
template {
  display: none;
  /* Add the correct display in IE */ }

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */ }

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
  text-decoration: none; }

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
  opacity: 0.7;
  text-decoration: none; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */ }

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */ }

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */ }

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000; }

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0; }

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer; }

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default; }

[type="number"] {
  width: auto;
  /* Firefox 36+ */ }

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */ }

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */ }

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */ }

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */ }

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */ }

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ }

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0; }

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText; }

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */ }

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */ }

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit; }

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */ }

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */ }

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */ }

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */ }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */ }

[type="search"] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */ }

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
  width: 100%;
  height: auto; }

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline; }

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */ }

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */ }

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important; } }

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress; }

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer; }

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default; }

/* # =================================================================
     # Selection
     # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none; }

/*--@mixin 定義 --*/
.pc {
  display: block; }
  @media (max-width: 1024px) {
    .pc {
      display: none; } }
  @media (max-width: 767px) {
    .pc {
      display: none; } }
  @media (max-width: 480px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media (max-width: 1024px) {
    .sp {
      display: block; } }
  @media (max-width: 767px) {
    .sp {
      display: block; } }
  @media (max-width: 480px) {
    .sp {
      display: block; } }

.width_1350_visible {
  display: block; }
  @media screen and (max-width: 1349px) {
    .width_1350_visible {
      display: none; } }
  @media (max-width: 1024px) {
    .width_1350_visible {
      display: none; } }
  @media (max-width: 767px) {
    .width_1350_visible {
      display: none; } }
  @media (max-width: 480px) {
    .width_1350_visible {
      display: none; } }

.width_1350_invisible {
  display: none; }
  @media screen and (max-width: 1349px) {
    .width_1350_invisible {
      display: block; } }
  @media (max-width: 1024px) {
    .width_1350_invisible {
      display: block; } }
  @media (max-width: 767px) {
    .width_1350_invisible {
      display: block; } }
  @media (max-width: 480px) {
    .width_1350_invisible {
      display: block; } }

.width_1200_visible {
  display: block; }
  @media screen and (max-width: 1200px) {
    .width_1200_visible {
      display: none; } }
  @media (max-width: 1024px) {
    .width_1200_visible {
      display: none; } }
  @media (max-width: 767px) {
    .width_1200_visible {
      display: none; } }
  @media (max-width: 480px) {
    .width_1200_visible {
      display: none; } }

.width_1200_invisible {
  display: none; }
  @media screen and (max-width: 1200px) {
    .width_1200_invisible {
      display: block; } }
  @media (max-width: 1024px) {
    .width_1200_invisible {
      display: block; } }
  @media (max-width: 767px) {
    .width_1200_invisible {
      display: block; } }
  @media (max-width: 480px) {
    .width_1200_invisible {
      display: block; } }

.tab_invisible {
  display: block; }
  @media (max-width: 1024px) {
    .tab_invisible {
      display: block; } }
  @media (max-width: 767px) {
    .tab_invisible {
      display: none; } }
  @media (max-width: 480px) {
    .tab_invisible {
      display: none; } }

.tab_visible {
  display: none; }
  @media (max-width: 1024px) {
    .tab_visible {
      display: none; } }
  @media (max-width: 767px) {
    .tab_visible {
      display: block; } }
  @media (max-width: 480px) {
    .tab_visible {
      display: block; } }

.tab_only {
  display: none; }
  @media (max-width: 1024px) {
    .tab_only {
      display: block; } }
  @media (max-width: 767px) {
    .tab_only {
      display: none; } }
  @media (max-width: 480px) {
    .tab_only {
      display: none; } }

.sp_visible {
  display: none; }
  @media (max-width: 1024px) {
    .sp_visible {
      display: none; } }
  @media (max-width: 767px) {
    .sp_visible {
      display: none; } }
  @media (max-width: 480px) {
    .sp_visible {
      display: block; } }

li {
  list-style: none; }

.center {
  text-align: center; }

.white {
  color: #fff; }

.blue {
  color: #2C479E; }

.blue_bg {
  background: #2C479E; }

.GoogleMap {
  height: 0;
  overflow: hidden;
  padding-bottom: 40%;
  position: relative; }

.GoogleMap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%; }

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

body {
  overflow: hidden !important; }

#wrap {
  margin-top: 80px; }
  @media screen and (max-width: 1200px) {
    #wrap {
      margin-top: 50px; } }

/*--TOP アニメーション左から右へ --*/
.effect-fade {
  opacity: 0;
  -webkit-transform: translate(0, 45px);
          transform: translate(0, 45px);
  -webkit-transform: translate(-45px, 0);
          transform: translate(-45px, 0);
  -webkit-transition: all .3s;
  transition: all .3s; }

.effect-fade.effect-scroll {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0); }

.title_effect_fade {
  opacity: 1 !important;
  transition: opacity 1.5s, transform 1.5s, -webkit-transform 1.5s; }

/*-- header --*/
header {
  height: 80px;
  width: 100%;
  position: fixed;
  z-index: 1000;
  background: #fff; }
  @media screen and (max-width: 1200px) {
    header {
      height: 50px;
      background: #fff; } }
  header .header_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    header .header_flex .img_logo {
      margin: 15px 0 0 32px; }
      @media screen and (max-width: 1200px) {
        header .header_flex .img_logo {
          margin-left: 16px;
          margin-top: 10px; } }
      header .header_flex .img_logo img {
        width: 140px;
        height: 51px; }
        @media screen and (max-width: 1200px) {
          header .header_flex .img_logo img {
            width: 86px;
            height: 31px; } }
  header .tel_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 12px 70px 0 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    header .tel_flex div:first-of-type {
      padding: 6px 11px; }
      header .tel_flex div:first-of-type span {
        font-size: 18px;
        line-height: 27px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 400;
        color: #fff; }
    header .tel_flex div:last-of-type {
      background: #fff;
      padding: 0px 11px; }
      header .tel_flex div:last-of-type span {
        font-size: 18px;
        line-height: 27px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 400;
        font-size: 27px;
        line-height: 40px; }
  header .menu_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    header .menu_flex li {
      margin-left: 30px; }
      @media screen and (max-width: 1350px) {
        header .menu_flex li {
          margin-left: 10px; } }
      header .menu_flex li a {
        color: #333333;
        cursor: pointer; }
        header .menu_flex li a span {
          font-size: 14px;
          line-height: 20px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 400; }
      header .menu_flex li:nth-of-type(3) span, header .menu_flex li:nth-of-type(4) span {
        position: relative;
        z-index: 1; }
        header .menu_flex li:nth-of-type(3) span:before, header .menu_flex li:nth-of-type(4) span:before {
          position: absolute;
          background: url(../img/TOP/menu_down_arrow.svg) no-repeat;
          background-size: cover;
          content: "";
          bottom: -10px;
          left: 0;
          right: 0;
          margin: auto;
          width: 8px;
          height: 4px; }
      header .menu_flex li:nth-of-type(3) span.rotate:before, header .menu_flex li:nth-of-type(4) span.rotate:before {
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      header .menu_flex li:nth-of-type(6) {
        position: relative;
        margin-right: 20px; }
        header .menu_flex li:nth-of-type(6):before {
          position: absolute;
          background: url(../img/TOP/external-link.svg) no-repeat;
          background-size: cover;
          content: "";
          top: 17%;
          right: -23px;
          width: 14px;
          height: 14px; }
        header .menu_flex li:nth-of-type(6):hover:before {
          opacity: 0.7; }
      header .menu_flex li:last-of-type {
        background: #333333;
        width: 180px;
        height: 80px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        padding-left: 16px; }
        header .menu_flex li:last-of-type span {
          color: #fff; }
        header .menu_flex li:last-of-type:before {
          position: absolute;
          background: url(../img/TOP/mail_icon.svg) no-repeat;
          background-size: cover;
          content: "";
          top: 40%;
          left: 24px;
          width: 24px;
          height: 20px; }
          header .menu_flex li:last-of-type:before:before:hover {
            opacity: 0.7; }
        header .menu_flex li:last-of-type:hover:before {
          opacity: 0.7; }
        header .menu_flex li:last-of-type a {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          width: 100%;
          height: 100%; }
    header .menu_flex .dropdown {
      position: relative;
      z-index: 1; }
      header .menu_flex .dropdown a:hover {
        opacity: 1; }
      header .menu_flex .dropdown:hover ul {
        display: block; }
    header .menu_flex .dropdown_menu {
      display: none;
      width: 250px;
      width: 200px;
      background: #fff;
      position: absolute;
      top: 50px;
      left: -45px;
      left: -30px;
      top: 0;
      padding-top: 50px;
      z-index: 0; }
    header .menu_flex .dropdown_menu li {
      width: 250px;
      width: 200px;
      height: 40px;
      list-style-type: none;
      border: none;
      margin-left: 0;
      margin: 0 auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      header .menu_flex .dropdown_menu li:last-of-type {
        position: static;
        background: #fff;
        color: #333333;
        padding-left: 0;
        display: block;
        margin-right: 0;
        margin-left: 0; }
    header .menu_flex .dropdown_menu li a {
      color: #333333;
      font-size: 14px;
      line-height: 20px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.08em; }
      header .menu_flex .dropdown_menu li a:last-of-type {
        color: #333333; }
    header .menu_flex .dropdown_menu.open {
      display: block; }

.drawer-hamburger {
  width: 24px; }

.drawer--top .drawer-hamburger, .drawer--top.drawer-open .drawer-hamburger {
  right: 0;
  background-color: #333333; }

.drawer-hamburger {
  padding: 15px 9px 23px !important; }

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  background-color: #fff !important;
  height: 1px !important;
  width: 24px !important; }

.drawer-hamburger-icon {
  margin: 0 auto;
  margin-top: 11px !important; }

.drawer-hamburger:hover {
  cursor: pointer;
  background-color: #333333 !important;
  opacity: 0.9; }

.drawer-hamburger-icon:before {
  top: -8px !important; }

.drawer-hamburger-icon:after {
  top: 8px !important; }

.drawer-open header .header_flex .drawer-hamburger-icon {
  background-color: transparent !important; }

.drawer-open .drawer-hamburger-icon {
  margin-top: 0 !important; }

.drawer-open .drawer-hamburger-icon:after,
.drawer-open .drawer-hamburger-icon:before {
  top: 7px !important; }

.drawer--top.drawer-open .drawer-nav {
  height: 100vh;
  background: #333333; }

.img_logo_nav {
  height: 50px;
  padding-top: 10px;
  padding-left: 16px; }
  .img_logo_nav img {
    width: 86px;
    height: 31px; }

.drawer-menu {
  padding-top: 0px !important;
  background: #333333; }
  @media (max-width: 1024px) {
    .drawer-menu {
      margin-top: 30px !important; } }
  .drawer-menu li:nth-of-type(2), .drawer-menu li:nth-of-type(3) {
    position: relative; }
  .drawer-menu .drawer-menu-item {
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    padding: 12px 27px 12px 27px; }
    .drawer-menu .drawer-menu-item:hover {
      text-decoration: none;
      color: #fff;
      opacity: 0.7; }
  .drawer-menu .toggle {
    position: relative; }
    .drawer-menu .toggle:after {
      position: absolute;
      background: url(../img/TOP/drop_toggle_btn.svg) no-repeat;
      background-size: cover;
      width: 28px;
      height: 28px;
      content: "";
      right: 27px;
      top: 18%; }
  .drawer-menu .open_child:after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .drawer-menu ul.child {
    display: none; }
    .drawer-menu ul.child li {
      padding-left: 48px;
      padding-bottom: 12px; }
      .drawer-menu ul.child li a {
        font-size: 12px;
        line-height: 18px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 400;
        color: #fff; }
  .drawer-menu .recruit_menu {
    position: relative; }
    .drawer-menu .recruit_menu:after {
      position: absolute;
      background: url(../img/TOP/external_white.svg) no-repeat;
      background-size: cover;
      top: 38%;
      width: 12px;
      height: 12px;
      left: 96px;
      content: ""; }
  .drawer-menu .btn, .drawer-menu .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .drawer-menu input[type="submit"], .drawer-menu .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .drawer-menu input[type="submit"] {
    width: 66.667%;
    height: 47px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #2C479E;
    position: relative;
    margin-top: 30px; }
    .drawer-menu .btn:before, .drawer-menu .contact_area .form_area .back_btn input[type="submit"]:before, .contact_area .form_area .back_btn .drawer-menu input[type="submit"]:before, .drawer-menu .contact_area .form_area .submit_btn input[type="submit"]:before, .contact_area .form_area .submit_btn .drawer-menu input[type="submit"]:before {
      position: absolute;
      background: url(../img/mail.svg) no-repeat;
      background-size: cover;
      content: "";
      width: 18px;
      height: 15px;
      left: 20px; }
    .drawer-menu .btn a, .drawer-menu .contact_area .form_area .back_btn input[type="submit"] a, .contact_area .form_area .back_btn .drawer-menu input[type="submit"] a, .drawer-menu .contact_area .form_area .submit_btn input[type="submit"] a, .contact_area .form_area .submit_btn .drawer-menu input[type="submit"] a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 100%;
      height: 100%; }
      .drawer-menu .btn a span, .drawer-menu .contact_area .form_area .back_btn input[type="submit"] a span, .contact_area .form_area .back_btn .drawer-menu input[type="submit"] a span, .drawer-menu .contact_area .form_area .submit_btn input[type="submit"] a span, .contact_area .form_area .submit_btn .drawer-menu input[type="submit"] a span {
        font-size: 18px;
        line-height: 35px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 500; }

.transform {
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); }
  .transform .menu_flex li:last-of-type a {
    color: #fff; }
  .transform .menu_flex li a {
    color: #333333; }

/*-- 共通 --*/
.inner {
  max-width: 1080px;
  width: 85.3%;
  margin: 0 auto; }

.inner_sp_img {
  max-width: 1000px;
  width: 80%;
  margin: 0 auto; }

.inner_sp_ttl {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto; }

.inner_1280 {
  max-width: 1280px;
  width: 85.3%;
  margin: 0 auto; }

.title .ttl_ja {
  font-size: 16px;
  line-height: 28px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em; }
  @media (max-width: 480px) {
    .title .ttl_ja {
      font-size: 14px;
      line-height: 28px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400; } }

.title .ttl_en {
  font-size: 60px;
  line-height: 70px;
  font-family: roboto, sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-style: italic; }
  @media (max-width: 1024px) {
    .title .ttl_en {
      font-size: 48px; } }
  @media (max-width: 480px) {
    .title .ttl_en {
      font-size: 40px;
      line-height: 70px;
      font-family: roboto, sans-serif;
      font-weight: 700; } }

.title .in span {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translate(200px, -100px) scale(2);
          transform: translate(200px, -100px) scale(2);
  -webkit-animation: ballDrop .3s forwards;
          animation: ballDrop .3s forwards; }

@-webkit-keyframes ballDrop {
  60% {
    -webkit-transform: translate(0, 20px) rotate(-180deg) scale(0.5);
            transform: translate(0, 20px) rotate(-180deg) scale(0.5); }
  100% {
    -webkit-transform: translate(0) rotate(0deg) scale(1);
            transform: translate(0) rotate(0deg) scale(1);
    opacity: 1; } }

@keyframes ballDrop {
  60% {
    -webkit-transform: translate(0, 20px) rotate(-180deg) scale(0.5);
            transform: translate(0, 20px) rotate(-180deg) scale(0.5); }
  100% {
    -webkit-transform: translate(0) rotate(0deg) scale(1);
            transform: translate(0) rotate(0deg) scale(1);
    opacity: 1; } }

.title .in span:nth-of-type(2) {
  -webkit-animation-delay: .05s;
          animation-delay: .05s; }

.title .in span:nth-of-type(3) {
  -webkit-animation-delay: .1s;
          animation-delay: .1s; }

.title .in span:nth-of-type(4) {
  -webkit-animation-delay: .15s;
          animation-delay: .15s; }

.title .in span:nth-of-type(5) {
  -webkit-animation-delay: .2s;
          animation-delay: .2s; }

.title .in span:nth-of-type(6) {
  -webkit-animation-delay: .25s;
          animation-delay: .25s; }

.title .in span:nth-of-type(7) {
  -webkit-animation-delay: .3s;
          animation-delay: .3s; }

.title .in span:nth-of-type(8) {
  -webkit-animation-delay: .35s;
          animation-delay: .35s; }

.title .in span:nth-of-type(9) {
  -webkit-animation-delay: .4s;
          animation-delay: .4s; }

.title .in span:nth-of-type(10) {
  -webkit-animation-delay: .45s;
          animation-delay: .45s; }

.title .in span:nth-of-type(11) {
  -webkit-animation-delay: .5s;
          animation-delay: .5s; }

.title .in span:nth-of-type(12) {
  -webkit-animation-delay: .55s;
          animation-delay: .55s; }

.sec_title {
  font-size: 24px;
  line-height: 24px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-bottom: 40px;
  padding-top: 8px; }
  @media (max-width: 767px) {
    .sec_title {
      font-size: 18px;
      line-height: 31.5px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 700;
      padding-bottom: 20px; } }

.content, .detail table tr td, .contact_area .form_area .form_flex {
  font-size: 14px;
  line-height: 28px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  letter-spacing: 0.04em; }
  @media (max-width: 767px) {
    .content, .detail table tr td, .contact_area .form_area .form_flex {
      font-size: 14px;
      line-height: 30px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 300; } }

.catch {
  font-size: 30px;
  line-height: 52px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em; }
  @media (max-width: 1024px) {
    .catch {
      font-size: 28px;
      line-height: 1.6em;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400; } }
  @media (max-width: 767px) {
    .catch {
      font-size: 20px;
      line-height: 32px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400; } }

.btn, .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .submit_btn input[type="submit"] {
  width: 240px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  border: 1px solid #333333;
  -webkit-transition: ease .2s;
  transition: ease .2s; }
  @media (max-width: 767px) {
    .btn, .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .submit_btn input[type="submit"] {
      width: 200px;
      height: 40px; } }
  .btn:after, .contact_area .form_area .back_btn input[type="submit"]:after, .contact_area .form_area .submit_btn input[type="submit"]:after {
    position: absolute;
    right: 30px;
    top: 40%;
    content: "";
    background: url(../img/TOP/btn_arrow_right.svg) no-repeat;
    width: 6px;
    height: 11px; }
  .btn a, .contact_area .form_area .back_btn input[type="submit"] a, .contact_area .form_area .submit_btn input[type="submit"] a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%; }
    .btn a:hover span, .contact_area .form_area .back_btn input[type="submit"] a:hover span, .contact_area .form_area .submit_btn input[type="submit"] a:hover span {
      color: #fff; }
    .btn a span, .contact_area .form_area .back_btn input[type="submit"] a span, .contact_area .form_area .submit_btn input[type="submit"] a span {
      font-size: 14px;
      line-height: 19px;
      font-family: roboto, sans-serif;
      font-weight: 500;
      letter-spacing: 0.08em;
      font-style: italic;
      color: #333333;
      position: relative;
      z-index: 3; }
      @media (max-width: 767px) {
        .btn a span, .contact_area .form_area .back_btn input[type="submit"] a span, .contact_area .form_area .submit_btn input[type="submit"] a span {
          font-size: 14px;
          line-height: 19px;
          font-family: roboto, sans-serif;
          font-weight: 500;
          letter-spacing: 0.08em;
          font-style: italic; } }
  .btn:hover a span, .contact_area .form_area .back_btn input:hover[type="submit"] a span, .contact_area .form_area .submit_btn input:hover[type="submit"] a span {
    color: #fff; }
  .btn:hover:after, .contact_area .form_area .back_btn input[type="submit"]:hover:after, .contact_area .form_area .submit_btn input[type="submit"]:hover:after {
    position: absolute;
    right: 30px;
    top: 40%;
    content: "";
    background: url(../img/TOP/white_right_arrow.svg) no-repeat;
    width: 6px;
    height: 11px; }

.bgleft:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #333;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s; }

.bgleft:hover:before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1); }

/*--  fv --*/
.fixed_title {
  position: relative;
  margin-top: -2px; }
  .fixed_title .message {
    position: fixed;
    top: 35%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 3; }
    @media screen and (max-width: 1920px) {
      .fixed_title .message {
        top: 40%; } }
    @media (max-width: 1024px) {
      .fixed_title .message {
        width: 78.1vw;
        top: 40%;
        top: calc(0.199 * 100vw + 59.5px);
        top: calc(0.656 * 100vw + 58px); } }
    @media (max-width: 767px) {
      .fixed_title .message {
        top: 40%; } }
    @media (max-width: 480px) {
      .fixed_title .message {
        top: calc(0.662 * 100vw + 66.342px); } }
    .fixed_title .message p {
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 1;
      -webkit-transition: opacity .3s;
      transition: opacity .3s;
      overflow: hidden;
      padding-bottom: 20px; }
      @media (max-width: 767px) {
        .fixed_title .message p {
          padding-bottom: 10px; } }
      .fixed_title .message p img {
        max-width: 1126px;
        margin: 0 auto; }
  .fixed_title .is-top {
    z-index: 3;
    color: #fff; }
    .fixed_title .is-top .black_img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto;
      opacity: 0; }
    .fixed_title .is-top .opacity {
      opacity: 1; }
    .fixed_title .is-top .opacity_none {
      opacity: 0; }
    .fixed_title .is-top .center {
      opacity: 0;
      -webkit-transition: opacity 3s;
      transition: opacity 3s; }
    .fixed_title .is-top .view {
      opacity: 1; }
  .fixed_title .is-bottom {
    z-index: 1;
    opacity: 0; }
    .fixed_title .is-bottom .black_img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto;
      opacity: 0; }
    .fixed_title .is-bottom .opacity {
      opacity: 1; }
    .fixed_title .is-bottom .opacity_none {
      opacity: 0; }
    .fixed_title .is-bottom p {
      overflow: hidden; }
  .fixed_title .is-top.is-absolute {
    opacity: 0;
    visibility: hidden;
    z-index: -10; }
  .fixed_title .is-bottom.is-absolute {
    position: absolute;
    top: 96vh; }
  .fixed_title .opacity {
    opacity: 1; }
  .fixed_title .opacity_none {
    opacity: 0; }

#fv {
  background: url(../img/TOP/fv_pc@2x.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
  width: 100vw;
  height: 730px;
  z-index: 2; }
  @media (max-width: 1024px) {
    #fv {
      padding-top: 50px;
      background: url(../img/TOP/fv_tablet.jpg) no-repeat top center;
      background-size: cover;
      height: calc(1.336 * 100vw + 2px); } }
  @media screen and (max-width: 767px) {
    #fv {
      background: url(../img/TOP/fv_sp.jpg) no-repeat top center;
      background-size: cover;
      height: calc(1.642 * 100vw);
      background-size: cover;
      width: 100%; } }
  #fv .message {
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 3; }
    @media (max-width: 1024px) {
      #fv .message {
        width: 78.1vw;
        top: 22%;
        top: calc(0.199 * 100vw + 59.5px); } }
    @media (max-width: 767px) {
      #fv .message {
        top: 60%; } }
    @media (max-width: 480px) {
      #fv .message {
        top: 22%; } }
    #fv .message p img {
      max-width: 1126px; }
  #fv .scrolldown {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 33px;
    margin: auto;
    text-align: center; }
    @media (max-width: 480px) {
      #fv .scrolldown {
        bottom: calc(0.188 * 100vw - 50px); } }
    #fv .scrolldown p {
      font-size: 20px;
      line-height: 32px;
      font-family: roboto, sans-serif;
      font-weight: 300;
      letter-spacing: 0.08em;
      font-style: italic;
      color: #fff; }
    #fv .scrolldown img {
      width: 16px;
      height: 8px; }

/*-- about --*/
.about {
  padding-top: 373px;
  padding-bottom: 160px;
  position: relative; }
  @media (max-width: 1024px) {
    .about {
      padding-top: 275px;
      padding-top: calc(0.255 * 100vw + 133.98px);
      padding-top: calc(0.137 * 100vw + 255px);
      padding-bottom: 64px; } }
  @media (max-width: 767px) {
    .about {
      padding-top: 410px;
      padding-top: calc(0.46 * 100vw + 56.774px);
      padding-bottom: 64px; } }
  @media (max-width: 480px) {
    .about {
      padding-top: 275px;
      padding-top: calc(0.375 * 100vw + 135px); } }
  .about .message {
    padding-bottom: 45px;
    position: absolute;
    top: 183px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    opacity: 0; }
    @media (max-width: 1024px) {
      .about .message {
        width: 78.1vw;
        top: 40%;
        top: 38%; } }
    @media (max-width: 767px) {
      .about .message {
        top: 15%; } }
    @media (max-width: 480px) {
      .about .message {
        top: 20%; } }
    .about .message img {
      max-width: 1126px; }
  .about .opacity {
    opacity: 1; }
  .about p:first-of-type {
    font-size: 32px;
    line-height: 46px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 300;
    letter-spacing: 0.12em; }
    @media (max-width: 767px) {
      .about p:first-of-type {
        font-size: 20px;
        line-height: 29px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 300;
        letter-spacing: 0.1em; } }
  .about p:last-of-type {
    font-size: 16px;
    line-height: 30px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
    padding-top: 17px; }
    @media (max-width: 1024px) {
      .about p:last-of-type {
        width: 85.3vw;
        width: 78.1vw;
        margin: 0 auto; } }
    @media (max-width: 767px) {
      .about p:last-of-type {
        font-size: 16px;
        line-height: 24px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 300;
        letter-spacing: 0.04em;
        text-align: left; } }
    @media (max-width: 480px) {
      .about p:last-of-type {
        font-size: 15px;
        line-height: 24px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 300; } }

/*-- PHILOSOPHY --*/
.philosophy {
  position: relative;
  padding-bottom: 100px; }
  @media (max-width: 767px) {
    .philosophy {
      padding-bottom: 72px; } }
  .philosophy .ttl_en {
    position: relative; }
    .philosophy .ttl_en:before {
      position: absolute;
      border-bottom: 1px solid #333333;
      content: "";
      width: 140px;
      height: 1px;
      top: 50%;
      left: -180px;
      width: 480px;
      left: -520px; }
      @media (max-width: 1024px) {
        .philosophy .ttl_en:before {
          width: 92.8vw;
          height: 1px;
          top: inherit;
          bottom: 0;
          left: -28px; } }
  .philosophy .catch {
    padding-top: 24px;
    white-space: nowrap; }
    @media (max-width: 767px) {
      .philosophy .catch {
        padding-top: 32px; } }
  .philosophy .content, .philosophy .detail table tr td, .detail table tr .philosophy td, .philosophy .contact_area .form_area .form_flex, .contact_area .form_area .philosophy .form_flex {
    padding-top: 34px;
    padding-bottom: 40px;
    width: 520px; }
    @media screen and (max-width: 1349px) {
      .philosophy .content, .philosophy .detail table tr td, .detail table tr .philosophy td, .philosophy .contact_area .form_area .form_flex, .contact_area .form_area .philosophy .form_flex {
        width: 100%; } }
    @media (max-width: 767px) {
      .philosophy .content, .philosophy .detail table tr td, .detail table tr .philosophy td, .philosophy .contact_area .form_area .form_flex, .contact_area .form_area .philosophy .form_flex {
        width: 85.3vw;
        padding-top: 24px;
        padding-bottom: 32px; } }
    @media (max-width: 480px) {
      .philosophy .content, .philosophy .detail table tr td, .detail table tr .philosophy td, .philosophy .contact_area .form_area .form_flex, .contact_area .form_area .philosophy .form_flex {
        line-height: 1.6rem; } }
  .philosophy .right_img {
    position: absolute;
    top: 0;
    right: 0;
    right: calc(0.499 * 100vw - 717.966px); }
    @media screen and (max-width: 1440px) {
      .philosophy .right_img {
        right: 0; } }
    @media screen and (max-width: 1349px) {
      .philosophy .right_img {
        position: static;
        margin: 0 auto;
        background: url(../img/TOP/phillosophy_pic.jpg) no-repeat center center;
        background-size: cover;
        width: 100%;
        height: 0;
        padding-bottom: 50%;
        margin-bottom: 32px; } }
    @media (max-width: 767px) {
      .philosophy .right_img {
        width: 100%;
        height: 0;
        padding-bottom: 66.66666%; } }

/*-- SERVICE --*/
@media (max-width: 1024px) {
  .service {
    padding-bottom: 32px; } }

.service .title .ttl_en {
  position: relative; }
  @media (max-width: 1024px) {
    .service .title .ttl_en {
      padding-bottom: 16px; } }
  .service .title .ttl_en:before {
    position: absolute;
    border-bottom: 1px solid #333333;
    content: "";
    width: 560px;
    height: 1px;
    top: 50%;
    left: 0px;
    width: calc(0.488 * 100vw - 142px); }
    @media (max-width: 1024px) {
      .service .title .ttl_en:before {
        width: 23.2vw; } }
  .service .title .ttl_en:after {
    position: absolute;
    border-bottom: 1px solid #333333;
    content: "";
    width: 560px;
    height: 1px;
    top: 50%;
    right: 0px;
    width: calc(0.488 * 100vw - 142px); }
    @media (max-width: 1024px) {
      .service .title .ttl_en:after {
        width: 23.2vw; } }

.service .service_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 32px; }
  @media (max-width: 1024px) {
    .service .service_flex {
      display: block;
      margin: 0 auto; } }
  .service .service_flex .box {
    width: 50%;
    overflow: hidden;
    position: relative; }
    @media (max-width: 1024px) {
      .service .service_flex .box {
        width: 85.3vw;
        margin: 0 auto; } }
    .service .service_flex .box a {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      opacity: 1; }
    .service .service_flex .box .bussiness {
      background: url(../img/TOP/bussiness_bg.jpg) no-repeat;
      background-size: cover;
      width: 50vw;
      height: calc(0.25 * 100vw);
      -webkit-transition: all 200ms;
      transition: all 200ms; }
      @media (max-width: 1024px) {
        .service .service_flex .box .bussiness {
          width: 68.3vw;
          height: 40vw; } }
      @media (max-width: 480px) {
        .service .service_flex .box .bussiness {
          width: 85.3vw;
          height: 50vw; } }
    .service .service_flex .box .life {
      background: url(../img/TOP/life_bg.jpg) no-repeat;
      background-size: cover;
      width: 50vw;
      height: calc(0.25 * 100vw);
      -webkit-transition: all 200ms;
      transition: all 200ms; }
      @media (max-width: 1024px) {
        .service .service_flex .box .life {
          width: 68.3vw;
          height: 40vw; } }
      @media (max-width: 480px) {
        .service .service_flex .box .life {
          width: 85.3vw;
          height: 50vw; } }
    .service .service_flex .box .bussiness:hover,
    .service .service_flex .box .life:hover {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }
    .service .service_flex .box .service_cct {
      position: absolute;
      top: 25%;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 1; }
      @media (max-width: 480px) {
        .service .service_flex .box .service_cct {
          top: 15%; } }
    .service .service_flex .box p {
      color: #fff;
      font-size: 40px;
      line-height: 47px;
      font-family: roboto, sans-serif;
      font-weight: 500;
      letter-spacing: 0.04em;
      font-style: italic; }
      @media (max-width: 767px) {
        .service .service_flex .box p {
          font-size: 24px;
          line-height: 28px;
          font-family: roboto, sans-serif;
          font-weight: 500; } }
      .service .service_flex .box p span {
        font-style: normal; }
    .service .service_flex .box .btn, .service .service_flex .box .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .service .service_flex .box input[type="submit"], .service .service_flex .box .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .service .service_flex .box input[type="submit"] {
      color: #fff;
      border-color: #fff;
      margin: 0 auto;
      width: 200px;
      height: 40px;
      margin-top: 24px; }
      @media (max-width: 480px) {
        .service .service_flex .box .btn, .service .service_flex .box .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .service .service_flex .box input[type="submit"], .service .service_flex .box .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .service .service_flex .box input[type="submit"] {
          width: 160px;
          height: 28px;
          margin-top: 16px; } }
      .service .service_flex .box .btn:after, .service .service_flex .box .contact_area .form_area .back_btn input[type="submit"]:after, .contact_area .form_area .back_btn .service .service_flex .box input[type="submit"]:after, .service .service_flex .box .contact_area .form_area .submit_btn input[type="submit"]:after, .contact_area .form_area .submit_btn .service .service_flex .box input[type="submit"]:after {
        background: url(../img/TOP/white_right_arrow.svg) no-repeat; }
      .service .service_flex .box .btn span, .service .service_flex .box .contact_area .form_area .back_btn input[type="submit"] span, .contact_area .form_area .back_btn .service .service_flex .box input[type="submit"] span, .service .service_flex .box .contact_area .form_area .submit_btn input[type="submit"] span, .contact_area .form_area .submit_btn .service .service_flex .box input[type="submit"] span {
        color: #fff;
        font-size: 14px;
        line-height: 19px;
        font-family: roboto, sans-serif;
        font-weight: 500;
        letter-spacing: 0.08em;
        font-style: italic; }
        @media (max-width: 480px) {
          .service .service_flex .box .btn span, .service .service_flex .box .contact_area .form_area .back_btn input[type="submit"] span, .contact_area .form_area .back_btn .service .service_flex .box input[type="submit"] span, .service .service_flex .box .contact_area .form_area .submit_btn input[type="submit"] span, .contact_area .form_area .submit_btn .service .service_flex .box input[type="submit"] span {
            font-size: 12px;
            line-height: 16px;
            font-family: roboto, sans-serif;
            font-weight: 500; } }

/*-- REASON --*/
.reason {
  background: #F5F5F5;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .reason {
      padding: 48px 0; } }
  .reason .title .ttl_en {
    position: relative;
    padding-bottom: 16px; }
    .reason .title .ttl_en:after {
      position: absolute;
      border-bottom: 2px solid #333333;
      width: 60px;
      height: 2px;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      content: ""; }
      @media (max-width: 480px) {
        .reason .title .ttl_en:after {
          width: 32px; } }
  .reason .reason_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 40px; }
    @media (max-width: 767px) {
      .reason .reason_flex {
        margin-top: 24px; } }
    .reason .reason_flex .white_box {
      background: #fff;
      width: 520px;
      height: 200px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
              box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); }
      @media (max-width: 1024px) {
        .reason .reason_flex .white_box {
          width: 40vw; } }
      @media (max-width: 767px) {
        .reason .reason_flex .white_box {
          height: 180px; } }
      .reason .reason_flex .white_box:last-of-type {
        margin-left: 40px; }
        @media (max-width: 1024px) {
          .reason .reason_flex .white_box:last-of-type {
            margin-left: 5.333vw; } }
      .reason .reason_flex .white_box img {
        width: 90px;
        height: 80px; }
        @media (max-width: 767px) {
          .reason .reason_flex .white_box img {
            width: 72px;
            height: 64px; } }
      .reason .reason_flex .white_box p {
        font-size: 18px;
        line-height: 40px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 700;
        letter-spacing: 0.08em; }
        @media (max-width: 1024px) {
          .reason .reason_flex .white_box p {
            line-height: 1.6rem;
            padding: 0 20px; } }
        @media (max-width: 767px) {
          .reason .reason_flex .white_box p {
            font-size: 16px;
            line-height: 24px;
            font-family: noto-sans-cjk-jp, sans-serif;
            font-weight: 700;
            font-size: 13px;
            line-height: 20px;
            font-family: noto-sans-cjk-jp, sans-serif;
            font-weight: 700; } }
      @media (max-width: 767px) {
        .reason .reason_flex .white_box p.last {
          font-size: 13px;
          line-height: 20px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 700; } }
  .reason .btn, .reason .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .reason input[type="submit"], .reason .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .reason input[type="submit"] {
    margin: 0 auto;
    margin-top: 40px;
    z-index: 0; }
    @media (max-width: 767px) {
      .reason .btn, .reason .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .reason input[type="submit"], .reason .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .reason input[type="submit"] {
        margin-top: 32px; } }

/*-- newsblog --*/
.newsblog {
  padding-top: 100px;
  padding-bottom: 95px; }
  @media (max-width: 767px) {
    .newsblog {
      padding: 48px 0; } }
  .newsblog .title_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 30px;
    border-bottom: 1px solid #333333; }
    @media (max-width: 767px) {
      .newsblog .title_flex {
        padding-bottom: 8px; } }
  .newsblog .news_area {
    margin-top: 23px; }
    @media (max-width: 767px) {
      .newsblog .news_area {
        margin-top: 2px; } }
    .newsblog .news_area .posts {
      padding: 30px 0;
      border-bottom: 1px solid #DDDDDD; }
      .newsblog .news_area .posts a {
        color: #333333; }
    .newsblog .news_area .post_flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      @media (max-width: 767px) {
        .newsblog .news_area .post_flex {
          display: block; } }
      .newsblog .news_area .post_flex a {
        color: #333333; }
    .newsblog .news_area .space {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media (max-width: 767px) {
        .newsblog .news_area .space {
          display: block;
          padding-top: 16px; } }
    .newsblog .news_area .date {
      font-size: 18px;
      line-height: 24px;
      font-family: roboto, sans-serif;
      font-weight: 500;
      letter-spacing: 0.04em;
      font-style: italic; }
    .newsblog .news_area .post_ttl {
      font-size: 16px;
      line-height: 24px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 700;
      letter-spacing: 0.04em; }
      @media (max-width: 767px) {
        .newsblog .news_area .post_ttl {
          padding-top: 8px; } }
    .newsblog .news_area .post_content {
      font-size: 14px;
      line-height: 28px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500;
      letter-spacing: 0.04em; }
    .newsblog .news_area .morebtn {
      border: none;
      width: 195px;
      height: 20px; }
      @media (max-width: 767px) {
        .newsblog .news_area .morebtn {
          display: none; } }
      .newsblog .news_area .morebtn a:hover {
        opacity: 0.7; }
        .newsblog .news_area .morebtn a:hover span {
          color: #333333; }
    .newsblog .news_area .btn:after, .newsblog .news_area .contact_area .form_area .back_btn input[type="submit"]:after, .contact_area .form_area .back_btn .newsblog .news_area input[type="submit"]:after, .newsblog .news_area .contact_area .form_area .submit_btn input[type="submit"]:after, .contact_area .form_area .submit_btn .newsblog .news_area input[type="submit"]:after {
      top: 28%; }
      @media (max-width: 1024px) {
        .newsblog .news_area .btn:after, .newsblog .news_area .contact_area .form_area .back_btn input[type="submit"]:after, .contact_area .form_area .back_btn .newsblog .news_area input[type="submit"]:after, .newsblog .news_area .contact_area .form_area .submit_btn input[type="submit"]:after, .contact_area .form_area .submit_btn .newsblog .news_area input[type="submit"]:after {
          right: 10px; } }
    .newsblog .news_area .btn:hover:after, .newsblog .news_area .contact_area .form_area .back_btn input[type="submit"]:hover:after, .contact_area .form_area .back_btn .newsblog .news_area input[type="submit"]:hover:after, .newsblog .news_area .contact_area .form_area .submit_btn input[type="submit"]:hover:after, .contact_area .form_area .submit_btn .newsblog .news_area input[type="submit"]:hover:after {
      background: url(../img/TOP/btn_arrow_right.svg) no-repeat;
      width: 6px;
      height: 11px; }
  @media (max-width: 767px) {
    .newsblog .news_link p {
      color: #333333;
      text-decoration: underline; } }
  @media (max-width: 767px) {
    .newsblog .btn, .newsblog .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .newsblog input[type="submit"], .newsblog .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .newsblog input[type="submit"] {
      margin: 0 auto;
      margin-top: 32px; } }

/*-- recruit --*/
.recruit {
  background: #F5F5F5;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .recruit {
      padding-top: 65px;
      padding-bottom: 48px; } }
  @media screen and (max-width: 1349px) {
    .recruit .left_img {
      padding-bottom: 48px; } }
  @media (max-width: 1024px) {
    .recruit .left_img {
      padding-bottom: 48px; } }
  @media screen and (max-width: 1349px) {
    .recruit .left_img img {
      width: 100%;
      height: calc(0.5 * 100vw);
      -o-object-fit: cover;
         object-fit: cover; } }
  @media (max-width: 767px) {
    .recruit .left_img img {
      height: 100%; } }
  .recruit .recruit_area {
    position: relative; }
    .recruit .recruit_area .left_img {
      position: absolute;
      left: 0;
      left: calc(0.499 * 100vw - 717.966px);
      max-width: 680px; }
      @media screen and (max-width: 1349px) {
        .recruit .recruit_area .left_img {
          position: static;
          max-width: inherit;
          width: 100vw; } }
    .recruit .recruit_area .contents_area {
      width: 520px;
      margin-left: auto; }
      @media screen and (max-width: 1349px) {
        .recruit .recruit_area .contents_area {
          width: 85.3vw;
          margin: 0 auto; } }
      @media (max-width: 1024px) {
        .recruit .recruit_area .contents_area {
          width: 85.3vw;
          margin: 0 auto; } }
      .recruit .recruit_area .contents_area .catch {
        padding: 30px 0; }
        @media (max-width: 767px) {
          .recruit .recruit_area .contents_area .catch {
            padding-top: 32px;
            padding-bottom: 24px;
            white-space: nowrap; } }
      .recruit .recruit_area .contents_area .content, .recruit .recruit_area .contents_area .detail table tr td, .detail table tr .recruit .recruit_area .contents_area td, .recruit .recruit_area .contents_area .contact_area .form_area .form_flex, .contact_area .form_area .recruit .recruit_area .contents_area .form_flex {
        padding-bottom: 46px; }
        @media (max-width: 767px) {
          .recruit .recruit_area .contents_area .content, .recruit .recruit_area .contents_area .detail table tr td, .detail table tr .recruit .recruit_area .contents_area td, .recruit .recruit_area .contents_area .contact_area .form_area .form_flex, .contact_area .form_area .recruit .recruit_area .contents_area .form_flex {
            line-height: 24px; } }
    .recruit .recruit_area .title .ttl_en {
      position: relative; }
      .recruit .recruit_area .title .ttl_en:after {
        position: absolute;
        border-bottom: 1px solid #333333;
        width: 413px;
        height: 1px;
        top: 50%;
        right: -180px;
        content: "";
        width: 645px;
        right: -420px;
        width: 790px;
        right: -566px; }
        @media screen and (max-width: 1349px) {
          .recruit .recruit_area .title .ttl_en:after {
            width: 92.8vw;
            height: 1px;
            top: inherit;
            bottom: 0;
            left: -28px; } }
        @media (max-width: 1024px) {
          .recruit .recruit_area .title .ttl_en:after {
            width: 92.8vw;
            height: 1px;
            top: inherit;
            bottom: 0;
            left: -28px; } }
    .recruit .recruit_area .btn, .recruit .recruit_area .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .recruit .recruit_area input[type="submit"], .recruit .recruit_area .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .recruit .recruit_area input[type="submit"] {
      z-index: 1; }
      @media (max-width: 1024px) {
        .recruit .recruit_area .btn, .recruit .recruit_area .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .recruit .recruit_area input[type="submit"], .recruit .recruit_area .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .recruit .recruit_area input[type="submit"] {
          margin: 0 auto; } }
      .recruit .recruit_area .btn:after, .recruit .recruit_area .contact_area .form_area .back_btn input[type="submit"]:after, .contact_area .form_area .back_btn .recruit .recruit_area input[type="submit"]:after, .recruit .recruit_area .contact_area .form_area .submit_btn input[type="submit"]:after, .contact_area .form_area .submit_btn .recruit .recruit_area input[type="submit"]:after {
        background: url(../img/TOP/external-link.svg) no-repeat;
        background-size: cover;
        width: 14px;
        height: 14px;
        top: 35%;
        content: ""; }
      .recruit .recruit_area .btn:hover:after, .recruit .recruit_area .contact_area .form_area .back_btn input[type="submit"]:hover:after, .contact_area .form_area .back_btn .recruit .recruit_area input[type="submit"]:hover:after, .recruit .recruit_area .contact_area .form_area .submit_btn input[type="submit"]:hover:after, .contact_area .form_area .submit_btn .recruit .recruit_area input[type="submit"]:hover:after {
        background: url(../img/TOP/external_white.svg) no-repeat;
        background-size: cover; }

/*-- contact--*/
.contact {
  background: url(../img/TOP/contact_bg.jpg) no-repeat;
  background-size: cover;
  padding: 80px 0; }
  @media (max-width: 480px) {
    .contact {
      background: url(../img/TOP/contact_bg_sp.jpg) no-repeat;
      background-size: cover;
      padding: 48px 0; } }
  .contact .title .ttl_en {
    position: relative;
    padding-bottom: 16px; }
    .contact .title .ttl_en:after {
      position: absolute;
      border-bottom: 2px solid #fff;
      width: 60px;
      height: 2px;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      content: ""; }
      @media (max-width: 767px) {
        .contact .title .ttl_en:after {
          width: 32px; } }
  .contact .content, .contact .detail table tr td, .detail table tr .contact td, .contact .contact_area .form_area .form_flex, .contact_area .form_area .contact .form_flex {
    padding: 30px 0; }
    @media (max-width: 767px) {
      .contact .content, .contact .detail table tr td, .detail table tr .contact td, .contact .contact_area .form_area .form_flex, .contact_area .form_area .contact .form_flex {
        padding: 24px 0; } }
  .contact .btn, .contact .contact_area .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .contact input[type="submit"], .contact .contact_area .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .contact input[type="submit"] {
    margin: 0 auto;
    border-color: #fff;
    z-index: 0; }
    .contact .btn:after, .contact .contact_area .form_area .back_btn input[type="submit"]:after, .contact_area .form_area .back_btn .contact input[type="submit"]:after, .contact .contact_area .form_area .submit_btn input[type="submit"]:after, .contact_area .form_area .submit_btn .contact input[type="submit"]:after {
      background: url(../img/TOP/white_right_arrow.svg) no-repeat; }
    .contact .btn span, .contact .contact_area .form_area .back_btn input[type="submit"] span, .contact_area .form_area .back_btn .contact input[type="submit"] span, .contact .contact_area .form_area .submit_btn input[type="submit"] span, .contact_area .form_area .submit_btn .contact input[type="submit"] span {
      color: #fff; }

/*-- product_ex --*/
.product_ex {
  margin-top: 70px; }
  .product_ex .title {
    position: relative; }
    .product_ex .title:before {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 265px;
      width: 100%;
      height: 1px;
      top: 44%;
      left: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .product_ex .title:before {
          max-width: inherit;
          width: calc(0.436 * 100vw - 181.544px); } }
      @media (max-width: 767px) {
        .product_ex .title:before {
          max-width: inherit;
          width: calc(0.496 * 100vw - 104.239px); } }
    .product_ex .title:after {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 265px;
      width: 100%;
      height: 1px;
      top: 44%;
      right: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .product_ex .title:after {
          max-width: inherit;
          width: calc(0.436 * 100vw - 181.544px); } }
      @media (max-width: 767px) {
        .product_ex .title:after {
          max-width: inherit;
          width: calc(0.496 * 100vw - 104.239px); } }

/*-- product_ex --*/
.inhouse_equip {
  margin-top: 70px;
  margin-bottom: 70px; }
  .inhouse_equip .title {
    position: relative; }
    .inhouse_equip .title:before {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 237px;
      width: 100%;
      height: 1px;
      top: 44%;
      left: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .inhouse_equip .title:before {
          max-width: inherit;
          width: calc(0.456 * 100vw - 216.623px); } }
      @media (max-width: 767px) {
        .inhouse_equip .title:before {
          max-width: inherit;
          width: calc(0.5 * 100vw - 115.2px); } }
    .inhouse_equip .title:after {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 237px;
      width: 100%;
      height: 1px;
      top: 44%;
      right: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .inhouse_equip .title:after {
          max-width: inherit;
          width: calc(0.456 * 100vw - 216.623px); } }
      @media (max-width: 767px) {
        .inhouse_equip .title:after {
          max-width: inherit;
          width: calc(0.5 * 100vw - 115.2px); } }

.product_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 1137px) {
    .product_flex {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .product_flex .product {
    width: 300px;
    margin-right: 50px;
    position: relative; }
    .product_flex .product .after_hover {
      position: absolute;
      opacity: 0;
      width: 300px;
      height: 300px;
      top: 0;
      left: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media (max-width: 1024px) {
        .product_flex .product .after_hover {
          width: 100%;
          height: 98%; } }
      @media (max-width: 767px) {
        .product_flex .product .after_hover {
          height: 97%; } }
      @media (max-width: 480px) {
        .product_flex .product .after_hover {
          height: 96%; } }
      .product_flex .product .after_hover p {
        font-size: 18px;
        line-height: 24px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 500; }
        @media (max-width: 767px) {
          .product_flex .product .after_hover p {
            font-size: 14px;
            line-height: 24px;
            font-family: noto-sans-cjk-jp, sans-serif;
            font-weight: 500; } }
      .product_flex .product .after_hover:hover {
        position: absolute;
        background: #222;
        opacity: 0.7; }
    .product_flex .product:nth-of-type(3n) {
      margin-right: 0; }
    .product_flex .product:nth-of-type(n + 4) {
      margin-top: 50px; }
    @media screen and (max-width: 1137px) {
      .product_flex .product:nth-of-type(3n) {
        margin-right: 50px; }
      .product_flex .product:nth-of-type(2n), .product_flex .product:nth-of-type(6n) {
        margin-right: 0px; }
      .product_flex .product:nth-of-type(n + 3) {
        margin-top: 50px; } }
    @media (max-width: 1024px) {
      .product_flex .product {
        width: 46.5%; } }
    @media screen and (max-width: 892px) {
      .product_flex .product {
        width: 46%; } }
    @media (max-width: 767px) {
      .product_flex .product {
        width: 46%;
        margin-right: 25px; }
        .product_flex .product:nth-of-type(3n) {
          margin-right: 25px; }
        .product_flex .product:nth-of-type(2n) {
          margin-right: 0; } }
    @media screen and (max-width: 391px) {
      .product_flex .product {
        width: 45.5%; } }
    @media screen and (max-width: 346px) {
      .product_flex .product {
        width: 45%; } }

/*-- company  --*/
.company {
  background: #f6f8ff;
  padding-top: 70px; }
  @media (max-width: 767px) {
    .company {
      padding-top: 30px; } }
  .company .title {
    position: relative; }
    .company .title:before {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 272px;
      width: 100%;
      height: 1px;
      top: 44%;
      left: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .company .title:before {
          left: -12px;
          max-width: inherit;
          width: calc(0.343 * 100vw - 79.172px); } }
      @media (max-width: 767px) {
        .company .title:before {
          max-width: inherit;
          width: calc(0.491 * 100vw - 92.143px); } }
    .company .title:after {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 272px;
      width: 100%;
      height: 1px;
      top: 44%;
      right: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .company .title:after {
          right: -12px;
          max-width: inherit;
          width: calc(0.343 * 100vw - 79.172px); } }
      @media (max-width: 767px) {
        .company .title:after {
          max-width: inherit;
          width: calc(0.491 * 100vw - 92.143px); } }
  .company table {
    border-collapse: collapse;
    width: 100%; }
    .company table tr td {
      border-bottom: 4px solid #f6f8ff;
      font-size: 18px;
      line-height: 31.5px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      padding-left: 45px;
      background: #fff;
      padding-top: 15px;
      padding-bottom: 15px;
      padding-right: 15px; }
      @media (max-width: 767px) {
        .company table tr td {
          font-size: 13px;
          line-height: 17px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 400;
          padding-left: 10px;
          padding-right: 10px;
          padding-top: 6px;
          padding-bottom: 6px;
          padding-right: 20px;
          border-right: 3px solid #f6f8ff; } }
      .company table tr td a {
        color: #333333;
        text-decoration: underline; }
      .company table tr td a:hover {
        opacity: 0.7; }
    .company table tr .items {
      width: 25%;
      background: #2C479E;
      color: #fff;
      font-size: 18px;
      line-height: 31.5px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 700;
      padding-left: 20px;
      padding-top: 8.5px;
      padding-bottom: 8.5px;
      border-right: 4px solid #f6f8ff;
      vertical-align: middle; }
      @media (max-width: 767px) {
        .company table tr .items {
          width: 23.88%;
          font-size: 13px;
          line-height: 17px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 700;
          padding-left: 5px;
          padding-top: 6px;
          padding-bottom: 6px;
          border-right: 3px solid #f6f8ff; } }
    .company table tr .pd_15 {
      vertical-align: baseline;
      padding-top: 15px; }
      @media (max-width: 480px) {
        .company table tr .pd_15 {
          padding-top: 5px; } }
    .company table tr:last-of-type td {
      border-bottom: none; }
    .company table ul {
      padding-left: 17px; }
      @media (max-width: 767px) {
        .company table ul {
          padding-right: 8px; } }
      .company table ul li {
        list-style-type: disc; }
      .company table ul .square {
        list-style-type: square; }

/*-- access --*/
.access {
  background: #f6f8ff;
  padding-top: 50px;
  padding-bottom: 70px; }
  @media (max-width: 767px) {
    .access {
      padding-top: 30px;
      padding-bottom: 30px; } }
  .access .title {
    position: relative; }
    .access .title:before {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 389px;
      width: 100%;
      height: 1px;
      top: 44%;
      left: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .access .title:before {
          max-width: inherit;
          width: calc(0.467 * 100vw - 88.867px); } }
      @media (max-width: 767px) {
        .access .title:before {
          max-width: inherit;
          width: calc(0.488 * 100vw - 54.634px); } }
      @media (max-width: 480px) {
        .access .title:before {
          max-width: inherit;
          width: calc(0.615 * 100vw - 96.648px); } }
    .access .title:after {
      position: absolute;
      border-top: 1px solid #2C479E;
      max-width: 389px;
      width: 100%;
      height: 1px;
      top: 44%;
      right: 0px;
      content: ""; }
      @media (max-width: 1024px) {
        .access .title:after {
          max-width: inherit;
          width: calc(0.467 * 100vw - 88.867px); } }
      @media (max-width: 767px) {
        .access .title:after {
          max-width: inherit;
          width: calc(0.488 * 100vw - 54.634px); } }
      @media (max-width: 480px) {
        .access .title:after {
          max-width: inherit;
          width: calc(0.615 * 100vw - 96.648px); } }
  .access .acc_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 30px; }
    @media (max-width: 767px) {
      .access .acc_flex {
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
        margin-top: 20px; } }
    .access .acc_flex .acc_flex {
      margin-top: 0;
      width: 410px; }
      @media (max-width: 767px) {
        .access .acc_flex .acc_flex {
          display: block; } }
    .access .acc_flex .ngy {
      font-size: 20px;
      line-height: 31.5px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500; }
      @media (max-width: 767px) {
        .access .acc_flex .ngy {
          font-size: 12px;
          line-height: 31.5px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 500; } }
    .access .acc_flex .address {
      font-size: 18px;
      line-height: 31.5px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500; }
      @media (max-width: 767px) {
        .access .acc_flex .address {
          font-size: 12px;
          line-height: 15px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 500; } }
  .access .gm {
    width: 210px;
    margin-top: 13px; }
    @media (max-width: 767px) {
      .access .gm {
        width: 134px;
        width: 274px; } }
    .access .gm:before {
      position: absolute;
      background: url(../img/pin.svg) no-repeat;
      background-size: cover;
      width: 15px;
      height: 18px;
      content: "";
      left: 30px; }
      @media (max-width: 767px) {
        .access .gm:before {
          width: 8px;
          height: 10px;
          left: 25px; } }
      @media screen and (max-width: 380px) {
        .access .gm:before {
          left: 20px; } }
      @media screen and (max-width: 345px) {
        .access .gm:before {
          left: 15px; } }
    .access .gm:after {
      position: absolute;
      background: url(../img/left_arrow.svg) no-repeat;
      background-size: cover;
      width: 9px;
      height: 16px;
      content: "";
      right: 30px; }
      @media (max-width: 767px) {
        .access .gm:after {
          width: 6px;
          height: 11px;
          right: 25px; } }
      @media screen and (max-width: 380px) {
        .access .gm:after {
          right: 20px; } }
      @media screen and (max-width: 345px) {
        .access .gm:after {
          right: 15px; } }
    .access .gm:hover:before, .access .gm:hover:after {
      opacity: 0.7; }

/*-- bunner --*/
.bunner {
  padding-top: 50px; }
  @media (max-width: 767px) {
    .bunner {
      padding-top: 40px; } }
  .bunner .bunner_area {
    border-top: 1px solid #000;
    padding-top: 50px;
    margin-bottom: 50px; }
    @media (max-width: 767px) {
      .bunner .bunner_area {
        padding-top: 40px;
        margin-bottom: 40px; } }

#contact .title {
  position: relative; }
  #contact .title:before {
    position: absolute;
    border-top: 1px solid #2C479E;
    max-width: 372px;
    width: 100%;
    height: 1px;
    top: 44%;
    left: 0px;
    content: ""; }
    @media (max-width: 1024px) {
      #contact .title:before {
        max-width: inherit;
        width: calc(0.467 * 100vw - 88.867px); } }
    @media (max-width: 767px) {
      #contact .title:before {
        max-width: inherit;
        width: calc(0.488 * 100vw - 54.634px); } }
    @media (max-width: 480px) {
      #contact .title:before {
        max-width: inherit;
        width: calc(0.615 * 100vw - 96.648px); } }
  #contact .title:after {
    position: absolute;
    border-top: 1px solid #2C479E;
    max-width: 372px;
    width: 100%;
    height: 1px;
    top: 44%;
    right: 0px;
    content: ""; }
    @media (max-width: 1024px) {
      #contact .title:after {
        max-width: inherit;
        width: calc(0.467 * 100vw - 88.867px); } }
    @media (max-width: 767px) {
      #contact .title:after {
        max-width: inherit;
        width: calc(0.488 * 100vw - 54.634px); } }
    @media (max-width: 480px) {
      #contact .title:after {
        max-width: inherit;
        width: calc(0.615 * 100vw - 96.648px); } }

/*-------------------------------　ここまでTOP　-------------------------------------*/
/*-------------------------------　ここから下層　-------------------------------------*/
/*-- mv-- */
.mv {
  background-size: cover;
  height: 500px;
  position: relative; }
  @media (max-width: 480px) {
    .mv {
      height: 200px; } }
  .mv .mv_ttl {
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
    margin: auto; }
    @media (max-width: 767px) {
      .mv .mv_ttl .title {
        font-size: 30px; } }

/*-- recuruit_mv --*/
.recruit_mv {
  background: url(../img/recruit_page_mv.jpg) no-repeat center center; }
  @media (max-width: 480px) {
    .recruit_mv {
      background: url(../img/recruit_page_mv_sp.jpg) no-repeat center center;
      background-size: cover; } }

/*-- breadcrumb --*/
.breadcrumb {
  background: #f6f8ff; }
  .breadcrumb .breadcrumbs {
    color: #333333; }
  .breadcrumb span span {
    font-size: 14px;
    line-height: 24px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: #333333; }

/*-- cotact --*/
/*--page-top --*/
.page-top {
  height: 78px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (max-width: 1349px) {
    .page-top {
      background: #F5F5F5; } }
  .page-top a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .page-top div {
    text-align: center; }
    @media (max-width: 1024px) {
      .page-top div {
        margin-top: -10px; } }
  .page-top img {
    width: 16px;
    height: 8px; }
  .page-top p {
    text-align: center;
    font-size: 20px;
    line-height: 32px;
    font-family: roboto, sans-serif;
    font-weight: 300;
    letter-spacing: 0.08em;
    font-style: italic;
    color: #333333; }
    @media screen and (max-width: 1349px) {
      .page-top p {
        line-height: 25px;
        margin-top: -8px; } }
    @media (max-width: 767px) {
      .page-top p {
        font-size: 16px;
        line-height: 32px;
        font-family: roboto, sans-serif;
        font-weight: 300;
        margin-top: -5px; } }
    @media (max-width: 480px) {
      .page-top p {
        margin-top: -10px; } }

/*-- footer --*/
footer .menu_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #333333;
  padding-top: 30.5px;
  margin-top: 12.5px; }
  @media screen and (max-width: 1349px) {
    footer .menu_flex {
      display: block;
      border-top: none;
      padding-top: 24px;
      margin-top: 0; } }
  footer .menu_flex li {
    margin-right: 42px; }
    @media screen and (max-width: 1350px) {
      footer .menu_flex li {
        margin-right: 0;
        padding: 16px 0;
        border-bottom: 1px solid #DDDDDD; } }
    footer .menu_flex li:nth-of-type(6) {
      margin-right: 66px; }
      @media screen and (max-width: 1350px) {
        footer .menu_flex li:nth-of-type(6) {
          margin-right: 0; } }
      footer .menu_flex li:nth-of-type(6) span {
        position: relative; }
        footer .menu_flex li:nth-of-type(6) span:before {
          position: absolute;
          background: url(../img/TOP/external-link.svg) no-repeat;
          background-size: cover;
          content: "";
          top: 20%;
          right: -20px;
          width: 12px;
          height: 12px; }
    footer .menu_flex li:last-of-type {
      margin-right: 0; }
    @media screen and (max-width: 1350px) {
      footer .menu_flex li a {
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
    footer .menu_flex li a span {
      font-size: 14px;
      line-height: 20px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      color: #333333; }

footer .foot_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-top: 45px;
  padding-bottom: 30px; }
  @media (max-width: 1024px) {
    footer .foot_flex {
      display: block;
      padding-top: 25px; } }
  footer .foot_flex .footer_logo {
    width: 180px;
    height: 65px; }
    @media (max-width: 1024px) {
      footer .foot_flex .footer_logo {
        margin: 0 auto; } }
  footer .foot_flex p {
    font-size: 14px;
    line-height: 24px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400; }
    @media (max-width: 1024px) {
      footer .foot_flex p {
        text-align: center;
        padding-top: 20px; } }
    @media (max-width: 767px) {
      footer .foot_flex p {
        font-size: 12px;
        line-height: 24px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 400; } }

footer .copyright {
  border-top: 1px solid #DDDDDD;
  padding: 20px 0; }
  footer .copyright .copyright_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (max-width: 1024px) {
      footer .copyright .copyright_flex {
        display: block; } }
    footer .copyright .copyright_flex p {
      font-size: 12px;
      line-height: 18px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400; }
      @media (max-width: 1024px) {
        footer .copyright .copyright_flex p:first-of-type {
          padding-bottom: 12px; } }
      @media (max-width: 767px) {
        footer .copyright .copyright_flex p:last-of-type {
          font-size: 11px;
          line-height: 17px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 400; } }
      @media (max-width: 480px) {
        footer .copyright .copyright_flex p:last-of-type {
          white-space: nowrap; } }
    footer .copyright .copyright_flex a {
      text-decoration: underline;
      color: #333333; }

footer .google_terms {
  padding: 10px 0; }
  footer .google_terms p {
    font-size: 12px;
    line-height: 18px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em; }

.grecaptcha-badge {
  visibility: hidden; }

/*-------------------------------　ここから　-------------------------------------*/
/*-- mv-- */
.mv {
  background-size: cover;
  padding-top: 80px;
  margin-top: -2px;
  height: 320px;
  position: relative; }
  @media (max-width: 480px) {
    .mv {
      height: 200px;
      padding-top: 50px; } }
  .mv .mv_ttl {
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center; }
    .mv .mv_ttl img {
      width: 240px; }
    .mv .mv_ttl p {
      font-size: 16px;
      line-height: 32px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500;
      letter-spacing: 0.04em;
      text-align: center; }

.reason_mv {
  background: url(../img/REASON/reason_mv.jpg) no-repeat center center;
  background-size: cover; }
  .reason_mv .mv_ttl img {
    width: 240px; }
    @media (max-width: 767px) {
      .reason_mv .mv_ttl img {
        width: 160px; } }

.company_mv {
  background: url(../img/COMPANY/company_bg.jpg) no-repeat center center;
  background-size: cover; }
  .company_mv .mv_ttl img {
    width: 296px; }
    @media (max-width: 767px) {
      .company_mv .mv_ttl img {
        width: 200px; } }

/*-- recuruit_mv --*/
.recruit_mv {
  background: url(../img/recruit_page_mv.jpg) no-repeat center center; }
  @media (max-width: 480px) {
    .recruit_mv {
      background: url(../img/recruit_page_mv_sp.jpg) no-repeat center center;
      background-size: cover; } }

/*-- breadcrumb --*/
.breadcrumb {
  background: #fff;
  border-bottom: 1px solid #F5F5F5;
  padding: 7.5px 0; }
  .breadcrumb .breadcrumbs {
    color: #333333; }
  .breadcrumb span span {
    font-size: 14px;
    line-height: 15px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    color: #333333; }

/*-- アイヴァンスが選ばれる理由 --*/
.link_area {
  padding: 60px 0; }
  @media (max-width: 767px) {
    .link_area {
      padding: 30px 0; } }
  .link_area .reason_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 767px) {
      .link_area .reason_flex {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    .link_area .reason_flex .white_box {
      width: 23.148%;
      height: 180px;
      margin-right: 26px;
      border: 1px solid #EEEEEE;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative; }
      @media (max-width: 1024px) {
        .link_area .reason_flex .white_box {
          height: 210px;
          padding: 0 10px; } }
      @media (max-width: 767px) {
        .link_area .reason_flex .white_box {
          width: 44.8%;
          height: 180px; } }
      @media (max-width: 480px) {
        .link_area .reason_flex .white_box {
          height: 190px; } }
      @media (max-width: 767px) {
        .link_area .reason_flex .white_box:nth-of-type(2n) {
          margin-right: 0; } }
      @media (max-width: 767px) {
        .link_area .reason_flex .white_box:nth-of-type(n + 3) {
          margin-top: 20px; } }
      .link_area .reason_flex .white_box:after {
        position: absolute;
        bottom: 20px;
        left: 0;
        right: 0;
        margin: auto;
        content: "";
        background: url(../img/TOP/menu_down_arrow.svg) no-repeat;
        width: 10px;
        height: 5px; }
        @media (max-width: 767px) {
          .link_area .reason_flex .white_box:after {
            bottom: 10px; } }
        @media (max-width: 480px) {
          .link_area .reason_flex .white_box:after {
            bottom: 25px; } }
      .link_area .reason_flex .white_box:last-of-type {
        margin-right: 0; }
      .link_area .reason_flex .white_box a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 100%;
        height: 100%;
        color: #333333; }
        @media (max-width: 480px) {
          .link_area .reason_flex .white_box a {
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            padding-top: 20px;
            padding-top: 30px; } }
        @media (max-width: 480px) {
          .link_area .reason_flex .white_box a div.center {
            margin-bottom: 5px; } }
      @media (max-width: 480px) {
        .link_area .reason_flex .white_box:nth-of-type(3) a {
          padding-top: 15px; } }
      @media (max-width: 480px) {
        .link_area .reason_flex .white_box:last-of-type a {
          padding-top: 16px; } }
      @media screen and (max-width: 388px) {
        .link_area .reason_flex .white_box:last-of-type a {
          padding-top: 3px; } }
      @media (max-width: 480px) {
        .link_area .reason_flex .white_box:last-of-type a div.center {
          margin-bottom: 0px; } }
      .link_area .reason_flex .white_box img {
        width: 70px;
        height: 68px; }
      .link_area .reason_flex .white_box p {
        font-size: 14px;
        line-height: 19px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 700;
        letter-spacing: 0.08em; }
        @media (max-width: 1024px) {
          .link_area .reason_flex .white_box p {
            font-size: 13px;
            line-height: 20px;
            font-family: noto-sans-cjk-jp, sans-serif;
            font-weight: 700; } }
      @media screen and (max-width: 400px) {
        .link_area .reason_flex .white_box p:last-of-type {
          font-size: 13px;
          line-height: 17px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 700; } }

.sec_title_img {
  width: 110px;
  height: 98px;
  mix-blend-mode: multiply; }

.stance {
  background: url(../img/REASON/stance_bg.jpg) no-repeat;
  background-size: cover;
  padding-top: 74px;
  padding-bottom: 80px; }
  @media (max-width: 767px) {
    .stance {
      padding-top: 48px;
      padding-bottom: 48px; } }
  .stance .stance_txt {
    font-size: 32px;
    line-height: 46px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 300;
    letter-spacing: 0.12em; }
    @media (max-width: 767px) {
      .stance .stance_txt {
        font-size: 20px;
        line-height: 29px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 300;
        letter-spacing: 0.1em; } }
    .stance .stance_txt:last-of-type {
      font-size: 16px;
      line-height: 30px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.04em;
      padding-top: 25px; }
      @media (max-width: 767px) {
        .stance .stance_txt:last-of-type {
          font-size: 16px;
          line-height: 24px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 300;
          letter-spacing: 0.04em;
          text-align: left; } }
  .stance .stance_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 64px; }
    @media (max-width: 1024px) {
      .stance .stance_flex {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-top: 32px; } }
    .stance .stance_flex .white_box {
      background: #fff;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 23.148%;
      height: 300px;
      margin-right: 26px;
      -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
              box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); }
      @media (max-width: 1024px) {
        .stance .stance_flex .white_box {
          width: 44.8%;
          height: 350px;
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start;
          padding-top: 50px; } }
      @media (max-width: 480px) {
        .stance .stance_flex .white_box {
          padding-top: 25px; } }
      @media (max-width: 1024px) {
        .stance .stance_flex .white_box:nth-of-type(2n) {
          margin-right: 0; } }
      @media (max-width: 1024px) {
        .stance .stance_flex .white_box:nth-of-type(n + 3) {
          margin-top: 20px; } }
      .stance .stance_flex .white_box .en_txt {
        font-size: 20px;
        line-height: 32px;
        font-family: roboto, sans-serif;
        font-weight: 700;
        font-style: italic;
        letter-spacing: 0.08em;
        padding-bottom: 8px;
        margin-bottom: 16px;
        position: relative; }
        .stance .stance_flex .white_box .en_txt:after {
          position: absolute;
          border-bottom: 2px solid #333333;
          width: 16px;
          height: 2px;
          content: "";
          bottom: 0;
          left: 0;
          right: 0;
          margin: auto; }
      .stance .stance_flex .white_box .ja_title {
        font-size: 18px;
        line-height: 32px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 700;
        letter-spacing: 0.08em; }
        @media (max-width: 480px) {
          .stance .stance_flex .white_box .ja_title {
            font-size: 16px;
            line-height: 1.5rem;
            font-family: noto-sans-cjk-jp, sans-serif;
            font-weight: 700; } }
      .stance .stance_flex .white_box .en_title {
        font-size: 16px;
        line-height: 32px;
        font-family: roboto, sans-serif;
        font-weight: 700;
        font-style: italic;
        letter-spacing: 0.08em;
        color: #707070; }
        @media (max-width: 480px) {
          .stance .stance_flex .white_box .en_title {
            font-size: 15px; } }
      .stance .stance_flex .white_box .txt {
        font-size: 14px;
        line-height: 22px;
        font-family: roboto, sans-serif;
        font-weight: 400;
        letter-spacing: 0.04em; }
        @media (max-width: 480px) {
          .stance .stance_flex .white_box .txt {
            font-size: 12px;
            line-height: 19px;
            font-family: roboto, sans-serif;
            font-weight: 400; } }
      .stance .stance_flex .white_box .border_zone {
        width: 16px;
        height: 2px; }
      .stance .stance_flex .white_box .icon {
        width: 80px;
        height: 80px; }

.support_system {
  padding-top: 74px;
  padding-bottom: 64px; }
  @media (max-width: 767px) {
    .support_system {
      padding-top: 48px;
      padding-bottom: 48px; } }
  .support_system .support_txt {
    font-size: 32px;
    line-height: 46px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 300;
    letter-spacing: 0.12em; }
    @media (max-width: 767px) {
      .support_system .support_txt {
        font-size: 20px;
        line-height: 29px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 300;
        letter-spacing: 0.1em; } }
    .support_system .support_txt:last-of-type {
      font-size: 16px;
      line-height: 30px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.04em;
      padding-top: 25px; }
      @media (max-width: 767px) {
        .support_system .support_txt:last-of-type {
          font-size: 16px;
          line-height: 24px;
          font-family: noto-sans-cjk-jp, sans-serif;
          font-weight: 300;
          letter-spacing: 0.04em;
          text-align: left; } }
  .support_system .support_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 62px; }
    .support_system .support_flex div {
      width: 33.33vw; }

.archive {
  padding-top: 74px;
  padding-bottom: 80px;
  background: url(../img/REASON/star_bg.jpg) no-repeat;
  background-size: cover; }
  @media (max-width: 767px) {
    .archive {
      padding-top: 48px;
      padding-bottom: 48px; } }
  .archive .archive_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 767px) {
      .archive .archive_flex {
        display: block; } }
    .archive .archive_flex .archive_content {
      width: 31.4%;
      margin-right: 30px; }
      .archive .archive_flex .archive_content:last-of-type {
        margin-right: 0; }
        @media (max-width: 767px) {
          .archive .archive_flex .archive_content:last-of-type {
            margin-bottom: 0; } }
      @media (max-width: 767px) {
        .archive .archive_flex .archive_content {
          width: 100%;
          margin-right: 0;
          margin-bottom: 20px; } }
    .archive .archive_flex .txt_area {
      background: #fff;
      margin-top: -7px;
      padding: 30px 20px; }
      .archive .archive_flex .txt_area p {
        font-size: 14px;
        line-height: 24px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 400;
        letter-spacing: 0.04em; }
      .archive .archive_flex .txt_area .bold {
        font-size: 18px;
        line-height: 40px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 700;
        letter-spacing: 0.08em; }
        @media (max-width: 767px) {
          .archive .archive_flex .txt_area .bold {
            font-size: 16px;
            line-height: 32px;
            font-family: noto-sans-cjk-jp, sans-serif;
            font-weight: 700; } }

.correspondance {
  padding-top: 74px;
  padding-bottom: 80px; }
  @media (max-width: 767px) {
    .correspondance {
      padding-top: 48px;
      padding-bottom: 48px; } }
  .correspondance .corre_flex,
  .correspondance .case_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .correspondance .case_flex {
    padding-bottom: 30px; }
    @media (max-width: 767px) {
      .correspondance .case_flex {
        padding-top: 15px;
        padding-bottom: 15px; } }
    .correspondance .case_flex p {
      font-size: 14px;
      line-height: 18px;
      font-family: roboto, sans-serif;
      font-weight: 700;
      letter-spacing: 0.08em;
      font-style: italic; }
      @media (max-width: 1024px) {
        .correspondance .case_flex p {
          text-align: center; } }
    .correspondance .case_flex .bold {
      font-size: 32px;
      line-height: 40px;
      font-family: roboto, sans-serif;
      font-weight: 700;
      letter-spacing: 0.04em;
      font-style: italic;
      text-align: center; }
    .correspondance .case_flex .right_txt {
      font-size: 18px;
      line-height: 32px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 700;
      letter-spacing: 0.08em;
      width: 82.28%;
      margin-left: 18px;
      padding-left: 30px;
      border-left: 1px solid #DDDDDD; }
      @media (max-width: 767px) {
        .correspondance .case_flex .right_txt {
          padding-left: 18px;
          text-align: left; } }
  .correspondance .corre_flex {
    border-top: 1px solid #DDDDDD;
    padding-top: 30px;
    padding-bottom: 30px; }
    @media (max-width: 767px) {
      .correspondance .corre_flex {
        display: block; } }
    .correspondance .corre_flex:last-of-type {
      border-bottom: 1px solid #DDDDDD; }
    .correspondance .corre_flex .left {
      width: 31.48%;
      margin-right: 3.703%; }
      @media (max-width: 767px) {
        .correspondance .corre_flex .left {
          width: 100%;
          margin-right: 0; } }
    .correspondance .corre_flex .right {
      width: 64.8%; }
      @media (max-width: 767px) {
        .correspondance .corre_flex .right {
          width: 100%; } }
    .correspondance .corre_flex .content, .correspondance .corre_flex .detail table tr td, .detail table tr .correspondance .corre_flex td, .correspondance .corre_flex .contact_area .form_area .form_flex, .contact_area .form_area .correspondance .corre_flex .form_flex {
      line-height: 24px; }

/*-- ニュース&ブログ --*/
.news_mv {
  background: url(../img/NEWS/news_bg.jpg) no-repeat center center;
  background-size: cover; }
  .news_mv .mv_ttl img {
    width: 402px; }
    @media (max-width: 480px) {
      .news_mv .mv_ttl img {
        width: 70vw; } }

.news_archive {
  padding-top: 80px;
  padding-bottom: 80px; }

.single_bread {
  margin-top: -2px;
  padding-top: 80px; }

.single {
  padding-top: 54px; }
  @media (max-width: 1024px) {
    .single {
      padding-top: 90px; } }
  .single .news_area .post_ttl {
    font-size: 24px;
    line-height: 24px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding-top: 8px;
    padding-bottom: 16px;
    border-bottom: 1px solid #DDDDDD; }
  .single .news_area .post_img {
    padding: 40px 0; }
  .single .back_btn {
    width: 240px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    border: 1px solid #333333;
    -webkit-transition: ease .2s;
    transition: ease .2s;
    margin-top: 80px; }
    @media (max-width: 767px) {
      .single .back_btn {
        width: 200px;
        height: 40px;
        margin-top: 40px; } }
    .single .back_btn a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 100%;
      height: 100%;
      color: #333333; }
    .single .back_btn:after {
      position: absolute;
      left: 30px;
      top: 38%;
      content: "";
      background: url(../img/TOP/btn_arrow_right.svg) no-repeat;
      width: 6px;
      height: 11px;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .single .back_btn span {
      font-size: 14px;
      line-height: 19px;
      font-family: roboto, sans-serif;
      font-weight: 500;
      letter-spacing: 0.08em;
      font-style: italic;
      color: #333333;
      position: relative;
      z-index: 3; }
      @media (max-width: 767px) {
        .single .back_btn span {
          font-size: 14px;
          line-height: 19px;
          font-family: roboto, sans-serif;
          font-weight: 500;
          letter-spacing: 0.08em;
          font-style: italic; } }
    .single .back_btn:hover a span {
      color: #fff; }
    .single .back_btn:hover:after {
      position: absolute;
      right: 30px;
      top: 40%;
      content: "";
      background: url(../img/TOP/white_right_arrow.svg) no-repeat;
      width: 6px;
      height: 11px; }
  .single .back_btn.bgleft:before {
    -webkit-transform-origin: left top;
            transform-origin: left top; }
  .single .back_btn.bgleft:hover:before {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 45px; }
  @media (max-width: 767px) {
    .pagination {
      margin-top: 30px; } }

a.prev,
a.next {
  width: 240px !important;
  height: 50px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  line-height: 19px;
  font-family: roboto, sans-serif;
  font-weight: 500;
  font-style: italic; }
  @media (max-width: 767px) {
    a.prev,
    a.next {
      width: 200px !important;
      height: 40px !important; } }
  a.prev span,
  a.next span {
    position: relative;
    color: #333333; }
  @media (max-width: 767px) {
    a.prev,
    a.next {
      width: 200px;
      height: 40px;
      display: -webkit-box !important;
      display: -ms-flexbox !important;
      display: flex !important; } }

.prev_pagenate,
.next_pagenate {
  width: 240px;
  height: 50px; }
  @media (max-width: 767px) {
    .prev_pagenate,
    .next_pagenate {
      width: 200px;
      height: 40px;
      margin-top: 0 !important; } }
  @media (max-width: 480px) {
    .prev_pagenate,
    .next_pagenate {
      width: 47% !important; } }

.prev_pagenate.bgleft:before {
  -webkit-transform-origin: left top;
          transform-origin: left top; }

.prev_pagenate.bgleft:hover:before {
  -webkit-transform-origin: right top;
          transform-origin: right top; }

.prev_pagenate.bgleft:after {
  position: absolute;
  left: 30px;
  content: "";
  background: url(../img/TOP/btn_arrow_right.svg);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  background-size: cover;
  width: 5px;
  height: 10px;
  top: 40% !important; }

.prev_pagenate.bgleft:hover:after {
  background: url(../img/TOP/white_right_arrow.svg);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  background-size: cover; }

.next_pagenate.bgleft:after {
  top: 40% !important; }

.pager {
  color: #999999;
  margin-right: 30px;
  font-size: 16px;
  line-height: 21px;
  font-family: roboto, sans-serif;
  font-weight: 900;
  letter-spacing: 0.08em; }
  @media (max-width: 1024px) {
    .pager {
      display: none; } }

.current {
  font-size: 16px;
  line-height: 21px;
  font-family: roboto, sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em;
  padding-bottom: 4px;
  border-bottom: 1px solid #333333;
  margin-right: 30px;
  color: #333333; }

/*-- 会社案内 --*/
.philosophy.message {
  padding-top: 80px; }
  @media screen and (max-width: 1349px) {
    .philosophy.message {
      padding-top: 0;
      padding-top: 65px; } }
  .philosophy.message .right_img {
    top: 210px; }
    @media screen and (max-width: 1349px) {
      .philosophy.message .right_img {
        background: none;
        margin-top: 32px; } }
    @media screen and (max-width: 1349px) {
      .philosophy.message .right_img img {
        background: none;
        margin-top: 32px;
        width: 100%;
        height: calc(100vw * 0.5);
        -o-object-fit: cover;
           object-fit: cover; } }
    @media (max-width: 767px) {
      .philosophy.message .right_img img {
        height: auto; } }
  .philosophy.message .title .ttl_en {
    font-size: 40px;
    line-height: 70px;
    font-family: roboto, sans-serif;
    font-weight: 700;
    position: relative; }
    .philosophy.message .title .ttl_en:after {
      position: absolute;
      width: 1330px;
      border-bottom: 1px solid #333333;
      height: 1px;
      top: 50%;
      left: 265px;
      content: ""; }
      @media (max-width: 1024px) {
        .philosophy.message .title .ttl_en:after {
          display: none; } }
  .philosophy.message .president {
    font-size: 20px;
    line-height: 32px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 700;
    letter-spacing: 0.08em; }
    @media (max-width: 767px) {
      .philosophy.message .president {
        font-size: 17px; } }
    .philosophy.message .president span {
      font-size: 24px;
      line-height: 32px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 700; }
      @media (max-width: 767px) {
        .philosophy.message .president span {
          font-size: 20px; } }

@media screen and (max-width: 1349px) {
  .under_philosophy {
    padding-bottom: 65px; } }

.under_philosophy .right_img {
  right: inherit;
  left: 0;
  left: calc(0.499 * 100vw - 717.966px);
  top: 130px; }
  @media screen and (max-width: 1440px) {
    .under_philosophy .right_img {
      left: 0; } }

.under_philosophy .title .ttl_en {
  font-size: 40px;
  line-height: 70px;
  font-family: roboto, sans-serif;
  font-weight: 700; }
  .under_philosophy .title .ttl_en:after {
    position: absolute;
    width: 1330px;
    border-bottom: 1px solid #333333;
    height: 1px;
    top: 50%;
    left: 295px;
    content: ""; }
    @media (max-width: 1024px) {
      .under_philosophy .title .ttl_en:after {
        display: none; } }

.under_philosophy .under_content {
  margin-left: auto;
  padding-top: 110px; }
  @media screen and (max-width: 1349px) {
    .under_philosophy .under_content {
      margin-left: initial;
      padding-top: 0; } }
  .under_philosophy .under_content .catch {
    width: 520px;
    margin-left: auto; }
    @media screen and (max-width: 1349px) {
      .under_philosophy .under_content .catch {
        margin-left: initial; } }
  .under_philosophy .under_content .content, .under_philosophy .under_content .detail table tr td, .detail table tr .under_philosophy .under_content td, .under_philosophy .under_content .contact_area .form_area .form_flex, .contact_area .form_area .under_philosophy .under_content .form_flex {
    margin-left: auto; }
    @media screen and (max-width: 1349px) {
      .under_philosophy .under_content .content, .under_philosophy .under_content .detail table tr td, .detail table tr .under_philosophy .under_content td, .under_philosophy .under_content .contact_area .form_area .form_flex, .contact_area .form_area .under_philosophy .under_content .form_flex {
        margin-left: initial; } }

@media screen and (max-width: 1349px) {
  .detail {
    padding-top: 0px; } }

.detail .title .ttl_en {
  position: relative;
  font-size: 40px;
  line-height: 70px;
  font-family: roboto, sans-serif;
  font-weight: 700; }
  .detail .title .ttl_en:after {
    position: absolute;
    border-bottom: 1px solid #333333;
    width: 1330px;
    height: 1px;
    top: 50%;
    left: 235px;
    content: ""; }
    @media (max-width: 1024px) {
      .detail .title .ttl_en:after {
        display: none; } }

.detail table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  margin-top: 40px; }
  .detail table tr td {
    line-height: 24px;
    padding: 20px 0;
    width: 85.83%;
    border-bottom: 1px solid #DDDDDD; }
    @media (max-width: 767px) {
      .detail table tr td {
        width: 60%; } }
    .detail table tr td span {
      display: inline-block; }
      @media (max-width: 1024px) {
        .detail table tr td span {
          display: none; } }
  .detail table tr td.item {
    width: 14.16%;
    vertical-align: top;
    padding-left: 20px; }
    @media (max-width: 767px) {
      .detail table tr td.item {
        width: 40%;
        padding-left: 15px; } }

/*-- cotact --*/
.contact_mv {
  background: url(../img/CONTACT/contact_mv.jpg) no-repeat center center;
  background-size: cover; }
  .contact_mv img {
    width: 281px; }

.contact_area {
  padding-bottom: 35px; }
  .contact_area .explain {
    text-align: center;
    padding: 85px 0 60px; }
    @media (max-width: 767px) {
      .contact_area .explain {
        padding: 40px 0 50px; } }
    .contact_area .explain .position {
      font-size: 20px;
      line-height: 50px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 700;
      letter-spacing: 0.08em; }
      @media (max-width: 767px) {
        .contact_area .explain .position {
          line-height: 2rem;
          text-align: left; } }
    .contact_area .explain .caution {
      font-size: 14px;
      line-height: 32px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.04em;
      padding-top: 20px; }
  .contact_area .mw_wp_form_input .form_flex .back_btn {
    display: none; }
  .contact_area .mw_wp_form_complete {
    text-align: center; }
    @media (max-width: 767px) {
      .contact_area .mw_wp_form_complete {
        text-align: left; } }
    .contact_area .mw_wp_form_complete .explain {
      display: none; }
    .contact_area .mw_wp_form_complete .btn, .contact_area .mw_wp_form_complete .form_area .back_btn input[type="submit"], .contact_area .form_area .back_btn .mw_wp_form_complete input[type="submit"], .contact_area .mw_wp_form_complete .form_area .submit_btn input[type="submit"], .contact_area .form_area .submit_btn .mw_wp_form_complete input[type="submit"] {
      margin: 0 auto;
      margin-top: 30px; }
      .contact_area .mw_wp_form_complete .btn:after, .contact_area .mw_wp_form_complete .form_area .back_btn input[type="submit"]:after, .contact_area .form_area .back_btn .mw_wp_form_complete input[type="submit"]:after, .contact_area .mw_wp_form_complete .form_area .submit_btn input[type="submit"]:after, .contact_area .form_area .submit_btn .mw_wp_form_complete input[type="submit"]:after {
        right: inherit;
        left: 30px;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
    .contact_area .mw_wp_form_complete .bgleft:before {
      -webkit-transform-origin: left top;
              transform-origin: left top; }
    .contact_area .mw_wp_form_complete .bgleft:hover:before {
      -webkit-transform-origin: right top;
              transform-origin: right top; }
  .contact_area .form_area .form_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    align-items: center;
    text-align: left;
    padding: 30px 0;
    border-top: 1px solid #DDDDDD;
    margin-bottom: 0; }
    @media (max-width: 1024px) {
      .contact_area .form_area .form_flex {
        display: block;
        padding: 20px 0; } }
    .contact_area .form_area .form_flex .left_box {
      width: 23.7%;
      position: relative;
      padding-left: 20px; }
      @media (max-width: 1024px) {
        .contact_area .form_area .form_flex .left_box {
          width: 100%;
          margin-bottom: 8px;
          padding-left: 0; } }
      @media (max-width: 480px) {
        .contact_area .form_area .form_flex .left_box {
          margin-bottom: 15px; } }
    .contact_area .form_area .form_flex input[type="text"],
    .contact_area .form_area .form_flex input[type="email"],
    .contact_area .form_area .form_flex input[type="tel"],
    .contact_area .form_area .form_flex textarea {
      width: 400px;
      background: #F5F5F5;
      padding: 15px 20px;
      color: #333333;
      font-size: 14px;
      line-height: 24px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500;
      letter-spacing: 0.04em; }
      .contact_area .form_area .form_flex input[type="text"]::-webkit-input-placeholder,
      .contact_area .form_area .form_flex input[type="email"]::-webkit-input-placeholder,
      .contact_area .form_area .form_flex input[type="tel"]::-webkit-input-placeholder,
      .contact_area .form_area .form_flex textarea::-webkit-input-placeholder {
        color: #999999; }
      .contact_area .form_area .form_flex input[type="text"]:-ms-input-placeholder,
      .contact_area .form_area .form_flex input[type="email"]:-ms-input-placeholder,
      .contact_area .form_area .form_flex input[type="tel"]:-ms-input-placeholder,
      .contact_area .form_area .form_flex textarea:-ms-input-placeholder {
        color: #999999; }
      .contact_area .form_area .form_flex input[type="text"]::-ms-input-placeholder,
      .contact_area .form_area .form_flex input[type="email"]::-ms-input-placeholder,
      .contact_area .form_area .form_flex input[type="tel"]::-ms-input-placeholder,
      .contact_area .form_area .form_flex textarea::-ms-input-placeholder {
        color: #999999; }
      .contact_area .form_area .form_flex input[type="text"]::placeholder,
      .contact_area .form_area .form_flex input[type="email"]::placeholder,
      .contact_area .form_area .form_flex input[type="tel"]::placeholder,
      .contact_area .form_area .form_flex textarea::placeholder {
        color: #999999; }
      @media (max-width: 767px) {
        .contact_area .form_area .form_flex input[type="text"],
        .contact_area .form_area .form_flex input[type="email"],
        .contact_area .form_area .form_flex input[type="tel"],
        .contact_area .form_area .form_flex textarea {
          width: 100%; } }
    .contact_area .form_area .form_flex input[name="your-last-name"],
    .contact_area .form_area .form_flex input[name="your-first-name"],
    .contact_area .form_area .form_flex input[name="your-last-name-kana"],
    .contact_area .form_area .form_flex input[name="your-first-name-kana"] {
      width: 140px; }
      @media screen and (max-width: 620px) {
        .contact_area .form_area .form_flex input[name="your-last-name"],
        .contact_area .form_area .form_flex input[name="your-first-name"],
        .contact_area .form_area .form_flex input[name="your-last-name-kana"],
        .contact_area .form_area .form_flex input[name="your-first-name-kana"] {
          width: calc(0.894 * 100vw - 50px); } }
    .contact_area .form_area .form_flex select[name="your-subject"] {
      width: 282px;
      background: #F5F5F5;
      padding: 15px 0 15px 20px;
      background-image: url(../img/CONTACT/select_arrow.svg);
      background-repeat: no-repeat;
      background-size: 5px 10px;
      background-position: right 20px center;
      color: #999999; }
      .contact_area .form_area .form_flex select[name="your-subject"] option {
        color: #999999; }
      @media screen and (max-width: 620px) {
        .contact_area .form_area .form_flex select[name="your-subject"] {
          width: 100%; } }
    .contact_area .form_area .form_flex input[name="your-company"] {
      width: 240px; }
      @media screen and (max-width: 620px) {
        .contact_area .form_area .form_flex input[name="your-company"] {
          width: 100%; } }
    .contact_area .form_area .form_flex textarea {
      max-width: 825px;
      width: 100%;
      height: 240px; }
    .contact_area .form_area .form_flex .name {
      padding-right: 30px; }
      @media (max-width: 1024px) {
        .contact_area .form_area .form_flex .name {
          padding-right: 10px; } }
    .contact_area .form_area .form_flex .kana-name {
      padding-right: 15px; }
    .contact_area .form_area .form_flex .f-name {
      padding-left: 40px; }
      @media screen and (max-width: 620px) {
        .contact_area .form_area .form_flex .f-name {
          padding-left: 0; } }
    .contact_area .form_area .form_flex .hankaku {
      padding-left: 20px;
      font-size: 14px;
      line-height: 24px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 0.04em; }
      @media (max-width: 1024px) {
        .contact_area .form_area .form_flex .hankaku {
          padding-left: 0;
          display: block;
          margin-top: 8px; } }
    .contact_area .form_area .form_flex .right_box {
      width: 76.3%; }
      @media (max-width: 1024px) {
        .contact_area .form_area .form_flex .right_box {
          width: 100%;
          margin-bottom: 0px; } }
      @media (max-width: 480px) {
        .contact_area .form_area .form_flex .right_box {
          margin-bottom: 5px; } }
      @media screen and (max-width: 620px) {
        .contact_area .form_area .form_flex .right_box .firstname {
          padding-top: 20px; } }
  .contact_area .form_area .form_flex.btn_area {
    padding: 0; }
  .contact_area .form_area .right_box.form_flex {
    border-top: none;
    padding: 0; }
    @media (max-width: 1024px) {
      .contact_area .form_area .right_box.form_flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 620px) {
      .contact_area .form_area .right_box.form_flex {
        display: block; } }
  .contact_area .form_area .handling_title {
    text-align: center;
    font-size: 16px;
    line-height: 32px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-top: 60px;
    margin-bottom: 20px; }
    @media (max-width: 767px) {
      .contact_area .form_area .handling_title {
        margin-top: 30px;
        margin-bottom: 15px; } }
  .contact_area .form_area .handling {
    width: 100%;
    height: 200px;
    overflow: visible scroll;
    background: #fff;
    color: #333333;
    padding: 30px 50px 30px 30px;
    border: 2px solid #ddd; }
    .contact_area .form_area .handling p {
      padding-bottom: 40px;
      font-size: 12px;
      line-height: 24px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.04em; }
      .contact_area .form_area .handling p:last-of-type {
        padding-bottom: 0; }
  .contact_area .form_area .form_flex.last {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    border-bottom: 1px solid #DDDDDD; }
  .contact_area .form_area .agreement {
    text-align: center;
    font-size: 14px;
    line-height: 32px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
    margin-top: 30px;
    margin-bottom: 50px; }
  .contact_area .form_area .chapcha_detail {
    text-align: center;
    font-size: 14px;
    line-height: 24px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
    margin-top: 25px; }
  .contact_area .form_area .back_btn {
    position: relative;
    width: 240px;
    height: 50px;
    margin: 0 auto;
    margin-top: 50px; }
    .contact_area .form_area .back_btn:before {
      position: absolute;
      background: url(../img/RECRUIT/arrow_left.svg) no-repeat;
      background: url(../img/RECRUIT/arrow_left_after.svg) no-repeat;
      background-size: cover;
      width: 5px;
      height: 9px;
      content: "";
      top: 42%;
      left: 30px; }
    .contact_area .form_area .back_btn:hover:before {
      background: url(../img/RECRUIT/arrow_left_after.svg) no-repeat;
      background: url(../img/RECRUIT/arrow_left.svg) no-repeat;
      background-size: cover; }
    .contact_area .form_area .back_btn input[type="submit"] {
      width: 240px;
      height: 50px;
      background: #333333;
      color: #fff;
      margin: 0 auto;
      font-size: 14px;
      line-height: 20px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.08em; }
      .contact_area .form_area .back_btn input[type="submit"]:hover {
        background: #fff;
        color: #333333; }
  .contact_area .form_area .submit_btn {
    position: relative;
    width: 240px;
    height: 50px;
    margin: 0 auto;
    margin-top: 50px; }
    .contact_area .form_area .submit_btn:before {
      background: url(../img/TOP/white_right_arrow.svg) no-repeat;
      background-size: cover; }
    .contact_area .form_area .submit_btn:hover:before {
      background: url(../img/TOP/white_right_arrow.svg) no-repeat;
      background: url(../img/TOP/btn_arrow_right.svg) no-repeat;
      background-size: cover; }
    .contact_area .form_area .submit_btn input[type="submit"] {
      width: 240px;
      height: 50px;
      background: #333333;
      color: #fff;
      margin: 0 auto;
      font-size: 14px;
      line-height: 20px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.08em; }
      .contact_area .form_area .submit_btn input[type="submit"]:hover {
        background: #fff;
        color: #333333; }
    .contact_area .form_area .submit_btn input[type="button"].back {
      width: 240px;
      height: 50px;
      background: #fff;
      color: #333333;
      border: 1px solid #333333;
      margin: 0 auto;
      font-size: 14px;
      line-height: 20px;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 400;
      letter-spacing: 0.08em; }
      .contact_area .form_area .submit_btn input[type="button"].back:hover {
        background: #333333;
        color: #fff; }
  .contact_area .wpcf7 form.invalid .wpcf7-response-output,
  .contact_area .wpcf7 form.unaccepted .wpcf7-response-output,
  .contact_area .wpcf7 form.payment-required .wpcf7-response-output,
  .contact_area .wpcf7 form.failed .wpcf7-response-output,
  .contact_area .wpcf7 form.aborted .wpcf7-response-output {
    border: none;
    color: red;
    font-size: 14px;
    line-height: 24px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
    padding: 0; }

/*--ビジネスコンシェルジュ --*/
.bussiness_concierge_mv {
  background: url(../img/BUSSINESS/bussiness_bg.jpg) no-repeat;
  background-size: cover; }
  .bussiness_concierge_mv .mv_ttl img {
    width: 658px; }
    @media (max-width: 767px) {
      .bussiness_concierge_mv .mv_ttl img {
        width: 89.3vw; } }

.bussiness_areas {
  text-align: center;
  padding-top: 80px;
  padding-bottom: 60px; }
  @media (max-width: 767px) {
    .bussiness_areas {
      padding-top: 40px;
      padding-bottom: 30px; } }
  .bussiness_areas .bussiness_areas_title {
    font-size: 32px;
    line-height: 46px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 300;
    letter-spacing: 0.12em; }
    @media (max-width: 767px) {
      .bussiness_areas .bussiness_areas_title {
        font-size: 20px;
        line-height: 29px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 300; } }
  .bussiness_areas .bussiness_areas_content {
    margin-top: 25px;
    font-size: 16px;
    line-height: 32px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em; }
    @media (max-width: 767px) {
      .bussiness_areas .bussiness_areas_content {
        font-size: 16px;
        line-height: 24px;
        font-family: noto-sans-cjk-jp, sans-serif;
        font-weight: 300; } }

.bussiness_area_pattern {
  position: relative;
  padding-bottom: 145px;
  margin-bottom: 60px; }
  @media screen and (max-width: 1349px) {
    .bussiness_area_pattern {
      margin-bottom: 0;
      padding-bottom: 30px; } }
  .bussiness_area_pattern .pattern_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .bussiness_area_pattern .left_img {
    position: absolute;
    top: 0;
    left: calc(0.499 * 100vw - 717.966px); }
    @media screen and (max-width: 1440px) {
      .bussiness_area_pattern .left_img {
        left: 0; } }
    @media screen and (max-width: 1349px) {
      .bussiness_area_pattern .left_img {
        position: static;
        margin: 0 auto;
        background: url(../img/BUSSINESS/kaisen_infra.jpg) no-repeat center center;
        background-size: cover;
        width: 100%;
        height: 0;
        padding-bottom: 50%;
        margin-bottom: 32px; } }
    @media (max-width: 480px) {
      .bussiness_area_pattern .left_img {
        position: static;
        margin: 0 auto;
        background: url(../img/BUSSINESS/kaisen_infra.jpg) no-repeat;
        background-size: cover;
        width: 100%;
        height: 0;
        padding-bottom: 66.66666%;
        margin-bottom: 32px; } }
  .bussiness_area_pattern .right {
    width: 700px;
    margin-left: auto;
    margin-right: calc(0.499 * 100vw - 717.966px);
    padding-top: 80px; }
    @media screen and (max-width: 1349px) {
      .bussiness_area_pattern .right {
        width: 89.3%;
        margin-left: inherit;
        margin-right: inherit;
        margin: 0 auto;
        padding-top: 0; } }
  .bussiness_area_pattern .right_img {
    position: absolute;
    top: 0;
    right: calc(0.499 * 100vw - 717.966px); }
    @media screen and (max-width: 1440px) {
      .bussiness_area_pattern .right_img {
        right: 0; } }
    @media screen and (max-width: 1349px) {
      .bussiness_area_pattern .right_img {
        position: static;
        margin: 0 auto;
        background: url(../img/BUSSINESS/kaisen_koji.jpg) no-repeat;
        background-size: cover;
        width: 100%;
        height: 0;
        padding-bottom: 50%;
        margin-bottom: 32px; } }
    @media (max-width: 480px) {
      .bussiness_area_pattern .right_img {
        position: static;
        margin: 0 auto;
        background: url(../img/BUSSINESS/kaisen_koji.jpg) no-repeat;
        background-size: cover;
        width: 100%;
        height: 0;
        padding-bottom: 66.66666%;
        margin-bottom: 32px; } }
  .bussiness_area_pattern .en_font {
    font-size: 20px;
    line-height: 32px;
    font-family: roboto, sans-serif;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.04em;
    color: #DDDDDD; }
  .bussiness_area_pattern .catch {
    padding-bottom: 20px;
    position: relative; }
    .bussiness_area_pattern .catch:after {
      position: absolute;
      border-bottom: 1px solid #707070;
      width: 700px;
      height: 1px;
      bottom: 0;
      left: 0;
      content: ""; }
    @media (max-width: 767px) {
      .bussiness_area_pattern .catch {
        padding-top: 15px; }
        .bussiness_area_pattern .catch:after {
          width: 95vw; } }
  @media screen and (max-width: 1349px) {
    .bussiness_area_pattern .oa_retail {
      background: url(../img/BUSSINESS/oa.jpg) no-repeat;
      background-size: cover; } }
  @media screen and (max-width: 1349px) {
    .bussiness_area_pattern .shopsupport {
      background: url(../img/BUSSINESS/shop_support.jpg) no-repeat;
      background-size: cover; } }
  @media screen and (max-width: 1349px) {
    .bussiness_area_pattern .staffing {
      background: url(../img/BUSSINESS/temporary_staffing.jpg) no-repeat;
      background-size: cover; } }
  @media screen and (max-width: 1349px) {
    .bussiness_area_pattern .logi {
      background: url(../img/BUSSINESS/logistics.jpg) no-repeat;
      background-size: cover; } }
  .bussiness_area_pattern .left {
    width: 700px;
    margin-right: auto;
    margin-left: calc(0.499 * 100vw - 717.966px);
    padding-top: 80px; }
    @media screen and (max-width: 1349px) {
      .bussiness_area_pattern .left {
        width: 89.3%;
        margin-left: inherit;
        margin-right: inherit;
        margin: 0 auto;
        padding-top: 0; } }
    .bussiness_area_pattern .left .en_font,
    .bussiness_area_pattern .left .catch,
    .bussiness_area_pattern .left .content,
    .bussiness_area_pattern .left .detail table tr td,
    .detail table tr .bussiness_area_pattern .left td,
    .bussiness_area_pattern .left .contact_area .form_area .form_flex,
    .contact_area .form_area .bussiness_area_pattern .left .form_flex {
      padding-left: 180px; }
      @media screen and (max-width: 1349px) {
        .bussiness_area_pattern .left .en_font,
        .bussiness_area_pattern .left .catch,
        .bussiness_area_pattern .left .content,
        .bussiness_area_pattern .left .detail table tr td,
        .detail table tr .bussiness_area_pattern .left td,
        .bussiness_area_pattern .left .contact_area .form_area .form_flex,
        .contact_area .form_area .bussiness_area_pattern .left .form_flex {
          padding-left: 0; } }
    
    .bussiness_area_pattern .left .content,
    .bussiness_area_pattern .left .detail table tr td,
    .detail table tr .bussiness_area_pattern .left td,
    .bussiness_area_pattern .left .contact_area .form_area .form_flex,
    .contact_area .form_area .bussiness_area_pattern .left .form_flex {
      width: 700px; }
      @media screen and (max-width: 1349px) {
        
        .bussiness_area_pattern .left .content,
        .bussiness_area_pattern .left .detail table tr td,
        .detail table tr .bussiness_area_pattern .left td,
        .bussiness_area_pattern .left .contact_area .form_area .form_flex,
        .contact_area .form_area .bussiness_area_pattern .left .form_flex {
          width: 100%; } }

/*-- ライフコンシェルジュ --*/
.life_concierge_mv {
  background: url(../img/BUSSINESS/life_bg.jpg) no-repeat;
  background-size: cover; }
  .life_concierge_mv .mv_ttl img {
    width: 480px; }
    @media (max-width: 767px) {
      .life_concierge_mv .mv_ttl img {
        width: 89.3vw; } }

@media screen and (max-width: 1349px) {
  #infracture_services .left_img {
    background: url(../img/BUSSINESS/infra_service.jpg) no-repeat;
    background-size: cover; } }

@media screen and (max-width: 1349px) {
  #life_support .left_img {
    background: url(../img/BUSSINESS/life_support.jpg) no-repeat;
    background-size: cover; } }

@media screen and (max-width: 1349px) {
  #purchase_desused_items .left_img {
    background: url(../img/BUSSINESS/disued_items.jpg) no-repeat;
    background-size: cover; } }

@media screen and (max-width: 1349px) {
  #moving .left_img {
    background: url(../img/BUSSINESS/moving.jpg) no-repeat;
    background-size: cover; } }
/*# sourceMappingURL=style.css.map */