@charset "UTF-8";
/*
* Table of Contntens:
*
* 1.0 - Reset
* 2.0 - Global Style
* 3.0 - Basic Structure
* 4.0 - Header
* 5.0 - Footer
* 6.0 - Home
* 7.0 - Page
*   7.1 - About
*   7.2 - Product
*   7.3 - Company
*   7.4 - Recruit
*   7.4.1 - Recruit Top
*   7.4.2 - Recruit Requirements
*   7.4.3 - Recruit Story
*   7.4.4 - Recruit Style
*   7.5 - Blog
*   7.6 - Contact
* -----------------------------------------------------------------------------
*/
/**
* 1.0 - リセット
* -----------------------------------------------------------------------------
*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

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

del {
  text-decoration: line-through;
}

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

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

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

input, select {
  vertical-align: middle;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a,
a:hover,
a:visited {
  color: inherit;
  text-decoration: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

main {
  display: block;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
}

/**
* 2.0 - Global Style
* -----------------------------------------------------------------------------
*/
/****************************************
Break Point Settings
****************************************/
/* Flex box */
.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/* Visivility depends on the device */
@media screen and (min-width: 896px) {
  .pconly {
    display: block;
  }
}
@media screen and (max-width: 897px) {
  .pconly {
    display: none !important;
  }
}

@media screen and (min-width: 896px) {
  .tabonly {
    display: none;
  }
}
@media screen and (max-width: 897px) {
  .tabonly {
    display: block !important;
  }
}
@media screen and (max-width: 480px) {
  .tabonly {
    display: none !important;
  }
}

@media screen and (max-width: 480px) {
  .pc-tab {
    display: none !important;
  }
}

@media screen and (min-width: 896px) {
  .tab-sp {
    display: none;
  }
}
@media screen and (max-width: 897px) {
  .tab-sp {
    display: block !important;
  }
}

@media screen and (min-width: 896px) {
  .sponly {
    display: none !important;
  }
}
@media screen and (max-width: 897px) {
  .sponly {
    display: none !important;
  }
}
@media screen and (max-width: 480px) {
  .sponly {
    display: block !important;
  }
}

h2 {
  font-size: 2.11rem;
}

h3 {
  font-size: 1.777rem;
}

h4 {
  font-size: 1.111rem;
}

/* Alignment */
.center {
  text-align: center;
}

.right {
  text-align: right;
}

.ib {
  display: inline-block;
}

