@charset 'UTF-8';
/*--------------------------------------------------------------------------
   FONT
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
@import url('https://use.fontawesome.com/releases/v5.10.1/css/all.css');

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium"), local("YuGothic-Medium");
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold"), local("YuGothic-Bold");
    font-weight: bold;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-touch-callout: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    margin: 0;
    padding: 0;
    position: relative;
    display: block;
    overflow: hidden;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    margin-right: auto;
    margin-left: auto;
    position: relative;
    top: 0;
    left: 0;
    display: block;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    height: 100%;
    min-height: 1px;
    float: left;
    display: none;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    height: auto;
    display: block;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/*
 * Container style
 */
.ps {
    overflow: hidden !important;

    overflow-anchor: none;
    -ms-overflow-style: none;
    touch-action: auto;
    -ms-touch-action: auto;
}

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
    height: 15px;
    /* please don't change 'position' */
    position: absolute;
    /* there must be 'bottom' or 'top' for ps__rail-x */
    bottom: 0;
    display: none;
    -webkit-transition: background-color .2s linear, opacity .2s linear;
    transition: background-color .2s linear, opacity .2s linear;
    opacity: 0;
}

.ps__rail-y {
    width: 15px;
    /* please don't change 'position' */
    position: absolute;
    /* there must be 'right' or 'left' for ps__rail-y */
    right: 0;
    display: none;
    -webkit-transition: background-color .2s linear, opacity .2s linear;
    transition: background-color .2s linear, opacity .2s linear;
    opacity: 0;
}

.ps--active-x>.ps__rail-x,
.ps--active-y>.ps__rail-y {
    background-color: transparent;
    display: block;
}

.ps:hover>.ps__rail-x,
.ps:hover>.ps__rail-y,
.ps--focus>.ps__rail-x,
.ps--focus>.ps__rail-y,
.ps--scrolling-x>.ps__rail-x,
.ps--scrolling-y>.ps__rail-y {
    opacity: .6;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
    background-color: #eee;
    opacity: .9;
}

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
    background-color: #aaa;
    height: 6px;
    /* please don't change 'position' */
    position: absolute;
    /* there must be 'bottom' for ps__thumb-x */
    bottom: 2px;
    border-radius: 6px;
    -webkit-transition: background-color .2s linear, height .2s ease-in-out;
    transition: background-color .2s linear, height .2s ease-in-out;
}

.ps__thumb-y {
    background-color: #aaa;
    width: 6px;
    /* please don't change 'position' */
    position: absolute;
    /* there must be 'right' for ps__thumb-y */
    right: 2px;
    border-radius: 6px;
    -webkit-transition: background-color .2s linear, width .2s ease-in-out;
    transition: background-color .2s linear, width .2s ease-in-out;
}

.ps__rail-x:hover>.ps__thumb-x,
.ps__rail-x:focus>.ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
    background-color: #999;
    height: 11px;
}

.ps__rail-y:hover>.ps__thumb-y,
.ps__rail-y:focus>.ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
    background-color: #999;
    width: 11px;
}

/* MS supports */
@supports (-ms-overflow-style: none) {
    .ps {
        overflow: auto !important;
    }
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .ps {
        overflow: auto !important;
    }
}

/*--------------------------------------------------------------------------
   BASE
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/
/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
    width: 100%;
    height: 100%;
}

/*--------------------------------------------------------------------------
   head
---------------------------------------------------------------------------*/
head {
    font-family: 'pc';
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
    head {
        font-family: 'sp';
    }
}

/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
body {
    line-height: 1.8;
    font-family: YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #2b2b2b;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.os-mac body {
    font-weight: 400;
}

body {
    overflow: hidden;
}

.load-complete body {
    overflow: visible;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
    body {
        width: 100%;
        min-width: 320px;
        height: auto;
        line-height: 1.5;
        font-size: 12px;
    }
}

/*--------------------------------------------------------------------------
   a
---------------------------------------------------------------------------*/
a {
    color: inherit;
    outline: none;

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a:link,
a:visited {
    text-decoration: none;
}

/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
* {
    word-wrap: break-word;
    outline: none;
}

img {
    vertical-align: top;
}

ul,
ol {
    list-style: none;
}

/* Placeholder
-----------------------------------------------*/
::-webkit-input-placeholder {
    color: #a4a4a4;
}

::-moz-placeholder {
    color: #a4a4a4;
}

:-ms-input-placeholder {
    color: #a4a4a4;
}

:-moz-placeholder {
    color: #a4a4a4;
}

/*--------------------------------------------------------------------------
   selection
---------------------------------------------------------------------------*/

::selection {
    background-color: #b3d4fc;
    color: #fff;
    text-shadow: none;
}

/* ----------------------------------------------------------------------------------------------------

Super Form Reset

A couple of things to watch out for:

- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs

----------------------------------------------------------------------------------------------------*/
input,
label,
select,
button,
textarea {
    background: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    border: 0;
    vertical-align: middle;
    white-space: normal;
    -webkit-appearance: none;

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

/* Remove the stupid outer glow in Webkit */
input:focus,
select:focus,
textarea:focus {
    outline: 0;
}

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input,
textarea {
    box-sizing: content-box;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
    box-sizing: border-box;
}

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
    width: 13px;
    height: 13px;
}

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
    -webkit-box-sizing: content-box;
    -webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
    display: none;
}

/* Buttons
-----------------------------------------------*/
button,
input[type='reset'],
input[type='button'],
input[type='submit'] {
    width: auto;
    /* Fix IE7 display bug */
    overflow: visible;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
    background: none;
    padding: 0;
    border: 0;
}

/* Textarea
-----------------------------------------------*/
textarea {
    /* Turn off scroll bars in IE unless needed */
    overflow: auto;
    /* Move the label to the top */
    vertical-align: top;
}

/* Selects
-----------------------------------------------*/
select[multiple] {
    /* Move the label to the top */
    vertical-align: top;
}

/*--------------------------------------------------------------------------
   LAYOUT
---------------------------------------------------------------------------*/
/* #wrapper
-----------------------------------------------------------------*/
#wrapper {
    overflow: hidden;
    visibility: hidden;
}

@media only screen and (max-width: 767px) {
    #wrapper {
        width: 100%;
        height: 100%;
    }
}

.is-loading #wrapper {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
}

.load-complete #wrapper {
    visibility: visible;
}

@media only screen and (max-width: 767px) {
    #page {
        width: 100%;
        height: 100%;

        -webkit-overflow-scrolling: touch;
    }
}

#page #main {
    padding-top: 96px;
}

@media screen and (max-width: 1040px) {
    #page #main {
        padding-top: 60px;
    }
}

@media only screen and (max-width: 767px) {
    #page #main {
        padding-top: 60px;
    }
}

@media only screen and (max-width: 767px) {
    .is-loading #wrapper {
        overflow-y: hidden;
    }
}

/* all_l_wrap
-----------------------------------------------------------------*/
.all_l_wrap {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 10px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .all_l_wrap {
        padding: 0 24px;
    }
}

.all_l_wrap_s {
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 10px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .all_l_wrap_s {
        padding: 0 24px;
    }
}

/* .all_l_grid
-----------------------------------------------------------------*/
.all_l_grid {
    box-sizing: border-box;
}

.all_l_grid::after {
    clear: both;
    display: table;
    content: '';
}

.all_l_grid_item {
    float: left;
    display: block;
    box-sizing: inherit;
}

.all_l_grid_item--1of2 {
    width: 50%;
}

.all_l_grid_item--1of3 {
    width: 33.33333333%;
}

.all_l_grid_item--1of4 {
    width: 25%;
}

.all_l_grid_item--1of5 {
    width: 20%;
}

.all_l_grid_item--1of6 {
    width: 16.66666666%;
}

/* .all_l_inline_grid
-----------------------------------------------------------------*/
.all_l_inline_grid {
    box-sizing: border-box;
    white-space: nowrap;
}

.all_l_inline_grid_item {
    display: inline-block;
    box-sizing: inherit;
}

.all_inline_grid_item--1of2 {
    width: 50%;
}

.all_inline_grid_item--1of3 {
    width: 33.33333333%;
}

.all_inline_grid_item--1of4 {
    width: 25%;
}

.all_inline_grid_item--1of5 {
    width: 20%;
}

.all_inline_grid_item--1of6 {
    width: 16.66666666%;
}