.vac {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* Typography */
html {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-size: 14px;
  -webkit-font-feature-settings: "pwid";
          font-feature-settings: "pwid";
  color: #191919;
  line-height: 1.7;
  /* Font Size Settings （記述順注意） */
}
@media screen and (max-width: 320px) {
  html {
    font-size: 14px;
  }
}
@media screen and (min-width: 321px) {
  html {
    font-size: calc(14px + (1vw - 320px / 100) * 1.25);
  }
}
@media screen and (min-width: 480px) {
  html {
    font-size: 16px;
  }
}
@media screen and (min-width: 897px) {
  html {
    font-size: calc(14px + (1vw - 897px / 100) * 2.4);
  }
}
@media screen and (min-width: 980px) {
  html {
    font-size: calc(16px + (1vw - 980px / 100) * 0.666);
  }
}
@media screen and (min-width: 1280px) {
  html {
    font-size: 18px;
  }
}

body {
  line-height: 1.7;
}

.kulim {
  font-family: "Kulim Park";
}

/* アコーディオンアニメーション */
.accordion_icon,
.accordion_icon span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.accordion_icon {
  position: absolute;
  width: 20px;
  height: 20px;
  right: 10px;
  top: 7px;
  /*＋、－切り替え*/
}
.accordion_icon span {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #191919;
  border-radius: 4px;
  left: 8px;
  top: 0;
}
.accordion_icon span:nth-of-type(1) {
  top: 8px;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
  top: 8px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.accordion_icon.active span:nth-of-type(1) {
  display: none;
}
.accordion_icon.active span:nth-of-type(2) {
  top: 8px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* Link */
@media screen and (max-width: 480px) {
  a.noevent {
    pointer-events: none;
  }
}

/* Fog */
#bg_fog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: url("../images/home/bg1.jpg");
  background-size: cover;
  background-position: bottom;
}

/**
* 3.0 - Basic Construction
* -----------------------------------------------------------------------------
*/
body {
  overflow-x: hidden;
}

.inner {
  max-width: 1100px;
  padding-left: 30px;
  padding-right: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 480px) {
  .inner {
    padding-left: 7vw;
    padding-right: 7vw;
  }
}

/**
* 4.0 - Header
* -----------------------------------------------------------------------------
*/
.header_fix {
  position: fixed;
  width: auto;
  top: 0;
  right: 0;
  z-index: 20;
  padding-top: 30px;
}
@media screen and (max-width: 480px) {
  .header_fix {
    padding-top: 20px;
  }
}
.header_fix .flex {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.header_fix .contact a {
  display: block;
  background-color: #292633;
  color: #fff;
  font-size: 0.77rem;
  padding: 10px 20px;
  -webkit-box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
          box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
}
@media all and (-ms-high-contrast: none) {
  .header_fix .contact a span {
    display: inline-block;
    padding-top: 3%;
  }
}
@media screen and (max-width: 480px) {
  .header_fix .contact a {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.header_fix .contact a:hover {
  background-color: #3a3656;
}
.header_fix .contact a:before {
  content: "";
  width: 21px;
  height: 10px;
  background-image: url("../images/common/icon_mail_w.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 5px;
}
@media screen and (max-width: 480px) {
  .header_fix .contact a:before {
    margin-right: 0;
    width: 24px;
    height: 12px;
  }
}
.header_fix .contact a .sm {
  font-size: 0.61rem;
  margin-left: 1rem;
}

.header_main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-right: 350px;
  z-index: 1;
}
@media screen and (max-width: 897px) {
  .header_main {
    padding-right: 390px;
  }
}
@media screen and (max-width: 480px) {
  .header_main {
    padding-right: 0;
  }
}
.header_main .flex {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.header_main .logo {
  background-color: #fff;
  width: 20.7vw;
  text-align: center;
  padding: 28px 10px;
}
.header_main .logo img {
  max-width: 211px;
  width: 100%;
  vertical-align: middle;
}
@media screen and (max-width: 897px) {
  .header_main .logo {
    width: 37.7vw;
  }
}
@media screen and (max-width: 480px) {
  .header_main .logo {
    width: 57vw;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.nav_header {
  padding-left: 30px;
}
.nav_header ul li {
  margin: 0 1.4vw;
  padding-top: 30px;
  padding-bottom: 30px;
}
.nav_header ul li a {
  font-size: 0.8vw;
  font-weight: bold;
  display: inline-block;
  padding: 2px 4px;
}
.nav_header ul li a:hover {
  background-color: #191919;
  color: #fff;
}
.nav_header ul .li_blog a:before {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("../images/common/icon_blog.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}
.nav_header ul .li_blog a:hover:before {
  background-image: url("../images/common/icon_blog_w.svg");
}

/* Toggle Button */
.toggle {
  z-index: 20;
  margin-top: 5px;
  width: 35px;
  height: 29px;
  cursor: pointer;
  margin-right: 30px;
  margin-left: 30px;
  background-image: url("../images/common/btn_toggle.svg");
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transition: background 0.5s;
  transition: background 0.5s;
}
@media screen and (max-width: 480px) {
  .toggle {
    margin-left: 15px;
    margin-right: 7vw;
  }
}
.toggle.black {
  background-image: url("../images/common/btn_toggle_b.svg");
}

.toggle_line,
.toggle_line span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.toggle_line {
  position: absolute;
  width: 32px;
  height: 23px;
  right: 22px;
  top: 40px;
  margin-left: auto;
  margin-right: auto;
  z-index: 3;
}
@media screen and (max-width: 897px) {
  .toggle_line {
    width: 40px;
    height: 30px;
    top: 34px;
    right: 29px;
  }
}
@media screen and (max-width: 480px) {
  .toggle_line {
    width: 24px;
    height: 17px;
    top: 23px;
    right: 21px;
  }
}
.toggle_line span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
.toggle_line span:nth-of-type(1) {
  top: 0;
}
.toggle_line span:nth-of-type(2) {
  top: 10px;
}
@media screen and (max-width: 897px) {
  .toggle_line span:nth-of-type(2) {
    top: 13px;
  }
}
@media screen and (max-width: 480px) {
  .toggle_line span:nth-of-type(2) {
    top: 8px;
  }
}
.toggle_line span:nth-of-type(3) {
  bottom: 0;
}
.toggle_line.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
          transform: translateY(10px) rotate(-45deg);
}
@media screen and (max-width: 897px) {
  .toggle_line.active span:nth-of-type(1) {
    -webkit-transform: translateY(13px) rotate(-45deg);
            transform: translateY(13px) rotate(-45deg);
  }
}
@media screen and (max-width: 480px) {
  .toggle_line.active span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
            transform: translateY(7px) rotate(-45deg);
  }
}
.toggle_line.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-menu-bar02 0.8s forwards;
          animation: active-menu-bar02 0.8s forwards;
}
.toggle_line.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
          transform: translateY(-10px) rotate(45deg);
}
@media screen and (max-width: 897px) {
  .toggle_line.active span:nth-of-type(3) {
    -webkit-transform: translateY(-13px) rotate(45deg);
            transform: translateY(-13px) rotate(45deg);
  }
}
@media screen and (max-width: 480px) {
  .toggle_line.active span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
            transform: translateY(-7px) rotate(45deg);
  }
}

/* Drawer Menu */
.drawer {
  position: fixed;
  width: 100%;
  height: 0;
  left: 0;
  z-index: 10;
  background-color: #fff;
  top: 0;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  overflow: hidden;
}
.drawer .logo {
  padding-left: 40px;
  padding-top: 30px;
}
@media screen and (max-width: 480px) {
  .drawer .logo {
    padding-left: 7vw;
  }
}
.drawer .logo img {
  max-width: 211px;
}
@media screen and (max-width: 480px) {
  .drawer .logo img {
    max-width: 160px;
  }
}
.drawer .drawer_inner {
  max-width: 974px;
  padding-left: 40px;
  padding-right: 40px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  margin-top: 100px;
}
@media screen and (max-width: 897px) {
  .drawer .drawer_inner {
    margin-top: 160px;
  }
}
@media screen and (max-width: 480px) {
  .drawer .drawer_inner {
    margin-top: 50px;
    padding-left: 7vw;
    padding-right: 7vw;
    padding-bottom: 30px;
  }
}
.drawer .nav_drawer a {
  font-weight: bold;
  font-size: 1.11rem;
  display: inline-block;
  border-bottom: 2px solid #fff;
}
@media screen and (max-width: 897px) {
  .drawer .nav_drawer a {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 480px) {
  .drawer .nav_drawer a {
    font-size: 0.875rem;
    border-bottom-color: #191919;
  }
}
.drawer .nav_drawer a:hover {
  border-bottom-color: #e86000;
  color: #e86000;
}
.drawer .nav_drawer .has_children {
  position: relative;
}
.drawer .nav_drawer .flex {
  margin-top: 40px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 480px) {
  .drawer .nav_drawer .flex {
    margin-top: 20px;
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .drawer .nav_drawer .flex li a {
    display: block;
    font-size: 1.25rem;
  }
}
.drawer .nav_drawer .flex > li {
  -webkit-flex-basis: 25%;
      -ms-flex-preferred-size: 25%;
          flex-basis: 25%;
  max-width: 25%;
  padding-right: 20px;
  margin-bottom: 90px;
}
@media screen and (max-width: 897px) {
  .drawer .nav_drawer .flex > li {
    -webkit-flex-basis: 33.3%;
        -ms-flex-preferred-size: 33.3%;
            flex-basis: 33.3%;
    max-width: 33.3%;
  }
}
@media screen and (max-width: 480px) {
  .drawer .nav_drawer .flex > li {
    max-width: 100%;
    padding-right: 0;
    margin-bottom: 30px;
  }
}
.drawer .nav_drawer .flex ul.sub {
  padding-top: 20px;
}
@media screen and (max-width: 480px) {
  .drawer .nav_drawer .flex ul.sub {
    display: none;
    padding-left: 7vw;
  }
}
@media screen and (max-width: 480px) {
  .drawer .nav_drawer .flex ul.sub li {
    margin-bottom: 5px;
  }
}
.drawer .nav_drawer .flex ul.sub li a {
  font-size: 0.66rem;
}
@media screen and (max-width: 480px) {
  .drawer .nav_drawer .flex ul.sub li a {
    border-bottom: none;
  }
}
.drawer .logo_hq img {
  max-width: 157px;
}

body.open {
  overflow: hidden;
}
body.open .drawer {
  height: 100vh;
  overflow: scroll;
}
body.open .header_fix .contact {
  display: none;
}
body.open .toggle {
  background-image: url("../images/common/btn_toggle_close.svg");
}

/**
* 5.0 - Footer
* -----------------------------------------------------------------------------
*/
.breadcrumb {
  padding: 80px 0;
  position: relative;
}
.breadcrumb ul {
  padding-left: 10px;
}
.breadcrumb ul li {
  display: inline-block;
  font-size: 0.66rem;
  font-weight: bold;
}
.breadcrumb ul li a {
  color: #191919;
}
.breadcrumb ul li a:hover {
  text-decoration: underline;
}
.breadcrumb ul li:not(:last-child):after {
  content: ">";
  display: inline-block;
  margin: 0 10px;
}

footer {
  position: relative;
  background-color: #fff;
}
footer .totop {
  display: block;
  position: fixed;
  bottom: 20px;
  right: 30px;
  background-color: #000000;
  color: #fff;
  font-size: 0.66rem;
  padding: 20px 40px;
  text-align: center;
  z-index: 10;
}
@media screen and (max-width: 480px) {
  footer .totop {
    background-color: transparent;
    bottom: 50px;
    right: 20px;
    padding: 0;
  }
}
footer .totop:hover {
  background-color: #e86000;
  color: #fff;
}
@media screen and (max-width: 480px) {
  footer .totop:hover {
    background-color: transparent;
    color: inherit;
  }
}
footer .totop:after {
  display: inline-block;
  width: 3px;
  height: 22px;
  background-image: url("../images/common/arrow_totop.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  content: "";
  margin-left: 10px;
}
@media screen and (max-width: 480px) {
  footer .totop:after {
    background-image: url("../images/common/arrow_totop_sp.svg");
    width: 5px;
    height: 27px;
  }
}

.footer_top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 30px;
  border-bottom: 1px solid #e8e8e8;
}
@media screen and (max-width: 897px) {
  .footer_top {
    border-bottom: none;
  }
}
@media screen and (max-width: 480px) {
  .footer_top {
    padding-top: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
.footer_top .footer_cont {
  max-width: 100%;
}
.footer_top .footer_cont .logo {
  max-width: 320px;
  width: 100%;
  margin-bottom: 20px;
}
.footer_top .footer_cont .address {
  font-size: 0.66rem;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .footer_top .footer_cont .logo {
    max-width: 242px;
  }
}
.footer_top .footer_bnr {
  width: 100%;
  float: right;
  text-align: right;
}
.footer_top .footer_bnr a {
  display: inline-block;
  margin-bottom: 15px;
}
.footer_top .footer_bnr a .ibaragi_one {
  max-width: 280px;
  width: 100%;
}
.footer_top .footer_bnr a .white_company {
  max-width: 165px;
  width: 100%;
  margin-left: 15px;
}
.footer_top .footer_bnr a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 897px) {
  .footer_top .footer_bnr a .ibaragi_one {
    max-width: 240px;
  }
  .footer_top .footer_bnr a .white_company {
    max-width: 145px;
  }
}
@media screen and (max-width: 480px) {
  .footer_top .footer_bnr {
    margin: 30px 0 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
  }
  .footer_top .footer_bnr a {
    float: left;
    text-align: left;
  }
  .footer_top .footer_bnr a .ibaragi_one {
    max-width: 240px;
  }
  .footer_top .footer_bnr a .white_company {
    max-width: 145px;
    margin-left: 0;
  }
}

.footer_bottom {
  padding-top: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  .footer_bottom {
    padding-top: 0;
  }
}

.nav_footer {
  margin-bottom: 30px;
}
.nav_footer ul li a {
  font-size: 0.77rem;
  font-weight: bold;
}
.nav_footer ul li a:hover {
  color: #e86000;
}
.nav_footer ul li .sub {
  margin-top: 10px;
}
.nav_footer ul li .sub li a {
  font-size: 0.66rem;
}

.to_hq img {
  max-width: 157px;
}

.copyright {
  background-color: #292633;
  color: #fff;
  font-size: 0.61rem;
  padding-top: 10px;
  padding-bottom: 10px;
}

/**
* 6.0 - Home
* -----------------------------------------------------------------------------
*/
.home .sec_home_top {
  height: 100vh;
  width: 100vw;
  padding-top: 200px;
  padding-left: 40px;
  position: relative;
}
@media screen and (max-width: 480px) {
  .home .sec_home_top {
    padding-left: 7%;
    padding-right: 7%;
    height: calc(95vh - 70px);
    padding-top: 110px;
  }
}
.home .sec_home_top .catch_top {
  width: 15.7vw;
}
@media screen and (max-width: 897px) {
  .home .sec_home_top .catch_top {
    width: 28.6vw;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_top .catch_top {
    width: 35.2vw;
  }
}
.home .sec_home_top .catch_middle {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
}
.home .sec_home_top .catch_middle span {
  font-size: 4.14vw;
  color: #fff;
  background-color: #000;
  display: inline-block;
  font-weight: bold;
  padding: 10px;
  line-height: 1;
}
@media all and (-ms-high-contrast: none) {
  .home .sec_home_top .catch_middle span {
    padding-top: 3%;
  }
}
@media screen and (max-width: 897px) {
  .home .sec_home_top .catch_middle span {
    font-size: 5.98vw;
  }
}
.home .sec_home_top .catch_bottom {
  position: absolute;
  bottom: 40px;
  right: 40px;
  text-align: right;
}
@media screen and (max-width: 897px) {
  .home .sec_home_top .catch_bottom {
    bottom: 80px;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_top .catch_bottom {
    right: 7vw;
  }
}
.home .sec_home_top .catch_bottom span {
  display: inline-block;
  background-color: #fff;
  font-size: 1.5vw;
  padding: 3px 10px;
  margin-bottom: 10px;
  font-weight: bold;
  line-height: 1;
}
@media all and (-ms-high-contrast: none) {
  .home .sec_home_top .catch_bottom span {
    padding-top: 3%;
  }
}
@media screen and (max-width: 897px) {
  .home .sec_home_top .catch_bottom span {
    font-size: 2.8vw;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_top .catch_bottom span {
    font-size: 0.825rem;
    margin-bottom: 0;
  }
}
.home main {
  padding-left: 40px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 480px) {
  .home main {
    padding-left: 0;
  }
}
.home main h2 {
  font-size: 10.7vw;
  font-weight: bold;
  display: inline-block;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 897px) {
  .home main h2 {
    font-size: 15.6vw;
  }
}
@media screen and (max-width: 480px) {
  .home main h2 {
    line-height: 1.3;
    font-size: 5rem;
  }
}
.home main h2 a {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.5s color;
  transition: 0.5s color;
}
.home main h2 a:hover {
  color: #ea6000;
}
.home main h2 .ja {
  font-size: 1.33rem;
  margin-bottom: -1.2rem;
}
@media screen and (max-width: 480px) {
  .home main h2 .ja {
    font-size: 1rem;
  }
}
.home main h2 .ja span {
  color: #fff;
  display: inline-block;
  background-color: #191919;
  padding: 3px 5px;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-bottom: -10px;
}
.home main h2:after {
  position: absolute;
  bottom: 0;
  width: 0;
  height: 4px;
  background-color: #ea6000;
  content: "";
  left: 0;
  -webkit-transition: 0.5s width;
  transition: 0.5s width;
}
.home main h2:hover:after {
  width: 100%;
}
.home main h2 + p {
  font-weight: bold;
  margin-top: 20px;
  line-height: 2;
  text-shadow: 0px 0px 10px #ffffff;
}
.home .sec_home_about {
  text-align: right;
  position: relative;
  height: 630px;
  background-color: #fff;
}
@media screen and (max-width: 897px) {
  .home .sec_home_about {
    height: 346px;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_about {
    height: auto;
    text-align: left;
    padding-top: 40px;
  }
}
.home .sec_home_about .inner {
  position: relative;
  height: 100%;
  z-index: 1;
}
.home .sec_home_about .vac {
  right: 30px;
}
@media screen and (max-width: 480px) {
  .home .sec_home_about .vac {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
}
.home .sec_home_about .bg {
  width: 70%;
  background-image: url("../images/home/bg2.png");
  background-size: cover;
  background-position: center;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  z-index: 0;
}
@media screen and (max-width: 480px) {
  .home .sec_home_about .bg {
    position: static;
    padding-top: 70%;
    width: 100%;
    margin-top: 40px;
  }
}
.home .sec_home_product {
  background-color: #fff;
}
.home .sec_home_product .sec_home_product_top .flex {
  position: relative;
  z-index: 1;
}
.home .sec_home_product .sec_home_product_top .flex > div {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
  padding-top: 180px;
  padding-bottom: 180px;
}
@media screen and (max-width: 897px) {
  .home .sec_home_product .sec_home_product_top .flex > div {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_product .sec_home_product_top .flex > div {
    max-width: 100%;
  }
}
.home .sec_home_product .sec_home_product_top .flex .text {
  padding-left: calc((100vw - 40px - 1100px) / 2);
}
.home .sec_home_product .bg {
  position: relative;
  padding-left: 10vw;
  z-index: -1;
}
.home .sec_home_product .bg .bg_inner {
  position: absolute;
  height: 100%;
  right: 0;
  width: 45vw;
  top: 0;
  background-image: url("../images/home/bg_product.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
}
@media screen and (max-width: 897px) {
  .home .sec_home_product .bg .bg_inner {
    width: 65vw;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_product .bg .bg_inner {
    background-image: url("../images/home/bg_product_sp.jpg");
    width: 53.8vw;
  }
}
@media screen and (max-width: 480px) {
  .home .product_wrap {
    padding-left: 7vw;
    padding-right: 7vw;
    margin-bottom: 30px;
  }
}
.home .product_wrap > .flex {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 480px) {
  .home .product_wrap > .flex {
    display: block;
  }
}
.home .product_wrap > .flex > div {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
  border: 1px solid #efefef;
}
@media screen and (max-width: 480px) {
  .home .product_wrap > .flex > div {
    max-width: 100%;
  }
}
.home .product_wrap > .flex > div:nth-child(4) {
  background-image: url("../images/home/bg3.jpg");
  background-size: 143px 188px;
  position: relative;
}
.home .product_wrap > .flex > div:nth-child(4) div {
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.home .product_wrap > .flex > div:nth-child(4) div span {
  font-size: 1.36rem;
  font-weight: bold;
  border-bottom: 3px solid #191919;
  padding-bottom: 15px;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div:nth-child(4) div span {
    font-size: 0.84rem;
  }
}
.home .product_wrap > .flex > div:nth-child(4) div span:before {
  width: 27px;
  height: 40px;
  background-image: url("../images/home/icon_knowledge.svg");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  margin-top: -5px;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div:nth-child(4) div span:before {
    width: 16px;
    height: 24px;
  }
}
@media screen and (max-width: 480px) {
  .home .product_wrap > .flex > div:nth-child(4) {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.home .product_wrap > .flex > div a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8% 11%;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div a {
    padding-right: 2%;
  }
}
@media screen and (max-width: 480px) {
  .home .product_wrap > .flex > div a {
    padding-left: 7vw;
    padding-right: 1vw;
  }
}
.home .product_wrap > .flex > div a:hover {
  background-color: #e0eff0;
}
.home .product_wrap > .flex > div .subtitle {
  font-size: 0.66rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.home .product_wrap > .flex > div h3 {
  font-size: 2.77rem;
  line-height: 1;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div h3 {
    font-size: 1.72rem;
  }
}
.home .product_wrap > .flex > div h3 .sm {
  font-size: 1.77rem;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div h3 .sm {
    font-size: 1.1rem;
  }
}
.home .product_wrap > .flex > div .label {
  display: inline-block;
  color: #fff;
  font-size: 0.66rem;
  padding: 3px 5px;
  margin-bottom: 20px;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div .label {
    font-size: 10px;
    padding-top: 1px;
    padding-bottom: 1px;
  }
}
.home .product_wrap > .flex > div .custom {
  background-color: #ea6000;
}
.home .product_wrap > .flex > div .order {
  background-color: #ed9135;
}
.home .product_wrap > .flex > div p {
  font-size: 0.77rem;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div p {
    font-size: 0.625rem;
  }
}
.home .product_wrap > .flex > div .readmore {
  margin-top: 50px;
  font-size: 0.77rem;
  border-bottom: 2px solid #191919;
  display: inline-block;
  padding-bottom: 3px;
  font-weight: bold;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div .readmore {
    margin-top: 30px;
    font-size: 0.625rem;
  }
}
@media screen and (max-width: 480px) {
  .home .product_wrap > .flex > div .readmore {
    margin-top: 10px;
  }
}
.home .product_wrap > .flex > div .flex > div {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
}
.home .product_wrap > .flex > div .flex .image {
  padding-left: 4%;
}
@media screen and (max-width: 897px) {
  .home .product_wrap > .flex > div .flex .image {
    padding-left: 0;
  }
}
.home .product_wrap > .flex > div .flex .image img {
  max-width: 100%;
}
.home .sec_home_contact {
  background-color: #292633;
  color: #fff;
  width: 100vw;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .home .sec_home_contact {
    -webkit-transform: none;
            transform: none;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.home .sec_home_contact .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 897px) {
  .home .sec_home_contact .flex {
    display: block;
  }
}
.home .sec_home_contact .text,
.home .sec_home_contact .title {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 897px) {
  .home .sec_home_contact .text,
  .home .sec_home_contact .title {
    max-width: 100%;
  }
}
.home .sec_home_contact .text p {
  font-size: 1.33rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 480px) {
  .home .sec_home_contact .text p {
    font-size: 1.06rem;
  }
}
.home .sec_home_contact .text .tel {
  font-size: 3.33rem;
  font-weight: 600;
  line-height: 1.5;
}
.home .sec_home_contact .text .tel a {
  background: none;
  color: #fff;
}
@media screen and (max-width: 480px) {
  .home .sec_home_contact .text .tel {
    font-size: 2.5rem;
  }
}
.home .sec_home_contact .text .tel:before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 47px;
  height: 43px;
  background-image: url("../images/common/icon_tel.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 480px) {
  .home .sec_home_contact .text .tel:before {
    width: 32px;
    height: 30px;
  }
}
.home .sec_home_contact .text .mail {
  display: inline-block;
  background-color: #fff;
  text-align: center;
  color: #191919;
  padding: 5px 10px;
  font-weight: bold;
}
.home .sec_home_contact .text .mail:before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  background-image: url("../images/common/icon_mail.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 31px;
  height: 16px;
  vertical-align: middle;
}
.home .sec_home_contact .text .open {
  font-size: 0.77rem;
  margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
  .home .sec_home_contact .text .open {
    margin-bottom: 20px;
  }
}
.home .sec_home_contact .title h2 {
  border-bottom-color: #fff;
}
@media screen and (max-width: 897px) {
  .home .sec_home_contact .title h2 {
    margin-bottom: 10px;
  }
}
.home .sec_home_contact .title .ja {
  text-align: right;
}
@media screen and (max-width: 897px) {
  .home .sec_home_contact .title .ja {
    text-align: left;
  }
}
.home .sec_home_contact .title .ja span {
  color: #191919;
  font-weight: bold;
  display: inline-block;
  background-color: #fff;
  padding: 3px;
  line-height: 1;
}
@media screen and (max-width: 897px) {
  .home .sec_home_contact .title .vac {
    -webkit-transform: none;
            transform: none;
    position: static;
  }
}
.home .sec_home_recruit .readmore a,
.home .sec_home_compnay .readmore a {
  margin-top: 50px;
  font-size: 0.77rem;
  display: inline-block;
  padding-bottom: 3px;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 480px) {
  .home .sec_home_recruit .readmore a,
  .home .sec_home_compnay .readmore a {
    margin-top: 20px;
  }
}
.home .sec_home_recruit .readmore a:after,
.home .sec_home_compnay .readmore a:after {
  bottom: -3px;
  content: "";
  width: 0;
  height: 2px;
  background-color: #ea6000;
  -webkit-transition: 0.5s width;
  transition: 0.5s width;
  position: absolute;
  left: 0;
}
.home .sec_home_recruit .readmore a:hover:after,
.home .sec_home_compnay .readmore a:hover:after {
  width: 100%;
}
.home .sec_home_company {
  margin-top: 200px;
  padding-top: 160px;
  padding-bottom: 390px;
  background-image: url("../images/home/bg_company.jpg?20250929");
  background-size: cover;
  background-position: bottom;
}
@media screen and (max-width: 897px) {
  .home .sec_home_company {
    margin-top: 160px;
    padding-top: 100px;
    padding-bottom: 280px;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_company {
    margin-top: 70px;
    padding-top: 50px;
    padding-bottom: 150px;
  }
}
.home .sec_home_company .nav_company {
  margin-top: 30px;
}
.home .sec_home_company .nav_company ul {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.home .sec_home_company .nav_company ul li {
  margin-right: 2rem;
}
.home .sec_home_company .nav_company ul li a {
  position: relative;
  font-weight: bold;
  -webkit-transition: 0.5s color;
  transition: 0.5s color;
}
.home .sec_home_company .nav_company ul li a:after {
  content: "";
  width: 0;
  height: 2px;
  background-color: #ea6000;
  left: 0;
  position: absolute;
  bottom: -5px;
  -webkit-transition: 0.5s width;
  transition: 0.5s width;
}
.home .sec_home_company .nav_company ul li a:hover {
  color: #ea6000;
}
.home .sec_home_company .nav_company ul li a:hover:after {
  width: 100%;
}
.home .sec_home_recruit {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #d0dddd;
}
@media screen and (max-width: 897px) {
  .home .sec_home_recruit {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_recruit {
    padding-bottom: 0;
    margin-bottom: 150px;
  }
}
.home .sec_home_recruit .flex {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 480px) {
  .home .sec_home_recruit .flex {
    display: block;
  }
}
.home .sec_home_recruit .flex .text {
  padding-top: 80px;
  padding-bottom: 120px;
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
  padding-left: calc((100vw - 40px - 1100px) / 2);
}
@media screen and (max-width: 897px) {
  .home .sec_home_recruit .flex .text {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_recruit .flex .text {
    max-width: 100%;
    padding-bottom: 0;
  }
}
.home .sec_home_recruit .flex .text img {
  max-width: 366px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 20px;
}
.home .sec_home_recruit .flex .text p {
  font-weight: bold;
}
.home .sec_home_recruit .flex .bg {
  position: relative;
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
  z-index: -1;
}
@media screen and (max-width: 480px) {
  .home .sec_home_recruit .flex .bg {
    max-width: 100%;
  }
}
.home .sec_home_recruit .flex .bg .bg_inner {
  position: absolute;
  top: 0;
  right: 0;
  width: 60vw;
  height: 100%;
  background-image: url("../images/home/bg_recruit.jpg");
  background-size: cover;
}
@media screen and (min-width: 1400px) {
  .home .sec_home_recruit .flex .bg .bg_inner {
    left: calc(-10vw - 20px);
  }
}
@media screen and (max-width: 480px) {
  .home .sec_home_recruit .flex .bg .bg_inner {
    position: static;
    padding-top: 53.5%;
    width: 100%;
    margin-top: 30px;
  }
}

/**
* 7.0 - Page
* -----------------------------------------------------------------------------
*/
/* AOS */
html:not(.no-js) [data-aos=fade-up] {
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0);
}

.page .page_top {
  min-height: 400px;
  height: 70vh;
  position: relative;
  padding-top: 260px;
  overflow: hidden;
}
@media screen and (max-width: 897px) {
  .page .page_top {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 480px) {
  .page .page_top {
    height: 57vh;
    padding-top: 28vh;
  }
}
.page .page_top h2 {
  line-height: 1;
  text-align: right;
  -webkit-transform: translateX(0.6em) translateY(-50%);
          transform: translateX(0.6em) translateY(-50%);
  top: 50%;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 897px) {
  .page .page_top h2 {
    -webkit-transform: translateX(0.2em) !important;
            transform: translateX(0.2em) !important;
  }
}
.page .page_top h2 .ja {
  font-size: 1.22rem;
  position: absolute;
  right: calc(100% - 3vw);
  top: 55%;
  width: 100%;
  z-index: 1;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
}
@media screen and (max-width: 897px) {
  .page .page_top h2 .ja {
    font-size: 2.3vw;
  }
}
@media screen and (max-width: 480px) {
  .page .page_top h2 .ja {
    font-size: 0.875rem;
    top: 44%;
    font-size: 3.7vw;
  }
}
.page .page_top h2 .ja img {
  display: inline-block;
  width: 21px;
  vertical-align: middle;
  margin-right: 5px;
}
.page .page_top h2 .ja span {
  display: inline-block;
  white-space: nowrap;
  background-color: #191919;
  color: #fff;
  padding: 3px 10px;
}
@media all and (-ms-high-contrast: none) {
  .page .page_top h2 .ja span {
    padding-top: 0.7em;
  }
}
@media screen and (max-width: 480px) {
  .page .page_top h2 .ja span {
    padding-left: 3px;
    padding-right: 3px;
  }
}
.page .page_top h2 .ja .sm {
  font-size: 0.77rem;
  margin-right: 5px;
  display: inline-block;
  vertical-align: middle;
}
@supports (-ms-ime-align: auto) {
  .page .page_top h2 .ja .sm {
    padding-top: 0;
  }
}
@media screen and (max-width: 897px) {
  .page .page_top h2 .ja .sm {
    font-size: 1.69vw;
  }
}
@media screen and (max-width: 480px) {
  .page .page_top h2 .ja .sm {
    font-size: 2.9vw;
  }
}
.page .page_top h2 .en {
  display: inline-block;
  font-size: 0;
}
.page .page_top h2 .en span {
  display: inline-block;
  font-size: 15vw;
  vertical-align: middle;
}
.page .page_top .catch,
.page .page_top .catch_sub {
  font-weight: bold;
  text-align: right;
  margin-right: 40px;
  line-height: 1.7;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
}
@media screen and (max-width: 480px) {
  .page .page_top .catch,
  .page .page_top .catch_sub {
    margin-right: 7vw;
  }
}
.page .page_top .catch {
  font-size: 1.7vw;
  margin-top: 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 897px) {
  .page .page_top .catch {
    margin-bottom: 20px;
    font-size: 2.8vw;
  }
}
@media screen and (max-width: 480px) {
  .page .page_top .catch {
    font-size: 4.8vw;
  }
}
.page .page_top .catch_sub {
  font-size: 1vw;
}
@media screen and (max-width: 897px) {
  .page .page_top .catch_sub {
    font-size: 1.69vw;
  }
}
@media screen and (max-width: 480px) {
  .page .page_top .catch_sub {
    font-size: 3.2vw;
  }
}
.page .wrap main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
.page .wrap main h3 {
  font-size: 2rem;
  margin-bottom: 50px;
}
@media screen and (max-width: 897px) {
  .page .wrap main h3 {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 480px) {
  .page .wrap main h3 {
    font-size: 1.5rem;
  }
}
.page .wrap main h3 .en {
  font-size: 0.88rem;
  display: block;
}
.page .wrap main .sec_page {
  margin-bottom: 60px;
  background-color: #fff;
  padding-top: 5%;
  padding-bottom: 7%;
}
@media screen and (max-width: 897px) {
  .page .wrap main .sec_page {
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 480px) {
  .page .wrap main .sec_page {
    margin-bottom: 35px;
  }
}
.page .wrap main .sec_page p {
  margin-top: 2rem;
}
@media screen and (max-width: 480px) {
  .page .wrap main .sec_page p {
    font-size: 0.875rem;
  }
}
.page .wrap main .sec_page .catch {
  font-size: 1.33rem;
  font-weight: bold;
}
.page .wrap main .pl {
  padding-left: 11%;
}
@media screen and (max-width: 480px) {
  .page .wrap main .pl {
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
.page .wrap main .pr {
  padding-right: 21%;
}
@media screen and (max-width: 897px) {
  .page .wrap main .pr {
    padding-right: 8.4%;
  }
}
@media screen and (max-width: 480px) {
  .page .wrap main .pr {
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
.page .sidebar {
  -webkit-flex-basis: 307px;
      -ms-flex-preferred-size: 307px;
          flex-basis: 307px;
  max-width: 307px;
  position: relative;
  padding-left: calc((100vw - 1100px) / 2);
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
.page .sidebar .inner {
  padding-top: 40px;
}
@media screen and (max-width: 897px) {
  .page .sidebar {
    -webkit-flex-basis: 270px;
        -ms-flex-preferred-size: 270px;
            flex-basis: 270px;
    max-width: 270px;
  }
}
.page .sidebar h3 {
  font-size: 0.77rem;
  margin-bottom: 30px;
}
.page .sidebar ul li {
  margin-bottom: 30px;
}
.page .sidebar ul li a {
  font-size: 1.22rem;
  font-weight: bold;
  display: inline-block;
  position: relative;
}
.page .sidebar ul li a:after {
  content: "";
  width: 100%;
  background-color: #191919;
  height: 2px;
  left: 0;
  position: absolute;
  bottom: -3px;
  -webkit-transition: 0.5s width;
  transition: 0.5s width;
}
.page .sidebar ul li a:hover:after {
  width: 0;
}
.page .sidebar .totop {
  margin-top: 80px;
  font-size: 10px;
  font-weight: bold;
  display: inline-block;
}
.page .sidebar .totop:after {
  content: "";
  width: 3px;
  height: 15px;
  background-image: url("../images/common/arrow_totop.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: 10px;
}

/**
* 7.1 - About
* -----------------------------------------------------------------------------
*/
.page_about #introduction > img {
  width: calc(100% + 11vw);
  max-width: calc(100% + 11vw);
}
.page_about #introduction p {
  font-weight: bold;
}
.page_about #service p {
  font-size: 0.77rem;
}
.page_about #service .service_box {
  margin-top: 80px;
}
@media screen and (max-width: 480px) {
  .page_about #service .service_box .flex {
    display: block;
  }
}
.page_about #service .service_box .image {
  position: relative;
  -webkit-flex-basis: 56.3%;
      -ms-flex-preferred-size: 56.3%;
          flex-basis: 56.3%;
  max-width: 56.3%;
}
@media screen and (max-width: 480px) {
  .page_about #service .service_box .image {
    max-width: 100%;
  }
}
.page_about #service .service_box .text {
  -webkit-flex-basis: 35.7%;
      -ms-flex-preferred-size: 35.7%;
          flex-basis: 35.7%;
  max-width: 35.7%;
}
@media screen and (max-width: 480px) {
  .page_about #service .service_box .text {
    max-width: 100%;
  }
}
.page_about #service .service_box .text .lg {
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .page_about #service .service_box .text .lg {
    margin-top: 20px;
  }
}
.page_about #service .service_box .text p {
  font-size: 0.72rem;
}
.page_about #service .service_box .num {
  font-size: 3.88rem;
  font-weight: bold;
  position: absolute;
  top: -0.5em;
  right: 0;
  line-height: 1;
}
@media screen and (max-width: 480px) {
  .page_about #service .service_box .num {
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}
.page_about #market p {
  font-size: 0.77rem;
}
.page_about #market h4 {
  font-size: 1rem;
  margin-top: 30px;
  margin-bottom: 10px;
}
.page_about #market .trade .contents {
  background-color: #e0eff0;
  padding: 5%;
  font-size: 0.66rem;
}
.page_about #qualitypolicy ul li {
  font-size: 0.77rem;
  margin-bottom: 20px;
  text-indent: -16px;
  padding-left: 16px;
}
.page_about #qualitypolicy ul li:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 3px;
  background-color: #e86000;
  display: inline-block;
  margin-right: 10px;
}
.page_about #qualitypolicy img {
  max-width: 239px;
}
@media screen and (max-width: 897px) {
  .page_about #qualitypolicy img {
    max-width: 194px;
  }
}
@media screen and (max-width: 480px) {
  .page_about #qualitypolicy img {
    max-width: 158px;
  }
}

/**
* 7.2 - Product
* -----------------------------------------------------------------------------
*/
.page_product .page_top {
  height: auto;
  min-height: 70vh;
  text-align: right;
}
@media screen and (max-width: 897px) {
  .page_product .page_top {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 480px) {
  .page_product .page_top {
    padding-top: 28vh;
  }
}
.page_product .page_top h2 {
  position: relative;
  display: inline-block;
  -webkit-transform: translateX(0.6em);
          transform: translateX(0.6em);
}
.page_product .page_top .catch_sub {
  padding-bottom: 30px;
}
.page_product main h4 {
  font-size: 1rem;
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  .page_product main h4 {
    margin-bottom: 10px;
  }
}
.page_product .nav_product {
  position: relative;
  background-color: #fff;
}
.page_product .nav_product .flex {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.page_product .nav_product .product {
  -webkit-flex-basis: 33.3333333333%;
      -ms-flex-preferred-size: 33.3333333333%;
          flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .page_product .nav_product .product {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    max-width: 50%;
    border-bottom: 1px solid #eaeaea;
  }
}
.page_product .nav_product .product:not(:last-child) {
  border-right: 1px solid #eaeaea;
}
@media screen and (max-width: 480px) {
  .page_product .nav_product .product:nth-child(2n-1) {
    border-right: 1px solid #eaeaea;
  }
}
.page_product .nav_product .product a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 4% 6% 4% 12%;
}
.page_product .nav_product .product a:hover {
  background-color: #e0eff0;
}
.page_product .nav_product .product a:hover .readmore {
  padding-bottom: 0px;
  border: none;
}
.page_product .nav_product .product .subtitle {
  font-size: 0.55rem;
}
.page_product .nav_product .product h3 {
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 15px;
}
@media screen and (max-width: 897px) {
  .page_product .nav_product .product h3 {
    font-size: 1.5rem;
  }
}
.page_product .nav_product .product h3 .sm {
  font-size: 1.22rem;
}
@media screen and (max-width: 897px) {
  .page_product .nav_product .product h3 .sm {
    font-size: 0.66rem;
  }
}
.page_product .nav_product .product p {
  font-size: 0.55rem;
}
.page_product .nav_product .product .readmore {
  font-size: 0.77rem;
  margin-top: 30px;
  display: inline-block;
  border-bottom: 2px solid #191919;
}
@media screen and (max-width: 897px) {
  .page_product .nav_product .product .readmore {
    margin-top: 5px;
  }
}
.page_product .nav_product .product .flex .text {
  -webkit-flex-basis: 45%;
      -ms-flex-preferred-size: 45%;
          flex-basis: 45%;
  max-width: 45%;
}
@media screen and (max-width: 897px) {
  .page_product .nav_product .product .flex .text {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    max-width: 50%;
  }
}
@media screen and (max-width: 480px) {
  .page_product .nav_product .product .flex .text {
    -webkit-flex-basis: 60%;
        -ms-flex-preferred-size: 60%;
            flex-basis: 60%;
    max-width: 60%;
  }
}
.page_product .nav_product .product .flex .image {
  -webkit-flex-basis: 55%;
      -ms-flex-preferred-size: 55%;
          flex-basis: 55%;
  max-width: 55%;
}
@media screen and (max-width: 897px) {
  .page_product .nav_product .product .flex .image {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    max-width: 50%;
  }
}
@media screen and (max-width: 480px) {
  .page_product .nav_product .product .flex .image {
    -webkit-flex-basis: 40%;
        -ms-flex-preferred-size: 40%;
            flex-basis: 40%;
    max-width: 40%;
  }
}
.page_product .nav_product .knowledge {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media all and (-ms-high-contrast: none) {
  .page_product .nav_product .knowledge {
    max-width: 100%;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
  }
}
.page_product .nav_product .knowledge a {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 35px;
  padding-bottom: 35px;
  font-weight: bold;
  background-image: url("../images/home/bg3.jpg");
  background-size: 143px 188px;
  text-align: center;
}
@media screen and (max-width: 897px) {
  .page_product .nav_product .knowledge a {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
@media screen and (max-width: 480px) {
  .page_product .nav_product .knowledge a span {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: block;
  }
}
.page_product .nav_product .knowledge a span:before {
  content: "";
  display: inline-block;
  width: 19px;
  height: 29px;
  background-image: url("../images/home/icon_knowledge.svg");
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
}
.page_product .sec_product {
  position: relative;
  background-color: #fff;
}
.page_product .sec_product .inner {
  border-bottom: 1px solid #efefef;
  padding-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .page_product .sec_product .inner {
    padding-bottom: 50px;
  }
}
.page_product .product_top {
  padding-top: 82px;
}
@media screen and (max-width: 480px) {
  .page_product .product_top {
    padding-top: 40px;
    display: block;
  }
}
.page_product .product_top .text {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 897px) {
  .page_product .product_top .text {
    -webkit-flex-basis: 55%;
        -ms-flex-preferred-size: 55%;
            flex-basis: 55%;
    max-width: 55%;
  }
}
@media screen and (max-width: 480px) {
  .page_product .product_top .text {
    max-width: 100%;
  }
}
.page_product .product_top .image {
  -webkit-flex-basis: 40%;
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
  max-width: 40%;
}
.page_product .product_top .subtitle {
  font-size: 0.77rem;
  font-weight: bold;
}
.page_product .product_top h3 {
  font-size: 3.33rem;
  line-height: 1;
  margin-bottom: 30px;
}
.page_product .product_top h3 .sm {
  font-size: 2rem;
  font-family: sans-serif;
}
.page_product .product_top h3 .label {
  font-size: 0.66rem;
  display: inline-block;
  vertical-align: middle;
  background-color: #ea6000;
  padding: 3px 5px;
  color: #fff;
  margin-left: 10px;
}
@media all and (-ms-high-contrast: none) {
  .page_product .product_top h3 .label {
    padding-top: 1.5%;
  }
}
.page_product .product_top .explain {
  font-weight: 600;
}
.page_product .product_top .catch {
  font-size: 1.25rem;
  font-weight: 600;
  padding-bottom: 30px;
  border-bottom: 1px solid #000;
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  .page_product .product_top .catch {
    margin-top: 20px;
  }
}
.page_product .product_top ul {
  margin-top: 30px;
}
.page_product .product_top ul li {
  font-size: 0.72rem;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  .page_product .product_top ul li {
    text-indent: -1em;
    padding-left: 1em;
  }
}
.page_product .spec {
  margin-top: 40px;
  margin-bottom: 40px;
}
.page_product .spec .scroll {
  overflow: auto;
  white-space: nowrap;
}
.page_product .spec .scroll::-webkit-scrollbar {
  height: 5px;
  margin-top: 10px;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}
.page_product .spec .scroll::-webkit-scrollbar-track {
  background: #F1F1F1;
}
.page_product .spec .scroll::-webkit-scrollbar-thumb {
  background: #ea6000;
}
.page_product .spec .tb_spec {
  width: 100%;
}
.page_product .spec .tb_spec tr:first-child th, .page_product .spec .tb_spec tr:first-child td {
  color: #ea6000;
}
.page_product .spec .tb_spec tr:last-child th div {
  border-bottom: 1px solid #000;
}
.page_product .spec .tb_spec tr:last-child td {
  border-bottom: 1px solid #e5e5e5;
}
.page_product .spec .tb_spec th, .page_product .spec .tb_spec td {
  font-size: 0.72rem;
}
@media screen and (max-width: 480px) {
  .page_product .spec .tb_spec th, .page_product .spec .tb_spec td {
    font-size: 0.75rem;
  }
}
.page_product .spec .tb_spec th {
  padding-right: 40px;
  text-align: right;
  width: 210px;
}
@media screen and (max-width: 480px) {
  .page_product .spec .tb_spec th {
    padding-right: 20px;
  }
}
.page_product .spec .tb_spec th div {
  border-top: 1px solid #000;
  padding-top: 20px;
  padding-bottom: 20px;
}
.page_product .spec .tb_spec td {
  border-top: 1px solid #e5e5e5;
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .page_product .use_flex .flex {
    display: block;
  }
}
.page_product .use_flex .flex > div {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 480px) {
  .page_product .use_flex .flex > div {
    max-width: 100%;
  }
}
.page_product .use_flex .flex > div ul li {
  font-size: 0.72rem;
  margin-bottom: 5px;
}
@media screen and (max-width: 480px) {
  .page_product .use_flex .flex .use {
    margin-bottom: 20px;
  }
}
.page_product .product_bottom {
  max-width: 563px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
}
.page_product .product_bottom .to_contact {
  -webkit-box-shadow: 0 0 20px rgba(58, 58, 58, 0.4);
          box-shadow: 0 0 20px rgba(58, 58, 58, 0.4);
  display: block;
  text-align: center;
  color: #fff;
  font-size: 0.66rem;
}
.page_product .product_bottom .to_contact .lg {
  font-size: 1.33rem;
  line-height: 1.4;
  margin-bottom: 20px;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_contact .lg {
    font-size: 1rem;
  }
}
.page_product .product_bottom .to_contact .top a {
  display: block;
  padding-top: 30px;
  padding-bottom: 20px;
  background-color: #292633;
}
.page_product .product_bottom .to_contact .top a:hover {
  background-color: #3a3656;
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_contact .bottom {
    display: block;
  }
}
.page_product .product_bottom .to_contact .bottom > div {
  color: #ea6000;
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_contact .bottom > div {
    max-width: 100%;
  }
}
.page_product .product_bottom .to_contact .bottom > div a {
  display: block;
  width: 100%;
  height: 100%;
}
.page_product .product_bottom .to_contact .bottom > div a:hover {
  background-color: #e0eff0;
}
.page_product .product_bottom .to_contact .bottom > div:first-child {
  font-size: 1.77rem;
  font-weight: bold;
  border-right: 2px solid #292633;
}
.page_product .product_bottom .to_contact .bottom > div:first-child span {
  font-size: 0.77rem;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_contact .bottom > div:first-child span {
    font-size: 1rem;
  }
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_contact .bottom > div:first-child {
    border-right: none;
    border-bottom: 2px solid #292633;
  }
}
.page_product .product_bottom .to_contact .bottom > div:nth-child(2) {
  font-size: 1rem;
}
.page_product .product_bottom .to_contact .bottom > div:nth-child(2) span {
  position: relative;
  display: block;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_contact .bottom > div:nth-child(2) span {
    -webkit-transform: none;
            transform: none;
    font-size: 1.25rem;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.page_product .product_bottom .to_contact .bottom > div:nth-child(2) span:before {
  content: "";
  width: 26px;
  height: 13px;
  background-image: url("../images/product/icon_mail_or.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.page_product .product_bottom .to_detail {
  margin-top: 40px;
  display: block;
  height: 40px;
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_detail {
    margin-top: 30px;
    height: 70px;
  }
}
.page_product .product_bottom .to_detail:hover .label {
  background-color: #3a3656;
}
.page_product .product_bottom .to_detail:hover .label:after {
  border-left-color: #3a3656;
}
.page_product .product_bottom .to_detail:hover .logo {
  background-color: #e0eff0;
}
.page_product .product_bottom .to_detail .flex {
  height: 100%;
}
.page_product .product_bottom .to_detail .label {
  background-color: #292633;
  color: #fff;
  -webkit-flex-basis: 35%;
      -ms-flex-preferred-size: 35%;
          flex-basis: 35%;
  max-width: 35%;
  position: relative;
  line-height: 40px;
  text-align: center;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .page_product .product_bottom .to_detail .label {
    padding-top: 1%;
  }
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_detail .label {
    line-height: 20px;
  }
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_detail .label span {
    display: block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.page_product .product_bottom .to_detail .label:after {
  content: "";
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid #292633;
  position: absolute;
  right: -20px;
  top: 0;
}
@media screen and (max-width: 480px) {
  .page_product .product_bottom .to_detail .label:after {
    border-top-width: 35px;
    border-bottom-width: 35px;
    border-left-width: 25px;
    right: -25px;
  }
}
.page_product .product_bottom .to_detail .logo {
  -webkit-flex-basis: 65%;
      -ms-flex-preferred-size: 65%;
          flex-basis: 65%;
  max-width: 65%;
  background-color: #f0f1f2;
  padding: 5px 20px 5px 40px;
}
.page_product .product_bottom .to_detail .logo img {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.page_product .sec_to_hq {
  position: relative;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 480px) {
  .page_product .sec_to_hq .flex {
    display: block;
  }
}
.page_product .sec_to_hq .text {
  color: #fff;
  font-size: 1.77rem;
  -webkit-flex-basis: 60%;
      -ms-flex-preferred-size: 60%;
          flex-basis: 60%;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .page_product .sec_to_hq .text {
    font-size: 1rem;
    max-width: 100%;
  }
}
.page_product .sec_to_hq .link {
  -webkit-flex-basis: 40%;
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
  max-width: 40%;
}
@media screen and (max-width: 480px) {
  .page_product .sec_to_hq .link {
    max-width: 100%;
  }
}
.page_product .sec_to_hq .link a {
  display: block;
  background-color: #fff;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding: 10px 20px;
  -webkit-transition: 0.1s opacity;
  transition: 0.1s opacity;
}
.page_product .sec_to_hq .link a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 480px) {
  .page_product .sec_to_hq .link a {
    -webkit-transform: none;
            transform: none;
    margin-top: 20px;
  }
}
.page_product .sec_to_hq .link a img {
  vertical-align: middle;
}
.page_product #knowledge {
  position: relative;
  background-image: url("../images/home/bg3.jpg");
  background-size: 143px 188px;
  padding-top: 60px;
}
.page_product #knowledge p {
  font-size: 0.77rem;
}
.page_product #knowledge main h4 {
  margin-bottom: 10px;
  margin-top: 30px;
}
.page_product #knowledge .sidebar .inner {
  padding-bottom: 60px;
}
.page_product .knowledge_box {
  background-color: #e0eff0;
  padding: 5%;
}
.page_product .knowledge_box p {
  margin-top: 0 !important;
}
.page_product .knowledge_box .flex {
  margin-top: 20px;
}
.page_product .knowledge_box1 {
  margin-bottom: 40px;
}
.page_product .knowledge_box1 .flex div {
  -webkit-flex-basis: 33.3333333333%;
      -ms-flex-preferred-size: 33.3333333333%;
          flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
  text-align: center;
}
.page_product .knowledge_box1 .flex div span {
  background-color: #ea6000;
  width: 10vw;
  height: 10vw;
  border-radius: 50%;
  color: #fff;
  font-size: 1.4vw;
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
  line-height: 10vw;
}
@media screen and (max-width: 480px) {
  .page_product .knowledge_box1 .flex div span {
    width: 17vw;
    height: 17vw;
    font-size: 2.6vw;
    line-height: 17vw;
  }
}
.page_product .knowledge_box2 .flex div {
  -webkit-flex-basis: 31.4%;
      -ms-flex-preferred-size: 31.4%;
          flex-basis: 31.4%;
  max-width: 31.4%;
  font-size: 0.66rem;
  text-align: center;
}

/**
* 7.3 - Company
* -----------------------------------------------------------------------------
*/
.page_company .president {
  margin-top: 20px;
  text-align: right;
  font-weight: bold;
}
.page_company .president .sm {
  font-size: 0.77rem;
}
.page_company .president .sm:nth-of-type(2) {
  margin-right: 10px;
}
.page_company .tb_overview {
  border-spacing: 30px 0;
  border-collapse: separate;
  margin-top: 30px;
  width: 100%;
}
@media screen and (max-width: 480px) {
  .page_company .tb_overview {
    border-collapse: collapse;
  }
}
.page_company .tb_overview th, .page_company .tb_overview td {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 480px) {
  .page_company .tb_overview th, .page_company .tb_overview td {
    display: block;
  }
}
.page_company .tb_overview th {
  font-size: 0.77rem;
  text-align: right;
  border-top: 1px solid #191919;
  vertical-align: middle;
  width: 16.7%;
}
@media screen and (max-width: 480px) {
  .page_company .tb_overview th {
    width: 100%;
    border-top-color: #e1e1e1;
    text-align: left;
    padding-bottom: 5px;
    padding-top: 10px;
  }
}
.page_company .tb_overview td {
  font-size: 0.72rem;
  border-top: 1px solid #e1e1e1;
}
@media screen and (max-width: 480px) {
  .page_company .tb_overview td {
    border-top: none;
    padding-bottom: 10px;
    padding-top: 0;
    padding-left: 1em;
  }
}
.page_company .tb_overview tr:last-child th {
  border-bottom: 1px solid #191919;
}
@media screen and (max-width: 480px) {
  .page_company .tb_overview tr:last-child th {
    border-bottom: none;
  }
}
.page_company .tb_overview tr:last-child td {
  border-bottom: 1px solid #e1e1e1;
}
.page_company #access {
  font-size: 0.77rem;
}
.page_company #access .gmap {
  margin-bottom: 20px;
  padding-top: 60%;
  overflow: hidden;
  position: relative;
}
.page_company #access .gmap iframe,
.page_company #access .gmap object,
.page_company #access .gmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page_company #access .to_gmap {
  margin-top: 20px;
}
.page_company #access .to_gmap a:hover {
  text-decoration: underline;
}
.page_company #history .tb_overview th {
  vertical-align: top;
}
.page_company #history .tb_overview th, .page_company #history .tb_overview td {
  padding-top: 13px;
  padding-bottom: 13px;
}
@media screen and (max-width: 480px) {
  .page_company #history .tb_overview th, .page_company #history .tb_overview td {
    padding-top: 10px;
    padding-bottom: 5px;
  }
}
@media screen and (max-width: 480px) {
  .page_company #history .tb_overview td {
    padding-top: 0;
  }
}

/**
* 7.4 - Recruit
* -----------------------------------------------------------------------------
*/
.page_recruit .page_top {
  background-size: cover;
  background-position: center;
}
.page_recruit .page_top h2 {
  color: #ea6000;
}
.page_recruit .page_top h2 .ja span {
  background-color: #ea6000;
}
@media all and (-ms-high-contrast: none) {
  .page_recruit .page_top h2 .ja span {
    padding-top: 0.8em;
  }
}
@media all and (-ms-high-contrast: none) {
  .page_recruit .page_top h2 .ja .sm {
    padding-top: 0.6em;
  }
}
@media screen and (max-width: 897px) {
  .page_recruit .page_top h2 .ja {
    top: 43%;
  }
}
.page_recruit .nav_header ul li a {
  color: #fff;
}
.page_recruit .nav_header ul li a:hover {
  background-color: #fff;
  color: #ea6000;
}
.page_recruit .nav_header ul .li_blog a:before {
  background-image: url("../images/common/icon_blog_w.svg");
}
.page_recruit .nav_header ul .li_blog a:hover:before {
  background-image: url("../images/common/icon_blog_or.svg");
}
.page_recruit .breadcrumb {
  background-color: #d0dddd;
}
@media screen and (max-width: 480px) {
  .page_recruit .nav_recruit {
    border-bottom: 140px solid #d0dddd;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit .nav_recruit .flex {
    display: block;
  }
}
.page_recruit .nav_recruit .flex > div {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 480px) {
  .page_recruit .nav_recruit .flex > div {
    max-width: 100%;
  }
}
.page_recruit .nav_recruit .flex > div a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 60px 4%;
}
@media screen and (max-width: 897px) {
  .page_recruit .nav_recruit .flex > div a {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit .nav_recruit .flex > div a {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.page_recruit .nav_recruit .flex > div a:hover {
  opacity: 0.8;
}
.page_recruit .nav_recruit .flex > div:first-child {
  background-color: #ea6000;
}
.page_recruit .nav_recruit .flex > div:nth-child(2) {
  background-color: #292633;
}
.page_recruit .nav_recruit .flex > div h3 {
  display: inline-block;
  border-bottom: 2px solid #fff;
  padding-bottom: 10px;
  margin-bottom: 30px;
  line-height: 1;
}
@media screen and (max-width: 480px) {
  .page_recruit .nav_recruit .flex > div h3 {
    margin-bottom: 20px;
  }
}
.page_recruit .nav_recruit .flex > div h3 .en {
  font-size: 0.72rem;
  display: block;
  color: #fff;
  margin-bottom: 20px;
}
.page_recruit .nav_recruit .flex > div p {
  font-size: 0.77rem;
}

/**
* 7.4.1 - Recruit Top
* -----------------------------------------------------------------------------
*/
.page_recruit_top .page_top {
  background-image: url("../images/recruit/bg_page_top.jpg");
}
@media screen and (max-width: 480px) {
  .page_recruit_top .page_top {
    background-image: url("../images/recruit/bg_page_top_sp.jpg");
  }
}
.page_recruit_top #recruiting_message {
  background-color: #292633;
  color: #fff;
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #recruiting_message {
    padding-top: 40px;
  }
}
.page_recruit_top #recruiting_message .inner {
  max-width: 70%;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #recruiting_message .inner {
    max-width: 100%;
    padding-left: calc(30px + 5vw);
    padding-right: calc(30px + 5vw);
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #recruiting_message .inner {
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #recruiting_message .flex {
    display: block;
  }
}
.page_recruit_top #recruiting_message .flex > div {
  -webkit-flex-basis: 40%;
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
  max-width: 40%;
}
.page_recruit_top #recruiting_message .flex .text {
  font-weight: bold;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #recruiting_message .flex .text {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    max-width: 50%;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #recruiting_message .flex .text {
    max-width: 100%;
  }
}
.page_recruit_top #recruiting_message .flex .text .en {
  font-size: 1.14vw;
  color: #ea6000;
  font-weight: bold;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #recruiting_message .flex .text .en {
    font-size: 0.875rem;
  }
}
.page_recruit_top #recruiting_message .flex .text p {
  margin-top: 40px;
  line-height: 2;
  font-size: 1.28vw;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #recruiting_message .flex .text p {
    font-size: 1rem;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #recruiting_message .flex .text p {
    margin-top: 30px;
    font-size: 0.85rem;
  }
}
.page_recruit_top #recruiting_message .flex .text .lg {
  font-size: 2vw;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #recruiting_message .flex .text .lg {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #recruiting_message .flex .logo {
    max-width: 100%;
    text-align: center;
    margin-top: 30px;
  }
}
.page_recruit_top #recruiting_message .flex .logo img {
  width: 60.8vw;
}
.page_recruit_top #basic_knowledge {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #d0dddd;
  background-image: url("../images/recruit/bg_basic_knowledge.png");
  background-size: cover;
  background-position: center;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #basic_knowledge {
    padding-bottom: 60px;
  }
}
.page_recruit_top #basic_knowledge h3 span {
  display: block;
  font-size: 0.88rem;
}
.page_recruit_top #basic_knowledge .lg {
  font-size: 2.22rem;
  margin-top: 30px;
  margin-bottom: 20px;
  line-height: 1.2;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #basic_knowledge .lg {
    font-size: 1.75rem;
  }
}
.page_recruit_top #basic_knowledge .lg span {
  background-color: #000;
  color: #fff;
  display: inline-block;
  padding: 3px 20px;
  margin-bottom: 10px;
  line-height: 1;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .page_recruit_top #basic_knowledge .lg span {
    padding-top: 3%;
  }
}
.page_recruit_top #basic_knowledge p {
  font-size: 0.77rem;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #basic_knowledge p {
    text-align: left;
  }
}
.page_recruit_top #basic_knowledge a {
  font-weight: bold;
  display: inline-block;
  border-bottom: 2px solid #191919;
  padding-bottom: 3px;
  margin-top: 60px;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #basic_knowledge a {
    margin-top: 40px;
  }
}
.page_recruit_top #basic_knowledge a:before {
  content: "";
  width: 19px;
  height: 29px;
  background-image: url("../images/home/icon_knowledge.svg");
  display: inline-block;
  vertical-align: middle;
  margin-right: 15px;
}
.page_recruit_top .recruit_inner {
  border-left: 40px solid #d0dddd;
}
@media screen and (max-width: 480px) {
  .page_recruit_top .recruit_inner {
    border-left: none;
  }
}
.page_recruit_top #story {
  height: 80vh;
  min-height: 510px;
  padding-bottom: 50px;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #story {
    height: 60vh;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story {
    padding-top: 60px;
    padding-bottom: 40px;
    height: auto;
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
.page_recruit_top #story .flex {
  height: 100%;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex {
    display: block;
  }
}
.page_recruit_top #story .flex > div {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex > div {
    max-width: 100%;
  }
}
.page_recruit_top #story .flex .text {
  padding-left: calc((100vw - 1100px) / 2);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #story .flex .text {
    padding-left: 5vw;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex .text {
    padding-left: 0;
  }
}
.page_recruit_top #story .flex .text h3 {
  margin-bottom: 50px;
  line-height: 1.3;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex .text h3 {
    margin-bottom: 30px;
  }
}
.page_recruit_top #story .flex .text h3 .en {
  display: block;
  font-size: 0.88rem;
}
.page_recruit_top #story .flex .text p {
  font-size: 0.77rem;
}
.page_recruit_top #story .flex .text a {
  font-weight: bold;
  border-bottom: 2px solid #191919;
  padding-bottom: 10px;
  margin-top: 50px;
  display: inline-block;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex .text a {
    margin-top: 30px;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex .text .vac {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
}
.page_recruit_top #story .flex .bg {
  height: 100%;
  position: relative;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex .bg {
    margin-top: 40px;
  }
}
.page_recruit_top #story .flex .bg .bg_inner {
  background-image: url("../images/recruit/img_story.jpg");
  background-position: center;
  background-size: cover;
  position: absolute;
  width: 65vw;
  height: 100%;
  top: 0;
  right: 0;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #story .flex .bg .bg_inner {
    width: 60vw;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #story .flex .bg .bg_inner {
    width: 100%;
    padding-top: 71.2%;
    position: static;
  }
}
.page_recruit_top #team {
  background-image: url("../images/home/bg3.jpg");
  background-size: 143px 188px;
  padding-top: 80px;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #team {
    padding-top: 45px;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team {
    padding-bottom: 80px;
  }
}
.page_recruit_top #team h3 {
  font-size: 1.55rem;
  text-align: center;
}
.page_recruit_top #team .flex {
  margin-top: 40px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex {
    display: block;
  }
}
.page_recruit_top #team .flex > div {
  -webkit-flex-basis: 44.9%;
      -ms-flex-preferred-size: 44.9%;
          flex-basis: 44.9%;
  max-width: 44.9%;
  margin-bottom: 110px;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex > div {
    max-width: 100%;
    width: 60vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
}
.page_recruit_top #team .flex > div > a {
  display: block;
  width: 100%;
  height: 100%;
}
.page_recruit_top #team .flex > div > a:hover {
  color: #ea6000;
}
.page_recruit_top #team .flex > div > a:hover .name {
  border-bottom-color: #ea6000;
}
.page_recruit_top #team .flex > div > a:hover .image {
  opacity: 0.8;
  -webkit-transform: translateY(5px) translateX(5px);
          transform: translateY(5px) translateX(5px);
  -webkit-box-shadow: 15px 15px 0 #d0dddd;
          box-shadow: 15px 15px 0 #d0dddd;
}
.page_recruit_top #team .flex > div .title {
  font-size: 1.33rem;
  line-height: 1;
  position: relative;
  z-index: 1;
  font-weight: 600;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex > div .title {
    text-align: center;
    font-size: 1rem;
  }
}
.page_recruit_top #team .flex > div .title span {
  font-size: 3.88rem;
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex > div .title span {
    font-size: 2.81rem;
  }
}
.page_recruit_top #team .flex > div .image {
  -webkit-box-shadow: 20px 20px 0 #d0dddd;
          box-shadow: 20px 20px 0 #d0dddd;
  margin-top: -15px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex > div .image {
    -webkit-box-shadow: 10px 10px 0 #d0dddd;
            box-shadow: 10px 10px 0 #d0dddd;
  }
}
.page_recruit_top #team .flex > div .name {
  margin-top: 20px;
  border-bottom: 2px solid #191919;
  display: inline-block;
  margin-right: 0;
  margin-left: auto;
  font-weight: 600;
}
.page_recruit_top #team .flex > div .name:before {
  background-size: contain;
  width: 22px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-right: 10px;
}
.page_recruit_top #team .flex > div .name span {
  font-size: 0.66rem;
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex > div .right {
    text-align: center;
  }
}
.page_recruit_top #team .flex > div:first-child .name:before {
  background-image: url("../images/recruit/icon_team1.svg");
}
.page_recruit_top #team .flex > div:first-child a:hover .name:before {
  background-image: url("../images/recruit/icon_team1_hover.svg");
}
.page_recruit_top #team .flex > div:nth-child(2) .name:before {
  background-image: url("../images/recruit/icon_team2.svg");
}
.page_recruit_top #team .flex > div:nth-child(2) a:hover .name:before {
  background-image: url("../images/recruit/icon_team2_hover.svg");
}
.page_recruit_top #team .flex > div:nth-child(3) .name:before {
  background-image: url("../images/recruit/icon_team3.svg");
}
.page_recruit_top #team .flex > div:nth-child(3) a:hover .name:before {
  background-image: url("../images/recruit/icon_team3_hover.svg");
}
.page_recruit_top #team .flex > div:nth-child(4) .name:before {
  background-image: url("../images/recruit/icon_team4.svg");
}
.page_recruit_top #team .flex > div:nth-child(4) a:hover .name:before {
  background-image: url("../images/recruit/icon_team4_hover.svg");
}
.page_recruit_top #team .flex > div:nth-child(2n) {
  -webkit-transform: translateY(55%);
          transform: translateY(55%);
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex > div:nth-child(2n) {
    -webkit-transform: none;
            transform: none;
  }
}
.page_recruit_top #team .flex > div:last-child {
  margin-bottom: 35%;
}
@media screen and (max-width: 480px) {
  .page_recruit_top #team .flex > div:last-child {
    margin-bottom: 0;
  }
}
.page_recruit_top #style {
  background-image: url("../images/recruit/bg_style.jpg");
  background-size: cover;
  background-position: center;
  padding-top: 80px;
  padding-bottom: 100px;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #style {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_top #style {
    padding-top: 60px;
    padding-bottom: 60px;
    background-image: url("../images/recruit/bg_style_sp.jpg");
  }
}
.page_recruit_top #style h3 {
  margin-bottom: 50px;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #style h3 {
    margin-bottom: 30px;
  }
}
.page_recruit_top #style p {
  font-size: 0.77rem;
}
.page_recruit_top #style a {
  font-weight: bold;
  border-bottom: 2px solid #191919;
  padding-bottom: 10px;
  margin-top: 50px;
  display: inline-block;
}
@media screen and (max-width: 897px) {
  .page_recruit_top #style a {
    margin-top: 30px;
  }
}

/**
* 7.4.2 - Recruit Requirements
* -----------------------------------------------------------------------------
*/
.page_recruit_requirements .page_top {
  background-image: url("../images/recruit_requirements/bg_page_top.jpg");
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements .page_top h2 .ja span {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.page_recruit_requirements .page_top h2 .en span {
  font-size: 13.2vw;
}
@media screen and (max-width: 897px) {
  .page_recruit_requirements .page_top h2 .en span {
    font-size: 10vw;
  }
}
.page_recruit_requirements .wrap {
  background-color: #d0dddd;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements #flow .flex {
    display: block;
  }
}
.page_recruit_requirements #flow .flex > div {
  border: 1px solid #191919;
  -webkit-flex-basis: 25%;
      -ms-flex-preferred-size: 25%;
          flex-basis: 25%;
  max-width: 25%;
  text-align: center;
  font-weight: bold;
  padding: 13px;
  line-height: 1.3;
  position: relative;
}
@media screen and (max-width: 897px) {
  .page_recruit_requirements #flow .flex > div {
    font-size: 0.75rem;
    padding-left: 5px;
    padding-right: 5px;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements #flow .flex > div {
    max-width: 100%;
    margin-bottom: 10px;
  }
}
.page_recruit_requirements #flow .flex > div .step {
  font-size: 0.66rem;
  margin-bottom: 5px;
}
.page_recruit_requirements #flow .flex > div .sm {
  font-size: 0.66rem;
  display: block;
}
.page_recruit_requirements #flow .flex > div:not(:last-child) {
  margin-right: 14px;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements #flow .flex > div:not(:last-child) {
    margin-right: 0;
  }
}
.page_recruit_requirements #flow .flex > div:not(:last-child):after {
  content: "";
  position: absolute;
  right: -14px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 14px solid #191919;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements #flow .flex > div:not(:last-child):after {
    right: 0;
    bottom: -20px;
    top: auto;
    -webkit-transform: none;
            transform: none;
    left: 0;
    width: 0px;
    height: 10px;
    margin-left: auto;
    margin-right: auto;
    border-top: 10px solid #191919;
    border-bottom: none;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
  }
}
.page_recruit_requirements #new .box_contact,
.page_recruit_requirements #career .box_contact {
  border: 3px solid #191919;
  background-color: #edf2f2;
  padding: 30px 10px;
  text-align: center;
}
.page_recruit_requirements #new .box_contact .lg,
.page_recruit_requirements #career .box_contact .lg {
  font-weight: bold;
}
.page_recruit_requirements #new .box_contact .tanto,
.page_recruit_requirements #career .box_contact .tanto {
  font-size: 0.72rem;
}
.page_recruit_requirements #new .box_contact .tel,
.page_recruit_requirements #career .box_contact .tel {
  color: #ea6000;
  font-weight: bold;
  font-size: 2.66rem;
  line-height: 1;
}
.page_recruit_requirements #new .box_contact .tel a,
.page_recruit_requirements #career .box_contact .tel a {
  background: none;
}
.page_recruit_requirements #new .box_contact .tel:before,
.page_recruit_requirements #career .box_contact .tel:before {
  content: "";
  display: inline-block;
  width: 36px;
  height: 33px;
  background-image: url("../images/contact/icon_tel.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
}
.page_recruit_requirements #new .box_contact .mail,
.page_recruit_requirements #career .box_contact .mail {
  display: block;
  background-color: #222854;
  color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
          box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
  text-align: center;
  max-width: 332px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 10px;
  margin-top: 10px;
}
.page_recruit_requirements #new .box_contact .mail:before,
.page_recruit_requirements #career .box_contact .mail:before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 14px;
  background-image: url("../images/common/icon_mail_w.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 5px;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements #career {
    margin-bottom: 190px;
  }
}
.page_recruit_requirements .tb_recruit {
  width: 100%;
  margin-bottom: 60px;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements .tb_recruit {
    margin-bottom: 30px;
  }
}
.page_recruit_requirements .tb_recruit > tbody > tr:last-child th div {
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements .tb_recruit > tbody > tr:last-child th div {
    border-bottom: none;
  }
}
.page_recruit_requirements .tb_recruit > tbody > tr:last-child td {
  border-bottom: 1px solid #e5e5e5;
}
.page_recruit_requirements .tb_recruit > tbody > tr > th, .page_recruit_requirements .tb_recruit > tbody > tr td {
  font-size: 0.72rem;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements .tb_recruit > tbody > tr > th, .page_recruit_requirements .tb_recruit > tbody > tr td {
    font-size: 0.75rem;
    display: block;
  }
}
.page_recruit_requirements .tb_recruit > tbody > tr > th {
  padding-right: 30px;
  text-align: right;
  width: 133px;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements .tb_recruit > tbody > tr > th {
    text-align: left;
  }
}
.page_recruit_requirements .tb_recruit > tbody > tr > th div {
  border-top: 1px solid #000;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements .tb_recruit > tbody > tr > th div {
    border-top: none;
    padding-bottom: 0;
    padding-top: 0;
  }
}
.page_recruit_requirements .tb_recruit > tbody > tr > td {
  border-top: 1px solid #e5e5e5;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 480px) {
  .page_recruit_requirements .tb_recruit > tbody > tr > td {
    padding-left: 20px;
    border-top: none;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 10px;
    margin-bottom: 10px;
    padding-top: 10px;
  }
}
.page_recruit_requirements .tb_recruit > tbody > tr > td table td:first-child {
  padding-right: 20px;
}