/* .all_l_flex_grid
-----------------------------------------------------------------*/
.all_l_flex_grid {
    display: -ms-flexbox;
    display: flex;
    box-sizing: border-box;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.all_l_flex_grid_item {
    box-sizing: inherit;
}

.all_l_flex_grid_item--full {
    width: 100%;
}

.all_l_flex_grid_item--1of2 {
    width: 50%;
}

.all_l_flex_grid_item--1of3 {
    width: 33.33333333%;
}

.all_l_flex_grid_item--1of4 {
    width: 25%;
}

.all_l_flex_grid_item--1of5 {
    width: 20%;
}

.all_l_flex_grid_item--1of6 {
    width: 16.66666666%;
}

/*--------------------------------------------------------------------------
   COMPONENT
---------------------------------------------------------------------------*/
/* all_c_title
-----------------------------------------------------------------*/
.all_c_title_line {
    position: relative;
    line-height: 1;
}

.all_c_title_line::before {
    background-color: #dcdcdc;
    width: 2px;
    height: calc(100% - 2px);
    position: absolute;
    top: 1px;
    left: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .all_c_title_line::before {
        height: 100%;
        top: 0;
    }
}

.all_c_title_line::after {
    background-color: #000;
    width: 2px;
    height: 10px;
    position: absolute;
    top: 1px;
    left: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .all_c_title_line::after {
        height: 10px;
        top: 0;
    }
}

/* all_c_
-----------------------------------------------------------------*/
.all_c_input {
    width: 100%;
    height: 62px;
    padding: 0 25px;
    box-sizing: border-box;
    border: 1px solid #a4a4a4;
    color: #262626;
}

@media only screen and (max-width: 767px) {
    .all_c_input {
        height: 50px;
        padding: 0 15px;
    }
}

@media only screen and (max-width: 374px) {
    .all_c_input {
        padding: 0 10px;
    }
}

.all_c_input.input_short {
    width: 304px;
}

@media only screen and (max-width: 767px) {
    .all_c_input.input_short {
        width: 57%;
    }
}

.all_c_input.input_w106 {
    width: 106px;
    padding: 0 0 0 23px;
}

@media only screen and (max-width: 767px) {
    .all_c_input.input_w106 {
        width: 25%;
        padding: 0 0 0 14px;
    }
}

@media only screen and (max-width: 374px) {
    .all_c_input.input_w106 {
        padding: 0 0 0 8px;
    }
}

.all_c_input.input_w58 {
    width: 58px;
    padding: 0 0 0 12px;
}

@media only screen and (max-width: 767px) {
    .all_c_input.input_w58 {
        width: 16%;
    }
}

@media only screen and (max-width: 374px) {
    .all_c_input.input_w58 {
        padding: 0 0 0 8px;
    }
}

.all_c_txtarea {
    width: 100%;
    padding: 20px 25px;
    box-sizing: border-box;
    border: 1px solid #a4a4a4;
    color: #262626;
}

@media only screen and (max-width: 767px) {
    .all_c_txtarea {
        padding: 15px;
    }
}

@media only screen and (max-width: 374px) {
    .all_c_txtarea {
        padding: 15px 10px;
    }
}

.all_c_select {
    position: relative;
    line-height: 1;
}

.all_c_select::before {
    width: 0;
    height: 0;
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    border-width: 9px 5px 0 5px;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
    content: '';
}

.all_c_select .select_radius {
    width: 100%;
    height: 56px;
    padding-left: 30px;
    border: 1px solid #a4a4a4;
    border-radius: 30px;
    cursor: pointer;
}

@media only screen and (max-width: 767px) {
    .all_c_select .select_radius {
        height: 46px;
    }
}

.all_c_select_light {
    width: 438px;
    position: relative;
    line-height: 1;
    color: #a4a4a4;
}

@media only screen and (max-width: 767px) {
    .all_c_select_light {
        width: 100%;
    }
}

.all_c_select_light::before {
    width: 0;
    height: 0;
    position: absolute;
    top: 26px;
    right: 20px;
    border-width: 10px 5.5px 0 5.5px;
    border-style: solid;
    border-color: #a4a4a4 transparent transparent transparent;
    content: '';
}

@media only screen and (max-width: 767px) {
    .all_c_select_light::before {
        top: 20px;
    }
}

.all_c_select_light .select_straight {
    width: 100%;
    height: 62px;
    padding-left: 25px;
    border: 1px solid #a4a4a4;
    color: #262626;
    cursor: pointer;
}

@media only screen and (max-width: 767px) {
    .all_c_select_light .select_straight {
        height: 50px;
    }
}

.all_c_checkbox {
    position: absolute;
    opacity: 0;
}

.all_c_checkbox+span {
    padding: 0 0 0 22px;
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.all_c_checkbox+span::before,
.all_c_checkbox+span::after {
    position: absolute;
    display: inline-block;
    content: '';
}

.all_c_checkbox+span::before {
    width: 14px;
    height: 14px;
    top: 8px;
    left: 0;
    border: 1px solid #262626;
}

@media only screen and (max-width: 767px) {
    .all_c_checkbox+span::before {
        top: 4px;
    }
}

.all_c_checkbox+span::after {
    width: 5px;
    height: 9px;
    margin-top: -5px;
    position: absolute;
    top: 50%;
    left: 5px;
    display: block;
    border-right: 2px solid #315faa;
    border-bottom: 2px solid #315faa;
    content: '';
    transform: rotate(45deg);
    opacity: 0;
}

.all_c_checkbox:checked+span::after {
    opacity: 1;
}

/*--------------------------------------------------------------------------
   MODULE
---------------------------------------------------------------------------*/
/* all_m_foot_link
-----------------------------------------------------------------*/
.all_m_foot_link {
    width: 100%;
    padding-bottom: 245px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link {
        padding-bottom: 38%;
    }
}

.all_m_foot_link::before {
    background: linear-gradient(to bottom left, #fdfdfd, #f1f1f1);
    width: 100%;
    height: 245px;
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link::before {
        height: 60%;
    }
}

.all_m_foot_link_list {
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link_list {
        display: block;
    }
}

.all_m_foot_link_item {
    width: 50%;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link_item {
        width: 100%;
    }
}

.all_m_foot_link_item a {
    width: 100%;
    height: 100%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    color: #fff;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link_item a {
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: cover;
        padding-top: 46.93%;
    }
}

.all_m_foot_link_item a:hover .all_m_foot_link_img {
    transform: scale(1.1, 1.1);
}

.all_m_foot_link_item_en {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link_item_en {
        font-size: 24px;
    }
}

.all_m_foot_link_item_jp {
    display: block;
    font-size: 20px;
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link_item_jp {
        font-size: 14px;
    }
}

.all_m_foot_link_item_recruit a {
    background-image: url('../images/footer_recruit.jpg');
}

.all_m_foot_link_item_company a {
    background-image: url('../images/footer_company.jpg');
}

.all_m_foot_link_img {
    transition: .3s;
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link_img {
        display: none;
    }
}

.all_m_foot_link_img img {
    width: 100%;
    height: auto;
}

.all_m_foot_link_text {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    font-weight: 500;
    transform: translate(-50%, -50%);
}

@media only screen and (max-width: 767px) {
    .all_m_foot_link_text {
        width: 100%;
    }
}

/* all_m_page_heading
-----------------------------------------------------------------*/
.all_m_page_heading {
    width: 100%;
    padding: 148px 0 80px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .all_m_page_heading {
        padding: 80px 0 60px;
    }
}

.all_m_page_heading_en {
    display: block;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 56px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .all_m_page_heading_en {
        font-size: 42px;
    }
}

.all_m_page_heading_jp {
    margin-top: 14px;
    display: block;
    line-height: 1;
    letter-spacing: .1em;
    font-size: 18px;
}

@media only screen and (max-width: 767px) {
    .all_m_page_heading_jp {
        font-size: 14px;
    }
}

/* all_m_pankuzu
-----------------------------------------------------------------*/
.all_m_pankuzu {
    width: 100%;
    padding: 17px 0;
    position: relative;
    overflow: auto;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
}

@media only screen and (max-width: 767px) {
    .all_m_pankuzu {
        padding: 10px 0;
    }
}

.all_m_pankuzu_list {
    padding: 0 75px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1220px) {
    .all_m_pankuzu_list {
        padding: 0 24px;
    }
}

@media only screen and (max-width: 767px) {
    .all_m_pankuzu_list {
        padding: 0 24px;
    }
}

.all_m_pankuzu_item {
    padding-right: 15px;
    position: relative;
    line-height: 1;
    letter-spacing: .1em;
    font-size: 14px;
    white-space: nowrap;
}

@media only screen and (max-width: 767px) {
    .all_m_pankuzu_item {
        padding-right: 6px;
        font-size: 12px;
    }
}

.all_m_pankuzu_item::after {
    margin-left: 10px;
    color: #b6b6b6;
    content: '>';
}

@media only screen and (max-width: 767px) {
    .all_m_pankuzu_item::after {
        margin-left: 5px;
    }
}

.all_m_pankuzu_item:last-child {
    padding-right: 0;
}

.all_m_pankuzu_item:last-child::after {
    content: none;
}

.all_m_pankuzu_item a i {
    color: #adaead;
}

.mode-pc .all_m_pankuzu_item:nth-child(n + 2) a:hover {
    text-decoration: underline;
}

/* all_m_section_heading
-----------------------------------------------------------------*/
.all_m_section_heading {
    margin-bottom: 70px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .all_m_section_heading {
        margin-bottom: 50px;
    }
}

.all_m_section_heading_en {
    position: relative;
    display: inline-block;
    line-height: 1;

    font-family: 'Oswald', sans-serif;
    font-size: 40px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .all_m_section_heading_en {
        font-size: 26px;
    }
}

.all_m_section_heading_en::after {
    background-color: #000;
    width: 56px;
    height: 2px;
    position: absolute;
    top: 50%;
    right: -71px;
    content: '';
}

.all_m_section_heading_jp {
    margin-top: 2px;
    display: block;
    font-size: 16px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .all_m_section_heading_jp {
        font-size: 14px;
    }
}

.all_m_section_heading_wh {
    color: #fff;
}

.all_m_section_heading_wh .all_m_section_heading_en::after {
    background-color: #fff;
}

/* all_m_page_lead
-----------------------------------------------------------------*/
.all_m_page_lead {
    width: 90%;
    margin: 0 auto;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .all_m_page_lead {
        width: auto;
        margin: 0;
    }
}

@media only screen and (max-width: 767px) {
    .all_m_page_lead_img {
        width: 88%;
        margin-right: auto;
        /*padding-top: 81.8%;
			background: url("../images/business_mv.jpg") no-repeat 76% 50%;
			background-size: auto 100%;*/
    }
}

.all_m_page_lead_img img {
    width: 100%;
    height: auto;
}

.all_m_page_lead_body {
     max-width: 820px;
    margin: 7.8vw auto 0;
}

.all_m_page_lead_body img {
    max-width: 1200px;
    margin:auto;
}

@media only screen and (max-width: 767px) {
    .all_m_page_lead_body {
        margin-top: 70px;
    }
}

.all_m_page_lead_catch {
    line-height: 1.3;
    letter-spacing: .05em;
    font-size: 36px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .all_m_page_lead_catch {
        font-size: 24px;
    }
}

.all_m_page_lead_text {
    margin: 1.6em 75px 0 0;
    line-height: 1.6;
    letter-spacing: .1em;
    font-size: 18px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .all_m_page_lead_text {
        margin: 1em 0 0;
        font-size: 16px;
    }
}

.all_m_page_lead_obj {
    width: 100%;
    position: absolute;
    top: -8.5vw;
    left: calc(50% + 12vw);
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 160px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media only screen and (max-width: 767px) {
    .all_m_page_lead_obj {
        width: auto;
        top: -70px;
        left: inherit;
        right: -.2em;
        font-size: 80px;
        white-space: nowrap;
    }
}

/* all_m_page_scroll
-----------------------------------------------------------------*/
.all_m_page_scroll {
    position: absolute;
    top: 20.3vw;
    left: -3vw;
}

@media only screen and (max-width: 767px) {
    .all_m_page_scroll {
        top: 54vw;
        left: inherit;
        right: 5%;
    }
}

.all_m_page_scroll_text {
    height: 100%;
    position: relative;
    display: inline-block;
    line-height: 1;
    letter-spacing: .1em;
}

.all_m_page_scroll_text span {
    margin: 0 -20px;
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 700;
    transform: rotate(90deg);
}

.all_m_page_scroll_text span::before {
    background-color: #d6d6d6;
    width: 60px;
    height: 3px;
    position: absolute;
    bottom: 6px;
    left: 130%;
    content: '';
}

.all_m_page_scroll_text span::after {
    background-color: #262626;
    width: 10px;
    height: 3px;
    position: absolute;
    bottom: 6px;
    left: 130%;
    content: '';
    animation: anim-page-scroll 2.5s ease infinite;
}

@keyframes anim-page-scroll {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    50% {
        transform: translateX(50px);
        opacity: .8;
    }

    80% {
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* all_m_form_flow
-----------------------------------------------------------------*/
.all_m_form_flow {
    padding-top: 40px;
}

.all_m_form_flow_list {
    position: relative;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .all_m_form_flow_list {
        width: 296px;
        margin: 0 auto;

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (max-width: 374px) {
    .all_m_form_flow_list {
        width: 260px;
    }
}

.all_m_form_flow_list::before {
    background-color: #a4a4a4;
    width: 324px;
    height: 1px;
    position: absolute;
    top: -32px;
    left: 50%;
    content: '';
    transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
    .all_m_form_flow_list::before {
        width: 238px;
    }
}

@media only screen and (max-width: 374px) {
    .all_m_form_flow_list::before {
        width: 210px;
    }
}

.all_m_form_flow_item {
    margin: 0 48px;
    position: relative;
    font-size: 16px;
    color: #a4a4a4;
}

@media only screen and (max-width: 767px) {
    .all_m_form_flow_item {
        margin: 0;
        font-size: 14px;
    }
}

.all_m_form_flow_item::before {
    background-color: #a4a4a4;
    width: 16px;
    height: 16px;
    position: absolute;
    top: -40px;
    left: calc(50% - 8px);
    border-radius: 50%;
    content: '';
}

.all_m_form_flow_item::after {
    background-color: rgba(164, 164, 164, .25);
    width: 40px;
    height: 40px;
    position: absolute;
    top: -52px;
    left: calc(50% - 20px);
    border-radius: 50%;
}

.all_m_form_flow_item.is-active {
    color: #262626;
}

.all_m_form_flow_item.is-active::before {
    background-color: #262626;
}

.all_m_form_flow_item.is-active::after {
    content: '';
}

/* all_m_form
-----------------------------------------------------------------*/
.all_m_form {
    padding-top: 40px;
    padding-bottom: 150px;
}

.all_m_form .ico_inquiry {
    background-color: #ff5252;
    padding: 0 8px;
    display: inline-block;
    text-align: center;
    font-size: 12px;
    color: #fff;
}

.all_m_form_table {
    position: relative;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 1000px) {
    .all_m_form_table {
        display: block;
    }
}

.all_m_form_table_title {
    width: 21%;
    padding: 60px 0 0;
    position: relative;
    border-bottom: 1px solid #262626;
    font-size: 16px;
    font-weight: 500;
}

@media screen and (max-width: 1000px) {
    .all_m_form_table_title {
        width: auto;
        padding-top: 0;
        border-bottom: 0;
        font-size: 14px;
    }
}

.all_m_form_table_title .ico_inquiry {
    position: absolute;
    top: 65px;
    right: 10px;
}

@media screen and (max-width: 1000px) {
    .all_m_form_table_title .ico_inquiry {
        margin-left: 20px;
        position: relative;
        top: inherit;
        right: inherit;
    }
}

@media only screen and (max-width: 767px) {
    .all_m_form_table_title .ico_inquiry {
        margin-left: 10px;
    }
}

.all_m_form_table_input {
    width: calc(100% - 21%);
    padding: 43px 0 43px 42px;
    border-bottom: 1px solid #e2e2e2;
}

@media screen and (max-width: 1000px) {
    .all_m_form_table_input {
        width: auto;
        padding: 15px 0 30px;
        border-bottom: 0;
    }
}

.all_m_form_table .input_title {
    display: block;
}

@media only screen and (max-width: 767px) {
    .all_m_form_table .input_title {
        margin-bottom: 5px;
    }
}

.all_m_form_table .input_title+div,
.all_m_form_table .input_title+input {
    margin-top: 5px;
}

.all_m_form_table .input_zip {
    width: 484px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .all_m_form_table .input_zip {
        width: 100%;
    }
}

.all_m_form_table .input_zip_btn {
    width: 160px;
    height: 62px;
    margin-left: 20px;
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    text-align: center;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .all_m_form_table .input_zip_btn {
        width: 39%;
        height: 50px;
        margin-left: 10px;
        font-size: 14px;
    }
}

.all_m_form_table .input_zip_btn a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 2px 20px rgba(0, 0, 0, .2);
    color: #fff;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.all_m_form_table .input_zip_btn a::before {
    background: url('../images/top_ico_arrow.png') no-repeat;
    background-size: 6px 8px;
    width: 6px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    content: '';
}

@media only screen and (max-width: 767px) {
    .all_m_form_table .input_zip_btn a::before {
        right: 12px;
    }
}

.all_m_form_table .input_zip_btn a:hover {
    background-position: right center;
}

.all_m_form_table .input_zip+.input_title {
    margin-top: 20px;
}

.all_m_form_table .input_file {
    background: #fff url('../images/contact_ico_upload.png') no-repeat 90% 50%;
    background-size: 11px 14px;
    width: 204px;
    height: 62px;
    padding: 18px 0 0 15px;
    position: relative;
    display: inline-block;
    border: 1px solid #a4a4a4;
    cursor: pointer;
    transition: .3s;
}

@media only screen and (max-width: 767px) {
    .all_m_form_table .input_file {
        width: 57%;
        height: 50px;
        padding: 15px 0 0 15px;
    }
}

.all_m_form_table .input_file+input {
    width: 1px;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
}

.all_m_form_table .input_file:hover {
    background: #a4a4a4 url('../images/contact_ico_upload.png') no-repeat 90% 50%;
    background-size: 11px 14px;
}

.all_m_form_bottom {
    margin-top: 70px;
}

@media only screen and (max-width: 767px) {
    .all_m_form_bottom {
        margin-top: 20px;
    }
}

.all_m_form_privacy {
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-weight: 700;

    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .all_m_form_privacy {
        display: block;
        font-size: 14px;
    }
}

.all_m_form_privacy .ico_inquiry {
    margin-left: 10px;
}

.all_m_form_privacy .privacy_cb {
    margin-left: 40px;
    position: relative;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .all_m_form_privacy .privacy_cb {
        margin: 10px 0 0;
        display: block;
    }
}

.all_m_form_text {
    margin-top: 20px;
    font-size: 16px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .all_m_form_text {
        font-size: 14px;
    }
}

.all_m_form_btn {
    width: 320px;
    height: 64px;
    margin: 120px auto 0;
    position: relative;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .all_m_form_btn {
        width: 100%;
        margin: 100px auto 0;
        font-size: 14px;
    }
}

.all_m_form_btn::before {
    background: url('../images/top_ico_arrow.png') no-repeat;
    background-size: 6px 8px;
    width: 6px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    content: '';
}

.all_m_form_btn input {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 2px 20px rgba(0, 0, 0, .2);
    color: #fff;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.all_m_form_btn input:hover {
    background-position: right center;
}

.all_m_form_complete {
    padding-top: 100px;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .all_m_form_complete {
        padding-top: 50px;
    }
}

.all_m_form_complete .complete_title {
    font-size: 30px;
}

@media only screen and (max-width: 767px) {
    .all_m_form_complete .complete_title {
        font-size: 20px;
    }
}

.all_m_form_complete .complete_text {
    margin-top: 2em;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .all_m_form_complete .complete_text {
        font-size: 15px;
    }
}

.all_m_form_complete .complete_btn {
    width: 320px;
    height: 64px;
    margin: 50px auto 0;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .all_m_form_complete .complete_btn {
        width: auto;
        font-size: 15px;
    }
}

.all_m_form_complete .complete_btn a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 2px 20px rgba(0, 0, 0, .2);
    color: #fff;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.all_m_form_complete .complete_btn a:hover {
    background-position: right center;
}

.mw_wp_form_input .mwform-file-delete {
    margin-left: 20px;
    text-decoration: underline;
    font-weight: 500;
    color: #ff5252;
    cursor: pointer;
}

@media only screen and (max-width: 767px) {
    .mw_wp_form_input .mwform-file-delete {
        margin-left: 10px;
    }
}

.mw_wp_form_input .mwform-file-delete:hover {
    text-decoration: none;
}

.mw_wp_form_input .mw-wp-form_file {
    margin-top: 5px;
}

.mw_wp_form_input .mw-wp-form_file a {
    text-decoration: underline;
}

.mw_wp_form_input .mw-wp-form_file a:hover {
    text-decoration: none;
}

.mw_wp_form_input .all_m_form_bottom_input {
    display: block;
}

.mw_wp_form_input .all_m_form_bottom_confirm {
    display: none;
}

.mw_wp_form_confirm .ico_inquiry,
.mw_wp_form_confirm .input_zip_btn,
.mw_wp_form_confirm .input_file {
    display: none;
}

.mw_wp_form_confirm .all_m_form_table_title {
    padding: 43px 0 0;
}

@media screen and (max-width: 1000px) {
    .mw_wp_form_confirm .all_m_form_table_title {
        padding: 10px 0 0;
    }
}

.mw_wp_form_confirm .all_m_form_table_input {
    font-size: 16px;
}

.mw_wp_form_confirm .all_m_form_bottom_input {
    display: none;
}

.mw_wp_form_confirm .all_m_form_bottom_confirm {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1000px) {
    .mw_wp_form_confirm .all_m_form_bottom_confirm {
        margin-top: 0;
    }
}

.mw_wp_form_confirm .all_c_select_light {
    width: 100%;
    line-height: inherit;
    color: #2b2b2b;
}

.mw_wp_form_confirm .all_c_select_light::before {
    content: none;
}

.mw_wp_form_confirm .mw-wp-form_file a {
    text-decoration: underline;
}

.mw_wp_form_confirm .mw-wp-form_file a:hover {
    text-decoration: none;
}

.mw_wp_form_confirm .all_m_form_btn {
    margin: 80px 20px 0;
}

@media only screen and (max-width: 767px) {
    .mw_wp_form_confirm .all_m_form_btn {
        margin: 40px 5px 0;
    }

    .mw_wp_form_confirm .all_m_form_btn::before {
        right: 10px;
    }
}

.mw_wp_form_confirm .all_m_form_btn_back::before {
    background: url('../images/top_ico_arrow.png') no-repeat;
    background-size: 6px 8px;
    left: 20px;
    right: inherit;
    transform: scale(-1, 1);
}

@media only screen and (max-width: 767px) {
    .mw_wp_form_confirm .all_m_form_btn_back::before {
        left: 10px;
    }
}

.mw_wp_form .vertical-item {
    display: inline-block !important;
}

.mw_wp_form_input .error {
    padding: 8px 0 0 0;
    display: block;
    color: #ff5252;
}

.privacy_cb .error {
    padding: 0 0 0 10px;
    position: relative;
    top: 3px;
    display: inline-block !important;
}

@media only screen and (max-width: 767px) {
    .privacy_cb .error {
        padding: 5px 0 0 0;
        position: static !important;
        display: block !important;
    }
}

/*--------------------------------------------------------------------------
   UTILITY
---------------------------------------------------------------------------*/
/* all_cf
-----------------------------------------------------------------*/
.all_cf {
    *zoom: 1;
}

.all_cf:after {
    clear: both;
    display: table;
    content: '';
}

/* loader
-----------------------------------------------------------------*/
#Loader {
    background: white;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
}

#Loader #progress {
    background: #315faa;
    width: 0;
    height: 3px;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
}

/* trans
-------------------------------------------*/
#Loader {
    transition: all 1s ease;
}

/* anima
-------------------------------------------*/
.load-complete #Loader {
    opacity: 0;
}

/*--------------------------------------------------------------------------
   MINE
---------------------------------------------------------------------------*/
/* USEFULL
-----------------------------------------------------------------*/
/*
 show / hide
 -- レスポンシブ用 表示/非表示
*/
.all_mi_pc {
    display: block;
}

img.all_mi_pc {
    display: inline;
    width: 100%;
    height: auto;
}

.all_mi_sp {
    display: none;
}

/* media query -> sp
========================================*/
@media only screen and (max-width: 767px) {

    .all_mi_pc,
    img.all_mi_pc {
        display: none;
    }

    .all_mi_sp {
        display: block;
    }

    img.all_mi_sp {
        display: inline;
    }
}

/* EFFECT
-----------------------------------------------------------------*/
/*
 hov01
 -- 透過
*/
/* setting */
/* core */
.mi-hov01 {
    transition: all .2s ease-in-out;
}

.mi-hov01:hover {
    opacity: .7;
}

.mi-hov01-all>* {
    transition: all .2s ease-in-out;
}

.mi-hov01-all>*:hover {
    opacity: .7;
}

/*
 ro
 -- ロールオーバ
*/
.all_ro_line {
    position: relative;
    overflow: hidden;
}

.all_ro_line::before {
    background: #262626;
    width: 0;
    height: 1px;
    position: absolute;
    bottom: 0;
    right: 0;
    content: '';
    transition: all .5s cubic-bezier(.165, .84, .44, 1);
    transform: translateX(0);
}

.all_ro_line:hover::before {
    width: 100%;
    left: 0;
}

/*--------------------------------------------------------------------------
   init
---------------------------------------------------------------------------*/
.is-animate.is-fadein {
    opacity: 0;
}

.is-animate.is-fadeup {
    transform: translateY(80px);
    opacity: 0;
}

@media only screen and (max-width: 767px) {
    .is-animate.is-fadeup {
        transform: translateY(50px);
    }
}

/*--------------------------------------------------------------------------
   animated
---------------------------------------------------------------------------*/
.is-animated.is-fadein {
    transition: opacity .6s ease-in-out;
    transition-delay: 0s;
    opacity: 1;
}

.is-animated.is-fadeup {
    transition: opacity .8s ease-in-out, transform .8s cubic-bezier(.075, .82, .165, 1);
    transition-delay: 0s;
    transform: translateY(0);
    opacity: 1;
    font-weight: 600;
}

/*--------------------------------------------------------------------------
   GLOBAL
---------------------------------------------------------------------------*/
/* header
-----------------------------------------------------------------*/
#header {
    background-color: #fff;
    width: 100%;
    height: 96px;
    position: fixed;
    z-index: 999;
    transition: background-color .4s, box-shadow .4s, height .4s;
}

@media screen and (max-width: 1040px) {
    #header {
        height: 60px;
    }
}

#header.is-fixed {
    background-color: #fff;
    box-shadow: 0 2px 20px rgba(0, 0, 0, .1);
}

#header .header_logo {
    margin-left: 30px;
    position: absolute;
    top: 50%;
    z-index: 99;
    line-height: 1;
    transform: translateY(-50%);
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
    #header .header_logo {
        margin-left: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1160px) {
    #header .header_logo {
        margin-left: 10px;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_logo {
        margin-left: 24px;
    }
}

#header .header_logo a {
    display: block;
}

#header .header_logo img {
    width: 150px;
    height: auto;
}

@media only screen and (max-width: 767px) {
    #header .header_logo img {
        width: 126px;
    }
}

#header .header_menubtn {
    display: none;
}

@media screen and (max-width: 1040px) {
    #header .header_menubtn {
        width: 60px;
        height: 60px;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 999;
        display: block;
        cursor: pointer;
    }

    #header .header_menubtn_lines {
        width: 24px;
        height: 20px;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 18px;
        left: 10px;
        display: block;
        overflow: hidden;
        box-shadow: none;
        border: none;
        border-radius: none;
        text-indent: -9999px;
        font-size: 0;
        -webkit-appearance: none;

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

    #header .header_menubtn_lines span {
        background-color: #000;
        width: 100%;
        height: 2px;
        position: absolute;
        left: 0;
        display: inline-block;
        box-sizing: border-box;
        transition: all .4s;
    }

    #header .header_menubtn_lines span:nth-of-type(1) {
        top: 0;
        animation: menu-bar01 .75s forwards;
    }

    #header .header_menubtn_lines span:nth-of-type(2) {
        top: 9px;
        transition: all .25s linear;
        opacity: 1;
    }

    #header .header_menubtn_lines span:nth-of-type(3) {
        width: 15px;
        bottom: 0;
        animation: menu-bar02 .75s forwards;
    }

    #header .header_menubtn_lines:focus {
        outline: none;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_wrap {
        background: url('../images/header_bg_menu_sp.jpg') no-repeat 50% 0;
        background-size: 100% auto;
        width: 100%;
        height: 100%;
        padding: 80px 0 50px;
        position: fixed;
        top: 0;
        left: 0;
        visibility: hidden;
        pointer-events: none;
        opacity: 0;
    }
}

@media only screen and (max-width: 767px) {
    #header .header_wrap {
        /*background: url("../images/header_bg_menu_sp.jpg") no-repeat 50% 0;
				background-size: 100% auto;
				pointer-events: none;
				visibility: hidden;
				opacity: 0;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				padding: 80px 0 50px;*/
    }
}

#header .header_wrap_inner {
    width: 100%;
    height: 96px;
    padding-right: 30px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
    #header .header_wrap_inner {
        padding-right: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1160px) {
    #header .header_wrap_inner {
        padding-right: 10px;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_wrap_inner {
        height: 100%;
        padding: 0 35px;
        display: block;
        overflow: auto;
    }
}

#header .header_gnav_nav {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_nav {
        display: block;
    }
}

#header .header_gnav_item {
    height: 96px;
    margin: 0 25px;
    position: relative;
    font-size: 14px;
    font-weight: 500;
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
    #header .header_gnav_item {
        margin: 0 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1160px) {
    #header .header_gnav_item {
        margin: 0 15px;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_item {
        height: auto;
        margin: 0;
        border-bottom: 1px solid #302f2f;
        font-size: 14px;
    }
}