/**
* 7.4.3 - Recruit Story
* -----------------------------------------------------------------------------
*/
.page_recruit_story .page_top {
  background-image: url("../images/recruit_story/bg_page_top.jpg");
}
@media screen and (max-width: 480px) {
  .page_recruit_story .page_top h2 .ja {
    right: calc(100% + 12vw);
  }
}
.page_recruit_story main {
  background-color: #d0dddd;
}
.page_recruit_story #story_top {
  padding-top: 80px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top {
    padding-top: 50px;
  }
}
.page_recruit_story #story_top .lg {
  font-size: 1.33rem;
  text-align: center;
  margin-bottom: 40px;
}
.page_recruit_story #story_top .lg span {
  background-color: #191919;
  color: #fff;
}
@media all and (-ms-high-contrast: none) {
  .page_recruit_story #story_top .lg span {
    display: inline-block;
    padding-top: 1.6%;
  }
}
.page_recruit_story #story_top p {
  text-align: center;
  font-size: 0.88rem;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top p {
    text-align: left;
  }
}
.page_recruit_story #story_top .flex {
  margin-top: 40px;
  margin-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .flex {
    display: block;
  }
}
.page_recruit_story #story_top .flex > div {
  -webkit-flex-basis: 22%;
      -ms-flex-preferred-size: 22%;
          flex-basis: 22%;
  max-width: 22%;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .flex > div {
    max-width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.page_recruit_story #story_top .flex > div a {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .flex > div a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.page_recruit_story #story_top .flex > div a:hover .thum {
  opacity: 0.8;
}
.page_recruit_story #story_top .flex > div a:hover .division {
  color: #ea6000;
  border-bottom-color: #ea6000;
}
.page_recruit_story #story_top .flex > div a:hover .division:after {
  right: -5px;
}
.page_recruit_story #story_top .flex > div a:hover .num {
  color: #ea6000;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .flex > div .flex_thum {
    -webkit-flex-basis: 48%;
        -ms-flex-preferred-size: 48%;
            flex-basis: 48%;
    max-width: 48%;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .flex > div .flex_text {
    -webkit-flex-basis: 48%;
        -ms-flex-preferred-size: 48%;
            flex-basis: 48%;
    max-width: 48%;
  }
}
.page_recruit_story #story_top .flex > div .num {
  font-size: 2.33rem;
  margin-bottom: -30px;
  position: relative;
  z-index: 1;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.page_recruit_story #story_top .flex > div .thum {
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
.page_recruit_story #story_top .flex > div .division {
  border-bottom: 2px solid #191919;
  padding-bottom: 10px;
  margin-top: 20px;
  margin-bottom: 10px;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .flex > div .division {
    margin-bottom: 5px;
  }
}
.page_recruit_story #story_top .flex > div .division:before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  background-size: contain;
  background-repeat: no-repeat;
  width: 23px;
  height: 19px;
  vertical-align: middle;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.page_recruit_story #story_top .flex > div .division:after {
  content: "";
  position: absolute;
  width: 18px;
  height: 3px;
  background-image: url("../images/recruit_story/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.page_recruit_story #story_top .flex > div .name {
  font-size: 0.77rem;
}
.page_recruit_story #story_top .flex > div .name span {
  font-size: 0.72rem;
  margin-left: 10px;
}
.page_recruit_story #story_top .flex > div p {
  font-size: 0.72rem;
  text-align: left;
  margin-top: 20px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .flex > div p {
    margin-top: 10px;
  }
}
.page_recruit_story #story_top .flex > div:nth-child(1) .division:before {
  background-image: url("../images/recruit/icon_team1.svg");
}
.page_recruit_story #story_top .flex > div:nth-child(1) a:hover .division:before {
  background-image: url("../images/recruit/icon_team1_hover.svg");
}
.page_recruit_story #story_top .flex > div:nth-child(2) .division:before {
  background-image: url("../images/recruit/icon_team2.svg");
}
.page_recruit_story #story_top .flex > div:nth-child(2) a:hover .division:before {
  background-image: url("../images/recruit/icon_team2_hover.svg");
}
.page_recruit_story #story_top .flex > div:nth-child(3) .division:before {
  background-image: url("../images/recruit/icon_team3.svg");
}
.page_recruit_story #story_top .flex > div:nth-child(3) a:hover .division:before {
  background-image: url("../images/recruit/icon_team3_hover.svg");
}
.page_recruit_story #story_top .flex > div:nth-child(4) .division:before {
  background-image: url("../images/recruit/icon_team4.svg");
}
.page_recruit_story #story_top .flex > div:nth-child(4) a:hover .division:before {
  background-image: url("../images/recruit/icon_team4_hover.svg");
}
.page_recruit_story #story_top .img_story_top {
  padding-top: 40%;
  background-image: url("../images/recruit_story/img_story_top.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
@media screen and (max-width: 897px) {
  .page_recruit_story #story_top .img_story_top {
    background-attachment: scroll;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_top .img_story_top {
    padding-top: 53.3%;
  }
}
.page_recruit_story #story_catch {
  background-color: #fff;
  padding-top: 60px;
}
.page_recruit_story #story_catch .lg {
  font-size: 2.77rem;
  font-weight: bold;
  margin-bottom: 60px;
}
.page_recruit_story #story_catch .lg span {
  color: #fff;
  background-color: #ea6000;
}
@media all and (-ms-high-contrast: none) {
  .page_recruit_story #story_catch .lg span {
    display: inline-block;
    padding-top: 3%;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_catch .lg {
    line-height: 1.3;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_catch .flex {
    display: block;
  }
}
.page_recruit_story #story_catch .flex .flex_l {
  -webkit-flex-basis: 47%;
      -ms-flex-preferred-size: 47%;
          flex-basis: 47%;
  max-width: 47%;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_catch .flex .flex_l {
    max-width: 100%;
  }
}
.page_recruit_story #story_catch .flex .flex_l p {
  font-size: 0.77rem;
  margin-bottom: 20px;
}
.page_recruit_story #story_catch .flex .flex_r {
  -webkit-flex-basis: 45.8%;
      -ms-flex-preferred-size: 45.8%;
          flex-basis: 45.8%;
  max-width: 45.8%;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_catch .flex .flex_r {
    max-width: 100%;
    padding-top: 20px;
    padding-bottom: 30px;
  }
}
.page_recruit_story #story_catch .flex .flex_r p {
  font-size: 1.11rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.page_recruit_story #story_catch .flex .flex_r p span {
  background-color: #191919;
  color: #fff;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story_catch .flex .flex_r p {
    font-size: 1.125rem;
  }
}
.page_recruit_story #story1_2,
.page_recruit_story #story3_4 {
  background-image: url("../images/home/bg3.jpg");
  background-size: 143px 188px;
  padding-top: 80px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story1_2,
  .page_recruit_story #story3_4 {
    padding-top: 40px;
  }
}
.page_recruit_story #story1_2 h3,
.page_recruit_story #story3_4 h3 {
  font-size: 2.22rem;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story1_2 h3,
  .page_recruit_story #story3_4 h3 {
    font-size: 1.75rem;
  }
}
.page_recruit_story #story1_2 h3 span,
.page_recruit_story #story3_4 h3 span {
  font-size: 7.22rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story1_2 h3 span,
  .page_recruit_story #story3_4 h3 span {
    font-size: 5rem;
  }
}
.page_recruit_story #story1_2 .text,
.page_recruit_story #story3_4 .text {
  font-size: 0.77rem;
  -webkit-flex-basis: 47.14%;
      -ms-flex-preferred-size: 47.14%;
          flex-basis: 47.14%;
}
.page_recruit_story #story1_2 .text .inner,
.page_recruit_story #story3_4 .text .inner {
  padding-right: 20px;
}
.page_recruit_story #story1_2 .text p,
.page_recruit_story #story3_4 .text p {
  margin-bottom: 30px;
}
.page_recruit_story #story1_2 .profile,
.page_recruit_story #story3_4 .profile {
  background-color: #fff;
  margin-bottom: 40px;
}
.page_recruit_story #story1_2 .profile .name,
.page_recruit_story #story3_4 .profile .name {
  font-weight: bold;
  font-size: 1rem;
}
.page_recruit_story #story1_2 .profile .name span,
.page_recruit_story #story3_4 .profile .name span {
  font-size: 0.66rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.page_recruit_story #story1_2 .profile .name span:before,
.page_recruit_story #story3_4 .profile .name span:before {
  content: "";
  width: 21px;
  height: 17px;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}
.page_recruit_story #story1_2 .profile .entry,
.page_recruit_story #story3_4 .profile .entry {
  font-size: 0.68rem;
}
.page_recruit_story #story1_2 .profile .text,
.page_recruit_story #story3_4 .profile .text {
  padding: 20px 20px;
  text-align: right;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.page_recruit_story #story1_2 .profile .thum,
.page_recruit_story #story3_4 .profile .thum {
  -webkit-flex-basis: 107px;
      -ms-flex-preferred-size: 107px;
          flex-basis: 107px;
  max-width: 107px;
  background-size: cover;
  background-position: center;
}
.page_recruit_story #story1_2 .bg,
.page_recruit_story #story3_4 .bg {
  -webkit-flex-basis: 45%;
      -ms-flex-preferred-size: 45%;
          flex-basis: 45%;
  max-width: 45%;
}
@media screen and (max-width: 897px) {
  .page_recruit_story #story1_2 .bg,
  .page_recruit_story #story3_4 .bg {
    -webkit-flex-basis: 48%;
        -ms-flex-preferred-size: 48%;
            flex-basis: 48%;
    max-width: 48%;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story1_2 .bg,
  .page_recruit_story #story3_4 .bg {
    max-width: 100%;
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
.page_recruit_story #story1_2 .text {
  padding-right: calc((100vw - 1100px) / 2);
}
@media screen and (max-width: 897px) {
  .page_recruit_story #story1_2 .inner {
    padding-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story1_2 .inner {
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
.page_recruit_story #story3_4 {
  padding-bottom: 80px;
}
.page_recruit_story #story3_4 .text {
  padding-left: calc((100vw - 1100px) / 2);
}
@media screen and (max-width: 897px) {
  .page_recruit_story #story3_4 .inner {
    padding-right: 0;
  }
}
.page_recruit_story #story1 > .flex,
.page_recruit_story #story2 > .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.page_recruit_story #story1,
.page_recruit_story #story3 {
  margin-bottom: 60px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story1 > .flex,
  .page_recruit_story #story2 > .flex,
  .page_recruit_story #story3 > .flex,
  .page_recruit_story #story4 > .flex {
    display: block;
  }
}
.page_recruit_story #story1 .bg,
.page_recruit_story #story2 .bg,
.page_recruit_story #story3 .bg,
.page_recruit_story #story4 .bg {
  background-size: cover;
  background-position: center;
}
.page_recruit_story #story1 .thum {
  background-image: url("../images/recruit_story/thum1.jpg");
}
.page_recruit_story #story1 .name span:before {
  background-image: url("../images/recruit/icon_team1.svg");
}
.page_recruit_story #story2 .thum {
  background-image: url("../images/recruit_story/thum2.jpg");
}
.page_recruit_story #story2 .name span:before {
  background-image: url("../images/recruit/icon_team2.svg");
}
.page_recruit_story #story3 .thum {
  background-image: url("../images/recruit_story/thum3.jpg");
}
.page_recruit_story #story3 .name span:before {
  background-image: url("../images/recruit/icon_team3.svg");
}
.page_recruit_story #story4 .thum {
  background-image: url("../images/recruit_story/thum4.jpg");
}
.page_recruit_story #story4 .name span:before {
  background-image: url("../images/recruit/icon_team4.svg");
}
.page_recruit_story #story5 {
  background-color: #fff;
  margin-top: 160px;
  border-right: 40px solid #d0dddd;
  border-bottom: 80px solid #d0dddd;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story5 {
    max-width: 100%;
    border-right: none;
    border-bottom-width: 50px;
  }
}
.page_recruit_story #story5 > .inner {
  margin-top: -0.5em;
  padding-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story5 > .inner {
    padding-bottom: 40px;
  }
}
.page_recruit_story #story5 > .inner img {
  max-width: 695px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-bottom: -100px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story5 > .inner img {
    margin-bottom: 0;
  }
}
.page_recruit_story #story5 .num {
  font-size: 7.77rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  -webkit-transform: translateY(-75px);
          transform: translateY(-75px);
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story5 .num {
    font-size: 5rem;
    -webkit-transform: translateY(-36px);
            transform: translateY(-36px);
  }
}
.page_recruit_story #story5 .catch {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 20px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story5 .catch {
    font-size: 1.5rem;
  }
}
.page_recruit_story #story5 .catch span {
  background-color: #ea6000;
}
.page_recruit_story #story5 p {
  margin-top: 50px;
  font-size: 0.77rem;
  max-width: 480px;
}
@media screen and (max-width: 480px) {
  .page_recruit_story #story5 p {
    margin-top: 20px;
  }
}