#header .header_gnav_item::after {
    background-color: #000;
    width: 100%;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    transition: transform .2s linear;
    transform: scale(0, 1);
    transform-origin: right top;
}

.mode-pc #header .header_gnav_item:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
}

@media screen and (max-width: 1040px) {
    .mode-pc #header .header_gnav_item:hover::after {
        transform: scale(0, 1);
        transform-origin: right top;
    }
}

#header .header_gnav_item>a {
    height: 100%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    color: #0b0b0b;
   
font-weight: 600;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_item>a {
        padding: 10px 0;
        display: block;
        color: #fff;
    }
}

#header .header_gnav_item_06>a {
    padding-right: 18px;
}

#header .header_gnav_item_06>a::before {
    background: #000;
    width: 10px;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 0;
    content: '';
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_item_06>a::before {
        background: #fff;
        width: 13px;
        height: 1px;
        right: 10px;
    }
}

#header .header_gnav_item_06>a::after {
    background: #000;
    width: 2px;
    height: 10px;
    position: absolute;
    top: calc(50% - 4px);
    right: 4px;
    content: '';
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_item_06>a::after {
        background: #fff;
        width: 1px;
        height: 13px;
        top: calc(50% - 6px);
        right: 16px;
    }
}

#header .header_gnav_item_06:hover .header_gnav_mega {
    visibility: visible;
    opacity: 1;
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_item_06 a.is-open::after {
        content: none;
    }

    #header .header_gnav_item_06 a.is-open+.header_gnav_mega {
        height: auto;
        visibility: visible;
        opacity: 1;
    }
}

#header .header_gnav_en {
    display: none;
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_en {
        display: block;
        line-height: 1.5;
        font-family: 'Oswald', sans-serif;
        font-size: 24px;
        font-weight: 700;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_jp {
        display: block;
        font-size: 14px;
        font-weight: 600;
    }
}

#header .header_gnav_mega {
    position: absolute;
    top: 96px;
    left: 0;
    z-index: 10;
    overflow: hidden;
    visibility: hidden;
    transition: .3s;
    opacity: 0;
}

@media screen and (max-width: 1040px) {
    #header .header_gnav_mega {
        height: 0;
        position: relative;
        top: inherit;
        left: inherit;
        visibility: hidden;
        opacity: 0;
    }
}

#header .header_megamenu {
    background-color: rgba(7, 7, 7, .7);
    width: 300px;
    padding: 30px 25px;
}

@media screen and (max-width: 1040px) {
    #header .header_megamenu {
        background-color: rgba(7, 7, 7, 0);
        width: auto;
        padding: 0;
        border-top: 1px solid #302f2f;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_megamenu_item {
        border-bottom: 1px solid #302f2f;
        font-size: 14px;
    }
}

#header .header_megamenu_item:not(:first-of-type) {
    margin-top: 12px;
}

@media screen and (max-width: 1040px) {
    #header .header_megamenu_item:not(:first-of-type) {
        margin: 0;
    }
}

#header .header_megamenu_item a {
    background: linear-gradient(#fff, #fff) no-repeat 100% 100%;
    background-size: 0 1px;
    padding-bottom: .1em;
    position: relative;
    color: #fff;
    transition: background-size .5s cubic-bezier(.165, .84, .44, 1);
    font-weight: 600;
}

@media screen and (max-width: 1040px) {
    #header .header_megamenu_item a {
        padding: 12px 0;
        display: block;
    }
}

.mode-pc #header .header_megamenu_item a:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
}

@media screen and (max-width: 1040px) {
    .mode-pc #header .header_megamenu_item a:hover {
        background-position: 100% 100%;
        background-size: 0 1px;
    }
}

#header .header_contact {
    margin-left: 30px;
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
    #header .header_contact {
        margin-left: 20px;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_contact {
        margin-left: 0;
    }
}

#header .header_contact_btn {
    width: 206px;
    font-size: 16px;
    font-weight: 500;
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
    #header .header_contact_btn {
        width: 186px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1160px) {
    #header .header_contact_btn {
        width: 176px;
    }
}

@media screen and (max-width: 1040px) {
    #header .header_contact_btn {
        margin: 26px auto 0;
    }
}

#header .header_contact_btn a {
    background-color: #fff;
    width: 100%;
    height: 48px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    border: 1px solid #262626;
    border-radius: 30px;
    transition: .3s;
font-weight: 600;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1040px) {
    #header .header_contact_btn a {
        background-color: transparent;
        border-color: #fff;
        color: #fff;
    }
}

#header .header_contact_btn a::after {
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;
    right: 12px;
    border-top: 1px solid #262626;
    border-right: 1px solid #262626;
    content: '';
    transition: .3s;
    transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 1040px) {
    #header .header_contact_btn a::after {
        border-color: #fff;
    }
}

.mode-pc #header .header_contact_btn a:hover {
    background-color: #262626;
    color: #fff;
}

.mode-pc #header .header_contact_btn a:hover::after {
    border-color: #fff;
}

.mission #header .header_gnav_item_01::after {
    transform: scale(1, 1);
}

.business #header .header_gnav_item_02::after {
    transform: scale(1, 1);
}

.equipment #header .header_gnav_item_03::after {
    transform: scale(1, 1);
}

.company #header .header_gnav_item_04::after {
    transform: scale(1, 1);
}

.info #header .header_gnav_item_05::after {
    transform: scale(1, 1);
}

.recruit #header .header_gnav_item_06::after {
    transform: scale(1, 1);
}

/*menu open*/
@media screen and (max-width: 1040px) {
    .is-menuopen {
        overflow: hidden;
    }

    .is-menuopen #header {
        background-color: transparent;
    }

    .is-menuopen #header .header_logo {
        background: url('../images/all_logo_wh.png') no-repeat 0 0;
        background-size: 196px auto;
    }

    .is-menuopen #header .header_logo img {
        visibility: hidden;
    }

    .is-menuopen #header .header_menubtn_lines span {
        background-color: #fff;
    }

    .is-menuopen #header .header_menubtn_lines span:nth-of-type(1) {
        transform: translateY(9px) rotate(-45deg);
    }

    .is-menuopen #header .header_menubtn_lines span:nth-of-type(2) {
        opacity: 0;
    }

    .is-menuopen #header .header_menubtn_lines span:nth-of-type(3) {
        width: 24px;
        transform: translateY(-9px) rotate(45deg);
    }

    .is-menuopen #header .header_wrap {
        visibility: visible;
        transition-timing-function: linear;
        transition-duration: .4s;
        transition-property: all;
        pointer-events: all;
        opacity: 1;
    }
}

/* footer
-----------------------------------------------------------------*/
#footer {
    padding: 200px 0 100px;
    position: relative;
}

@media screen and (max-width: 1030px) {
    #footer {
        padding: 110px 0 40px;
    }
}

#footer .footer_contact {
    width: 62.5%;
    height: 232px;
    margin-left: auto;
    position: absolute;
    top: -116px;
    right: 0;
}

@media screen and (max-width: 1030px) {
    #footer .footer_contact {
        width: 93.86%;
        height: 132px;
        top: -66px;
    }
}

#footer .footer_contact a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    padding-left: 10.5%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1030px) {
    #footer .footer_contact a {
        padding-left: 12.2%;
        flex-direction: column;

        -ms-flex-direction: column;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

#footer .footer_contact a:hover {
    background-position: right center;
}

#footer .footer_contact a::after {
    background: url('../images/footer_ico_arrow_w.png') no-repeat;
    background-size: contain;
    width: 12px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 7.5%;
    content: '';
    transform: translateY(-50%);
}

@media screen and (max-width: 1030px) {
    #footer .footer_contact a::after {
        width: 9px;
        height: 12px;
        right: 6.8%;
    }
}

#footer .footer_contact_en {
    letter-spacing: .1em;
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #fff;
}

@media screen and (max-width: 1030px) {
    #footer .footer_contact_en {
        padding-top: 42px;
        line-height: 1.2;
        font-size: 32px;
    }
}

#footer .footer_contact_jp {
    margin-left: 3%;
    font-size: 16px;
    color: #fff;
}

@media screen and (max-width: 1030px) {
    #footer .footer_contact_jp {
        margin: 0;
        font-size: 14px;
    }
}

#footer .footer_inner {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 10px;
    position: relative;
}

@media screen and (max-width: 1030px) {
    #footer .footer_inner {
        padding: 0;
    }
}

#footer .footer_logo {
    position: absolute;
    top: 0;
    left: 10px;
}

@media screen and (max-width: 1030px) {
    #footer .footer_logo {
        position: relative;
        top: inherit;
        left: inherit;
        text-align: center;
    }
}

#footer .footer_logo a {
    display: block;
}

#footer .footer_logo img {
    width:140px;
    height: auto;
}

#footer .footer_nav {
    padding-top: 10px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: end;
    justify-content: flex-end;
}

@media screen and (max-width: 1030px) {
    #footer .footer_nav {
        padding: 27px 6.4% 0;

        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

#footer .footer_nav_item {
    margin-left: 50px;
    font-size: 15px;
}

@media screen and (max-width: 1030px) {
    #footer .footer_nav_item {
        width: 50%;
        margin: 10px 0 10px;
        text-align: center;
        font-size: 14px;
    }
}

@media screen and (max-width: 1030px) {
    #footer .footer_nav_item:nth-child(even) {
        border-left: 1px solid #ccc;
    }
}

#footer .footer_nav_item a {
    background: linear-gradient(#000, #000) no-repeat 100% 100%;
    background-size: 0 1px;
    padding-bottom: .2em;
    transition: background-size .5s cubic-bezier(.165, .84, .44, 1);
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
    #footer .footer_nav_item a {
        width: 100%;
        display: block;
    }
}

.mode-pc #footer .footer_nav_item a:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
    .mode-pc #footer .footer_nav_item a:hover {
        background-position: 100% 100%;
        background-size: 0 1px;
    }
}

#footer .footer_copy {
    margin-top: 5px;
    letter-spacing: .1em;
    font-size: 12px;
    color: #c3c3c3;
}

@media screen and (max-width: 1030px) {
    #footer .footer_copy {
        margin-top: 48px;
        text-align: center;
    }
}

/*--------------------------------------------------------------------------
   TOP
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
#header.is-top {
    background-color: transparent;
}

#header.is-top .header_logo {
    background: url('../images/all_logo_wh.png') no-repeat 0 0;
       background-size: contain;
    height: 40px;
}

@media screen and (max-width: 1300px) {
    #header.is-top .header_logo {
        /*background: url("../images/all_logo_wh.png") no-repeat 0 0;
			background-size: 252px 38px;*/
    }
}

@media screen and (max-width: 1040px) {
    #header.is-top .header_logo {
        /*background: url("../images/all_logo_wh.png") no-repeat 0 0;
			background-size: 196px auto;*/
    }
}

@media only screen and (max-width: 767px) {
    #header.is-top .header_logo {
        background: url('../images/all_logo_wh.png') no-repeat 0 0;
   background-size: contain;
    height: 32px;
    }
}

#header.is-top .header_logo img {
    visibility: hidden;
}

#header.is-top .header_menubtn_lines span {
    background-color: #fff;
}

#header.is-top .header_gnav_item>a {
    color: #fff;
        font-weight: 600;
}

#header.is-top .header_gnav_item::after {
    background-color: #fff;
}

#header.is-top .header_gnav_item_06>a::before,
#header.is-top .header_gnav_item_06>a::after {
    background: #fff;
}

#header.is-top .header_contact_btn a {
    background-color: transparent;
    border-color: #fff;
    color: #fff;
}

#header.is-top .header_contact_btn a::after {
    border-color: #fff;
}

.mode-pc #header.is-top .header_contact_btn a:hover {
    background-color: #fff;
    color: #000;
}

.mode-pc #header.is-top .header_contact_btn a:hover::after {
    border-color: #262626;
}

#wrapper.top #main {
    padding-top: 0;
}

/* common
-----------------------------------------------------------------*/
.top_c_title {
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 160px;
    font-weight: 700;
    color: #f8f8f8;
}

@media only screen and (max-width: 767px) {
    .top_c_title {
        font-size: 70px;
    }
}

/* top_mv
-----------------------------------------------------------------*/
.top_mv {
    width: 100%;
    height: 100vh;
}

@media only screen and (max-width: 767px) {
    .top_mv {
        height: auto;
    }
}

.top_mv_inline {
    width: 100%;
    height: 100%;
    min-height: 680px;
    position: absolute;
    top: 0;
    left: 0;
}

@media only screen and (max-width: 767px) {
    .top_mv_inline {
        min-height: 480px;
    }
}

.top_mv_text_box {
    position: absolute;
    top: 42%;
    left: 5.3%;
    z-index: 9;
    color: #fff;
}

.top_mv_text_box {
    position: absolute;
    top: 40%;
    right: 5.3%;
    z-index: 9;
    color: #fff;
}



.top_mv_title {
       line-height: 1.2;
    font-size: 70px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .top_mv_title {
        font-size: 10vw;
    }
}

.top_mv_text {
    margin-top: 40px;
    font-size: 18px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .top_mv_text {
        font-size: 3.73vw;
    }
}

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

.top_mv_slide_item {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}

.top_mv_slide_item::after {
    background-color: rgba(0, 0, 0, .2);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}