/**
* 7.4.4 - Recruit Style
* -----------------------------------------------------------------------------
*/
.page_recruit_style .page_top {
  background-image: url("../images/recruit_style/bg_page_top.jpg");
}
@media screen and (max-width: 897px) {
  .page_recruit_style .page_top h2 {
    font-size: 13vw;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_style .page_top h2 {
    font-size: 10vw;
  }
}
@media screen and (max-width: 897px) {
  .page_recruit_style .page_top h2 .ja {
    top: 55%;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_style .page_top h2 .ja span {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_style .page_top h2 .en span {
    font-size: 10.6vw;
  }
}
.page_recruit_style .sec_style {
  padding-top: 80px;
  border-left: 40px solid #d0dddd;
  background-image: url("../images/recruit_style/bg4.jpg");
  background-size: 142px 125px;
}
@media screen and (max-width: 897px) {
  .page_recruit_style .sec_style {
    border-left: none;
    padding-top: 40px;
  }
}
.page_recruit_style .sec_style .inner > p {
  text-align: center;
  font-size: 1.33rem;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .page_recruit_style .sec_style .inner > p {
    text-align: left;
  }
}
.page_recruit_style .sec_style .inner .flex {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 80px;
}
@media screen and (max-width: 480px) {
  .page_recruit_style .sec_style .inner .flex {
    margin-top: 40px;
    display: block;
  }
}
.page_recruit_style .sec_style .inner .flex > div {
  -webkit-flex-basis: 31.4%;
      -ms-flex-preferred-size: 31.4%;
          flex-basis: 31.4%;
  max-width: 31.4%;
  margin-bottom: 60px;
}
@media screen and (max-width: 897px) {
  .page_recruit_style .sec_style .inner .flex > div {
    -webkit-flex-basis: 47%;
        -ms-flex-preferred-size: 47%;
            flex-basis: 47%;
    max-width: 47%;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_style .sec_style .inner .flex > div {
    max-width: 100%;
  }
}
.page_recruit_style .sec_style .inner .flex > div .lg {
  font-size: 1.33rem;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 30px;
  margin-bottom: 30px;
  height: 60px;
}
@media screen and (max-width: 897px) {
  .page_recruit_style .sec_style .inner .flex > div .lg {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 480px) {
  .page_recruit_style .sec_style .inner .flex > div .lg {
    margin-top: 20px;
    height: auto;
  }
}
.page_recruit_style .sec_style .inner .flex > div .lg span {
  display: block;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 480px) {
  .page_recruit_style .sec_style .inner .flex > div .lg span {
    -webkit-transform: none;
            transform: none;
    top: auto;
  }
}
.page_recruit_style .sec_style .inner .flex > div p {
  font-size: 0.72rem;
}

/**
* 7.5 - Blog
* -----------------------------------------------------------------------------
*/
.page_blog article {
  border-bottom: 10px solid #edf2f2;
  padding-bottom: 60px;
}
@media screen and (max-width: 480px) {
  .page_blog article {
    padding-bottom: 30px;
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
.page_blog article:not(:last-child) {
  margin-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .page_blog article:not(:last-child) {
    margin-bottom: 30px;
  }
}
.page_blog article .article_head {
  text-align: right;
  font-size: 0.77rem;
}
@media screen and (max-width: 897px) {
  .page_blog article .article_head {
    margin-bottom: 20px;
  }
}
.page_blog article .article_head .cat:after {
  content: "|";
  display: inline-block;
  margin-right: 5px;
  margin-left: 5px;
  color: #b5c1c9;
}
.page_blog article .article_head .date {
  color: #b5c1c9;
  background-image: url("../images/blog/icon_clock.svg");
  background-position: left center;
  background-size: 14px 14px;
  padding-left: 18px;
  background-repeat: no-repeat;
}
@media screen and (max-width: 480px) {
  .page_blog article .article_head .date {
    background-size: 10px 10px;
    padding-left: 14px;
  }
}
.page_blog article h3 {
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  .page_blog article h3 {
    font-size: 1.5rem;
    margin-bottom: 0;
  }
}
.page_blog article img {
  margin-top: 20px;
  margin-bottom: 20px;
  max-width: 100%;
  width: auto;
  height: auto;
}
.page_blog article p {
  font-size: 0.77rem;
  margin-bottom: 2em;
}
.page_blog .pager {
  text-align: center;
  margin-top: 80px;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .page_blog .pager {
    margin-top: 30px;
  }
}
.page_blog .pager span, .page_blog .pager a {
  margin: 0 10px;
  font-size: 1.16rem;
}

.blog_wrap {
  position: relative;
  background-color: #fff;
  padding-top: 150px;
  padding-bottom: 100px;
}
@media screen and (max-width: 480px) {
  .blog_wrap .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.blog_wrap .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 480px) {
  .blog_wrap .flex {
    display: block;
  }
}
@media screen and (max-width: 897px) {
  .blog_wrap {
    padding-top: 50px;
  }
}
@media screen and (max-width: 480px) {
  .blog_wrap {
    padding-bottom: 30px;
    margin-bottom: 110px;
  }
}
.blog_wrap main {
  -webkit-flex-basis: 60%;
      -ms-flex-preferred-size: 60%;
          flex-basis: 60%;
  max-width: 60%;
}
@media screen and (max-width: 480px) {
  .blog_wrap main {
    max-width: 100%;
  }
}

/* Sidebar */
.sidebar_blog {
  -webkit-flex-basis: 30%;
      -ms-flex-preferred-size: 30%;
          flex-basis: 30%;
  max-width: 30%;
}
@media screen and (max-width: 480px) {
  .sidebar_blog {
    max-width: 100%;
    padding-top: 30px;
    border-bottom: 10px solid #edf2f2;
    padding-left: 7vw;
    padding-right: 7vw;
    padding-bottom: 30px;
  }
}
.sidebar_blog h3 {
  font-size: 0.77rem;
  margin-bottom: 20px;
}
.sidebar_blog .latest {
  font-size: 0.66rem;
  margin-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .sidebar_blog .latest {
    margin-bottom: 50px;
  }
}
.sidebar_blog .latest .archive {
  margin-bottom: 20px;
}
.sidebar_blog .latest .date {
  color: #b5c1c9;
}
.sidebar_blog .latest .title a {
  font-weight: 600;
}
.sidebar_blog .latest .title a:hover {
  text-decoration: underline;
}
.sidebar_blog .category a {
  font-weight: 600;
}
.sidebar_blog .category a:hover {
  text-decoration: underline;
}
.sidebar_blog .totop {
  margin-top: 80px;
  font-size: 10px;
  font-weight: bold;
  display: inline-block;
}
.sidebar_blog .totop:after {
  content: "";
  width: 3px;
  height: 15px;
  background-image: url("../images/common/arrow_totop_sp.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: 10px;
}

/**
* 7.6 - Contact
* -----------------------------------------------------------------------------
*/
.page_contact .sec_contact {
  position: relative;
  background-color: #fff;
  padding-top: 80px;
}
.page_contact .sec_contact .lg {
  font-size: 1.33rem;
  margin-bottom: 40px;
  font-weight: bold;
}
.page_contact .sec_contact .lg + p {
  font-size: 0.77rem;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .lg + p {
    text-align: left;
  }
}
.page_contact .sec_contact .tel_fax {
  border-top: 1px solid #f2f2f2;
  border-bottom: 1px solid #f2f2f2;
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: 60px;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .tel_fax {
    display: block;
    padding-top: 0;
    margin-top: 40px;
    border-bottom: none;
    padding-bottom: 0px;
  }
}
.page_contact .sec_contact .tel_fax .contact_box {
  -webkit-flex-basis: 47.5%;
      -ms-flex-preferred-size: 47.5%;
          flex-basis: 47.5%;
  max-width: 47.5%;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .tel_fax .contact_box {
    max-width: 100%;
  }
}
.page_contact .sec_contact .tel_fax .contact_box .lg:before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 10px;
}
@media screen and (max-width: 897px) {
  .page_contact .sec_contact .tel_fax .contact_box .lg:before {
    width: 4.2vw !important;
    vertical-align: middle;
  }
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .tel_fax .contact_box .lg:before {
    width: 7.7vw !important;
  }
}
.page_contact .sec_contact .tel_fax .contact_box:first-child .lg:before {
  background-image: url("../images/contact/icon_tel.svg");
  width: 42px;
  height: 38px;
}
.page_contact .sec_contact .tel_fax .contact_box:nth-child(2) .lg:before {
  background-image: url("../images/contact/icon_fax.svg");
  width: 37px;
  height: 37px;
}
.page_contact .sec_contact .mail {
  text-align: center;
  padding-top: 40px;
  padding-bottom: 80px;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .mail {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 140px;
  }
}
.page_contact .sec_contact .mail a {
  display: inline-block;
  margin-top: 20px;
  padding: 15px;
  max-width: 409px;
  width: 100%;
  background-color: #292633;
  color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
          box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
  font-size: 1.33rem;
}
@media all and (-ms-high-contrast: none) {
  .page_contact .sec_contact .mail a {
    padding-top: 3%;
  }
}
.page_contact .sec_contact .mail a:before {
  content: "";
  width: 40px;
  height: 20px;
  background-image: url("../images/common/icon_mail_w.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 10px;
}
.page_contact .sec_contact .mail a:hover {
  background-color: #3a3656;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .mail .contact_box {
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .contact_box {
    border-bottom: 1px solid #f2f2f2;
    padding-bottom: 25px;
    padding-top: 25px;
  }
}
.page_contact .sec_contact .contact_box .en {
  font-size: 0.88rem;
  text-align: center;
  font-weight: 600;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .contact_box .en {
    text-align: left;
  }
}
.page_contact .sec_contact .contact_box h3 {
  font-size: 2rem;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .contact_box h3 {
    text-align: left;
    font-size: 1.5rem;
  }
}
.page_contact .sec_contact .contact_box .num {
  background-color: #edf2f2;
  line-height: 1.3;
  padding: 10px 10px 30px 10px;
  margin-top: 30px;
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .contact_box .num {
    padding-bottom: 10px;
    margin-top: 20px;
  }
}
.page_contact .sec_contact .contact_box .num .lg {
  font-size: 2.77rem;
  color: #ea6000;
  margin-bottom: 0;
}
@media screen and (max-width: 897px) {
  .page_contact .sec_contact .contact_box .num .lg {
    font-size: 5.2vw;
  }
}
@media screen and (max-width: 480px) {
  .page_contact .sec_contact .contact_box .num .lg {
    font-size: 9.6vw;
  }
}
.page_contact .sec_contact .contact_box .num .open {
  font-size: 0.77rem;
}/*# sourceMappingURL=style.css.map */