.top_mv_slide_item .item_image {
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.top_mv_slide_item .item_image--standby {
    transform: scale(1.1);
}

.top_mv_slide_item .item_image--animate {
    animation: mv_slide 6000ms linear;
}

@keyframes mv_slide {
    0% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

.top_mv_slide_item .item_image img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    visibility: hidden;
}

.top_mv_slide_item .item_image--pc {
    display: block;
}

@media only screen and (max-width: 767px) {
    .top_mv_slide_item .item_image--pc {
        display: none;
    }
}

.top_mv_slide_item .item_image--sp {
    display: none;
}

@media only screen and (max-width: 767px) {
    .top_mv_slide_item .item_image--sp {
        display: block;
    }
}

.top_mv_slide_thumb {
    background-color: #fff;
    width: 100px;
    height: 4px;
    position: absolute;
    bottom: 50px;
    right: 110px;
    z-index: 99;
    overflow: hidden;
    border-radius: 4px;
}

@media only screen and (max-width: 767px) {
    .top_mv_slide_thumb {
        bottom: 25px;
        right: 25px;
    }
}

.top_mv_slide_thumb span {
    background-color: #315faa;
    width: 0;
    height: 4px;
    display: block;
    border-radius: 4px;
}

.top_mv_scroll {
    padding-bottom: 40px;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 99;
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    transform: translateX(-50%);
    animation: anim-to-mv-scroll 2.5s ease infinite;
}

@media only screen and (max-width: 767px) {
    .top_mv_scroll {
        left: 5.3%;
        text-indent: -9999px;
    }
}

@keyframes anim-to-mv-scroll {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateY(15px);
        opacity: .8;
    }

    80% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.top_mv_scroll::before {
    background-color: #fff;
    width: 1px;
    height: 35px;
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
}

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

@media only screen and (max-width: 767px) {
    .top_mv_navwrap {
        height: 100%;
        min-height: 480px;
    }
}

/* top_info
-----------------------------------------------------------------*/
.top_info {
    padding: 20px 0;
    position: relative;
    border-bottom: 1px solid #dedede;
}

@media only screen and (max-width: 767px) {
    .top_info {
        height: auto;
        padding: 20px 10px;
    }
}

.top_info_item {
    padding-right: 10%;
}

@media only screen and (max-width: 767px) {
    .top_info_item {
        padding-right: 0;
    }
}

.top_info_item a {
    display: -ms-flexbox;
    display: flex;
    color: #262626;

    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .top_info_item a {
        padding-right: 15px;
        display: block;
    }

    .top_info_item a::before {
        background: url('../images/top_ico_news_arrow.png') no-repeat 100% 50%;
        background-size: contain;
        width: 6px;
        height: 8px;
        position: absolute;
        bottom: 7px;
        right: 10px;
        content: '';
    }
}

.mode-pc .top_info_item a:hover .top_info_title span {
    background-position: 0 100%;
    background-size: 100% 1px;
}

@media only screen and (max-width: 767px) {
    .mode-pc .top_info_item a:hover .top_info_title span {
        background-position: 100% 100%;
        background-size: 0 1px;
    }
}

.top_info_item_header {
    width: 200px;
}

@media only screen and (max-width: 767px) {
    .top_info_item_header {
        width: auto;
    }
}

.top_info_date {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #a4a4a4;
}

.top_info_tag {
    margin-left: 10px;
    padding: 5px 14px;
    border: 1px solid #262626;
    border-radius: 20px;
    text-align: center;
    font-size: 12px;
    color: #262626;
}

@media only screen and (max-width: 767px) {
    .top_info_tag {
        padding: 0 10px;
    }
}

.top_info_title {
    width: calc(100% - 200px);
    padding-bottom: .1em;
    overflow: hidden;
    font-size: 16px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media only screen and (max-width: 767px) {
    .top_info_title {
        width: auto;
        margin-top: 5px;
        font-size: 14px;
    }
}

.top_info_title span {
    background: linear-gradient(#262626, #262626) no-repeat 100% 100%;
    background-size: 0 1px;
    transition: background-size .5s cubic-bezier(.165, .84, .44, 1);
}

.top_info_link {
    position: absolute;
    top: 50%;
    right: 10px;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    font-weight: 700;
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
    .top_info_link {
        display: none;
    }
}

.top_info_link a {
    padding: .2em 0;
    padding-right: 14px;
    position: relative;
}

.top_info_link a::after {
    background: url('../images/top_ico_news_arrow.png') no-repeat 100% 50%;
    background-size: contain;
    width: 6px;
    height: 8px;
    position: absolute;
    top: calc(50% - 2px);
    right: 0;
    content: '';
}

/* top_about_us
-----------------------------------------------------------------*/
.top_about_us {
    background: linear-gradient(to bottom, #fff 0%, #f3f3f3 100%);
    padding: 180px 0 150px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .top_about_us {
        padding: 28vw 0;
    }
}

.top_about_us_title {
    position: absolute;
    top: 100px;
    left: calc(50% - 710px);
    z-index: 2;
}

@media screen and (max-width: 1440px) {
    .top_about_us_title {
        left: 0;
    }
}

@media only screen and (max-width: 767px) {
    .top_about_us_title {
        top: 15vw;
        left: -5vw;
        font-size: 70px;
    }
}

.top_about_us_inner {
    z-index: 3;
}

.top_about_us_lead {
    position: relative;
    z-index: 3;
    line-height: 1.56;
    font-size: 36px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .top_about_us_lead {
        font-size: 24px;
    }
}

.top_about_us_text {
    margin-top: 50px;
    position: relative;
    z-index: 3;
    line-height: 2.4;
    font-size: 18px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .top_about_us_text {
        margin-top: 6vw;
        line-height: 1.8;
        font-size: 16px;
    }
}

.top_about_us_btn {
    width: 320px;
    height: 64px;
    margin-top: 50px;
    position: relative;
    z-index: 3;
    line-height: 1;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .top_about_us_btn {
        width: 200px;
        height: 46px;
        margin-top: 9vw;
    }
}

.top_about_us_btn a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    color: #fff;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.top_about_us_btn a:hover {
    background-position: right center;
}

.top_about_us_btn a::after {
    background: url('../images/top_ico_arrow.png') no-repeat;
    background-size: contain;
    width: 6px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 6.25%;
    content: '';
    transform: translateY(-50%);
}

.top_about_us_map {
    position: absolute;
    top: 50px;
    left: calc(50% + 140px);
    z-index: 1;
}

@media screen and (max-width: 1440px) {
    .top_about_us_map {
   width: 740px;
    top: 2vw;
    left: inherit;
    right: -9vw;
    }
}

@media only screen and (max-width: 767px) {
    .top_about_us_map {
        width: 90vw;
        top: inherit;
        bottom: 7vw;
        left: inherit;
        right: -1vw;
    }
}

@media screen and (max-width: 1440px) {
    .top_about_us_map img {
        width: 100%;
        height: auto;
        position: relative;
        top: 27px;
        right: -35px;
    }
}

/* top_service
-----------------------------------------------------------------*/
.top_service {
    padding: 180px 0 75px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .top_service {
        padding: 100px 0 48px;
    }
}

.top_service::before {
    background: linear-gradient(to bottom left, #fdfdfd, #f1f1f1);
    width: 100%;
    height: 480px;
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .top_service::before {
        height: 45%;
    }
}

.top_service_title {
    position: absolute;
    top: 170px;
    left: calc(50% + 110px);
    z-index: -1;
}

@media only screen and (max-width: 767px) {
    .top_service_title {
        top: 140px;
        left: -5vw;
    }
}

.top_service_header {
    position: relative;
    z-index: 1;
    text-align: center;
}

.top_service_header_en {
    display: block;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .top_service_header_en {
        font-size: 32px;
    }
}

.top_service_header_jp {
    margin-top: 10px;
    display: block;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .top_service_header_jp {
        font-size: 14px;
    }
}

.top_service_list {
    max-width: 1430px;
    margin: 50px auto 0;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
    .top_service_list {
        margin: 30px 25px 0;
        display: block;
    }
}

.top_service_item {
    position: relative;
    overflow: hidden;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .top_service_item {
        width: 100%;
    }
}

.top_service_item a {
    width: 100%;
    position: relative;
    z-index: 1;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    color: #fff;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .top_service_item a {
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: cover;
        padding-top: 56.44%;
    }
}

.top_service_item a:hover .top_service_item_img {
    transform: scale(1.06, 1.06);
}

.top_service_item_main {
    display: block;
    font-size: 28px;
    font-weight: 600;
}

@media screen and (max-width: 1100px) {
    .top_service_item_main {
        font-size: 24px;
    }
}

.top_service_item_sub {
    display: block;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .top_service_item_sub {
        font-size: 14px;
    }
}

.top_service_item_img {
    transition: .3s;
}

@media only screen and (max-width: 767px) {
    .top_service_item_img {
        display: none;
    }
}

.top_service_item_img img {
    width: 100%;
    height: auto;
}

.top_service_item_text {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    font-weight: 500;
    transform: translate(-50%, -50%);
    width: 100%
}

@media screen and (max-width: 1100px) {
    .top_service_item_text {
        width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .top_service_item_text {
        width: 100%;
    }
}

.top_service_item01 {
    width: 50%;
}

@media only screen and (max-width: 767px) {
    .top_service_item01 {
        width: 100%;
    }

    .top_service_item01 a {
        background-image: url('../images/top_service_img01.jpg');
    }
}

.top_service_item02 {
    width: 50%;
}

@media only screen and (max-width: 767px) {
    .top_service_item02 {
        width: 100%;
    }

    .top_service_item02 a {
        background-image: url('../images/top_service_img02.jpg');
    }
}

.top_service_item03 {
    width: 33.2%;
    max-height: 322px;
}

@media only screen and (max-width: 767px) {
    .top_service_item03 {
        width: 100%;
    }

    .top_service_item03 a {
        background-image: url('../images/top_service_img03.jpg');
        height: 56.44%;
    }
}

.top_service_item04 {
    width: calc(100% - 66.4%);
    max-height: 322px;
}

@media only screen and (max-width: 767px) {
    .top_service_item04 {
        width: 100%;
    }

    .top_service_item04 a {
        background-image: url('../images/top_service_img04.jpg');
    }
}

.top_service_item05 {
    width: 33.2%;
    max-height: 322px;
}

@media only screen and (max-width: 767px) {
    .top_service_item05 {
        width: 100%;
    }

    .top_service_item05 a {
        background-image: url('../images/top_service_img05.jpg');
    }
}

.top_service_item_more {
    position: absolute;
    bottom: 30px;
    left: 50%;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    font-weight: 700;
    transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
    .top_service_item_more {
        bottom: 15px;
    }
}

.top_service_item_more span {
    padding-right: 10px;
}

.top_service_item_more span::before {
    background: url('../images/top_ico_arrow.png') no-repeat 100% 50%;
    background-size: contain;
    width: 6px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 0;
    content: '';
    transform: translateY(-50%);
}

/* top_newse
-----------------------------------------------------------------*/
.top_news {
    padding: 100px 0 150px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .top_news {
        padding: 11vw 0 20vw;
    }
}

.top_news_title {
    position: absolute;
    top: -75px;
    left: calc(50% + 380px);
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1500px) {
    .top_news_title {
        left: calc(50% + 150px);
    }
}

@media screen and (max-width: 1030px) {
    .top_news_title {
        left: 50%;
    }
}

@media only screen and (max-width: 767px) {
    .top_news_title {
        top: -30px;
        left: inherit;
        right: 5vw;
    }
}

@media only screen and (max-width: 767px) {
    .top_news_list {
        margin: 0 15px;
    }
}

.top_news_item {
    border-bottom: 1px solid #f3f3f3;
}

.top_news_item a {
    width: 100%;
    padding: 25px 0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    color: #262626;

    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .top_news_item a {
        padding: 20px 0;
        display: block;
    }
}

.top_news_item a::before {
    background: url('../images/top_ico_news_arrow_blue.png') no-repeat 100% 50%;
    background-size: contain;
    width: 6px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    right: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .top_news_item a::before {
        top: inherit;
        bottom: 28px;
    }
}

.mode-pc .top_news_item a:hover .top_news_item_title span {
    background-position: 0 100%;
    background-size: 100% 1px;
}

@media only screen and (max-width: 767px) {
    .mode-pc .top_news_item a:hover .top_news_item_title span {
        background-position: 100% 100%;
        background-size: 0 1px;
    }
}

.top_news_item_header {
    width: 200px;
}

@media only screen and (max-width: 767px) {
    .top_news_item_header {
        width: auto;
    }
}

.top_news_date {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #a4a4a4;
}

.top_news_tag {
    margin-left: 10px;
    padding: 5px 14px;
    border: 1px solid #262626;
    border-radius: 20px;
    text-align: center;
    font-size: 12px;
    color: #262626;
}

@media only screen and (max-width: 767px) {
    .top_news_tag {
        padding: 0 10px;
    }
}

.top_news_item_title {
    width: calc(100% - 200px);
    padding-right: 15px;
    padding-bottom: .1em;
    overflow: hidden;
    font-size: 16px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media only screen and (max-width: 767px) {
    .top_news_item_title {
        width: auto;
        margin-top: 5px;
        font-size: 14px;
    }
}

.top_news_item_title span {
    background: linear-gradient(#262626, #262626) no-repeat 100% 100%;
    background-size: 0 1px;
    transition: background-size .5s cubic-bezier(.165, .84, .44, 1);
}

.top_news_link {
    margin-top: 40px;
    margin-left: auto;
    padding-left: 24px;
    position: relative;
    float: right;
    display: inline-block;
    line-height: 1;
    font-size: 16px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .top_news_link {
        margin: 20px 15px 0;
        font-size: 15px;
    }
}

.top_news_link::before {
    background: url('../images/all_ico_list.png') no-repeat 0 50%;
    background-size: contain;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    left: 0;
    content: '';
    transform: translateY(-50%);
}

.top_news_link a {
    padding: 5px 0;
    position: relative;
}

/*--------------------------------------------------------------------------
   custom animation
---------------------------------------------------------------------------*/
/* sec-mv
=================================================================*/
.top_mv .top_mv_title {
    transform: translateX(30px);
    opacity: 0;
}

.top_mv .top_mv_text {
    transform: translateX(30px);
    opacity: 0;
}

.top_mv.is-animated .top_mv_title {
    transition: opacity .6s ease-in-out, transform .6s ease-in-out;
    transition-delay: .6s;
    transform: translateY(0);
    opacity: 1;
}

.top_mv.is-animated .top_mv_text {
    transition: opacity .6s ease-in-out, transform .6s ease-in-out;
    transition-delay: .9s;
    transform: translateY(0);
    opacity: 1;
}

/*--------------------------------------------------------------------------
   MISSION
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
.mission_overwrite {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .mission_overwrite {
        width: 50%;
    }
}

/* common
-----------------------------------------------------------------*/
.mission_common {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .mission_common {
        width: 50%;
    }
}

/* mission_lead
-----------------------------------------------------------------*/
.mission_lead {
    padding: 90px 0 190px;
}

@media only screen and (max-width: 767px) {
    .mission_lead {
        padding: 40px 0 50px;
    }
}

.mission_lead_title {
    line-height: 1;
    letter-spacing: -.11em;
    font-family: 'Oswald', sans-serif;
}

.mission_lead_title strong {
    color: #315faa;
}

.mission_lead_title_small {
    display: block;
    line-height: 1.3;
    font-size: 88px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .mission_lead_title_small {
        line-height: 1.2;
        font-size: 35px;
    }
}

.mission_lead_title_big {
    padding: 10px 0 0;
    display: block;
    font-size: 128px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .mission_lead_title_big {
        padding: 5px 0 0;
        font-size: 51px;
    }
}

.mission_lead_catch {
    margin: 60px 0 0 103px;
    font-size: 48px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .mission_lead_catch {
        margin: 40px 0 0 0;
        font-size: 24px;
    }
}

.mission_lead_text {
    width: 634px;
    margin: 18px 0 0 103px;
    line-height: 2;
    letter-spacing: .1em;
    font-size: 18px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .mission_lead_text {
        width: auto;
        margin: 20px 0 0 0;
        line-height: 1.8;
        font-size: 16px;
    }
}

.browser-ie .mission_lead_title {
    letter-spacing: -.03em;
}

/* mission_contents
-----------------------------------------------------------------*/
.mission_contents {
    position: relative;
}

.mission_contents::before {
    background: linear-gradient(to bottom left, #fcfcfc, #e2e2e2);
    width: 100%;
    height: 789px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
}

@media only screen and (max-width: 767px) {
    .mission_contents::before {
        height: 85%;
    }
}

.mission_contents_number {
    width: 12.5%;
    height: 43.2vw;
    position: absolute;
    top: 0;
    right: 0;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .mission_contents_number {
        display: none;
    }
}

.mission_contents_number::after {
    background-color: #ccc;
    width: 1px;
    height: 256px;
    position: absolute;
    top: calc(50% + 62px);
    left: 50%;
    z-index: 3;
    content: '';
}

.mission_contents_number span {
    margin: 0 -20px;
    display: block;
    letter-spacing: .1em;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 700;
    transform: rotate(90deg);
}

.mission_contents_img {
    width: 87.5%;
    margin-right: auto;
}

@media only screen and (max-width: 767px) {
    .mission_contents_img {
        width: 93.33%;
    }
}

.mission_contents_img img {
    width: 100%;
    height: auto;
}

.mission_contents_body {
    background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, .9));
    width: 75%;
    margin-top: -90px;
    margin-left: auto;
    padding: 130px 0 182px 100px;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 1300px) {
    .mission_contents_body {
        width: 85%;
        padding: 100px 0 122px 60px;
    }
}

@media only screen and (max-width: 767px) {
    .mission_contents_body {
        width: 93.33%;
        margin-top: -40px;
        padding: 75px 24px 85px 24px;
    }
}

.mission_contents_box {
    max-width: 898px;
    position: relative;
}

.mission_contents_title {
    margin-bottom: 70px;
    padding-left: 20px;
    position: relative;
    line-height: 1.5;
    font-size: 32px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .mission_contents_title {
        margin-bottom: 40px;
        padding-left: 20px;
        font-size: 20px;
    }
}

.mission_contents_title::before {
    background-color: #dcdcdc;
    width: 2px;
    height: calc(100% - 12px);
    position: absolute;
    top: 6px;
    left: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .mission_contents_title::before {
        height: calc(100% - 8px);
        top: 4px;
    }
}

.mission_contents_title::after {
    background-color: #000;
    width: 2px;
    height: 14px;
    position: absolute;
    top: 6px;
    left: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .mission_contents_title::after {
        height: 20px;
        top: 4px;
    }
}

.mission_contents_text {
    line-height: 2;
    letter-spacing: .1em;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .mission_contents_text {
        line-height: 1.9;
        font-size: 15px;
    }
}

.mission_contents_text strong {
    color: #315faa;
}

.mission_contents_caption {
    margin-top: 2.2em;
    letter-spacing: .1em;
    font-size: 14px;
}

@media only screen and (max-width: 767px) {
    .mission_contents_caption {
        font-weight: 500;
    }
}

.mission_contents_weight {
    margin-bottom: 35px;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 80px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .mission_contents_weight {
        margin-bottom: 20px;
        font-size: 48px;
    }
}

.mission_contents_weight span {
    margin-left: 14px;
    font-size: 50px;
}

@media only screen and (max-width: 767px) {
    .mission_contents_weight span {
        font-size: 30px;
    }
}

.mission_contents_flex {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 1000px) {
    .mission_contents_flex {
        display: block;
    }
}

.mission_contents_flex .mission_contents_text {
    width: 55%;
}

@media screen and (max-width: 1000px) {
    .mission_contents_flex .mission_contents_text {
        width: auto;
    }
}

.mission_contents_fig {
    width: 40%;
}

@media screen and (max-width: 1000px) {
    .mission_contents_fig {
        width: auto;
        margin-bottom: 20px;
    }
}

.mission_contents_fig img {
    width: 100%;
    max-width: 359px;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .mission_contents_fig img {
        max-width: 300px;
    }
}

.mission_contents_reverse::before {
    background: linear-gradient(to bottom right, #fcfcfc, #e2e2e2);
}

@media only screen and (max-width: 767px) {
    .mission_contents_reverse::before {
        height: 85%;
    }
}

.mission_contents_reverse .mission_contents_number {
    height: auto;
    top: 30.5vw;
    left: 0;
    right: inherit;
}

.mission_contents_reverse .mission_contents_img {
    margin: 0 0 0 auto;
}

.mission_contents_reverse .mission_contents_body {
    margin: -90px auto 0 0;
    padding: 140px 100px 180px 0;
}

@media screen and (max-width: 1600px) {
    .mission_contents_reverse .mission_contents_body {
        padding-left: 100px;
    }
}

@media screen and (max-width: 1300px) {
    .mission_contents_reverse .mission_contents_body {
        width: 85%;
        padding: 100px 60px 122px 0;
    }
}

@media only screen and (max-width: 767px) {
    .mission_contents_reverse .mission_contents_body {
        width: 93.33%;
        margin-top: -40px;
        padding: 75px 24px 85px 24px;
    }
}

.mission_contents_reverse .mission_contents_box {
    margin-left: auto;
}

.mission_contents_full {
    padding-bottom: 205px;
}

@media only screen and (max-width: 767px) {
    .mission_contents_full {
        padding-bottom: 95px;
    }
}

.mission_contents_full::before {
    background: linear-gradient(to bottom left, #fcfcfc, #e2e2e2);
    width: 100%;
    height: 700px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
}

@media only screen and (max-width: 767px) {
    .mission_contents_full::before {
        height: 85%;
    }
}

.mission_contents_full .mission_contents_number {
    width: 13.8%;
    height: auto;
    top: 48vw;
}

@media screen and (max-width: 1300px) {
    .mission_contents_full .mission_contents_number {
        width: 7.4%;
    }
}

.mission_contents_full .mission_contents_img {
    width: 100%;
    margin: 0;
}

.mission_contents_full .mission_contents_body {
    max-width: 1200px;
    margin: -90px auto 0;
    padding: 8vw 20px 7vw;
}

@media only screen and (max-width: 767px) {
    .mission_contents_full .mission_contents_body {
        width: 93.33%;
        margin: -40px 0 0 auto;
        padding: 75px 24px 85px 24px;
    }
}

.mission_contents_full .mission_contents_box {
    max-width: 800px;
    margin: 0 auto;
}

.mission_contents_full .mission_contents_title {
    margin-bottom: 60px;
}

@media only screen and (max-width: 767px) {
    .mission_contents_full .mission_contents_title {
        margin-bottom: 40px;
    }
}

/*--------------------------------------------------------------------------
   BUSINESS
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
.business_overwrite {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .business_overwrite {
        width: 50%;
    }
}

/* common
-----------------------------------------------------------------*/
/* .perfect-scrollbar
-----------------------------------------------------------------*/
.business_have_body .ps__rail-x,
.business_service_flow_body .ps__rail-x {
    background: #e5e5e5;
    height: 8px;
    border-radius: 4px;
    opacity: 1 !important;
}

.business_have_body .ps__rail-x .ps__thumb-x,
.business_service_flow_body .ps__rail-x .ps__thumb-x {
    background: #315faa;
    height: 8px;
    bottom: 0;
    border-radius: 4px;
}

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

    .business_have_body.js-img-scroll,
    .business_service_flow_body.js-img-scroll {
        padding-bottom: 15px;
        position: relative;
    }

    .business_have_body.js-img-scroll::after,
    .business_service_flow_body.js-img-scroll::after {
        background-color: rgba(0, 0, 0, .54);
        background-image: url('../images/all_ico_swipe.png');
        background-position: 50% 55%;
        background-size: 280px auto;
        width: 100%;
        height: calc(100% - 5px);
        position: absolute;
        top: 0;
        left: 0;
        visibility: visible;
        content: '';
        transition: .2s;
        pointer-events: none;
        opacity: 1;
    }
}

.business_have_body.js-img-scroll.is-scroll::after,
.business_service_flow_body.js-img-scroll.is-scroll::after {
    visibility: hidden;
    opacity: 0;
}

/* business_strength
-----------------------------------------------------------------*/
.business_strength {
    margin-top: 12.4vw;
}



@media only screen and (max-width: 767px) {
    .business_strength {
        margin-top: 100px;
    }
}

.business_strength_body {
    background-color: #fff;
    max-width: 1200px;
    padding: 46px 100px 22px;
    position: relative;
    box-shadow: 0 0 20px rgba(0, 0, 0, .1);
}

@media screen and (max-width: 1100px) {
    .business_strength_body {
        padding: 30px 5vw 20px;
    }
}

.business_strength_obj {
    position: absolute;
    top: -.75em;
    right: 6%;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1100px) {
    .business_strength_obj {
        right: 0;
        font-size: 80px;
    }
}

@media only screen and (max-width: 767px) {
    .business_strength_obj {
        right: -12vw;
    }
}

.business_strength_item {
    padding: 20px 0;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #dedede;

    -ms-flex-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1100px) {
    .business_strength_item {
        padding: 30px 0;
        display: block;
    }
}

.business_strength_item:last-of-type {
    border-bottom: 0;
}

.business_strength_item_title {
    width: 50%;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1100px) {
    .business_strength_item_title {
        width: auto;
    }
}

.business_strength_item_title_num {
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #e2e2e2;
}

@media screen and (max-width: 1100px) {
    .business_strength_item_title_num {
        font-size: 28px;
    }
}

.business_strength_item_title_text {
    margin-left: 5%;
    letter-spacing: .05em;
    font-size: 26px;
    font-weight: 700;
}

@media screen and (max-width: 1100px) {
    .business_strength_item_title_text {
        margin-left: 2%;
        font-size: 18px;
    }
}

.business_strength_item_text {
    width: 65%;
    line-height: 2;
    letter-spacing: .1em;
    font-size: 16px;
    font-weight: 500;
}

@media screen and (max-width: 1100px) {
    .business_strength_item_text {
        width: auto;
        margin-top: 2%;
        font-size: 16px;
    }
}

/* business_have
-----------------------------------------------------------------*/
.business_have {
    margin-top: 7.2vw;
}

@media only screen and (max-width: 767px) {
    .business_have {
        padding-bottom: 77px;
    }
}

@media only screen and (max-width: 767px) {
    .business_have::before {
        background: linear-gradient(to bottom left, #fcfcfc, #f1f1f1);
        width: 100%;
        height: 117%;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1;
        content: '';
    }
}

.business_have_title {
    margin-top: 5vw;
    padding-left: 20px;
    position: relative;
    line-height: 1.5;
    letter-spacing: .05em;
    font-size: 32px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .business_have_title {
        margin-top: 30px;
        padding-left: 12px;
        font-size: 20px;
    }
}

.business_have_title::before {
    background-color: #dcdcdc;
    width: 2px;
    height: calc(100% - 12px);
    position: absolute;
    top: 10px;
    left: 1px;
    content: '';
}

@media only screen and (max-width: 767px) {
    .business_have_title::before {
        height: calc(100% - 8px);
        top: 4px;
    }
}

.business_have_title::after {
    background-color: #000;
    width: 2px;
    height: 14px;
    position: absolute;
    top: 10px;
    left: 1px;
    content: '';
}

@media only screen and (max-width: 767px) {
    .business_have_title::after {
        height: 10px;
        top: 4px;
    }
}

.business_have_body {
    margin-top: 3vw;
}

@media only screen and (max-width: 767px) {
    .business_have_body {
        margin-right: -24px;
        overflow: auto;
    }
}

.business_have_table {
    background-color: #fff;
    width: 100%;
    text-align: left;
    border-collapse: collapse;
}

@media only screen and (max-width: 767px) {
    .business_have_table {
        width: 800px;
    }
}

.business_have_table_w01 {
    width: 46.6%;
}

.business_have_table_w02 {
    width: 27.7%;
}

.business_have_table_w03 {
    width: 21.1%;
}

.business_have_table_w04 {
    width: 34.3%;
}

.business_have_table_th {
    background-color: #315faa;
    padding: 5px 20px;
    font-size: 15px;
    font-weight: 400;
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .business_have_table_th {
        font-size: 13px;
    }
}

.business_have_table_th_odd {
    background-color: #4278cf;
}

.business_have_table_td {
    padding: 11px 20px;
    border-bottom: 2px solid #dfdfdf;
    line-height: 2;
    font-size: 16px;
    color: #262626;
    vertical-align: top;
}

@media only screen and (max-width: 767px) {
    .business_have_table_td {
        font-size: 14px;
    }
}

.business_have_table_td_mid {
    vertical-align: middle;
}

.business_have_table tr:nth-child(2n + 3) {
    background-color: #f6f6f6;
}

/* business_service
-----------------------------------------------------------------*/
.business_service {
    margin-top: 11vw;
    padding-bottom: 200px;
}

@media only screen and (max-width: 767px) {
    .business_service {
        margin-top: 80px;
        padding-bottom: 100px;
    }
}

.business_service_nav {
    margin: -30px 0 -38px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .business_service_nav {
        margin-top: -10px;
        display: block;
    }
}

.business_service_nav_btn {
    width: 18.83%;
    text-align: center;
    font-size: 15px;
}

@media only screen and (max-width: 767px) {
    .business_service_nav_btn {
        width: auto;
        font-size: 16px;
    }

    .business_service_nav_btn+.business_service_nav_btn {
        margin-top: 8px;
    }
}

.business_service_nav_btn a {
    background-color: #fff;
    width: 100%;
    padding: 24px 0;
    position: relative;
    display: block;
    border: 1px solid #b5b5b5;
    transition: .3s;


}

@media only screen and (max-width: 767px) {
    .business_service_nav_btn a {
        padding: 11px 0;
    }
}

.business_service_nav_btn a::after {
    width: 0;
    height: 0;
    position: absolute;
    bottom: 11px;
    left: calc(50% - 5px);
    border-width: 8.7px 5px 0 5px;
    border-style: solid;
    border-color: #262626 transparent transparent transparent;
    content: '';
}

@media only screen and (max-width: 767px) {
    .business_service_nav_btn a::after {
        top: calc(50% - 4px);
        bottom: inherit;
        left: inherit;
        right: 14px;
    }
}

.mode-pc .business_service_nav_btn a:hover {
    background-color: #b5b5b5;
}

.business_service_content {
    margin-top: 160px;
}

@media screen and (max-width: 1100px) {
    .business_service_content {
        margin-top: 100px;
    }
}

.business_service_header {
    background: linear-gradient(to bottom left, #262626, #4e4e4e);
    padding: 110px 0 252px;
    position: relative;
    color: #fff;
}

@media screen and (max-width: 1100px) {
    .business_service_header {
        background: linear-gradient(to bottom right, #686868, #6d6d6d);
        padding: 65px 0 0;
    }
}

.business_service_header_num {
    padding-right: 10px;
    display: inline-block;
    border-right: 1px solid #fff;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 700;
}

.business_service_header_text {
    margin-top: 1em;
    line-height: 1.5;
    font-size: 26px;
    font-weight: 700;
}

@media screen and (max-width: 1100px) {
    .business_service_header_text {
        line-height: 1.7;
        font-size: 14px;
    }
}

.business_service_header_img {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    width: calc(50% + 44px);
    height: 515px;
    position: absolute;
    top: 115px;
    left: calc(50% - 44px);
}

@media screen and (max-width: 1100px) {
    .business_service_header_img {
        width: 93.33%;
        height: auto;
        margin: 30px 0 0 auto;
        position: relative;
        top: inherit;
        left: inherit;
    }
}

.business_service_header_img img {
    display: none;
}

@media screen and (max-width: 1100px) {
    .business_service_header_img img {
        width: 100%;
        height: auto;
        display: block;
    }
}

.business_service_header_obj {
    width: 100%;
    position: absolute;
    top: 650px;
    left: calc(50% - 34px);
    z-index: 5;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1100px) {
    .business_service_header_obj {
        width: auto;
        top: inherit;
        bottom: -1.5em;
        left: inherit;
        right: 0;
        font-size: 80px;
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .business_service_header_obj {
        width: 100%;
        left: 10%;
        right: inherit;
        white-space: nowrap;
    }
}

.business_service_content_title {
    margin-top: 30px;
}

@media screen and (max-width: 1100px) {
    .business_service_content_title {
        margin-top: 30px;
    }
}

.business_service_content_title_jp {
    display: block;
    font-size: 32px;
    font-weight: 600;
}

@media screen and (max-width: 1100px) {
    .business_service_content_title_jp {
        font-size: 28px;
    }
}

.business_service_content_title_en {
    display: block;
    font-size: 18px;
    font-weight: 700;
}

@media screen and (max-width: 1100px) {
    .business_service_content_title_en {
        line-height: 1.2;
        font-size: 14px;
    }
}

.business_service_features {
    background-color: #fff;
    width: 54.375%;
    margin-top: -178px;
    margin-right: auto;
    padding: 75px 78px 30px 0;
    position: relative;
    z-index: 3;
}

@media screen and (max-width: 1100px) {
    .business_service_features {
        width: auto;
        margin: 60px 0 0;
        padding: 0 24px;
    }
}

.business_service_features_body {
    max-width: 600px;
    margin-left: auto;
    padding-left: 10px;
}

@media screen and (max-width: 1100px) {
    .business_service_features_body {
        max-width: none;
        margin-left: 0;
        padding-left: 0;
    }
}

.business_service_features_title {
    padding-left: 15px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
}

.business_service_features_title_en {
    line-height: 1;
    letter-spacing: .1em;
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 500;
}

@media screen and (max-width: 1100px) {
    .business_service_features_title_en {
        min-width: 50px;
        font-size: 20px;
    }
}

.business_service_features_title_jp {
    margin-left: 10px;
    line-height: 1;
    letter-spacing: .1em;
    font-size: 16px;
    font-weight: 600;
}

@media screen and (max-width: 1100px) {
    .business_service_features_title_jp {
        font-size: 15px;
    }
}

@media screen and (max-width: 400px) {
    .business_service_features_title_jp {
        font-size: 14px;
    }
}

.business_service_features_text {
    margin-top: 2.3em;
    line-height: 2.2;
    letter-spacing: .1em;
    font-size: 16px;
}

@media screen and (max-width: 1100px) {
    .business_service_features_text {
        margin-top: 1em;
        line-height: 1.9;
        font-size: 15px;
    }
}

.business_service_flow {
    margin-top: 36px;
}

@media screen and (max-width: 1100px) {
    .business_service_flow {
        margin-top: 40px;
        padding: 0 24px;
    }
}

.business_service_flow_body {
    margin-top: 60px;
}

@media screen and (max-width: 1100px) {
    .business_service_flow_body {
        margin-top: 40px;
    }
}

@media only screen and (max-width: 767px) {
    .business_service_flow_body {
        margin-right: -24px;
        overflow: auto;
    }
}

.business_service_flow_fig {
    max-width: 1200px;
}

@media only screen and (max-width: 767px) {
    .business_service_flow_fig {
        width: 800px;
        padding: 20px 0;
    }
}

.business_service_flow_fig img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .business_service_flow_fig img {
        margin-right: 20px;
    }
}

#service01 .business_service_header_img {
    background-image: url('../images/business_servive_img01.jpg');
}

#service02 .business_service_header_img {
    background-image: url('../images/business_servive_img02.jpg');
}

#service03 .business_service_header_img {
    background-image: url('../images/business_servive_img03.jpg');
}

#service04 .business_service_header_img {
    background-image: url('../images/business_servive_img04.jpg');
}

#service05 .business_service_header_img {
    background-image: url('../images/business_servive_img05.jpg');
}

@media screen and (max-width: 1100px) {
    #service05 .business_service_header_obj {
        bottom: -.5em;
    }
}

/*--------------------------------------------------------------------------
   EQUIPMENT
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
.equipment_overwrite {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .equipment_overwrite {
        width: 50%;
    }
}

/* common
-----------------------------------------------------------------*/
.equipment_common {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .equipment_common {
        width: 50%;
    }
}

/* equipment_content
-----------------------------------------------------------------*/
.equipment_content {
    margin-bottom: 175px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .equipment_content {
        margin-bottom: 80px;
    }
}

.equipment_content_top {
    margin-top: 205px;
}

@media only screen and (max-width: 767px) {
    .equipment_content_top {
        margin-top: 130px;
    }
}

.equipment_content_obj {
    position: absolute;
    top: -.5em;
    left: calc(50% + .7em);
    z-index: 8;
    display: inline-block;
    line-height: 1;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
    white-space: nowrap;
}

@media only screen and (max-width: 767px) {
    .equipment_content_obj {
        left: 10%;
        right: inherit;
        font-size: 80px;
    }
}

.equipment_content_obj01 {
    left: calc(50% - 1.5em);
}

.equipment_content_obj03 {
    top: -1.2em;
}

.equipment_content_slider {
    position: relative;
}

.equipment_content_slider .slick-list {
    margin: 0 15% 0 0;
    padding: 0 0 0 15%;
    z-index: 7;
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider .slick-list {
        margin: 0 0 0 0;
        padding: 0 0 0 12.8%;
    }
}

.equipment_content_slider img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider img {
        width: 1px;
        height: 1px;
    }
}

.equipment_content_slider_wrap {
    z-index: 9;
}

.equipment_content_slider_wrap:after {
    background-color: rgba(255, 255, 255, .75);
    width: 15%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 8;
    content: '';
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider_wrap:after {
        width: 12.8%;
    }
}

.equipment_content_slider_item {
    background-position: center center;
    background-size: cover;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider_item {
        padding-top: 65.33vw;
    }
}

.equipment_content_slider_btn {
    position: absolute;
    top: 50%;
    z-index: 9;
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider_btn {
        position: relative;
        top: inherit;
        transform: inherit;
    }
}

.equipment_content_slider_btn a {
    background-color: #262626;
    width: 70px;
    height: 64px;
    display: -ms-flexbox;
    display: flex;
    transition: .2s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider_btn a {
        width: 48px;
        height: 45px;
    }
}

.equipment_content_slider_btn a:hover {
    background-color: #666;
}

.equipment_content_slider_btn img {
    width: 7px;
    height: 10px;
}

.equipment_content_slider_btn_next {
    right: calc(15% - 35px);
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider_btn_next {
        width: 48px;
        margin: -45px 0 0 auto;
        right: inherit;
    }
}

.equipment_content_slider_btn_prev {
    left: calc(15% - 35px);
    transform: translateY(-50%) scale(-1, 1);
}

@media only screen and (max-width: 767px) {
    .equipment_content_slider_btn_prev {
        margin-right: 48px;
        left: inherit;
        transform: scale(-1, 1);
    }
}

.equipment_content_body {
    background: linear-gradient(to bottom right, #fdfdfd, #f1f1f1);
    margin: -85px 0 0 6.25vw;
    padding: 170px 0 120px;
}

@media screen and (max-width: 1100px) {
    .equipment_content_body {
        padding: 160px 50px 120px;
    }
}

@media only screen and (max-width: 767px) {
    .equipment_content_body {
        margin: -55px 0 0;
        padding: 100px 0 50px;
    }
}

.equipment_content_body_flex {
    max-width: 1200px;
    margin-right: 12vw;
    margin-left: 6vw;
    padding-left: 3vw;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 1100px) {
    .equipment_content_body_flex {
        margin: 0 12vw 0 6vw;
        padding-left: 0;
        display: block;
    }
}

@media only screen and (max-width: 767px) {
    .equipment_content_body_flex {
        margin: 0 24px;
    }
}

.equipment_content_body_item {
    width: 50%;
}

@media screen and (max-width: 1100px) {
    .equipment_content_body_item {
        width: auto;
    }
}

.equipment_content_body_item_target {
    padding-left: 3.2%;
}

@media screen and (max-width: 1100px) {
    .equipment_content_body_item_target {
        margin-top: 80px;
        padding-left: 0;
    }
}

.equipment_content_body_title {
    margin-bottom: 40px;
    padding-left: 15px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .equipment_content_body_title {
        margin-bottom: 20px;
    }
}

.equipment_content_body_title_en {
    line-height: 1;
    letter-spacing: .1em;
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 500;
}

@media screen and (max-width: 1100px) {
    .equipment_content_body_title_en {
        font-size: 20px;
    }
}

.equipment_content_body_title_jp {
    margin-left: 10px;
    line-height: 1;
    font-size: 16px;
    font-weight: 500;
}

@media screen and (max-width: 1100px) {
    .equipment_content_body_title_jp {
        font-size: 15px;
    }
}

.equipment_content_body_text {
    padding-right: 6.6%;
    line-height: 2;
    letter-spacing: .05em;
    font-size: 16px;
    font-weight: normal;
}

@media only screen and (max-width: 767px) {
    .equipment_content_body_text {
        margin-top: 1em;
        padding-right: 0;
        font-size: 15px;
    }
}

.equipment_content_body_list {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.equipment_content_body_list_item {
    background-color: #fff;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 12px;
    padding: 12px 0;
    border: 1px solid #d9d9d9;
    text-align: center;
    font-size: 12px;
}

@media only screen and (max-width: 767px) {
    .equipment_content_body_list_item {
        width: 49%;
    }
}

.equipment_content_body_list_item:nth-child(3n + 3) {
    margin-right: 0;
}

@media only screen and (max-width: 767px) {
    .equipment_content_body_list_item:nth-child(3n + 3) {
        margin-right: 2%;
    }
}

@media only screen and (max-width: 767px) {
    .equipment_content_body_list_item:nth-child(even) {
        margin-right: 0;
    }
}

.equipment_content_reverse .equipment_content_body {
    background: linear-gradient(to bottom left, #fdfdfd, #f1f1f1);
    margin: -85px 100px 0 0;
}

@media only screen and (max-width: 767px) {
    .equipment_content_reverse .equipment_content_body {
        margin: -55px 0 0;
    }
}

.equipment_content_reverse .equipment_content_body_flex {
    margin: 0 6vw 0 12vw;
}

@media only screen and (max-width: 767px) {
    .equipment_content_reverse .equipment_content_body_flex {
        margin: 0 24px;
    }
}

.equipment_content_reverse .equipment_content_slider_wrap {
    position: relative;
}

.equipment_content_reverse .equipment_content_slider_wrap:after {
    background-color: rgba(255, 255, 255, .75);
    width: 15%;
    height: 100%;
    position: absolute;
    top: 0;
    left: inherit;
    right: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .equipment_content_reverse .equipment_content_slider_wrap:after {
        width: 12.8%;
    }
}

.equipment_content_reverse .equipment_content_slider_wrap .slick-list {
    margin: 0 0 0 15%;
    padding: 0 15% 0 0;
}

@media only screen and (max-width: 767px) {
    .equipment_content_reverse .equipment_content_slider_wrap .slick-list {
        margin: 0 0 0 0;
        padding: 0 12.8% 0 0;
    }
}

@media only screen and (max-width: 767px) {
    .equipment_content_reverse .equipment_content_slider_btn_next {
        margin: 0 0 0 48px;
    }
}

@media only screen and (max-width: 767px) {
    .equipment_content_reverse .equipment_content_slider_btn_prev {
        margin: 0;
        position: absolute;
        bottom: 0;
        left: 0;
        transform: translateY(0) scale(-1, 1);
    }
}

/*--------------------------------------------------------------------------
   COMPANY
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
.company_overwrite {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .company_overwrite {
        width: 50%;
    }
}

/* common
-----------------------------------------------------------------*/
/* company_message
-----------------------------------------------------------------*/
.company_message {
    margin-top: 10vw;
}

@media only screen and (max-width: 767px) {
    .company_message {
        margin-top: 80px;
    }
}

.company_message_obj {
    width: 100%;
    position: absolute;
    top: 50px;
    left: calc(50% + 100px);
    z-index: 5;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 160px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1100px) {
    .company_message_obj {
        font-size: 80px;
    }
}

@media only screen and (max-width: 767px) {
    .company_message_obj {
        width: auto;
        left: inherit;
        right: -5%;
        white-space: nowrap;
    }
}

.company_message_img {
    max-width: 1200px;
    margin: -40px auto 0;
}

@media screen and (max-width: 1100px) {
    .company_message_img {
        margin: 0 24px 0 -24px;
        overflow: hidden;
    }
}

.company_message_img img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .company_message_img img {
        width: 140%;
        margin-left: -40%;
    }
}

.company_message_body {
    background-color: #fff;
    margin: -50px 0 0 100px;
    padding: 6vw 200px 0 100px;
    position: relative;
    z-index: 3;
}

@media screen and (max-width: 1100px) {
    .company_message_body {
        margin: -40px -24px 0 0;
        padding: 50px 24px 20px 24px;
    }
}

.company_message_president {
    font-size: 16px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .company_message_president {
        font-weight: 14px;
    }
}

.company_message_name {
    margin-top: 10px;
    padding-bottom: 20px;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #f2f2f2;

    -ms-flex-align: center;
    align-items: center;
}

.company_message_name_jp {
    line-height: 1;
    font-size: 32px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .company_message_name_jp {
        font-size: 24px;
    }
}

.company_message_name_en {
    margin-left: 30px;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .company_message_name_en {
        margin-left: 20px;
        font-size: 14px;
    }
}

.company_message_text {
    margin-top: 2em;
    line-height: 2;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .company_message_text {
        margin-top: 1.2em;
        line-height: 1.9;
        font-size: 15px;
    }
}

/* company_overview
-----------------------------------------------------------------*/
.company_overview {
    margin: 10vw 0;
}

@media only screen and (max-width: 767px) {
    .company_overview {
        margin-top: 100px;
    }
}

.company_overview_obj {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1100px) {
    .company_overview_obj {
        right: 0;
        font-size: 80px;
    }
}

@media only screen and (max-width: 767px) {
    .company_overview_obj {
        top: -1em;
        right: -14%;
    }
}

.company_overview_flex {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .company_overview_flex {
        display: block;
    }
}

.company_overview_body {
    position: relative;
}

.company_overview_body_title {
    margin: 90px 0 50px;
    padding-left: 15px;
    font-size: 20px;
}

@media only screen and (max-width: 767px) {
    .company_overview_body_title {
        margin: 60px 0 30px;
        padding-left: 12px;
        font-size: 18px;
    }
}

.company_overview_table {
    width: 100%;
    max-width: 800px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: auto;
}

@media screen and (max-width: 1100px) {
    .company_overview_table {
        display: block;
    }
}

@media only screen and (max-width: 767px) {
    .company_overview_table {
        width: 100%;
    }

    .company_overview_table+.company_overview_table .company_overview_table_text:last-of-type {
        border-bottom: 1px solid #ddd;
    }
}

.company_overview_table_title {
    width: 20%;
    padding: 16px 0 15px 10px;
    border-top: 1px solid #262626;
    line-height: 2.18;
    font-size: 16px;
    color: #959595;
}

@media screen and (max-width: 1100px) {
    .company_overview_table_title {
        width: auto;
    }
}

@media only screen and (max-width: 767px) {
    .company_overview_table_title {
        padding: 13px 0 11px 10px;
        font-size: 14px;
    }
}

.company_overview_table_title:last-of-type {
    border-bottom: 1px solid #262626;
}

@media only screen and (max-width: 767px) {
    .company_overview_table_title:last-of-type {
        border-bottom: 0;
    }
}

.company_overview_table_title span {
    padding-top: 2px;
    display: inline-block;
    line-height: 1.5;
}

.company_overview_table_text {
    width: 80%;
    padding: 15px 0 15px 15px;
    border-top: 1px solid #ddd;
    line-height: 2.18;
    font-size: 16px;
}

@media screen and (max-width: 1100px) {
    .company_overview_table_text {
        width: auto;
    }
}

@media only screen and (max-width: 767px) {
    .company_overview_table_text {
        padding: 13px 0 14px 10px;
        font-size: 14px;
    }
}

.company_overview_table_text:last-of-type {
    border-bottom: 1px solid #ddd;
}

@media only screen and (max-width: 767px) {
    .company_overview_table_text:last-of-type {
        border-bottom: 0;
    }
}

.company_overview_table_text .all_mi_pc {
    display: inline-block;
}

@media only screen and (max-width: 767px) {
    .company_overview_table_text .all_mi_pc {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    .company_overview_table_text .all_mi_sp {
        display: inline-block;
    }
}

.company_overview_table_add {
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .company_overview_table_add {
        padding-top: 10px;
        border-top: 1px dashed #ddd;
    }

    .company_overview_table_add+dd {
        line-height: 1.8;
    }

    .company_overview_table_add:first-of-type {
        padding-top: 0;
        border-top: 0;
    }
}

.company_overview_table_map {
    margin-left: 10px;
    display: inline-block;
    line-height: 1;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    font-weight: 700;
}

@media screen and (max-width: 1100px) {
    .company_overview_table_map {
        width: 80px;
        margin-left: 0;
        display: block;
    }
}

@media only screen and (max-width: 767px) {
    .company_overview_table_map {
        width: auto;
        margin-left: 5px;
        display: inline-block;
    }
}

.company_overview_table_map a {
    background-color: #f1f1f1;
    width: 100%;
    padding: 7px 10px;
    display: block;
    border-radius: 20px;
    transition: .3s;
}

.mode-pc .company_overview_table_map a:hover {
    background-color: #262626;
    color: #fff;
}

.company_overview_table_en {
    margin: 0 15px 20px 0;
    position: relative;
    top: -5px;
    display: inline-block;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 400;
}

@media screen and (max-width: 1100px) {
    .company_overview_table_en {
        margin: 0 20px 25px 0;
        top: 5px;
    }
}

.company_overview_table_para {
    display: block;
}

.company_overview_table_para+.company_overview_table_para {
    margin-top: 10px;
}

/* company_history
-----------------------------------------------------------------*/
.company_history {
    margin-top: 166px;
    position: relative;
}

.company_history_obj {
    position: absolute;
    top: -.7em;
    right: 0;
    z-index: 5;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 160px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1100px) {
    .company_history_obj {
        font-size: 80px;
    }
}

@media only screen and (max-width: 767px) {
    .company_history_obj {
        width: auto;
        left: inherit;
        right: -5%;
        white-space: nowrap;
    }
}

.company_history_wrap {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.company_history_content {
    background: url('../images/company_bg_history.jpg') repeat 0 0;
    background-size: 400px 400px;
    margin-right: 88px;
    padding: 100px 0 10vw;
    overflow: hidden;
}

@media only screen and (max-width: 767px) {
    .company_history_content {
        margin-right: 24px;
        padding: 50px 0 40vw;
    }
}

.company_history_body {
    max-width: 1300px;
    margin: 0 auto;
    padding-left: 100px;
}

@media only screen and (max-width: 767px) {
    .company_history_body {
        padding-left: 24px;
    }
}

.company_history_table {
    padding-right: 20px;
    padding-left: calc((100% - 1110px) / 2);
    position: relative;
    overflow: visible;
}

@media screen and (max-width: 1380px) {
    .company_history_table {
        padding-left: 100px;
    }
}

@media only screen and (max-width: 767px) {
    .company_history_table {
        padding-left: 24px;
    }
}

.company_history_table_fig {
    width: auto;
    padding: 0 20px 80px 0;
}

@media only screen and (max-width: 767px) {
    .company_history_table_fig {
        padding: 0 20px 74px 0;
    }
}

.company_history_table_bar {
    position: relative;
    overflow: auto;
}

@media only screen and (max-width: 767px) {
    .company_history_table_bar img {
        opacity: .4;
    }
}

@media only screen and (max-width: 767px) {
    .company_history_table_bar::after {
        background-image: url('../images/all_ico_swipe.png');
        background-position: 50% 50%;
        background-size: 280px auto;
        width: 100%;
        height: calc(100% - 5px);
        position: absolute;
        top: 0;
        left: 0;
        visibility: visible;
        content: '';
        transition: .2s;
        pointer-events: none;
        opacity: 1;
    }
}

.company_history_table_bar.is-scroll::after {
    visibility: hidden;
    opacity: 0;
}

@media only screen and (max-width: 767px) {
    .company_history_table_bar.is-scroll img {
        opacity: 1;
    }
}

.company_history_table_bar.ps .ps__rail-x:hover,
.company_history_table_bar.ps .ps__rail-y:hover,
.company_history_table_bar.ps .ps__rail-x:focus,
.company_history_table_bar.ps .ps__rail-y:focus,
.company_history_table_bar.ps .ps__rail-x.ps--clicking,
.company_history_table_bar.ps .ps__rail-y.ps--clicking {
    background: #676767;
    opacity: 1;
}

.company_history_table_bar .ps__rail-x {
    background: #676767;
    height: 10px;
    border-radius: 5px;
    opacity: 1 !important;
}

.company_history_table_bar .ps__rail-x .ps__thumb-x {
    background: #fff;
    height: 10px;
    bottom: 0;
    border-radius: 5px;
}

.company_history_table_scroll {
    position: relative;
    position: absolute;
    top: 15%;
    right: 100px;
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    visibility: visible;
    transition: .2s;
    pointer-events: none;
    opacity: 1;
}

@media only screen and (max-width: 767px) {
    .company_history_table_scroll {
        display: none;
    }
}

.company_history_table_scroll::after {
    position: absolute;
    bottom: -1.5em;
    right: 0;
    font-size: 19px;
    font-weight: 300;
    content: '>>';
}

.company_history .is-scroll+.company_history_table_scroll {
    visibility: hidden;
    opacity: 0;
}

.company_history_img {
    width: 87.5%;
    margin-left: auto;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .company_history_img {
        width: 81%;
        margin-top: -28%;
        overflow: hidden;
    }
}

.company_history_img::before {
    background: url('../images/company_bg_history.jpg') repeat 0 0;
    background-size: 400px 400px;
    width: 100%;
    height: 50%;
    margin-left: -12.5vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: '';
}

@media only screen and (max-width: 767px) {
    .company_history_img::before {
        margin-left: -19vw;
    }
}

.company_history_img img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .company_history_img img {
        width: 160%;
        margin-left: -34%;
    }
}

/* company_access
-----------------------------------------------------------------*/
.company_access {
    margin: 170px 0 277px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .company_access {
        margin: 86px 0 110px;
    }
}

.company_access_obj {
    position: absolute;
    top: 1em;
    left: 0;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 160px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1100px) {
    .company_access_obj {
        left: -2vw;
        font-size: 80px;
    }
}

@media screen and (max-width: 900px) {
    .company_access_obj {
        top: 1.3em;
    }
}

@media only screen and (max-width: 767px) {
    .company_access_obj {
        top: .9em;
        left: -8vw;
        white-space: nowrap;
    }
}

.company_access_flex {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 10vw
}

@media screen and (max-width: 900px) {
    .company_access_flex {
        display: block;
    }
}

.company_access_header {
    width: 28.3%;
}

@media screen and (max-width: 1200px) {
    .company_access_header {
        width: 22%;
    }
}

@media screen and (max-width: 900px) {
    .company_access_header {
        width: auto;
    }
}

.company_access_header_body.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
}

.company_access_content {
    width: 62%;
}

@media screen and (max-width: 1200px) {
    .company_access_content {
        width: 76%;
    }
}

@media screen and (max-width: 900px) {
    .company_access_content {
        width: auto;
    }
}

.company_access_body+.company_access_body {
    margin-top: 7vw;
}

@media only screen and (max-width: 767px) {
    .company_access_body+.company_access_body {
        margin-top: 46px;
    }
}

.company_access_body_title {
    margin: 30px 0 15px;
    padding: 2px 0 2px 15px;
    font-size: 16px;
    font-weight: 500;
}

.company_access_body_flex {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .company_access_body_flex {
        display: block;
    }
}

.company_access_map .js-gmap {
    width: 100%;
    height: 390px;
}

.company_access_add {
    margin-top: 20px;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (max-width: 767px) {
    .company_access_add {
        display: block;
    }
}

.company_access_add_title {
    width: 23.6%;
    border-right: 2px solid #ccc;
    font-size: 20px;
    font-weight: 700;
}

@media screen and (max-width: 1200px) {
    .company_access_add_title {
        width: 135px;
    }
}

@media only screen and (max-width: 767px) {
    .company_access_add_title {
        width: auto;
        padding: 0 0 5px 10px;
        border-right: 0;
        border-bottom: 1px solid #ccc;
        font-size: 14px;
        font-weight: 500;
    }
}

.company_access_add_text {
    width: 76.4%;
    padding-left: 4%;
    font-size: 16px;
}

@media screen and (max-width: 1200px) {
    .company_access_add_text {
        width: calc(100% - 135px);
    }
}

@media only screen and (max-width: 767px) {
    .company_access_add_text {
        width: auto;
        padding: 5px 0 0 10px;
        font-size: 14px;
    }
}

.company_access_add_map {
    margin-left: 10px;
    display: inline-block;
    line-height: 1;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    font-weight: 700;
}

@media screen and (max-width: 1100px) {
    .company_access_add_map {
        /*display: block;
				width: 80px;
				margin-left: 0;*/
    }
}

@media only screen and (max-width: 767px) {
    .company_access_add_map {
        width: auto;
        margin-left: 5px;
        display: inline-block;
    }
}

.company_access_add_map a {
    background-color: #f1f1f1;
    width: 100%;
    padding: 7px 10px;
    display: block;
    border-radius: 20px;
    transition: .3s;
}

.mode-pc .company_access_add_map a:hover {
    background-color: #262626;
    color: #fff;
}

.company_access_add_tel {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
    font-weight: 400;
}

@media only screen and (max-width: 767px) {
    .company_access_add_tel {
        margin-top: 5px;
        font-size: 16px;
    }
}

.company_access_add_tel .fas {
    margin-right: 10px;
    font-size: 20px;
}

@media only screen and (max-width: 767px) {
    .company_access_add_tel .fas {
        margin-right: 8px;
        font-size: 16px;
    }
}

.company_access_add_fax {
    margin-left: 30px;
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
    font-weight: 400;
}

@media only screen and (max-width: 767px) {
    .company_access_add_fax {
        margin-top: 5px;
        font-size: 16px;
    }
}

.company_access_add_fax .fas {
    margin-right: 10px;
}

@media only screen and (max-width: 767px) {
    .company_access_add_fax .fas {
        margin-right: 8px;
    }
}

.company_access_equipment {
    width: 48.3%;
}

@media only screen and (max-width: 767px) {
    .company_access_equipment {
        width: auto;
    }
}

.company_access_equipment_item {
    min-height: 50px;
    padding: 4px 0;
    border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 767px) {
    .company_access_equipment_item {
        min-height: inherit;
    }
}

.company_access_equipment_item_wide {
    padding-bottom: 39px;
}

@media only screen and (max-width: 767px) {
    .company_access_equipment_item_wide {
        padding-bottom: 5px;
    }
}

.company_access_equipment_item_wide .company_access_equipment_flex {
    -ms-flex-align: start;
    align-items: flex-start;
}

.company_access_equipment_item .single {
    position: relative;
    top: 5px;
    font-size: 16px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .company_access_equipment_item .single {
        padding: 4px 0 5px;
        top: 0;
        display: inline-block;
        font-size: 15px;
        font-weight: 400;
    }
}

.company_access_equipment_flex {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.company_access_equipment_name {
    font-size: 16px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .company_access_equipment_name {
        font-size: 15px;
        font-weight: 400;
    }
}

.company_access_equipment_number .num {
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
    font-weight: 400;
}

@media only screen and (max-width: 767px) {
    .company_access_equipment_number .num {
        font-size: 21px;
    }
}

.company_access_equipment_number .unit {
    margin-left: 5px;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .company_access_equipment_number .unit {
        font-weight: 500;
    }
}

/*--------------------------------------------------------------------------
   INFORMATION
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
.info_overwrite {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .info_overwrite {
        width: 50%;
    }
}

/* common
-----------------------------------------------------------------*/
/* mission_lead
-----------------------------------------------------------------*/
.info_content {
    padding-top: 50px;
    padding-bottom: 150px;
}

@media only screen and (max-width: 767px) {
    .info_content {
        padding-top: 10px;
        padding-bottom: 130px;
    }
}

/* info_select
-----------------------------------------------------------------*/
.info_select {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .info_select {
        display: block;
    }
}

.info_select_body {
    margin: 0 23px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .info_select_body {
        margin: 0 0 14px 0;

        -ms-flex-pack: center;
        justify-content: center;
    }
}

.info_select_title {
    line-height: 1;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .info_select_title {
        width: 70px;
        font-size: 14px;
    }
}

.info_select_item {
    width: 240px;
    margin-left: 10px;
    font-size: 16px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .info_select_item {
        width: 200px;
        font-size: 14px;
    }
}

/* info_article
-----------------------------------------------------------------*/
.info_article {
    padding-top: 0;
}



.info_article_item {
    border-bottom: 1px solid #f3f3f3;
}

.info_article_item a {
    width: 100%;
    padding: 27px 0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    color: #262626;

    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .info_article_item a {
        padding: 20px 0;
        display: block;
    }
}

.info_article_item a::before {
    background: url('../images/top_ico_news_arrow_blue.png') no-repeat 100% 50%;
    background-size: contain;
    width: 6px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    right: 0;
    content: '';
}

@media only screen and (max-width: 767px) {
    .info_article_item a::before {
        top: inherit;
        bottom: 28px;
    }
}

.mode-pc .info_article_item a:hover .info_article_item_title span {
    background-position: 0 100%;
    background-size: 100% 1px;
}

@media only screen and (max-width: 767px) {
    .mode-pc .info_article_item a:hover .info_article_item_title span {
        background-position: 100% 100%;
        background-size: 0 1px;
    }
}

.info_article_item_header {
    width: 185px;
}

@media only screen and (max-width: 767px) {
    .info_article_item_header {
        width: auto;
    }
}

.info_article_date {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #a3a3a3;
}

.info_article_tag {
    margin-left: 20px;
    padding: 5px 14px;
    display: inline-block;
    border: 1px solid #262626;
    border-radius: 20px;
    text-align: center;
    font-size: 12px;
    color: #262626;
}

@media only screen and (max-width: 767px) {
    .info_article_tag {
        margin-left: 10px;
        padding: 0 10px;
    }
}

.info_article_item_title {
    width: calc(100% - 185px);
    padding-right: 15px;
    padding-bottom: .1em;
    overflow: hidden;
    font-size: 16px;
    font-weight: normal;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media only screen and (max-width: 767px) {
    .info_article_item_title {
        width: auto;
        margin-top: 10px;
        font-size: 15px;
    }
}

.info_article_item_title span {
    background: linear-gradient(#262626, #262626) no-repeat 100% 100%;
    background-size: 0 1px;
    transition: background-size .5s cubic-bezier(.165, .84, .44, 1);
}

.info_article_none {
    padding: 20px 0;
    text-align: center;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .info_article_none {
        padding: 30px 0;
        font-size: 15px;
    }
}

/* info_pager
-----------------------------------------------------------------*/
.info_pager {
    padding-top: 77px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .info_pager {
        padding-top: 48px;
    }
}

.info_pager a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.info_pager a:hover {
    background-position: right center;
}

.info_pager a.is-hide {
    cursor: default;
    opacity: .4;
}

.info_pager a.is-hide:hover {
    background-position: inherit;
}

.info_pager_btns {
    margin: 0 15px;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 2px 20px rgba(0, 0, 0, .2);
}

@media only screen and (max-width: 767px) {
    .info_pager_btns {
        width: 100%;
        margin: 0 1px;
    }
}

.info_pager_end {
    width: 72px;
    height: 64px;
}

@media only screen and (max-width: 767px) {
    .info_pager_end {
        width: 25%;
        height: 50px;
    }
}

.info_pager_end img {
    width: 8px;
    height: 10px;
}

.info_pager_next {
    width: 180px;
    height: 64px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .info_pager_next {
        width: 75%;
        height: 50px;
    }
}

.info_pager_next a::before,
.info_pager_next span::before {
    background: url('../images/info_ico_arrow.png') no-repeat;
    background-size: 7px 10px;
    width: 7px;
    height: 10px;
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
    content: '';
}

.info_pager_back .info_pager_end img {
    transform: scale(-1, 1);
}

.info_pager_back .info_pager_next {
    border-left: 1px solid #fff;
}

.info_pager_back .info_pager_next a::before,
.info_pager_back .info_pager_next span::before {
    left: 20px;
    right: inherit;
    transform: scale(-1, 1);
}

@media only screen and (max-width: 767px) {
    .info_pager_back .info_pager_next a {
        padding-left: 25px;
    }
}

.info_pager_forward .info_pager_next {
    border-right: 1px solid #fff;
}

@media only screen and (max-width: 767px) {
    .info_pager_forward .info_pager_next a {
        padding-right: 25px;
    }
}

/* info_report
-----------------------------------------------------------------*/
.info_report_header {
    margin-bottom: 68px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f3f3f3;
}

@media only screen and (max-width: 767px) {
    .info_report_header {
        margin-bottom: 40px;
        padding-bottom: 20px;
    }
}

.info_report_date {
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 400;
}

@media only screen and (max-width: 767px) {
    .info_report_date {
        font-size: 14px;
    }
}

.info_report_title {
    font-size: 24px;
    font-weight: 500;
        font-family: YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;


}

@media only screen and (max-width: 767px) {
    .info_report_title {
        font-size: 18px;
        font-weight: 400;
    }
}

.info_report_body h1,
.info_report_body h2 {
    margin: 50px 0 25px;
    font-size: 22px;
    font-weight: 500;
}

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

    .info_report_body h1,
    .info_report_body h2 {
        margin: 40px 0 15px;
        font-size: 20px;
    }
}

.info_report_body h3 {
    margin: 40px 0 20px;
    font-size: 20px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .info_report_body h3 {
        margin: 30px 0 10px;
        font-size: 18px;
    }
}

.info_report_body h4,
.info_report_body h5,
.info_report_body h6 {
    margin: 35px 0 20px;
    font-size: 18px;
    font-weight: 500;
}

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

    .info_report_body h4,
    .info_report_body h5,
    .info_report_body h6 {
        margin: 25px 0 10px;
        font-size: 16px;
    }
}

.info_report_body p {
    margin-top: 2em;
    line-height: 2.18;
    font-size: 16px;
    font-weight: 400;
}

@media only screen and (max-width: 767px) {
    .info_report_body p {
        margin-top: 1em;
        line-height: 1.9;
        font-size: 15px;
    }
}

.info_report_body p a {
    position: relative;
    color: #315faa;
}

.info_report_body p a::before {
    background: #315faa;
    width: 0;
    height: 1px;
    position: absolute;
    bottom: 0;
    right: 0;
    content: '';
    transition: all .5s cubic-bezier(.165, .84, .44, 1);
    transform: translateX(0);
}

.info_report_body p a:hover::before {
    width: 100%;
    left: 0;
}

.info_report_body figure.wp-block-image {
    margin-top: 50px;
}

@media only screen and (max-width: 767px) {
    .info_report_body figure.wp-block-image {
        margin-top: 20px;
    }
}

.info_report_body img {
    max-width: 100%;
    height: auto;
}

.info_report_body>ul,
.info_report_body>ol {
    margin-top: 30px;
}

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

    .info_report_body>ul,
    .info_report_body>ol {
        margin-top: 20px;
    }
}

.info_report_body>ul li,
.info_report_body>ol li {
    margin-left: 24px;
    position: relative;
}

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

    .info_report_body>ul li,
    .info_report_body>ol li {
        margin-left: 18px;
    }
}

.info_report_body>ul li::before,
.info_report_body>ol li::before {
    position: absolute;
    top: .2em;
    left: -18px;
    font-size: 12px;
    content: '・';
}

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

    .info_report_body>ul li::before,
    .info_report_body>ol li::before {
        top: 0;
        left: -13px;
    }
}

.info_report_body>ul li+li,
.info_report_body>ol li+li {
    margin-top: .8em;
}

.info_report_images>ul {
    margin-top: 50px;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .info_report_images>ul {
        margin-top: 20px;
        display: block;
    }
}

.info_report_img {
    width: 49%;
}

@media only screen and (max-width: 767px) {
    .info_report_img {
        width: auto;
        margin-top: 12px;
    }
}

.info_report_other_file {
    margin: 50px 0 25px;
    padding-left: 22px;
    position: relative;
    font-size: 18px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .info_report_other_file {
        margin: 40px 0 15px;
        font-size: 16px;
    }
}

.info_report_other_file::before {
    background-color: #262626;
    width: 16px;
    height: 4px;
    position: absolute;
    top: calc(50% - 2px);
    left: 0;
    content: '';
}

.info_report_other_pdf {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
    .info_report_other_pdf {
        display: block;
    }
}

.info_report_other_pdf_item {
    width: 32.4%;
    margin: 0 0 10px 1.4%;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .info_report_other_pdf_item {
        width: auto;
        margin: 0 0 10px 0;
        font-size: 14px;
    }
}

.info_report_other_pdf_item:nth-child(3n + 1) {
    margin-left: 0;
}

.info_report_other_pdf_item a {
    background-color: #fff;
    width: 100%;
    height: 64px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    border: 1px solid #a4a4a4;
    color: #262626;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.info_report_other_pdf_item a::before {
    background: url('../images/info_ico_pdf.png') no-repeat;
    background-size: contain;
    width: 20px;
    height: 30px;
    position: absolute;
    top: calc(50% - 15px);
    left: 15px;
    content: '';
}

.mode-pc .info_report_other_pdf_item a:hover .all_ro_line::before {
    width: 100%;
    left: 0;
}

/* info_text_pager
-----------------------------------------------------------------*/
.info_text_pager {
    margin-top: 84px;
    padding-top: 50px;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid #f3f3f3;

    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .info_text_pager {
        margin-top: 48px;
        padding-top: 20px;
    }
}

.info_text_pager_prev {
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_prev {
        font-size: 14px;
    }
}

.info_text_pager_prev a {
    padding-left: 40px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_prev a {
        padding-left: 15px;
    }
}

.info_text_pager_prev a::before {
    background: url('../images/info_ico_text_pager.png') no-repeat;
    background-size: 7px 10px;
    width: 7px;
    height: 10px;
    position: absolute;
    top: calc(50% - 5px);
    left: 0;
    content: '';
    transform: scale(-1, 1);
}

.info_text_pager_prev a:hover span::before {
    width: 100%;
    left: 0;
}

.info_text_pager_prev>span {
    padding-left: 40px;
    position: relative;
    opacity: .5;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_prev>span {
        padding-left: 15px;
    }
}

.info_text_pager_prev>span::before {
    background: url('../images/info_ico_text_pager.png') no-repeat;
    background-size: 7px 10px;
    width: 7px;
    height: 10px;
    position: absolute;
    top: calc(50% - 5px);
    left: 0;
    content: '';
    transform: scale(-1, 1);
}

.info_text_pager_next {
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_next {
        font-size: 14px;
    }
}

.info_text_pager_next a {
    padding-right: 40px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_next a {
        padding-right: 15px;
    }
}

.info_text_pager_next a::before {
    background: url('../images/info_ico_text_pager.png') no-repeat;
    background-size: 7px 10px;
    width: 7px;
    height: 10px;
    position: absolute;
    top: calc(50% - 5px);
    right: 0;
    content: '';
}

.info_text_pager_next a:hover span::before {
    width: 100%;
    left: 0;
}

.info_text_pager_next>span {
    padding-right: 40px;
    position: relative;
    opacity: .5;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_next>span {
        padding-right: 15px;
    }
}

.info_text_pager_next>span::before {
    background: url('../images/info_ico_text_pager.png') no-repeat;
    background-size: 7px 10px;
    width: 7px;
    height: 10px;
    position: absolute;
    top: calc(50% - 5px);
    right: 0;
    content: '';
}

.info_text_pager_back {
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_back {
        font-size: 14px;
    }
}

.info_text_pager_back a {
    padding-left: 26px;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .info_text_pager_back a {
        padding-left: 23px;
    }
}

.info_text_pager_back a::before {
    background: url('../images/all_ico_list.png') no-repeat;
    background-size: 16px 16px;
    width: 16px;
    height: 16px;
    position: absolute;
    top: calc(50% - 8px);
    left: 0;
    content: '';
}

.info_text_pager_back a:hover span::before {
    width: 100%;
    left: 0;
}

/*--------------------------------------------------------------------------
   CONTACT
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
/* common
-----------------------------------------------------------------*/
.contact_common {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .contact_common {
        width: 50%;
    }
}

/*--------------------------------------------------------------------------
   RECRUIT
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
.recruit_overwrite {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .recruit_overwrite {
        width: 50%;
    }
}

/* common
-----------------------------------------------------------------*/
.recruit_common_entry {
    height: 232px;
    margin: 12vw auto 200px;
}

@media only screen and (max-width: 767px) {
    .recruit_common_entry {
        height: 120px;
        margin: 48px auto 145px;
    }
}

.recruit_common_entry a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    padding-left: 10.5%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .recruit_common_entry a {
        padding-left: 0;
        flex-direction: column;

        -ms-flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

.recruit_common_entry a:hover {
    background-position: right center;
}

.recruit_common_entry a::after {
    background: url('../images/footer_ico_arrow_w.png') no-repeat;
    background-size: contain;
    width: 12px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 7.5%;
    content: '';
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
    .recruit_common_entry a::after {
        width: 9px;
        height: 12px;
        right: 4.6%;
    }
}

.recruit_common_entry_en {
    letter-spacing: .1em;
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .recruit_common_entry_en {
        line-height: 1.2;
        font-size: 28px;
    }
}

.recruit_common_entry_jp {
    margin-left: 3%;
    font-size: 16px;
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .recruit_common_entry_jp {
        margin: 0;
        font-size: 12px;
    }
}

.recruit_common_entry.data_entry {
    margin-top: -134px;
}

@media only screen and (max-width: 767px) {
    .recruit_common_entry.data_entry {
        margin-top: -58px;
    }
}

/* recruit_interview
-----------------------------------------------------------------*/
.recruit_interview {
    margin-top: 190px;
}

@media only screen and (max-width: 767px) {
    .recruit_interview {
        margin-top: 120px;
    }
}

.recruit_interview_flex {
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 1100px) {
    .recruit_interview_flex {
        display: block;
    }
}

.recruit_interview_front {
    background-color: #262626;
    width: 42%;
    margin-right: auto;
    padding: 9vw 0 0 12.5vw;
    position: relative;
    z-index: 3;
}

@media screen and (max-width: 1500px) {
    .recruit_interview_front {
        padding-top: 6vw;
    }
}

@media screen and (max-width: 1100px) {
    .recruit_interview_front {
        width: auto;
        padding-bottom: 8vw;
        z-index: 0;
    }
}

@media only screen and (max-width: 767px) {
    .recruit_interview_front {
        padding: 60px 0 70px 24px;
    }
}

.recruit_interview_lead {
    margin-top: 2vw;
    line-height: 2;
    font-size: 16px;
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .recruit_interview_lead {
        margin-top: 1.5em;
        line-height: 1.9;
        font-size: 15px;
    }
}

.recruit_interview_name_list {
    margin-top: 4vw;
}

@media screen and (max-width: 1100px) {
    .recruit_interview_name_list {
        display: none;
    }
}

.recruit_interview_name {
    position: relative;
    z-index: 0;
}

.recruit_interview_name a {
    height: 100px;
    padding-left: 5%;
    position: relative;
    z-index: 3;
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    flex-direction: column;
    transition: .3s;

    -ms-flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1400px) {
    .recruit_interview_name a {
        height: 70px;
    }
}

.mode-pc .recruit_interview_name a:hover,
.recruit_interview_name a.is-current {
    background-color: #fff;
}

.mode-pc .recruit_interview_name a:hover::before,
.recruit_interview_name a.is-current::before {
    content: none;
}

.mode-pc .recruit_interview_name a:hover::after,
.recruit_interview_name a.is-current::after {
    opacity: 1;
}

.mode-pc .recruit_interview_name a:hover .name_join,
.mode-pc .recruit_interview_name a:hover .name_text_jp,
.recruit_interview_name a.is-current .name_join,
.recruit_interview_name a.is-current .name_text_jp {
    color: #262626;
}

.mode-pc .recruit_interview_name a:hover .name_text_en,
.recruit_interview_name a.is-current .name_text_en {
    color: rgba(38, 38, 38, .5);
}

.recruit_interview_name a::before {
    background-color: #979797;
    width: 90%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    transition: .3s;
}

.recruit_interview_name a::after {
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    right: -40px;
    border-width: 50px 0 50px 40px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    content: '';
    transition: .3s;
    opacity: 0;
}

@media screen and (max-width: 1400px) {
    .recruit_interview_name a::after {
        border-width: 35px 0 35px 40px;
    }
}

.recruit_interview_name .name_join {
    font-size: 14px;
    font-weight: 500;
}

.recruit_interview_name .name_text {
    margin-top: 5px;
    letter-spacing: .1em;
}

.recruit_interview_name .name_text_jp {
    min-width: 115px;
    display: inline-block;
    font-size: 20px;
    font-weight: 500;
}

.recruit_interview_name .name_text_en {
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: rgba(255, 255, 255, .5);
}

.recruit_interview_slider {
    width: 58%;
    position: relative;
    z-index: 0;
}

@media screen and (max-width: 1100px) {
    .recruit_interview_slider {
        width: auto;
    }
}

.recruit_interview_slider_btns {
    display: none;
}

@media screen and (max-width: 1100px) {
    .recruit_interview_slider_btns {
        position: absolute;
        top: -45px;
        right: 0;
        z-index: 5;
        display: -ms-flexbox;
        display: flex;
    }
}

.recruit_interview_slider_btn {
    width: 49px;
    height: 45px;
}

.recruit_interview_slider_btn a {
    background-color: #fff;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.recruit_interview_slider_btn_prev {
    transform: scale(-1, 1);
}

@media only screen and (max-width: 767px) {
    .recruit_interview_slider_wrap:after {
        background-color: rgba(255, 255, 255, .75);
        width: 12%;
        height: 86vw;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 8;
        content: '';
    }
}

@media only screen and (max-width: 767px) {
    .recruit_interview_slider_wrap .slick-list {
        padding-right: 12%;
    }
}

.recruit_interview_slider_item a {
    display: block;
}

.recruit_interview_slider_item a .slider_img figure {
    overflow: hidden;
}

.mode-pc .recruit_interview_slider_item a:hover .slider_img img {
    transform: scale(1.05, 1.05);
}

.mode-pc .recruit_interview_slider_item a:hover .slider_img_btn {
    background-color: #262626;
    color: #fff;
}

.mode-pc .recruit_interview_slider_item a:hover .slider_img_btn::after {
    border-color: #fff;
}

.recruit_interview_slider_item img {
    width: 100%;
    height: auto;
}

.recruit_interview_slider_item .slider_img {
    position: relative;
}

.recruit_interview_slider_item .slider_img img {
    transition: .3s;
}

.recruit_interview_slider_item .slider_img_btn {
    background-color: #fff;
    width: 320px;
    height: 72px;
    position: absolute;
    bottom: 0;
    right: 0;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.recruit_interview_slider_item .slider_img_btn::after {
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;
    right: 12px;
    border-top: 1px solid #262626;
    border-right: 1px solid #262626;
    content: '';
    transition: .3s;
    transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 1100px) {
    .recruit_interview_slider_item .slider_img_btn {
        display: none;
    }
}

.recruit_interview_slider_item .slider_name {
    display: none;
}

@media screen and (max-width: 1100px) {
    .recruit_interview_slider_item .slider_name {
        padding: 10px 0 0 24px;
        display: block;
    }

    .recruit_interview_slider_item .slider_name_join {
        font-size: 12px;
    }

    .recruit_interview_slider_item .slider_name_text_jp {
        font-size: 18px;
    }

    .recruit_interview_slider_item .slider_name_text_en {
        margin-left: 20px;
        font-size: 14px;
        color: rgba(38, 38, 38, .5);
    }
}

.recruit_interview_slider_item .slider_btn {
    display: none;
}

@media screen and (max-width: 1100px) {
    .recruit_interview_slider_item .slider_btn {
        width: 200px;
        height: 48px;
        margin: 15px 0 0 24px;
        display: block;
        font-size: 16px;
    }

    .recruit_interview_slider_item .slider_btn span {
        background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
        background-size: 200% auto;
        width: 100%;
        height: 100%;
        position: relative;
        display: -ms-flexbox;
        display: flex;
        box-shadow: 0 2px 20px rgba(0, 0, 0, .2);
        color: #fff;
        transition: .3s;

        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .recruit_interview_slider_item .slider_btn span:hover {
        background-position: right center;
    }

    .recruit_interview_slider_item .slider_btn span::before {
        background: url('../images/top_ico_arrow.png') no-repeat;
        background-size: 6px 8px;
        width: 6px;
        height: 8px;
        position: absolute;
        top: calc(50% - 4px);
        right: 20px;
        content: '';
    }
}

@media only screen and (max-width: 1100px) and (max-width: 767px) {
    .recruit_interview_slider_item .slider_btn span::before {
        right: 12px;
    }
}

/* recruit_data
-----------------------------------------------------------------*/
.recruit_data {
    margin-top: 160px;
}

@media only screen and (max-width: 767px) {
    .recruit_data {
        margin-top: 120px;
    }
}

.recruit_data_body {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .recruit_data_body {
        display: block;
    }
}

.recruit_data_item {
    width: 50%;
    padding: 0 1%;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .recruit_data_item {
        width: auto;
        padding: 0;
    }

    .recruit_data_item+.recruit_data_item {
        margin-top: 50px;
    }
}

.recruit_data_item_title {
    font-size: 28px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .recruit_data_item_title {
        font-size: 18px;
    }
}

.recruit_data_item_img {
    margin-top: 10px;
}

@media only screen and (max-width: 767px) {
    .recruit_data_item_img {
        width: 90%;
        margin: 10px auto 0;
    }
}

.recruit_data_item_img img {
    max-width: 100%;
    height: auto;
}

.recruit_data_btn {
    width: 320px;
    height: 64px;
    margin: 70px auto 0;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .recruit_data_btn {
        width: 62%;
        height: 48px;
        margin: 40px auto 0;
    }
}

.recruit_data_btn a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 2px 20px rgba(0, 0, 0, .2);
    color: #fff;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.recruit_data_btn a:hover {
    background-position: right center;
}

.recruit_data_btn a::before {
    background: url('../images/top_ico_arrow.png') no-repeat;
    background-size: 6px 8px;
    width: 6px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    content: '';
}

@media only screen and (max-width: 767px) {
    .recruit_data_btn a::before {
        right: 12px;
    }
}

/* recruit_recruitment
-----------------------------------------------------------------*/
.recruit_recruitment {
    margin-top: 130px;
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment {
        margin-top: 100px;
    }
}

.recruit_recruitment_nav {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_nav {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.recruit_recruitment_nav_btn {
    width: 298px;
    margin: 0 10px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}

@media screen and (max-width: 1040px) {
    .recruit_recruitment_nav_btn {
        margin: 0 5px;
        font-size: 16px;
    }
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_nav_btn {
        width: 49%;
        margin: 0 0 2%;
        font-size: 16px;
    }
}

@media screen and (max-width: 413px) {
    .recruit_recruitment_nav_btn {
        font-size: 14px;
    }
}

@media only screen and (max-width: 374px) {
    .recruit_recruitment_nav_btn {
        font-size: 13px;
    }
}

.recruit_recruitment_nav_btn a {
    background-color: #e6e6e6;
    width: 100%;
    padding: 14px 0;
    position: relative;
    display: block;
    transition: .3s;
}

.recruit_recruitment_nav_btn a::before {
    width: 0;
    height: 0;
    position: absolute;
    bottom: -6px;
    left: calc(50% - 6px);
    border-width: 6px 6px 0 6px;
    border-style: solid;
    border-color: #262626 transparent transparent transparent;
    transition: .3s;
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_nav_btn a::before {
        display: none;
    }
}

.mode-pc .recruit_recruitment_nav_btn a:hover,
.recruit_recruitment_nav_btn a.is-current {
    background-color: #262626;
    color: #fff;
}

.recruit_recruitment_nav_btn a.is-current::before {
    content: '';
}

.recruit_recruitment_contents {
    max-width: 1000px;
    margin: 56px auto 0;
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_contents {
        margin-top: 26px;
    }
}

.recruit_recruitment_table {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 1100px) {
    .recruit_recruitment_table {
        display: block;
    }
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table {
        width: 100%;
    }
}

.recruit_recruitment_table_title {
    width: 20%;
    padding: 20px 0 20px 18px;
    border-top: 1px solid #262626;
    line-height: 1.6;
    font-size: 16px;
}

@media screen and (max-width: 1100px) {
    .recruit_recruitment_table_title {
        width: auto;
    }
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table_title {
        padding: 13px 0 11px 10px;
        font-size: 14px;
    }
}

.recruit_recruitment_table_title:last-of-type {
    border-bottom: 1px solid #262626;
}

@media screen and (max-width: 1100px) {
    .recruit_recruitment_table_title:last-of-type {
        border-bottom: 0;
    }
}

.recruit_recruitment_table_title span {
    padding-top: 2px;
    display: inline-block;
    line-height: 1.5;
}

.recruit_recruitment_table_text {
    width: 80%;
    padding: 20px 0 20px 30px;
    border-top: 1px solid #ddd;
    line-height: 1.6;
    font-size: 16px;
}

@media screen and (max-width: 1100px) {
    .recruit_recruitment_table_text {
        width: auto;
        padding-left: 18px;
    }
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table_text {
        padding: 13px 0 14px 10px;
        font-size: 14px;
    }
}

.recruit_recruitment_table_text:last-of-type {
    border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 1100px) {
    .recruit_recruitment_table_text:last-of-type {
        border-bottom: 1px solid #262626;
    }
}

.recruit_recruitment_table_text a {
    text-decoration: underline;
}

.mode-pc .recruit_recruitment_table_text a:hover {
    text-decoration: none;
}

.recruit_recruitment_table_text>p {
    margin-bottom: .8em;
}

.recruit_recruitment_table_text>p:last-child {
    margin-bottom: 0;
}

.recruit_recruitment_table_text strong {
    font-weight: 500;
}

.recruit_recruitment_table_text .table_add {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table_text .table_add {
        display: block;
    }
}

.recruit_recruitment_table_text .table_add_name {
    width: 125px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table_text .table_add_name {
        width: auto;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px dashed #ddd;
    }

    .recruit_recruitment_table_text .table_add_name:first-of-type {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
}

.recruit_recruitment_table_text .table_add_text {
    width: calc(100% - 125px);
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table_text .table_add_text {
        width: auto;
    }
}

.recruit_recruitment_table_text .all_mi_pc {
    display: inline-block;
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table_text .all_mi_pc {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    .recruit_recruitment_table_text .all_mi_sp {
        display: inline-block;
    }
}

/* interview_header
-----------------------------------------------------------------*/
.interview_header {
    position: relative;
}

@media only screen and (max-width: 767px) {
    .interview_header_img {
        width: 88%;
        margin-right: auto;
    }
}

.interview_header_img img {
    width: 100%;
    height: auto;
}

.interview_header_name {
    background-color: #fff;
    width: 33vw;
    max-width: 530px;
    padding: 3.1vw 0 3vw 3vw;
    position: absolute;
    bottom: 0;
    right: 0;
}

@media only screen and (max-width: 767px) {
    .interview_header_name {
        width: 85%;
        margin: 0 auto 0 14px;
        padding: 18px 14px 0;
        position: relative;
        top: -20px;
        bottom: inherit;
        right: inherit;
    }
}

.interview_header_name .name_join {
    font-size: 16px;
}

.interview_header_name .name_text_jp {
    letter-spacing: .1em;
    font-size: 26px;
}

@media only screen and (max-width: 767px) {
    .interview_header_name .name_text_jp {
        font-size: 24px;
    }
}

.interview_header_name .name_text_en {
    margin-left: 1vw;
    letter-spacing: .1em;
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    color: rgba(38, 38, 38, .5);
}

@media only screen and (max-width: 767px) {
    .interview_header_name .name_text_en {
        margin-left: 20px;
    }
}

.interview_header_obj {
    position: absolute;
    bottom: -.9em;
    right: -.15em;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 160px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
    white-space: nowrap;
}

@media only screen and (max-width: 767px) {
    .interview_header_obj {
        top: -.5em;
        bottom: inherit;
        right: -.2em;
        font-size: 80px;
    }
}

/* interview_body
-----------------------------------------------------------------*/
.interview_body {
    margin-top: 7vw;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .interview_body {
        margin-top: 30px;
    }
}

.interview_body .interview_comment {
    padding-left: 25%;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment {
        padding: 50px 0 0;
    }
}

.interview_body .interview_comment_left {
    margin-top: 3vw;
    padding: 0 12.5%;
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_left {
        margin-top: 30px;
        padding: 50px 0 0;
    }
}

.interview_body .interview_comment_left .interview_comment_num {
    left: -.1em;
}

.interview_body .interview_comment_num {
    position: absolute;
    top: 0;
    left: 14%;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_num {
        top: 0;
        left: 0;
        font-size: 80px;
    }
}

.interview_body .interview_comment_title {
    line-height: 1.6;
    font-size: 36px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_title {
        font-size: 24px;
    }
}

.interview_body .interview_comment_text {
    margin-top: 1.5em;
    line-height: 2.18;
    letter-spacing: .1em;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_text {
        line-height: 1.9;
        font-size: 15px;
    }
}

.interview_body .interview_comment_img01 {
    margin-top: 6vw;
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_img01 {
        padding-right: 24px;
    }
}

.interview_body .interview_comment_img01 img {
    width: 100%;
    height: auto;
}

.interview_body .interview_comment_img02 {
    width: 69.3%;
    margin: 6vw auto -2.6vw 0;
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_img02 {
        width: 87.2%;
        margin: 60px auto 80px 0;
    }
}

.interview_body .interview_comment_img02 img {
    width: 100%;
    height: auto;
}

.interview_body .interview_comment_photo {
    position: relative;
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_photo {
        margin: 60px -24px 0 0;
    }
}

.interview_body .interview_comment_obj {
    display: block;
    line-height: 1;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-size: 7.4vw;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media only screen and (max-width: 767px) {
    .interview_body .interview_comment_obj {
        position: absolute;
        top: -.6em;
        right: -.2em;
        font-size: 80px;
    }
}

.interview_body .interview_comment_name {
    background-color: #fff;
    width: 33vw;
    max-width: 530px;
    padding: 3.1vw 0 3vw 3vw;
    position: absolute;
    bottom: 0;
    right: 0;
}

.interview_body .interview_comment_name .name_join {
    font-size: 16px;
}

.interview_body .interview_comment_name .name_text_jp {
    font-size: 26px;
}

.interview_body .interview_comment_name .name_text_en {
    margin-left: 1vw;
    font-weight: 400;
    color: rgba(38, 38, 38, .5);
}

/* interview_other
-----------------------------------------------------------------*/
.interview_other {
    margin: 18vw 0 13vw;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .interview_other {
        margin: 150px 0 100px;
    }
}

.interview_other_list {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
    .interview_other_list {
        display: block;
    }
}

.interview_other_item {
    width: 47.5%;
    margin-bottom: 3.5vw;
    position: relative;
    overflow: hidden;
}

@media only screen and (max-width: 767px) {
    .interview_other_item {
        width: auto;
    }
}

.interview_other_item:nth-child(even) {
    margin-left: auto;
}

.interview_other_item a {
    width: 100%;
    height: 100%;
    display: block;
}

.mode-pc .interview_other_item a:hover .interview_other_item_img {
    transform: scale(1.1, 1.1);
}

.interview_other_item_img {
    position: relative;
    transition: .3s;
}

.interview_other_item_img img {
    width: 100%;
    height: auto;
}

.interview_other_item_name {
    background-color: #fff;
    width: 285px;
    padding: 1.5vw;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media only screen and (max-width: 767px) {
    .interview_other_item_name {
        width: 250px;
        padding: 10px 15px;
        position: relative;
        top: -15px;
        bottom: inherit;
        left: inherit;
    }
}

.interview_other_item_name .name_join {
    font-size: 14px;
}

@media only screen and (max-width: 767px) {
    .interview_other_item_name .name_join {
        font-size: 12px;
    }
}

.interview_other_item_name .name_text {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .interview_other_item_name .name_text {
        display: block;
    }
}

.interview_other_item_name .name_text_jp {
    font-size: 20px;
}

@media only screen and (max-width: 767px) {
    .interview_other_item_name .name_text_jp {
        font-size: 18px;
    }
}

.interview_other_item_name .name_text_en {
    letter-spacing: .1em;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: rgba(38, 38, 38, .5);
}

@media only screen and (max-width: 767px) {
    .interview_other_item_name .name_text_en {
        margin-left: 15px;
        font-size: 14px;
    }
}

/* data_body
-----------------------------------------------------------------*/
.data_body {
    background: linear-gradient(to bottom right, #e7e7e7, #f1f1f1);
    padding: 144px 0 16vw;
}

@media only screen and (max-width: 767px) {
    .data_body {
        margin-top: 20px;
        padding: 88px 0 140px;
    }
}

.data_body_flex {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .data_body_flex {
        display: block;
    }
}

.data_body .data_item {
    background-color: #fff;
    width: 47.5%;
    margin-bottom: 5vw;
    padding: 57px 0 30px;
    position: relative;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item {
        width: auto;
        margin-bottom: 40px;
        padding: 30px 0 40px;
    }

    .data_body .data_item+.recruit_data_item {
        margin-top: 50px;
    }
}

.data_body .data_item_wide {
    width: 100%;
    margin-bottom: 6.3vw;
    padding-top: 70px;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_wide {
        margin-bottom: 40px;
        padding: 30px 0 55px;
    }
}

.data_body .data_item_num {
    position: absolute;
    top: -.55em;
    left: .28em;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 64px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_num {
        left: 0;
        font-size: 50px;
    }
}

.data_body .data_item_title {
    font-size: 28px;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_title {
        font-size: 20px;
    }
}

.data_body .data_item_img {
    margin-top: 2px;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_img {
        margin: 20px 20px 0;
    }
}

.data_body .data_item_img img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 335px;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_img img {
        max-height: none;
    }
}

.data_body .data_item_happy {
    padding-bottom: 320px;
    position: relative;
    text-align: left;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy {
        margin: 20px 24px 0;
        padding-bottom: 0;
    }
}

.data_body .data_item_happy_comment {
    position: absolute;
    border-radius: 10px;
    line-height: 1.4;
    text-align: center;
    font-weight: 700;
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy_comment {
        margin-left: auto;
        position: relative;
    }
}

.data_body .data_item_happy_comment span {
    display: inline-block;
    text-align: left;
}

.data_body .data_item_happy_comment::after {
    width: 0;
    height: 0;
    position: absolute;
    border-style: solid;
    content: '';
}

.data_body .data_item_happy .comment01 {
    background-color: #00a9e3;
    width: 27.33vw;
    max-width: 328px;
    padding: 34px 10px;
    top: 10px;
    left: 817px;
    font-size: 26px;
}

@media screen and (max-width: 1200px) {
    .data_body .data_item_happy .comment01 {
        top: 3.4%;
        left: 68%;
        font-size: 1.9vw;
    }
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment01 {
        width: 196px;
        margin: 0 0 0 5px;
        padding: 20px 10px;
        top: inherit;
        left: inherit;
        font-size: 14px;
    }
}

.data_body .data_item_happy .comment01::after {
    bottom: -26px;
    left: 35%;
    border-width: 28px 26px 0 0;
    border-color: #00a9e3 transparent transparent transparent;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment01::after {
        bottom: -14px;
        left: 70px;
        border-width: 18px 14px 0 0;
    }
}

.data_body .data_item_happy .comment02 {
    background-color: #05d5ef;
    width: 27.33%;
    max-width: 328px;
    padding: 37px 10px;
    top: 28px;
    left: 80px;
    font-size: 24px;
}

@media screen and (max-width: 1200px) {
    .data_body .data_item_happy .comment02 {
        top: 9%;
        left: 6.7%;
        font-size: 1.8vw;
    }
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment02 {
        width: 206px;
        margin-top: 28px;
        padding: 20px 10px;
        top: inherit;
        left: inherit;
        font-size: 14px;
    }
}

.data_body .data_item_happy .comment02::after {
    bottom: -28px;
    left: 57.5%;
    border-width: 0 24px 28px 0;
    border-color: transparent #05d5ef transparent transparent;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment02::after {
        bottom: -18px;
        left: 118px;
        border-width: 0 16px 18px 0;
    }
}

.data_body .data_item_happy .comment03 {
    background-color: #00a9e3;
    width: 24.83%;
    max-width: 298px;
    padding: 32px 15px;
    top: 43px;
    left: 464px;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .data_body .data_item_happy .comment03 {
        top: 14%;
        left: 38.66%;
        font-size: 1.5vw;
    }
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment03 {
        width: 236px;
        margin: 28px 0 0 1px;
        padding: 20px 10px;
        top: inherit;
        left: inherit;
        font-size: 14px;
    }
}

.data_body .data_item_happy .comment03::after {
    bottom: -26px;
    left: 35.5%;
    border-width: 26px 26px 0 0;
    border-color: #00a9e3 transparent transparent transparent;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment03::after {
        bottom: -20px;
        left: 84px;
        border-width: 20px 18px 0 0;
    }
}

.data_body .data_item_happy .comment04 {
    background-color: #01d5ed;
    width: 26%;
    max-width: 312px;
    padding: 27px 10px;
    top: 70%;
    left: 8%;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .data_body .data_item_happy .comment04 {
        font-size: 1.6vw;
    }
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment04 {
        width: 246px;
        margin-top: 28px;
        padding: 20px 10px;
        top: inherit;
        left: inherit;
        font-size: 14px;
    }
}

.data_body .data_item_happy .comment04::after {
    bottom: -16px;
    left: 60%;
    border-width: 0 24px 16px 0;
    border-color: transparent #01d5ed transparent transparent;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment04::after {
        bottom: -12px;
        left: 150px;
        border-width: 0 16px 12px 0;
    }
}

.data_body .data_item_happy .comment05 {
    background-color: #01d5ed;
    width: 23.16%;
    max-width: 278px;
    padding: 30px 10px;
    top: 60%;
    left: 65%;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .data_body .data_item_happy .comment05 {
        font-size: 1.6vw;
    }
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment05 {
        width: 188px;
        margin: 28px 0 0 0;
        padding: 20px 10px;
        top: inherit;
        left: inherit;
        font-size: 14px;
    }
}

.data_body .data_item_happy .comment05::after {
    bottom: -24px;
    left: 35%;
    border-width: 24px 22px 0 0;
    border-color: #01d5ed transparent transparent transparent;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment05::after {
        bottom: -14px;
        left: 66px;
        border-width: 14px 16px 0 0;
    }
}

.data_body .data_item_happy .comment06 {
    background-color: #01d5ed;
    width: 24.83%;
    max-width: 298px;
    padding: 30px 10px;
    top: 70%;
    left: 37.16%;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .data_body .data_item_happy .comment06 {
        font-size: 1.6vw;
    }
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment06 {
        width: 246px;
        margin-top: 28px;
        padding: 20px 10px;
        top: inherit;
        left: inherit;
        font-size: 14px;
    }
}

.data_body .data_item_happy .comment06::after {
    bottom: -16px;
    left: 33.5%;
    border-width: 16px 22px 0 0;
    border-color: #01d5ed transparent transparent transparent;
}

@media only screen and (max-width: 767px) {
    .data_body .data_item_happy .comment06::after {
        bottom: -14px;
        left: 150px;
        border-width: 0 16px 14px 0;
        border-color: transparent #01d5ed transparent transparent;
    }
}

/*--------------------------------------------------------------------------
   404
---------------------------------------------------------------------------*/
/* page-404
-----------------------------------------------------------------*/
.page-404_wrap {
    padding: 100px 0 200px;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .page-404_wrap {
        padding: 50px 0 100px;
    }
}

.page-404_text {
    margin-bottom: 150px;
    line-height: 2.5;
    letter-spacing: .3em;
    font-size: 20px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .page-404_text {
        margin-bottom: 100px;
        font-size: 14px;
    }
}

.page-404_btn {
    width: 320px;
    height: 64px;
    margin: 0 auto;
    font-size: 16px;
}

@media only screen and (max-width: 767px) {
    .page-404_btn {
        width: auto;
        font-size: 15px;
    }
}

.page-404_btn a {
    background-image: linear-gradient(to right, #262626 0%, #4e4e4e 51%, #262626 100%);
    background-size: 200% auto;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    box-shadow: 0 2px 20px rgba(0, 0, 0, .2);
    color: #fff;
    transition: .3s;

    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.page-404_btn a:hover {
    background-position: right center;
}



.inner_img {
    width: 100%;
    padding: 50px;
    max-width: 680px;
    margin: auto;
}


.title-h3 {
    font-weight: 600;
    font-size: 2em;
    line-height: 1.4;
    margin-bottom: 10px;
}


.timeline-InformationCircle-widgetParent,.timeline-LoadMore,.timeline-Footer {
    display: none !important;
}



.br-sp {
  display: none;
}

@media screen and (max-width: 1080px) {
  .br-pc {
    display: none;
  }

  .br-sp {
    display: inline-block;
  }
}