@charset 'UTF-8';

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

@import url(//fonts.googleapis.com/css?family=Abril+Fatface|Josefin+Slab:700|Noto+Serif:400,700);

/*----------------------------------------
	clearfix
----------------------------------------*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

@import url(https://fonts.googleapis.com/css?family=Overpass:200,400,600);

/*----------------------------------------
	IE6 Upgrade Warning
----------------------------------------*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

@import url(https://fonts.googleapis.com/css?family=Overpass:200,400,600);

#ieError
{
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;

    width: 100%;
    padding: 20px;

    text-align: center;

    opacity: .8;
    color: #fff;
    background: #000;

        filter: alpha(opacity=80);
    -ms-filter: 'alpha( opacity=80 )';
}

#ieError strong
{
    color: #fff;
}

#ieError a
{
    text-decoration: underline;

    color: #d90000;
}

/*! normalize.css v3.0.0 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html
{
    font-family: sans-serif;
    /* 1 */

        -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Remove default margin.
 */

body
{
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

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

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video
{
    display: inline-block;
    /* 1 */

    vertical-align: baseline;
    /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls])
{
    display: none;

    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */

[hidden],
template
{
    display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a
{
    background: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover
{
    outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title]
{
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong
{
    font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn
{
    font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

/**
 * Address styling not present in IE 8/9.
 */

mark
{
    color: #000;
    background: #ff0;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small
{
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img
{
    border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root)
{
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure
{
    margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr
{
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre
{
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
optgroup,
select,
textarea
{
    /* 1 */
    font: inherit;
    /* 2 */

    margin: 0;

    color: inherit;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10.
 */

button
{
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8+, and Opera
 * Correct `select` style inheritance in Firefox.
 */

button,
select
{
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type='button'],
input[type='reset'],
input[type='submit']
{
    /* 2 */
    cursor: pointer;

    -webkit-appearance: button;
    /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled]
{
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner
{
    padding: 0;

    border: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input
{
    line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type='checkbox'],
input[type='radio']
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type='search']
{
    /* 1 */
    -webkit-box-sizing: content-box;
    /* 2 */
            box-sizing: content-box;

    -webkit-appearance: textfield;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em;

    border: 1px solid #c0c0c0;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend
{
    /* 1 */
    padding: 0;

    border: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9.
 */

textarea
{
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup
{
    font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

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

td,
th
{
    padding: 0;
}

/*----------------------------------------
	reset
----------------------------------------*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
time,
mark,
audio,
video
{
    font: inherit;
    font-family: 'Overpass', 'Noto Sans Japanese', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-size: 100%;
    line-height: 1;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    color: #333;
    border: 0;
    outline: 0;
}

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

li
{
    list-style: none;
}

ol,
ul
{
    list-style: none;
}

img
{
    font-size: 0;
    line-height: 0;

    vertical-align: top;

    border: 0;
}

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

h1,
h2,
p,
pre
{
    word-wrap: break-word;
}

caption,
th,
td
{
    font-weight: 400;

    text-align: left;
    vertical-align: middle;
}

caption
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    border: 0;
}

tbody,
tfoot,
thead,
tr
{
    vertical-align: baseline;
}

tbody,
tfoot,
thead,
tr,
th,
td
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    border: 0;
}

hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0;

    border: 0;
    border-top: 1px solid #ccc;
}

input,
select
{
    vertical-align: middle;
}

input,
button,
textarea,
select
{
    margin: 0;
    padding: 0;

    border: none;
    border-radius: 0;
    outline: none;
    background: none;

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

button
{
    padding: 0;

    cursor: pointer;

    border: none;
    outline: none;
    background-color: transparent;

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

select::-ms-expand
{
    display: none;
}

.clearfix
{
    min-height: 1px;

    _height: 1%;
}

.clearfix:after
{
    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '';
}

html,
body
{
    height: 100%;
    height: 100%;
    margin: 0;
    padding: 0;

    background-color: #fff !important;

    -webkit-text-size-adjust: none;
}

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

         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
}

html
{
    /*	font-size: 62.5%;*/
    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
}

body
{
    font-family: 'Overpass', 'Noto Sans Japanese', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-size: 12px;
    line-height: 1;

    text-align: center;
    letter-spacing: .01em;

    color: #333;

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

a
{
    cursor: pointer;
    text-decoration: none;

    color: #333;
}

a img
{
    border: none;

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

img
{
    max-width: 100%;

    vertical-align: bottom;
    pointer-events: none;
}

.sp-display
{
    display: none !important;
}

.cf:after
{
    display: block;
    clear: both;

    content: '';
}

.fade__item
{
    opacity: 0;
}

.show
{
    display: block;

    opacity: 1;
}

.js__show
{
    display: block;
}

.t__link
{
    position: relative;

    display: inline-block;

    text-decoration: none;
}

.t__link::before
{
    position: absolute;
    bottom: -8px;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';
    -webkit-transition: compact(transform .3s cubic-bezier(1, 0, 0, 1), false, false, false, false, false, false, false, false, false);
            transition: compact(transform .3s cubic-bezier(1, 0, 0, 1), false, false, false, false, false, false, false, false, false);
    -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
            transform-origin: left top;

    background: #fff;
}

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

.h__link
{
    position: relative;

    display: inline-block;

    padding: 5px 2px 7px 2px;

    -webkit-transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
            transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
    text-decoration: none;

    color: #0058a1;
}

.h__link::after
{
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 1px;

    content: '';
    -webkit-transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
            transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);

    background: #0058a1;
}

.h__link:hover
{
    color: #fff !important;
}

.h__link:hover::after
{
    height: 100%;
}

.m-active
{
    position: relative;
}

.m-active::before
{
    -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
            transform-origin: left top;
}

/** flex_display **/

.flex_display
{
    display: -webkit-flex;
    display:    -moz-flex;
    display:      -o-flex;
    display:     -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
       -moz-justify-content: center;
         -o-justify-content: center;
        -ms-justify-content: center;
            justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
            align-items: center;
        -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
}

.flex_list_display
{
    display: -webkit-flex;
    display:    -moz-flex;
    display:      -o-flex;
    display:     -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    -webkit-justify-content: space-between;
       -moz-justify-content: space-between;
         -o-justify-content: space-between;
        -ms-justify-content: space-between;
            justify-content: space-between;
    -webkit-align-items: flex-start;
       -moz-align-items: flex-start;
         -o-align-items: flex-start;
        -ms-align-items: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
            align-items: flex-start;
}

.m_button
{
    font-size: 11.5px;
    font-weight: 900;

    position: relative;

    display: inline-block;
    overflow: hidden;

    width: 240px;
    padding: 20px 0;

    -webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
            transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
    letter-spacing: .3em;

    border: 1px solid #000;
}

.m_button:hover
{
    color: #fff;
    background: #000;
}

.mbt
{
    -webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
            transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);

    color: #fff;
    background-color: #000;
}

.mbt:hover
{
    color: #000;
    background: #fff;
}

.m_links
{
    font-size: 11px;
    font-weight: 700;

    position: relative;

    display: inline-block;

    letter-spacing: .2em;
}

.m_links::before
{
    position: absolute;
    bottom: -15px;
    left: 0;

    width: 40px;
    height: 2px;

    content: '';
    -webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
            transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);

    background: #000;
}

.m_links:hover::before
{
    width: 80px;
}

/*font-weight*/

.bold
{
    font-weight: bold;
}

/* //////////////////////////////////////////
  container, l-contents, is-content
//////////////////////////////////////////*/

/** is-content **/

.is-content
{
    position: relative;

    max-width: 1280px;
    margin: 0 auto;
}

.p-content
{
    padding: 0 20px;

    opacity: 0;
}

.checkbox
{
    line-height: 20px;

    position: relative;

    display: inline-block;
    overflow: hidden;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: calc(20px + 5px);

    cursor: pointer;
}

.checkbox:before
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;

    content: '';

    border: 1px solid #d5d5d5;
}

.checkbox:after
{
    position: absolute;
    z-index: 1;
    top: calc(50% - (((14px / 12 ) * 5) / 2));
    left: calc((20px / 2) - (((14px / 12 ) * 5) / 2));

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(((14px / 12 ) * 5));
    height: 14px;
    margin-top: calc(((14px / 12 ) * 5) * -1);

    content: '';
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
}

.checkbox input[type='checkbox']
{
    position: absolute;
    z-index: 2;
    left: calc(20px * -1);

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0;

    -webkit-transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
            transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);

    outline: none;
    -webkit-box-shadow: 20px 0 #fff;
            box-shadow: 20px 0 #fff;

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

.checkbox input[type='checkbox']:checked
{
    opacity: .1;
}

.checkbox input[type='checkbox']:checked:focus
{
    opacity: .1;
    /*box-shadow : 20px 0px #666;*/
}

.checkbox input[type='checkbox']:focus
{
    /*box-shadow : 20px 0px #EEE;*/
}

/* p-breadcrumbs */

.p-breadcrumbs
{
    max-width: 1280px;
    margin: 130px auto 0 auto;

    text-align: left;
}

.p-breadcrumbs a
{
    font-size: 10.5px;
    font-size: .65625rem;

    -webkit-transition: compact(all .3s ease, false, false, false, false, false, false, false, false, false);
            transition: compact(all .3s ease, false, false, false, false, false, false, false, false, false);
    letter-spacing: .03em;

    color: #969696;
}

.p-breadcrumbs a:hover
{
    color: #000;
}

.p-breadcrumbs .pb-child
{
    position: relative;

    padding-right: 25px;
}

.p-breadcrumbs .pb-child::before
{
    position: absolute;
    top: 54%;
    right: 10px;

    width: 5px;
    height: 5px;
    margin-top: -3px;

    content: '';
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    border: 0;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
}

.p-breadcrumbs .pb-child::hover
{
    color: #000;
}

.p-breadcrumbs .pb-child-active::before
{
    display: none;
}

/* p-breadcrumbs */

.pagetop
{
    font-size: 0;

    position: fixed;
    right: 40px;
    bottom: 40px;

    display: block;

    width: 31px;
    height: 35px;

    background-image: url(../images/common/i_pagetop.png);
    background-repeat: no-repeat;
    background-size: cover;
}

/* js__display */

.js__display
{
    position: relative;

    -webkit-transition: -webkit-transform 600ms ease,-webkit-box-shadow 300ms ease 600ms;
            transition: -webkit-transform 600ms ease,-webkit-box-shadow 300ms ease 600ms;
            transition:         transform 600ms ease,box-shadow 300ms ease 600ms;
            transition:         transform 600ms ease,box-shadow 300ms ease 600ms,-webkit-transform 600ms ease,-webkit-box-shadow 300ms ease 600ms;
    -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: 0 50%;
        -ms-transform-origin: 0 50%;
            transform-origin: 0 50%;
}

.js__display.js__show
{
    -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
            transform: scale(1, 1);
}

.js__display::after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: -webkit-transform 600ms ease 600ms;
            transition: -webkit-transform 600ms ease 600ms;
            transition:         transform 600ms ease 600ms;
            transition:         transform 600ms ease 600ms, -webkit-transform 600ms ease 600ms;
    -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 100% 50%;
        -ms-transform-origin: 100% 50%;
            transform-origin: 100% 50%;

    background-color: #000;
}

.js__display.js__show::after
{
    -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
            transform: scale(0, 1);
}

/* js__trans */

.js__trans
{
    position: relative;

    overflow: hidden;
}

.js__trans:after
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: -webkit-transform 1.8s cubic-bezier(.16, 1.08, .38, .98);
    -webkit-transition: 1.8s cubic-bezier(.16, 1.08, .38, .98);
            transition: -webkit-transform 1.8s cubic-bezier(.16, 1.08, .38, .98);
            transition: 1.8s cubic-bezier(.16, 1.08, .38, .98);
            transition:         transform 1.8s cubic-bezier(.16, 1.08, .38, .98), -webkit-transform 1.8s cubic-bezier(.16, 1.08, .38, .98);

    background: #fff;
}

.js__show.js__trans:after
{
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
}

/**** animation ****/

@-webkit-keyframes fadePage
{
    from
    {
        -webkit-transform: translateY(25px);
                transform: translateY(25px);

        opacity: 0;
    }
}

@keyframes fadePage
{
    from
    {
        -webkit-transform: translateY(25px);
                transform: translateY(25px);

        opacity: 0;
    }
}

@-webkit-keyframes fadeInUp
{
    from
    {
        -webkit-transform: translateY(100px);
                transform: translateY(100px);

        opacity: 0;
    }
}

@keyframes fadeInUp
{
    from
    {
        -webkit-transform: translateY(100px);
                transform: translateY(100px);

        opacity: 0;
    }
}

@-webkit-keyframes fadeInDown
{
    from
    {
        -webkit-transform: translateY(-100px);
                transform: translateY(-100px);

        opacity: 0;
    }
}

@keyframes fadeInDown
{
    from
    {
        -webkit-transform: translateY(-100px);
                transform: translateY(-100px);

        opacity: 0;
    }
}

@-webkit-keyframes fadeInRight
{
    from
    {
        -webkit-transform: translateX(100px);
                transform: translateX(100px);

        opacity: 0;
    }
}

@keyframes fadeInRight
{
    from
    {
        -webkit-transform: translateX(100px);
                transform: translateX(100px);

        opacity: 0;
    }
}

@-webkit-keyframes fadeInLeft
{
    from
    {
        -webkit-transform: translateX(-100px);
                transform: translateX(-100px);

        opacity: 0;
    }
}

@keyframes fadeInLeft
{
    from
    {
        -webkit-transform: translateX(-100px);
                transform: translateX(-100px);

        opacity: 0;
    }
}

@-webkit-keyframes fadeInCenter
{
    from
    {
        opacity: 0;
    }
}

@keyframes fadeInCenter
{
    from
    {
        opacity: 0;
    }
}

.fadePage
{
    -webkit-animation: fadePage .5s ease both;
            animation: fadePage .5s ease both;

    opacity: 1 !important;
}

.fadeInUp
{
    -webkit-animation: fadeInUp 1s ease both;
            animation: fadeInUp 1s ease both;

    opacity: 1 !important;
}

.fadeInDown
{
    -webkit-animation: fadeInDown 1s ease both;
            animation: fadeInDown 1s ease both;

    opacity: 1 !important;
}

.fadeInRight
{
    -webkit-animation: fadeInRight 1s ease both;
            animation: fadeInRight 1s ease both;

    opacity: 1 !important;
}

.fadeInLeft
{
    -webkit-animation: fadeInLeft 1s ease both;
            animation: fadeInLeft 1s ease both;

    opacity: 1 !important;
}

.fadeInCenter
{
    -webkit-animation: fadeInCenter .8s ease both;
            animation: fadeInCenter .8s ease both;

    opacity: 1 !important;
}

.pagetop
{
    z-index: 100;
}

footer
{
    text-align: left;

    background-color: #094850;
}

footer .inner
{
    position: relative;

    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 0;

    text-align: left;
}

footer .inner .layout-left
{
    float: left;

    text-align: left;
}

footer .inner .layout-left .f-logo
{
    width: 290px;
}

footer .inner .layout-left .f-logo img
{
    width: 100%;
}

footer .inner .layout-left p
{
    margin-top: 85px;
}

footer .inner .layout-left p span
{
    font-weight: 200;

    display: block;

    letter-spacing: .06em;

    color: #fff;
}

footer .inner .layout-left p a
{
    font-weight: 200;

    color: #fff;
}

footer .inner .layout-left p a:before
{
    display: inline-block;

    width: 12px;
    height: 14px;
    margin-top: 3px;
    margin-right: 4px;

    content: '';

    background-image: url(../images/common/i_map.svg);
}

footer .inner .layout-left p small
{
    font-weight: 200;

    margin-left: 20px;

    color: #fff;
}

footer .inner .layout-right
{
    float: right;
}

footer .inner .layout-right ul li
{
    display: inline-block;

    margin-right: 30px;

    vertical-align: top;
}

footer .inner .layout-right ul li:nth-child(1) .ttl:before
{
    width: 14px;
    height: 17px;

    background-image: url(../images/common/i_company.svg);
}

footer .inner .layout-right ul li:nth-child(2) .ttl:before
{
    width: 17px;
    height: 18px;

    background-image: url(../images/common/i_service.svg);
}

footer .inner .layout-right ul li:nth-child(3) .ttl:before
{
    width: 17px;
    height: 18px;

    background-image: url(../images/common/i_results.svg);
}

footer .inner .layout-right ul li:nth-child(4) .ttl:before
{
    width: 17px;
    height: 17px;

    background-image: url(../images/common/i_recruit.svg);
}

footer .inner .layout-right ul li:nth-child(5)
{
    margin-right: 0;
}

footer .inner .layout-right ul li:nth-child(5) .ttl:before
{
    width: 17px;
    height: 12px;

    background-image: url(../images/common/i_contact.svg);
}

footer .inner .layout-right ul li .ttl
{
    font-size: 14px;
    font-size: .875rem;
    line-height: 17px;

    letter-spacing: .02em;

    color: #fff;
}

footer .inner .layout-right ul li .ttl:before
{
    display: inline-block;

    margin-top: -3px;
    margin-right: 8px;

    content: '';
    vertical-align: middle;

    background-size: contain;
}

footer .inner .layout-right ul li a:not(.ttl)
{
    font-size: 12px;
    font-size: .75rem;
    font-weight: 200;

    display: block;

    margin-top: 10px;
    margin-left: 24px;

    opacity: .9;
    color: #fff;
}

footer .inner .copy
{
    font-size: 10px;
    font-size: .625rem;
    font-weight: 200;

    position: absolute;
    right: 0;
    bottom: 100px;

    letter-spacing: .2em;

    color: #fff;
}

header
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    width: 100%;

    -webkit-transition: 1.5s;
            transition: 1.5s;
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
}

header.sub
{
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
}

header h1
{
    position: absolute;
    z-index: 1;
    top: 30px;
    left: 40px;

    width: 230px;
}

header h1 a
{
    display: block;
}

header nav
{
    z-index: 1;

    float: right;

    margin-top: 40px;
    margin-right: 30px;
}

header nav ul .hd__nv__one
{
    display: inline-block;

    margin-right: 30px;
}

header nav ul .hd__nv__one.n_1:hover .pulldown_wrap,
header nav ul .hd__nv__one.n_4:hover .pulldown_wrap
{
    display: block;

    -webkit-animation: show .5s linear 0s forwards;
            animation: show .5s linear 0s forwards;
}

header nav ul .hd__nv__one.n_1 span.h_bk:before,
header nav ul .hd__nv__one.n_1 a.h_bk:before
{
    background-image: url(../images/common/i_company_gr.svg);
}

header nav ul .hd__nv__one.n_1 span:before,
header nav ul .hd__nv__one.n_1 a:before
{
    width: 15px;
    height: 17px;

    background-image: url(../images/common/i_company.svg);
}

header nav ul .hd__nv__one.n_2 span.h_bk:before,
header nav ul .hd__nv__one.n_2 a.h_bk:before
{
    background-image: url(../images/common/i_service_gr.svg);
}

header nav ul .hd__nv__one.n_2 span:before,
header nav ul .hd__nv__one.n_2 a:before
{
    width: 17px;
    height: 18px;

    background-image: url(../images/common/i_service.svg);
}

header nav ul .hd__nv__one.n_3 span.h_bk:before,
header nav ul .hd__nv__one.n_3 a.h_bk:before
{
    background-image: url(../images/common/i_results_gr.svg);
}

header nav ul .hd__nv__one.n_3 span:before,
header nav ul .hd__nv__one.n_3 a:before
{
    width: 17px;
    height: 18px;

    background-image: url(../images/common/i_results.svg);
}

header nav ul .hd__nv__one.n_4 span.h_bk:before,
header nav ul .hd__nv__one.n_4 a.h_bk:before
{
    background-image: url(../images/common/i_recruit_gr.svg);
}

header nav ul .hd__nv__one.n_4 span:before,
header nav ul .hd__nv__one.n_4 a:before
{
    width: 17px;
    height: 17px;

    background-image: url(../images/common/i_recruit.svg);
}

header nav ul .hd__nv__one.n_5 span.h_bk:before,
header nav ul .hd__nv__one.n_5 a.h_bk:before
{
    background-image: url(../images/common/i_contact_gr.svg);
}

header nav ul .hd__nv__one.n_5 span:before,
header nav ul .hd__nv__one.n_5 a:before
{
    width: 17px;
    height: 12px;

    background-image: url(../images/common/i_contact.svg);
}

header nav ul .hd__nv__one.pld.opening:before
{
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
}

header nav ul .hd__nv__one.pld.opening:after
{
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
}

header nav ul .hd__nv__one span,
header nav ul .hd__nv__one a
{
    font-size: 14px;
    font-size: .875rem;
    line-height: 17px;

    cursor: pointer;
    letter-spacing: .02em;

    color: #fff;
}

header nav ul .hd__nv__one span.h_bk,
header nav ul .hd__nv__one a.h_bk
{
    color: #333;
}

header nav ul .hd__nv__one span:before,
header nav ul .hd__nv__one a:before
{
    display: inline-block;

    margin-top: -3px;
    margin-right: 8px;

    content: '';
    vertical-align: middle;

    background-size: contain;
}

header nav ul .hd__nv__one .pulldown_wrap
{
    position: absolute;
    z-index: 10;
    top: 58px;
    left: 0;

    display: none;

    width: 100%;
    padding-top: 42px;
}

header nav ul .hd__nv__one .pulldown_wrap .inner
{
    width: 100%;
    padding: 50px 50px 50px 100px;

    background-color: rgba(255, 255, 255, .9);
}

header nav ul .hd__nv__one .pulldown_wrap .inner p
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 17px;

    float: left;

    margin-top: 20px;

    letter-spacing: .1em;

    opacity: .7;
}

header nav ul .hd__nv__one .pulldown_wrap .inner p:before
{
    display: inline-block;

    margin-top: -3px;
    margin-right: 8px;

    content: '';
    vertical-align: middle;

    background-size: contain;
}

header nav ul .hd__nv__one .pulldown_wrap .inner p.company:before
{
    width: 14px;
    height: 17px;

    background-image: url(../images/common/i_company_bk.svg);
}

header nav ul .hd__nv__one .pulldown_wrap .inner p.recruit:before
{
    width: 17px;
    height: 17px;

    background-image: url(../images/common/i_recruit_bk.svg);
}

header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown
{
    float: right;
}

header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown .pulldown_ttl
{
    display: inline-block;

    width: 180px;
    margin-right: 20px;
}

header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown .pulldown_ttl a
{
    display: block;

    text-align: left;
}

header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown .pulldown_ttl a:before
{
    display: none;
}

header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown .pulldown_ttl a figcaption
{
    font-size: 12px;
    font-size: .75rem;

    margin-top: 10px;

    letter-spacing: .06em;

    color: #333;
}

/*----------------------------------------
	SPハンバーガーメニューボタン
----------------------------------------*/

.c-sp-btn
{
    position: fixed;
    z-index: 101;
    top: 26px;
    right: 20px;

    display: none;
}

.c-sp-btn a
{
    display: block;

    text-align: center;
    text-decoration: none;
}

.c-sp-btn a .line
{
    display: block;

    width: 12.667vw;
    height: 1px;
    margin-bottom: 2vw;

    -webkit-transition: background-color .3s ease;
    -webkit-transition: all 1s;
            transition: background-color .3s ease;
            transition: all 1s;

    background-color: #fff;
}

.c-sp-btn a p
{
    font-size: 3.067vw;
    font-weight: 400;
    line-height: 1;

    -webkit-transition: color .3s ease;
            transition: color .3s ease;
    letter-spacing: .15em;

    color: #fff;
}

.c-sp-btn.is_active a .line.l_1
{
    -webkit-transform: rotate(15deg) translateY(4px);
        -ms-transform: rotate(15deg) translateY(4px);
            transform: rotate(15deg) translateY(4px);
}

.c-sp-btn.is_active a .line.l_2
{
    -webkit-transform: rotate(-15deg) translateY(-5px);
        -ms-transform: rotate(-15deg) translateY(-5px);
            transform: rotate(-15deg) translateY(-5px);
}

.c-sp-btn.is_active a .line.h_bk
{
    background-color: #fff;
}

.c-sp-btn.is_active a .h_bk
{
    color: #fff;
}

.c-sp-btn.is_override a .line
{
    background-color: #fff;
}

.c-sp-btn.is_override a p
{
    color: #fff;
}

/*----------------------------------------
	animation
----------------------------------------*/

@-webkit-keyframes show
{
    from
    {
        opacity: 0;
    }

    to
    {
        opacity: 1;
    }
}

@keyframes show
{
    from
    {
        opacity: 0;
    }

    to
    {
        opacity: 1;
    }
}

a
{
    -webkit-transition: .4s;
            transition: .4s;
}

a:hover
{
    opacity: .6;
}

/*----------------------------------------
	loading
----------------------------------------*/

#js-loading
{
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: all 1.0s;
            transition: all 1.0s;

    background-color: #0c292d;
}

#js-loading.loading_hidden
{
    opacity: 0;
}

#js-loading #loading-ttl .loading__image
{
    position: absolute;
}

#js-loading #loading-ttl .loading__image.l-logo
{
    position: absolute;
    z-index: 100;
    top: 50%;
    left: 50%;

    width: 520px;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

#js-loading #loading-ttl .loading__image.l-logo.js__hide .inner:before
{
    width: 100%;
}

#js-loading #loading-ttl .loading__image.l-logo .inner img
{
    width: 320px;
}

#js-loading #loading-ttl .loading__image.l-ttl
{
    width: 100%;
}

#js-loading #loading-ttl .loading__image.l-ttl.js__show .inner:before
{
    top: 0;
    left: 100%;

    width: 100%;
}

#js-loading #loading-ttl .loading__image.l-ttl .inner
{
    height: 100%;
}

#js-loading #loading-ttl .loading__image.l-ttl .inner:before
{
    z-index: 10;
    top: 0;
    left: 33%;

    width: 100%;
    height: 100vh;
}

#js-loading #loading-ttl .loading__image.l-ttl .inner h2
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;

    width: 33%;
    max-width: 500px;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

#js-loading #loading-ttl .loading__image.l-ttl .inner h2 strong
{
    display: block;
}

#js-loading #loading-ttl .loading__image.l-ttl .inner h2 span
{
    font-family: 'ヒラギノ明朝 ProN W3', 'HiraMinProN-W3', 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
    font-size: 22px;
    font-size: 1.375rem;

    display: block;

    margin-top: 10px;

    letter-spacing: .4rem;

    color: #fff;
}

#js-loading #loading-ttl .loading__image .inner
{
    position: relative;
}

#js-loading #loading-ttl .loading__image .inner:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 0;
    height: 100%;

    content: '';
    -webkit-transition: all 1.8s cubic-bezier(.455, .03, .515, .955);
            transition: all 1.8s cubic-bezier(.455, .03, .515, .955);

    background-color: #0c292d;
}

#js-loading #loading-ttl .loading__image .inner img
{
    max-width: none;
}

/*----------------------------------------
	index.scss
----------------------------------------*/

#wrapper_main
{
    overflow-x: hidden;
}

#wrapper_main main #main_visual
{
    position: relative;

    overflow: hidden;

    height: 100vh;
}

#wrapper_main main #main_visual h2
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;

    width: 33%;
    max-width: 500px;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

#wrapper_main main #main_visual h2 strong
{
    display: block;
}

#wrapper_main main #main_visual h2 span
{
    font-family: 'ヒラギノ明朝 ProN W3', 'HiraMinProN-W3', 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
    font-size: 22px;
    font-size: 1.375rem;

    display: block;

    margin-top: 10px;

    letter-spacing: .4rem;

    color: #fff;
}

#wrapper_main main #main_visual .slider .slideobject
{
    -webkit-transition: 0s;
            transition: 0s;
    /* 画像 ズーム要素の初期設定 */
    -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
            transform: scale(1, 1);
    /* フェード要素の初期設定 */

    opacity: 0;
}

#wrapper_main main #main_visual .slider .slick-active .slideobject
{
    -webkit-transition: opacity 5.0s, -webkit-transform linear 14.0s;
            transition: opacity 5.0s, -webkit-transform linear 14.0s;
            transition: opacity 5.0s, transform linear 14.0s;
            transition: opacity 5.0s, transform linear 14.0s, -webkit-transform linear 14.0s;
    -webkit-transform: scale(1.2, 1.2);
        -ms-transform: scale(1.2, 1.2);
            transform: scale(1.2, 1.2);

    opacity: 1;
}

#wrapper_main main #main_visual .slider .slick-continue .slideobject
{
    -webkit-transition: opacity 5.0s, -webkit-transform linear 14.0s;
            transition: opacity 5.0s, -webkit-transform linear 14.0s;
            transition: opacity 5.0s, transform linear 14.0s;
            transition: opacity 5.0s, transform linear 14.0s, -webkit-transform linear 14.0s;
    -webkit-transform: scale(1.3, 1.3);
        -ms-transform: scale(1.3, 1.3);
            transform: scale(1.3, 1.3);

    opacity: 0;
}

#wrapper_main main #main_visual .slider .slick-arrow
{
    display: none !important;
}

#wrapper_main main #main_visual .slider .slick-list
{
    width: 100%;
    height: 100%;
}

#wrapper_main main #main_visual .slider .slick-list .slick-track
{
    background-size: cover;
}

#wrapper_main main #main_visual .slider .slick-list .slick-track .slick-slide
{
    height: 100vh;
    /* slickによってelement.styleで付けられるopacityを無効化 */

    opacity: 1 !important;
    background-size: cover;
}

#wrapper_main main #main_visual .slider .slick-list .slideobject
{
    height: 110vh;

    background-position: center;
    background-size: cover;
}

#wrapper_main main #main_visual .slider .slick-list .slide-bg1
{
    background-image: url(../images/index/kv01.jpg);
}

#wrapper_main main #main_visual .slider .slick-list .slide-bg2
{
    background-image: url(../images/index/kv02.jpg);
}

#wrapper_main main #main_visual .slider .slick-list .slide-bg3
{
    background-image: url(../images/index/kv03.jpg);
}

#wrapper_main main #main_visual .slider .slick-list .slide-bg4
{
    background-image: url(../images/index/kv04.jpg);
}

#wrapper_main main #main_visual .slider .slick-list .slide-bg5
{
    background-image: url(../images/index/kv05.jpg);
}

#wrapper_main main #main_visual .slider .slick-dots
{
    position: absolute;
    bottom: 90px;
    left: 60px;
}

#wrapper_main main #main_visual .slider .slick-dots li
{
    display: inline-block;

    width: 28px;
    height: 28px;
    margin-right: 15px;

    -webkit-transition: 500ms;
            transition: 500ms;

    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 14px;
}

#wrapper_main main #main_visual .slider .slick-dots li.slick-active
{
    border: 1px solid #fff;
    border-radius: 14px;
}

#wrapper_main main #main_visual .slider .slick-dots li button
{
    line-height: 27px;

    color: #fff;
}

#wrapper_main main #main_visual .ticker_wrap
{
    position: absolute;
    z-index: 1;
    z-index: 1;
    bottom: 0;
    left: 0;

    width: 100%;

    -webkit-transition: 1.5s;
            transition: 1.5s;
    -webkit-transform: translateY(200px);
        -ms-transform: translateY(200px);
            transform: translateY(200px);
}

#wrapper_main main #main_visual .ticker_wrap.js__slideU
{
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
}

#wrapper_main main #main_visual .ticker_wrap .n-ttl
{
    position: absolute;
    z-index: 1;
    top: 55%;
    left: 40px;

    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    letter-spacing: .21em;

    color: #fff;
}

#wrapper_main main #main_visual .ticker_wrap .n-ttl:after
{
    position: absolute;
    top: 40%;
    left: 80px;

    display: inline-block;

    width: 1px;
    height: 25px;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    background-color: #fff;
}

#wrapper_main main #main_visual .ticker_wrap .ticker
{
    position: relative;

    overflow: hidden;

    width: 100%;
    margin: 0 auto;
    padding: 23px 0 30px 20px;

    text-align: left;

    background-color: rgba(255, 255, 255, .2);
}

#wrapper_main main #main_visual .ticker_wrap .ticker ul
{
    position: relative;

    width: calc(100% - 130px);
    margin-left: 130px;
}

#wrapper_main main #main_visual .ticker_wrap .ticker ul li
{
    display: none;

    width: auto;
}

#wrapper_main main #main_visual .ticker_wrap .ticker ul li a
{
    color: #fff;
}

#wrapper_main main #main_visual .ticker_wrap .ticker ul li a small
{
    font-size: 12px;
    font-size: .75rem;

    margin-right: 20px;

    letter-spacing: .24em;

    color: #fff;
}

#wrapper_main main #main_visual .ticker_wrap .ticker ul li a span
{
    letter-spacing: .04em;

    color: #fff;
}

#wrapper_main main #main_visual .n-link
{
    font-size: 12px;
    font-size: .75rem;

    position: absolute;
    z-index: 100;
    top: 55%;
    right: 85px;

    display: block;

    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    letter-spacing: .04em;

    color: #fff;
}

#wrapper_main main #main_visual .movie-area
{
    position: absolute;
    right: 40px;
    bottom: 90px;
}

#wrapper_main main #main_visual .movie-area:after
{
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background-color: rgba(0, 0, 0, .2);
    background-position: 0 0, 2px 2px;
}

#wrapper_main main #main_visual .movie-area:before
{
    position: absolute;
    z-index: 1;
    top: 72%;
    left: 50%;

    display: block;

    content: 'PROMOTION MOVIE';
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    white-space: nowrap;
    letter-spacing: .04em;

    color: #fff;
}

#wrapper_main main #main_visual .movie-area .movie
{
    width: 300px;
    height: 168.75px;
}

#wrapper_main main #main_visual .movie-area .youtube-modal
{
    position: absolute;
    z-index: 1;
    top: 48%;
    left: 50%;

    width: 50px;

    -webkit-transition: .5s;
            transition: .5s;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform-origin: 5px 10px;
        -ms-transform-origin: 5px 10px;
            transform-origin: 5px 10px;
}

#wrapper_main main #main_visual .movie-area .youtube-modal:hover
{
    -webkit-transform: scale(1.15) translate(-50%, -50%);
        -ms-transform: scale(1.15) translate(-50%, -50%);
            transform: scale(1.15) translate(-50%, -50%);
}

#wrapper_main main .movie-area_sp
{
    position: relative;

    background-color: #094850;
}

#wrapper_main main .movie-area_sp .inner
{
    position: relative;
    z-index: 1;

    width: 50%;
    margin: 0 auto;
    padding: 120px 0;
}

#wrapper_main main .movie-area_sp .inner:after
{
    font-size: 14px;
    font-size: .875rem;

    position: absolute;
    z-index: 1;
    top: 50%;
    right: 50%;

    content: 'PROMOTION MOVIE';
    -webkit-transform: translate(50%, -95px);
        -ms-transform: translate(50%, -95px);
            transform: translate(50%, -95px);
    letter-spacing: .1em;
    text-transform: uppercase;

    color: #fff;
}

#wrapper_main main .movie-area_sp .inner:before
{
    font-size: 13px;
    font-size: .8125rem;

    position: absolute;
    z-index: 1;
    top: 57.5%;
    left: 50%;

    display: block;

    content: '型枠大工の職長さんの1日に密着しました';
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    white-space: nowrap;
    letter-spacing: .04em;

    color: #fff;
}

#wrapper_main main .movie-area_sp .inner .movie
{
    width: 100%;
}

#wrapper_main main .movie-area_sp .inner .youtube-modal
{
    position: absolute;
    z-index: 1;
    top: 48%;
    left: 50%;

    width: 70px;

    -webkit-transition: .5s;
            transition: .5s;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform-origin: 5px 10px;
        -ms-transform-origin: 5px 10px;
            transform-origin: 5px 10px;
}

#wrapper_main main .movie-area_sp .inner .youtube-modal:hover
{
    -webkit-transform: scale(1.15) translate(-50%, -50%);
        -ms-transform: scale(1.15) translate(-50%, -50%);
            transform: scale(1.15) translate(-50%, -50%);
}

#wrapper_main main .movie-area_sp .loop_inner
{
    position: absolute;
    top: 50%;

    width: calc(1280px * 3);

    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

#wrapper_main main .movie-area_sp .loop_inner span
{
    position: relative;

    float: left;

    width: 1280px;
    padding-right: 100px;

    -webkit-animation-name: slider01;
            animation-name: slider01;
    -webkit-animation-duration: 10s;
            animation-duration: 10s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
}

#wrapper_main main .news_wrap
{
    position: relative;

    width: 86.6%;
    margin: 0 auto;
    padding: 40px 0;

    text-align: left;
}

#wrapper_main main .news_wrap .n-ttl
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;

    letter-spacing: .16em;
}

#wrapper_main main .news_wrap .n-ttl:after
{
    display: block;

    width: 15%;
    height: 2px;
    margin-top: 5px;

    content: '';

    background-color: #333;
}

#wrapper_main main .news_wrap .news
{
    margin-top: 30px;
}

#wrapper_main main .news_wrap .news li
{
    margin-top: 18px;
}

#wrapper_main main .news_wrap .news li a small
{
    font-size: 11px;
    font-size: .6875rem;

    display: block;

    letter-spacing: .13em;

    color: #666;
}

#wrapper_main main .news_wrap .news li a span
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.4;

    display: block;

    margin-top: 5px;

    letter-spacing: .04em;
}

#wrapper_main main .news_wrap .n-link
{
    position: absolute;
    top: 35px;
    right: 0;

    padding: 10px 15px 8px;

    color: #094850;
    border: 1px solid #094850;
}

#wrapper_main main #ourvition .inner
{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 120px 0;
}

#wrapper_main main #ourvition .inner img
{
    float: left;

    width: 310px;
}

#wrapper_main main #ourvition .inner p
{
    font-size: 16px;
    font-size: 1rem;
    line-height: 2.5;

    display: inline-block;
    float: right;

    text-align: left;
    letter-spacing: .1em;
}

#wrapper_main main #focus-nav ul li
{
    float: left;

    width: 33.3%;

    background-size: cover;
}

#wrapper_main main #focus-nav ul li:first-child
{
    background-image: url(../images/index/bg_company.jpg);
}

#wrapper_main main #focus-nav ul li:nth-child(2)
{
    width: 33.4%;

    background-image: url(../images/index/bg_service.jpg);
}

#wrapper_main main #focus-nav ul li:nth-child(3)
{
    background-image: url(../images/index/bg_recruit.jpg);
}

#wrapper_main main #focus-nav ul li a
{
    display: block;

    padding: 150px 0;
}

#wrapper_main main #focus-nav ul li a small
{
    font-size: 14px;
    font-size: .875rem;

    display: block;

    letter-spacing: .21em;
    text-transform: uppercase;

    color: #fff;
}

#wrapper_main main #focus-nav ul li a strong
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 500;

    display: block;

    margin-top: 17px;

    letter-spacing: .12em;

    color: #fff;
}

#wrapper_main main #focus-nav ul li a span
{
    font-size: 14px;
    font-size: .875rem;

    display: block;

    margin-top: 20px;

    letter-spacing: .06em;

    color: #fff;
}

#wrapper_main main #results
{
    padding: 120px 0 110px;

    background-image: url(../images/index/bg_results.jpg);
    background-position: center;
    background-size: cover;
}

#wrapper_main main #results .inner
{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

#wrapper_main main #results .inner h3:before
{
    display: block;

    width: 100px;
    height: 1px;
    margin: 0 auto;

    content: '';

    background-color: #094850;
}

#wrapper_main main #results .inner h3 strong
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;

    display: block;

    margin-top: 40px;

    letter-spacing: .12em;
}

#wrapper_main main #results .inner h3 span
{
    font-size: 14px;
    font-size: .875rem;

    display: block;

    margin-top: 25px;

    letter-spacing: .06em;
}

#wrapper_main main #results .inner ul
{
    margin-top: 60px;
}

#wrapper_main main #results .inner ul li
{
    float: left;

    width: 32%;
    margin-right: 2%;
    margin-bottom: 50px;
}

#wrapper_main main #results .inner ul li:nth-child(3n)
{
    margin-right: 0;
}

#wrapper_main main #results .inner ul li figcaption
{
    font-weight: 600;

    margin-top: 15px;

    text-align: left;
    letter-spacing: .06em;
}

#wrapper_main main #results .inner ul li figcaption small
{
    font-size: 12px;
    font-size: .75rem;
    font-weight: 400;

    letter-spacing: .06em;
}

#wrapper_main main #results .inner .btn
{
    font-weight: 600;

    display: block;

    width: 460px;
    margin: 0 auto;
    padding: 25px 0 23px;

    letter-spacing: .12em;

    color: #094850;
    border: 1px solid #094850;
}

#wrapper_main main #point .inner
{
    width: 802px;
    margin: 100px auto 0;
    padding: 153px 0;

    background-image: url(../images/index/bg_point.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#wrapper_main main #point .inner .ttl small
{
    font-size: 14px;
    font-size: .875rem;

    display: block;

    letter-spacing: .2em;

    color: #094850;
}

#wrapper_main main #point .inner .ttl img
{
    display: block;

    width: 290px;
    margin: 40px auto 0;
}

#wrapper_main main #point .inner .icon-area
{
    width: 500px;
    margin: 40px auto 0;
}

#wrapper_main main #point .inner .icon-area ul li
{
    float: left;

    width: 22%;
    margin-top: 30px;
    margin-right: 4%;
}

#wrapper_main main #point .inner .icon-area ul li:nth-child(4n)
{
    margin-right: 0;
}

#wrapper_main main #point .inner .icon-area ul li figure
{
    height: 45px;
}

#wrapper_main main #point .inner .icon-area ul li figcaption
{
    margin-top: 20px;
}

#wrapper_main main #point .inner .txt
{
    margin-top: 80px;

    text-align: center;
}

#wrapper_main main #point .inner .txt strong
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;

    display: block;

    text-align: center;
    letter-spacing: .06em;
}

#wrapper_main main #point .inner .txt small
{
    font-size: 11px;
    font-size: .6875rem;

    display: block;

    margin-top: 10px;

    text-align: center;
    letter-spacing: .06em;

    color: #666;
}

#wrapper_main main #area
{
    position: relative;
    z-index: -1;

    overflow: hidden;

    margin-top: -100px;

    background-image: url(../images/index/bg_area.jpg);
    background-position: center top;
    background-size: cover;
}

#wrapper_main main #area span
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    background-image: url(../images/index/bg_area_overlay.png);
    background-repeat: no-repeat;
    background-position: center 180px;
    background-size: contain;
}

#wrapper_main main #area .inner
{
    padding: 400px 0 180px;
}

#wrapper_main main #area .inner h3
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;

    letter-spacing: .12em;

    color: #fff;
}

#wrapper_main main #area .inner p
{
    margin-top: 50px;
}

#wrapper_main main #area .inner p small
{
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 2.5;

    display: block;

    letter-spacing: .1em;

    color: #fff;
}

#wrapper_main main #map iframe
{
    width: 100%;
    height: 420px;
}

/*----------------------------------------
	scroll
----------------------------------------*/

#scroll-down::before
{
    position: absolute;
    right: 50px;
    bottom: 70px;

    width: 1px;
    height: 10vh;
    margin-left: -1px;

    content: '';
    -webkit-animation: elasticus 3.8s cubic-bezier(1, 0, 0, 1) infinite;
            animation: elasticus 3.8s cubic-bezier(1, 0, 0, 1) infinite;

    background: rgba(255, 255, 255, .5);
}

@-webkit-keyframes elasticus
{
    0%
    {
        -webkit-transform: scale(1, 0);
                transform: scale(1, 0);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;
    }

    50%
    {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;
    }

    50.1%
    {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1);
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
    }

    100%
    {
        -webkit-transform: scale(1, 0);
                transform: scale(1, 0);
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
    }
}

@keyframes elasticus
{
    0%
    {
        -webkit-transform: scale(1, 0);
                transform: scale(1, 0);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;
    }

    50%
    {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;
    }

    50.1%
    {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1);
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
    }

    100%
    {
        -webkit-transform: scale(1, 0);
                transform: scale(1, 0);
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
    }
}

@-webkit-keyframes slider01
{
    0%
    {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }

    100%
    {
        -webkit-transform: translateX(-1280px);
                transform: translateX(-1280px);
    }
}

@keyframes slider01
{
    0%
    {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }

    100%
    {
        -webkit-transform: translateX(-1280px);
                transform: translateX(-1280px);
    }
}

/*----------------------------------------
	colorbox
----------------------------------------*/

/*
      Colorbox Core Style:
      The following CSS is consistent between example themes and should not be altered.
  */

#colorbox,
#cboxOverlay,
#cboxWrapper
{
    position: absolute;
    z-index: 9999;
    top: 0;
    left: 0;

    overflow: hidden;

    -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper
{
    max-width: none;
}

#cboxOverlay
{
    position: fixed;

    width: 100%;
    height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft
{
    clear: left;
}

#cboxContent
{
    position: relative;
}

#cboxLoadedContent
{
    overflow: auto;

    -webkit-overflow-scrolling: touch;
}

#cboxTitle
{
    margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow
{
    cursor: pointer;
}

.cboxPhoto
{
    display: block;
    float: left;

    max-width: none;
    margin: auto;

    -ms-interpolation-mode: bicubic;
    border: 0;
}

.cboxIframe
{
    display: block;

    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;

    border: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent
{
    -webkit-box-sizing: content-box;
       -moz-box-sizing: content-box;
            box-sizing: content-box;
}

#cboxOverlay:before
{
    position: absolute;
    top: 50px;
    right: 25px;

    display: block;

    width: 70px;
    height: 1px;

    content: '';
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    background-color: #fff;
}

#cboxOverlay:after
{
    position: absolute;
    top: 50px;
    right: 25px;

    display: block;

    width: 70px;
    height: 1px;

    content: '';
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);

    background-color: #fff;
}

/*
      User Style:
      Change the following styles to modify the appearance of Colorbox.  They are
      ordered & tabbed in a way that represents the nesting of the generated HTML.
  */

#cboxOverlay
{
    opacity: .9;
    background: #000;

    filter: alpha(opacity=90);
}

#colorbox
{
    outline: 0;
}

#cboxTopLeft
{
    width: 14px;
    height: 14px;

    background: url(../images/controls.png) no-repeat 0 0;
}

#cboxTopCenter
{
    height: 14px;

    background: url(../images/border.png) repeat-x top left;
}

#cboxTopRight
{
    width: 14px;
    height: 14px;

    background: url(../images/controls.png) no-repeat -36px 0;
}

#cboxBottomLeft
{
    width: 14px;
    height: 43px;

    background: url(../images/controls.png) no-repeat 0 -32px;
}

#cboxBottomCenter
{
    height: 43px;

    background: url(../images/border.png) repeat-x bottom left;
}

#cboxBottomRight
{
    width: 14px;
    height: 43px;

    background: url(../images/controls.png) no-repeat -36px -32px;
}

#cboxMiddleLeft
{
    width: 14px;

    background: url(../images/controls.png) repeat-y -175px 0;
}

#cboxMiddleRight
{
    width: 14px;

    background: url(../images/controls.png) repeat-y -211px 0;
}

#cboxContent
{
    overflow: visible;

    background: #fff;
}

.cboxIframe
{
    background: #fff;
}

#cboxError
{
    padding: 50px;

    border: 1px solid #ccc;
}

#cboxLoadedContent
{
    margin-bottom: 5px;
}

#cboxLoadingOverlay
{
    background: url(../images/loading_background.png) no-repeat center center;
}

#cboxLoadingGraphic
{
    background: url(../images/loading.gif) no-repeat center center;
}

#cboxTitle
{
    font-weight: bold;

    position: absolute;
    bottom: -25px;
    left: 0;

    width: 100%;

    text-align: center;

    color: #7c7c7c;
}

#cboxCurrent
{
    font-weight: bold;

    position: absolute;
    bottom: -25px;
    left: 58px;

    color: #7c7c7c;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */

#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose
{
    position: absolute;
    bottom: -29px;

    overflow: visible;

    width: 23px;
    height: 23px;
    margin: 0;
    padding: 0;

    text-indent: -9999px;

    border: 0;
    background: url(../images/controls.png) no-repeat 0 0;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */

#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active
{
    outline: 0;
}

#cboxPrevious
{
    left: 0;

    background-position: -51px -25px;
}

#cboxPrevious:hover
{
    background-position: -51px 0;
}

#cboxNext
{
    left: 27px;

    background-position: -75px -25px;
}

#cboxNext:hover
{
    background-position: -75px 0;
}

#cboxClose
{
    right: 0;

    background-position: -100px -25px;
}

#cboxClose:hover
{
    background-position: -100px 0;
}

.cboxSlideshow_on #cboxSlideshow
{
    right: 27px;

    background-position: -125px 0;
}

.cboxSlideshow_on #cboxSlideshow:hover
{
    background-position: -150px 0;
}

.cboxSlideshow_off #cboxSlideshow
{
    right: 27px;

    background-position: -150px -25px;
}

.cboxSlideshow_off #cboxSlideshow:hover
{
    background-position: -125px 0;
}

/*----------------------------------------
	sub
----------------------------------------*/

.sub_wrapper_main
{
    overflow-x: hidden;
}

.sub_wrapper_main main.bk_gy
{
    background-color: #fafafa;
}

.sub_wrapper_main main .sub_kv
{
    position: relative;

    overflow: hidden;

    height: 580px;

    background-position: center;
    background-size: cover;
}

.sub_wrapper_main main .sub_kv#kv_companypr .bg
{
    background-image: url(../images/company/kv_companyprofile.jpg);
    background-position: right;
}

.sub_wrapper_main main .sub_kv#kv_service .bg
{
    background-image: url(../images/service/kv_service.jpg);
}

.sub_wrapper_main main .sub_kv#kv_philosophy .bg
{
    background-image: url(../images/company/kv_philosophy.jpg);
}

.sub_wrapper_main main .sub_kv.kvnone
{
    height: auto;
    padding-top: 270px;
}

.sub_wrapper_main main .sub_kv.kvnone .inner
{
    height: auto;
}

.sub_wrapper_main main .sub_kv.kvnone .inner .ttl
{
    position: static;
}

.sub_wrapper_main main .sub_kv.kvnone_thanks
{
    height: auto;
    padding-top: 170px;
}

.sub_wrapper_main main .sub_kv.kvnone_thanks .inner
{
    height: auto;
}

.sub_wrapper_main main .sub_kv.kvnone_thanks .inner .ttl
{
    position: static;
}

.sub_wrapper_main main .sub_kv .inner
{
    position: relative;

    width: 100%;
    max-width: 1200px;
    height: 580px;
    margin: 0 auto;
}

.sub_wrapper_main main .sub_kv .inner .ttl
{
    position: absolute;
    bottom: 100px;
    left: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

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

.sub_wrapper_main main .sub_kv .inner .ttl strong
{
    display: inline-block;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.copmpr
{
    width: 650px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.service
{
    width: 460px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.philosophy
{
    width: 432px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.results
{
    width: 290px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.faq
{
    width: 135px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.requirements
{
    width: 530px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.entry
{
    width: 440px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.news
{
    width: 190px;
}

.sub_wrapper_main main .sub_kv .inner .ttl strong.voc
{
    width: 625px;
}

.sub_wrapper_main main .sub_kv .inner .ttl small
{
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;

    margin-left: 40px;

    letter-spacing: .12em;

    color: #fff;
}

.sub_wrapper_main main .sub_kv .inner .ttl small.bk
{
    color: #333;
}

.sub_wrapper_main main .topicpath
{
    max-width: 1200px;
    margin: 50px auto 0;

    -webkit-transform: translateX(-15px);
        -ms-transform: translateX(-15px);
            transform: translateX(-15px);
    text-align: left;

    color: #999;
}

.sub_wrapper_main main .topicpath a,
.sub_wrapper_main main .topicpath span
{
    font-size: 12px;
    font-size: .75rem;

    margin: 0 15px;

    letter-spacing: .12em;
}

.sub_wrapper_main main .topicpath a.cgr,
.sub_wrapper_main main .topicpath span.cgr
{
    color: #999;
}

.sub_wrapper_main main .subcontent
{
    margin-top: 80px;
}

.sub_wrapper_main main .subcontent #requirements
{
    padding-bottom: 150px;
}

.sub_wrapper_main main .subcontent .inner
{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.sub_wrapper_main main .subcontent .inner h3
{
    text-align: left;
}

.sub_wrapper_main main .subcontent .inner h3:before
{
    display: block;

    width: 80px;
    height: 1px;

    content: '';

    background-color: #094850;
}

.sub_wrapper_main main .subcontent .inner h3 strong
{
    font-size: 32px;
    font-size: 2rem;
    font-weight: 600;

    display: block;

    margin-top: 50px;

    letter-spacing: .2em;
    text-transform: uppercase;
}

.sub_wrapper_main main .subcontent .inner h3 small
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;

    display: block;

    margin-top: 10px;

    letter-spacing: .22em;

    color: #666;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    text-align: left;

    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
            justify-content: flex-start;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li:first-child
{
    margin-top: 110px;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li:first-child .ll
{
    border-top: 1px solid #707070;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li:first-child .lr
{
    border-top: 1px solid #c7c7c7;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li .ll
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;

    width: 27.5%;
    padding: 50px 0 50px 0;

    letter-spacing: .12em;

    border-bottom: 1px solid #707070;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li .lr
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.9;

    width: 72.5%;
    padding: 50px 0 50px 0;

    letter-spacing: .12em;

    color: #777;
    border-bottom: 1px solid #c7c7c7;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li .lr strong
{
    line-height: 2.2;

    float: left;

    margin-right: 20px;

    color: #777;
}

.sub_wrapper_main main .subcontent .inner .list_block ul li .lr span
{
    line-height: 2.2;

    float: left;

    color: #777;
}

.sub_wrapper_main main .subcontent #advantage,
.sub_wrapper_main main .subcontent #ceo
{
    margin-top: 160px;
    padding: 150px 0 50px;

    background-color: #fafafa;
}

.sub_wrapper_main main .subcontent #advantage .inner .advantage_box,
.sub_wrapper_main main .subcontent #ceo .inner .advantage_box
{
    margin-top: 100px;
}

.sub_wrapper_main main .subcontent #advantage .inner .advantage_box li,
.sub_wrapper_main main .subcontent #ceo .inner .advantage_box li
{
    float: left;

    width: 48.3%;
    margin-right: 3.4%;
    margin-bottom: 100px;
}

.sub_wrapper_main main .subcontent #advantage .inner .advantage_box li:nth-child(2n),
.sub_wrapper_main main .subcontent #ceo .inner .advantage_box li:nth-child(2n)
{
    margin-right: 0;
}

.sub_wrapper_main main .subcontent #advantage .inner .advantage_box li dl,
.sub_wrapper_main main .subcontent #ceo .inner .advantage_box li dl
{
    text-align: left;
}

.sub_wrapper_main main .subcontent #advantage .inner .advantage_box li dl dt,
.sub_wrapper_main main .subcontent #ceo .inner .advantage_box li dl dt
{
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: 600;

    margin-top: 40px;

    letter-spacing: .12em;
}

.sub_wrapper_main main .subcontent #advantage .inner .advantage_box li dl dd,
.sub_wrapper_main main .subcontent #ceo .inner .advantage_box li dl dd
{
    font-size: 16px;
    font-size: 1rem;
    line-height: 2;

    margin-top: 20px;

    letter-spacing: .12em;

    color: #666;
}

.sub_wrapper_main .sub_link
{
    margin: 100px 0;
}

.sub_wrapper_main .sub_link ul li
{
    float: left;

    width: 50%;

    border-right: 1px solid #c7c7c7;
}

.sub_wrapper_main .sub_link ul li:last-child
{
    border-right: none;
}

.sub_wrapper_main .sub_link ul li a
{
    display: block;

    padding: 100px;
}

.sub_wrapper_main .sub_link ul li a strong
{
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: bold;

    display: block;

    letter-spacing: .2em;
    text-transform: uppercase;
}

.sub_wrapper_main .sub_link ul li a span
{
    font-size: 16px;
    font-size: 1rem;

    display: block;

    margin-top: 15px;

    letter-spacing: .14em;

    color: #666;
}

/*------------ service ------------*/

.service_description_bg
{
    background-image: url(../images/service/bg_service.jpg);
    background-size: cover;
}

.service_description_bg .inner
{
    position: relative;

    max-width: 1200px;
    margin: 0 auto;
    padding: 160px 0 130px;
}

.service_description_bg .inner .topicpath
{
    position: absolute;
    top: 50px;
    left: 0;

    margin-top: 0;
}

.service_description_bg .inner .description
{
    text-align: left;
}

.service_description_bg .inner .description h3
{
    font-size: 32px;
    font-size: 2rem;
    font-weight: 600;

    float: left;

    width: 45%;

    letter-spacing: .18em;
}

.service_description_bg .inner .description p
{
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 2.3;

    float: left;
    float: left;

    width: 55%;

    letter-spacing: .1em;
}

#workflow-wrap
{
    margin-top: 0;
}

#workflow-wrap #workflow
{
    padding-top: 100px;
    padding-bottom: 40px;

    background-color: #fafafa;
}

#workflow-wrap #workflow .inner #workflow_box
{
    padding-top: 70px;
}

#workflow-wrap #workflow .inner #workflow_box ul li
{
    line-height: 1.4;

    display: block;
    float: left;

    width: 31.6%;
    margin-top: 0;
    margin-right: 2.6%;
    margin-bottom: 60px;
}

#workflow-wrap #workflow .inner #workflow_box ul li:nth-child(3n)
{
    margin-right: 0;
}

#workflow-wrap #workflow .inner #workflow_box ul li figure
{
    width: 100%;
}

#workflow-wrap #workflow .inner #workflow_box ul li figcaption
{
    font-size: 16px;
    font-size: 1rem;

    margin-top: 20px;

    letter-spacing: .06em;
}

/*------------ philosophy ------------*/

#philosophy .inner .philosophy_box
{
    margin-top: 90px;
}

#philosophy .inner .philosophy_box ul li:last-child
{
    margin-right: 0;
}

#philosophy .inner .philosophy_box ul li figure
{
    float: left;

    max-width: 250px;
    margin: 0 auto;
}

#philosophy .inner .philosophy_box ul li figcaption
{
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.68;

    float: left;

    margin-top: 50px;

    text-align: left;
    letter-spacing: .26em;
}

#philosophy .inner .philosophy_box ul li figcaption strong
{
    font-family: 'ヒラギノ明朝 ProN W3', 'HiraMinProN-W3', 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
    font-size: 30px;
    font-size: 1.875rem;

    display: block;
}

#philosophy .inner .philosophy_box ul li figcaption span
{
    font-size: 20px;
    font-size: 1.25rem;

    display: block;

    margin-top: 15px;

    letter-spacing: .15em;

    color: #666;
}

#ceo .ceo_image
{
    height: 50vh;
    margin-top: 70px;

    background-image: url(../images/company/ceo.jpg);
    background-size: cover;
}

#ceo .message
{
    margin-top: 130px;
    padding-bottom: 100px;

    text-align: left;
}

#ceo .message .intro
{
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 2.0;

    text-align: left;
    letter-spacing: .1em;

    color: #333;
}

#ceo .message .intro strong
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;

    display: block;

    margin-bottom: 25px;
}

#ceo .message .layout_l
{
    margin-top: 120px;
}

#ceo .message .layout_l .photo
{
    float: left;

    width: 100%;
}

#ceo .message .layout_r
{
    position: relative;

    margin-top: 80px;
}

#ceo .message .layout_r .photo
{
    float: right;

    width: 60%;
}

#ceo .message .layout_c
{
    margin-top: 80px;
    margin-bottom: 150px;
}

#ceo .message .layout_c .photo
{
    width: 60%;
}

#ceo .message .layout_txt
{
    font-size: 18px;
    font-size: 1.125rem;

    background-color: #fafafa;
}

#ceo .message .layout_txt.right
{
    position: relative;
    z-index: 1;

    float: right;

    width: 78%;
    margin-top: -40px;
    padding: 60px 0 60px 60px;
}

#ceo .message .layout_txt.left
{
    position: absolute;
    top: 50%;
    left: 0;

    width: 38%;
    padding: 50px 50px 50px 0;

    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

#ceo .message .layout_txt strong
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;

    display: block;

    margin-bottom: 25px;
}

#ceo .message p
{
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 2.0;

    letter-spacing: .1em;

    color: #333;
}

#ceo .message p span
{
    font-size: 14px;
    font-size: .875rem;

    display: block;

    margin-top: 50px;

    text-align: right;
}

/*------------ results ------------*/

.segment
{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 40px;

    text-align: left;

    background-color: #fff;
}

.segment strong
{
    font-size: 16px;
    font-size: 1rem;

    float: left;

    padding: 60px 0 60px 120px;

    letter-spacing: .12em;
    text-transform: uppercase;

    color: #666;
}

.segment ul
{
    float: right;

    padding: 60px 60px 10px 0;
}

.segment ul li
{
    display: inline-block;

    margin-right: 50px;
}

.segment ul li a
{
    font-size: 16px;
    font-size: 1rem;

    letter-spacing: .12em;

    color: #666;
}

.segment ul li a.active
{
    position: relative;
}

.segment ul li a.active:after
{
    position: absolute;
    bottom: -10px;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background-color: #094850;
}

#results_box_wrap,
#news_box_wrap
{
    margin-top: 60px;
}

#results_box_wrap #results_box .inner .pickup_block .info,
#news_box_wrap #results_box .inner .pickup_block .info,
#news_box_wrap #news_box .inner .pickup_block .info,
#results_box_wrap #results_box .inner .small_block .info,
#news_box_wrap #results_box .inner .small_block .info,
#news_box_wrap #news_box .inner .small_block .info
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
            align-items: stretch;
}

#results_box_wrap #results_box .inner .pickup_block .info .info_list,
#news_box_wrap #results_box .inner .pickup_block .info .info_list,
#news_box_wrap #news_box .inner .pickup_block .info .info_list,
#results_box_wrap #results_box .inner .small_block .info .info_list,
#news_box_wrap #results_box .inner .small_block .info .info_list,
#news_box_wrap #news_box .inner .small_block .info .info_list
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    float: left;
            flex-direction: column;

    width: 48.3%;
    margin-right: 3.4%;
    margin-bottom: 40px;

    background-color: #fff;

    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}

#results_box_wrap #results_box .inner .pickup_block .info .info_list:nth-child(2n),
#news_box_wrap #results_box .inner .pickup_block .info .info_list:nth-child(2n),
#news_box_wrap #news_box .inner .pickup_block .info .info_list:nth-child(2n),
#results_box_wrap #results_box .inner .small_block .info .info_list:nth-child(2n),
#news_box_wrap #results_box .inner .small_block .info .info_list:nth-child(2n),
#news_box_wrap #news_box .inner .small_block .info .info_list:nth-child(2n)
{
    margin-right: 0;
}

#results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption,
#news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption,
#news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption,
#results_box_wrap #results_box .inner .small_block .info .info_list figcaption,
#news_box_wrap #results_box .inner .small_block .info .info_list figcaption,
#news_box_wrap #news_box .inner .small_block .info .info_list figcaption
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    padding: 40px;

    text-align: left;

    background-color: #fff;

    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}

#results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption p,
#news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption p,
#news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption p,
#results_box_wrap #results_box .inner .small_block .info .info_list figcaption p,
#news_box_wrap #results_box .inner .small_block .info .info_list figcaption p,
#news_box_wrap #news_box .inner .small_block .info .info_list figcaption p
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.4;

    margin-bottom: 30px;

    letter-spacing: .06em;
}

#results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li,
#news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li,
#news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption ul li,
#results_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
#news_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
#news_box_wrap #news_box .inner .small_block .info .info_list figcaption ul li
{
    float: left;

    width: 40%;
    margin-bottom: 20px;
}

#results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li small,
#news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li small,
#news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption ul li small,
#results_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li small,
#news_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li small,
#news_box_wrap #news_box .inner .small_block .info .info_list figcaption ul li small
{
    font-size: 14px;
    font-size: .875rem;

    display: block;

    letter-spacing: .06em;

    color: #999;
}

#results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li strong,
#news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li strong,
#news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption ul li strong,
#results_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li strong,
#news_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li strong,
#news_box_wrap #news_box .inner .small_block .info .info_list figcaption ul li strong
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;

    display: block;

    margin-top: 10px;

    letter-spacing: .06em;
}

#results_box_wrap #results_box .inner .small_block,
#news_box_wrap #results_box .inner .small_block,
#news_box_wrap #news_box .inner .small_block
{
    display: block;
}

#results_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
#news_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
#news_box_wrap #news_box .inner .small_block .info .info_list figcaption ul li
{
    width: auto;
    margin-right: 30px;
    margin-bottom: 0;
}

#results_box_wrap #results_box .inner .pager,
#news_box_wrap #results_box .inner .pager,
#news_box_wrap #news_box .inner .pager
{
    padding-top: 60px;
    padding-bottom: 90px;
}

#results_box_wrap #results_box .inner .pager ul li,
#news_box_wrap #results_box .inner .pager ul li,
#news_box_wrap #news_box .inner .pager ul li
{
    display: inline-block;
}

#results_box_wrap #results_box .inner .pager ul li:last-child a,
#news_box_wrap #results_box .inner .pager ul li:last-child a,
#news_box_wrap #news_box .inner .pager ul li:last-child a
{
    margin-right: 0;
}

#results_box_wrap #results_box .inner .pager ul li a,
#news_box_wrap #results_box .inner .pager ul li a,
#news_box_wrap #news_box .inner .pager ul li a
{
    font-size: 19px;
    font-size: 1.1875rem;

    margin-right: 50px;

    color: #666;
}

#results_box_wrap #results_box .inner .pager ul li span,
#news_box_wrap #results_box .inner .pager ul li span,
#news_box_wrap #news_box .inner .pager ul li span
{
    font-size: 19px;
    font-size: 1.1875rem;

    margin-right: 50px;

    color: #666;
}

#results_box_wrap #results_box .inner .pager ul li span.active,
#news_box_wrap #results_box .inner .pager ul li span.active,
#news_box_wrap #news_box .inner .pager ul li span.active
{
    position: relative;
}

#results_box_wrap #results_box .inner .pager ul li span.active:after,
#news_box_wrap #results_box .inner .pager ul li span.active:after,
#news_box_wrap #news_box .inner .pager ul li span.active:after
{
    position: absolute;
    bottom: -10px;
    left: -50%;

    display: block;

    width: 200%;
    height: 1px;

    content: '';

    background-color: #094850;
}

/*------------ faq ------------*/

#faq_wrap
{
    padding-bottom: 150px;
}

#faq_wrap #faq_box .inner
{
    width: 100%;
    max-width: 1200px;
}

#faq_wrap #faq_box .inner ul li
{
    margin-bottom: 20px;
    padding: 40px;

    text-align: left;

    background-color: #fff;
}

#faq_wrap #faq_box .inner ul li .question dt
{
    font-size: 16px;
    font-size: 1rem;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #999;
}

#faq_wrap #faq_box .inner ul li .question dd
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;

    margin-top: 20px;

    letter-spacing: .08em;
}

#faq_wrap #faq_box .inner ul li .anser
{
    margin-top: 40px;
    margin-left: 20px;
}

#faq_wrap #faq_box .inner ul li .anser dt
{
    font-size: 16px;
    font-size: 1rem;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #999;
}

#faq_wrap #faq_box .inner ul li .anser dd
{
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.8;

    margin-top: 15px;
    margin-right: 20px;

    letter-spacing: .08em;

    color: #094850;
}

.movie-area_wide
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 400px;
}

.movie-area_wide:before
{
    font-size: 13px;
    font-size: .8125rem;
    font-style: italic;

    position: absolute;
    z-index: 1;
    top: 50%;
    right: 50%;

    content: 'NAKAJYO construction';
    -webkit-transform: translate(50%, -90px);
        -ms-transform: translate(50%, -90px);
            transform: translate(50%, -90px);
    letter-spacing: .06em;
    text-transform: uppercase;

    color: #fff;
}

.movie-area_wide:after
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;

    position: absolute;
    z-index: 1;
    top: 50%;
    right: 50%;

    content: 'PROMOTION MOVIE';
    -webkit-transform: translate(50%, 80px);
        -ms-transform: translate(50%, 80px);
            transform: translate(50%, 80px);
    letter-spacing: .14em;

    color: #fff;
}

.movie-area_wide video
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100%;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.movie-area_wide .youtube-modal
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;

    display: block;

    width: 80px;

    -webkit-transition: .5s;
            transition: .5s;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform-origin: 5px 10px;
        -ms-transform-origin: 5px 10px;
            transform-origin: 5px 10px;
}

.movie-area_wide .youtube-modal:hover
{
    -webkit-transform: scale(1.15) translate(-50%, -50%);
        -ms-transform: scale(1.15) translate(-50%, -50%);
            transform: scale(1.15) translate(-50%, -50%);
}

.recruit_link .inner
{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 0;
}

.recruit_link .inner h4
{
    font-size: 32px;
    font-size: 2rem;
    font-weight: 600;

    letter-spacing: .2em;
    text-transform: uppercase;
}

.recruit_link .inner ul
{
    margin-top: 60px;
}

.recruit_link .inner ul li
{
    float: left;

    width: 32.6%;
    margin-right: 1.1%;

    background-position: center;
    background-size: cover;
}

.recruit_link .inner ul li:first-child
{
    background-image: url(../images/common/link_recruit01.jpg);
}

.recruit_link .inner ul li:nth-child(2)
{
    background-image: url(../images/common/link_recruit02.jpg);
}

.recruit_link .inner ul li:last-child
{
    margin-right: 0;

    background-image: url(../images/common/link_recruit03.jpg);
}

.recruit_link .inner ul li a
{
    display: block;

    padding: 100px 0;
}

.recruit_link .inner ul li a small
{
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;

    display: block;

    letter-spacing: .21em;
    text-transform: uppercase;

    color: #fff;
}

.recruit_link .inner ul li a strong
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;

    display: block;

    margin-top: 20px;

    letter-spacing: .12em;

    color: #fff;
}

.recruit_link .inner ul li a span
{
    font-size: 14px;
    font-size: .875rem;

    display: block;

    margin-top: 20px;

    letter-spacing: .06em;

    color: #fff;
}

.recruit_link .inner ul li a .btn
{
    font-size: 11px;
    font-size: .6875rem;

    display: inline-block;

    width: 40%;
    margin: 25px auto 0;
    padding: 10px 0;

    letter-spacing: .16em;

    color: #fff;
    border: 1px solid #fff;
}

.recruit_link .inner .jobdraft a
{
    display: block;

    width: 800px;
    margin: 40px auto 0;
    padding: 25px 0 35px;

    border-radius: 3px;
    background-color: #004ca1;
}

.recruit_link .entry_link
{
    width: 100%;
}

.recruit_link .entry_link a
{
    display: block;

    padding: 140px 0;

    background-image: url(../images/common/link_entry.jpg);
    background-position: center;
    background-size: cover;
}

.recruit_link .entry_link a strong
{
    font-size: 40px;
    font-size: 2.5rem;
    font-weight: 600;

    display: block;

    letter-spacing: .2em;

    color: #fff;
}

.recruit_link .entry_link a span
{
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 2;

    display: block;

    margin-top: 25px;

    letter-spacing: .12em;

    color: #fff;
}

.recruit_link .entry_link a .btn
{
    font-size: 17px;
    font-size: 1.0625rem;

    width: 460px;
    margin: 30px auto 0;
    padding: 30px 0;

    letter-spacing: .12em;

    color: #fff;
    border: 1px solid #fff;
}

.recruit_link .contact_link.bggy
{
    background-color: #fafafa;
}

.recruit_link .contact_link a
{
    display: block;

    padding: 100px 0;
}

.recruit_link .contact_link a strong
{
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: 600;

    display: block;

    letter-spacing: .2em;
}

.recruit_link .contact_link a span
{
    font-size: 16px;
    font-size: 1rem;

    display: block;

    margin-top: 15px;

    letter-spacing: .14em;

    color: #666;
}

/*------------ entry ------------*/

form .ll
{
    line-height: 47px;
}

input[type=radio],
input[type=checkbox]
{
    display: none;
}

input[type=text]
{
    display: block;

    width: 50%;
    padding: 10px;

    letter-spacing: .06em;

    border: 1px solid #c7c7c7;
    background-color: #fff;
}

input[type=text].wd30
{
    width: 30%;
}

input[type=text].dpin
{
    display: inline-block;

    width: 30%;
}

input[type=text].dpin + small
{
    margin: 0 20px;
}

.formError .formErrorContent,
.formError .formErrorArrow
{
    line-height: 1.8;

    letter-spacing: .1em;

    border: none !important;
    border-radius: 3px !important;
    -webkit-box-shadow: 0 0 0 #fff !important;
            box-shadow: 0 0 0 #fff !important;
}

.formError .formErrorArrow div
{
    border: none !important;
    -webkit-box-shadow: 0 0 0 #fff !important;
            box-shadow: 0 0 0 #fff !important;
}

textarea
{
    display: block;

    width: 50%;
    padding: 10px;

    border: 1px solid #c7c7c7;
    background-color: #fff;
}

.radio,
.checkbox
{
    position: relative;

    display: inline-block;

    margin: 0 20px 8px 0;
    padding: 12px 12px 12px 42px;

    cursor: pointer;
    -webkit-transition: background-color .2s linear;
            transition: background-color .2s linear;
    vertical-align: middle;

    border-radius: 8px;
    background-color: #f6f7f8;
}

.radio:hover,
.checkbox:hover
{
    background-color: #e2edd7;
}

.radio:hover:after,
.checkbox:hover:after
{
    border-color: #53b300;
}

.radio:after,
.checkbox:after
{
    position: absolute;
    top: 50%;
    left: 15px;

    display: block;

    width: 17px;
    height: 17px;
    margin-top: -9px;

    content: '';
    -webkit-transition: border-color .2s linear;
            transition: border-color .2s linear;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;

    border: 2px solid #bbb;
    border-radius: 6px;
}

.radio:before
{
    position: absolute;
    top: 50%;
    left: 19px;

    display: block;

    width: 9px;
    height: 9px;
    margin-top: -5px;

    content: '';
    -webkit-transition: opacity .2s linear;
            transition: opacity .2s linear;

    opacity: 0;
    border-radius: 100%;
    background-color: #53b300;
}

input[type=radio]:checked + .radio:before
{
    opacity: 1;
}

.radio:after
{
    position: absolute;
    top: 50%;
    left: 15px;

    display: block;

    width: 13px;
    height: 13px;
    margin-top: -9px;

    content: '';
    -webkit-transition: border-color .2s linear;
            transition: border-color .2s linear;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;

    border: 2px solid #bbb;
    border-radius: 13px;
}

.checkbox:before
{
    position: absolute;
    top: 50%;
    left: 21px;

    display: block;

    width: 5px;
    height: 9px;
    margin-top: -6px;

    content: '';
    -webkit-transition: opacity .2s linear;
            transition: opacity .2s linear;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    opacity: 0;
    border: none;
    border-right: 3px solid #53b300;
    border-bottom: 3px solid #53b300;
}

input[type=checkbox]:checked + .checkbox:before
{
    opacity: 1;
}

.mt10
{
    margin-top: 10px;
}

.yubin
{
    line-height: 47px !important;

    margin-right: 10px !important;
}

.submit
{
    font-size: 17px;
    font-size: 1.0625rem;

    width: 460px;
    margin: 60px auto 0;
    padding: 25px 0;

    color: #fff;
    background-color: #094850;
}

.reset
{
    font-size: 17px;
    font-size: 1.0625rem;

    display: block;

    width: 460px;
    margin: 20px auto 0;
    padding: 25px 0;

    color: #094850;
    border: 1px solid #094850;
}

/*------------ thanks ------------*/

#thanks
{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 130px;
}

#thanks strong
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;

    display: block;

    text-align: center;
    letter-spacing: .12em;
}

#thanks span
{
    font-size: 14px;
    font-size: .875rem;
    line-height: 1.8;

    display: block;

    margin-top: 30px;

    text-align: center;
    letter-spacing: .1em;
}

#thanks .btn
{
    font-weight: 600;

    display: block;

    width: 460px;
    margin: 50px auto 0;
    padding: 25px 0 23px;

    letter-spacing: .12em;

    color: #094850;
    border: 1px solid #094850;
}

/*------------ news ------------*/

#news_box_wrap #news_box .small_block .info
{
    display: block !important;
}

#news_box_wrap #news_box .small_block .info .info_list
{
    display: block !important;
    float: none !important;

    width: 100% !important;
    margin-bottom: 20px !important;
}

#news_box_wrap #news_box .small_block .info .info_list .date small
{
    font-size: 12px;
    font-size: .75rem;

    display: block;
    float: left;

    letter-spacing: .21em;

    color: #666;
}

#news_box_wrap #news_box .small_block .info .info_list .date span
{
    font-size: 14px;
    font-size: .875rem;

    display: block;
    float: right;

    letter-spacing: .12em;

    color: #094850;
}

#news_box_wrap #news_box .small_block .info .info_list strong
{
    font-size: 18px;
    font-size: 1.125rem;

    display: block;

    margin-top: 25px;
}

#news_box_wrap #news_box .small_block .info .info_list strong.txt
{
    font-weight: 600;
    line-height: 1.66;

    letter-spacing: .08em;
}

#news_box_wrap #news_box .small_block .info .info_list strong.txt a
{
    display: inline-block;

    text-decoration: underline;

    color: #094850;
}

#news_detail .inner
{
    padding-bottom: 100px;

    text-align: left;
}

#news_detail .inner .n_ttl small
{
    font-size: 14px;
    font-size: .875rem;

    padding-right: 20px;

    letter-spacing: .15em;

    color: #666;
}

#news_detail .inner .n_ttl span
{
    font-size: 14px;
    font-size: .875rem;

    letter-spacing: .08em;

    color: #094850;
}

#news_detail .inner .n_ttl h3
{
    font-size: 34px;
    font-size: 2.125rem;
    font-weight: 600;

    margin-top: 30px;

    letter-spacing: .02em;
}

#news_detail .inner .n_ttl h3:before
{
    display: none;
}

#news_detail .inner .n_ttl img
{
    margin-top: 60px;
}

#news_detail .inner .n-content
{
    margin-top: 80px;
}

#news_detail .inner .n-content h4
{
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;

    display: inline-block;

    padding-bottom: 5px;

    color: #094850;
    border-bottom: 2px solid #094850;
}

#news_detail .inner .n-content p
{
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 2;

    max-width: 1000px;
    margin-top: 40px;

    letter-spacing: .04em;

    color: #333;
}

#news_detail .inner .n-content img.w50
{
    float: left;

    width: 48%;
}

#news_detail .inner .n-content img.ml
{
    margin-left: 4%;
}

#news_detail .inner .n-content .btn
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;

    display: block;

    width: 350px;
    margin-top: 40px;
    padding: 20px 0;

    text-align: center;
}

#news_detail .inner .n-content .btn.green
{
    color: #fff;
    background-color: #094850;
}

#news_detail .inner .n-content .btn.white
{
    color: #094850;
    border: 1px solid #094850;
    background-color: #fff;
}

#news_detail .inner .n-content .btn.arrow
{
    position: relative;
}

#news_detail .inner .n-content .btn.arrow:before
{
    position: absolute;
    top: 50%;
    left: 20px;

    display: block;

    width: 24px;
    height: 14px;

    content: '';
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);

    background-image: url(../images/news/arrow.svg);
    background-size: cover;
}

#news_detail .inner .n-content .link
{
    display: block;
}

#news_detail .inner .n-content .link small
{
    font-size: 16px;
    font-size: 1rem;

    display: block;
}

#news_detail .inner .n-content .link a
{
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;

    display: block;

    margin-top: 12px;
    padding-bottom: 3px;

    text-decoration: underline;

    color: #094850;
}

#news_detail .inner .n-content .mt40
{
    margin-top: 40px;
}

#news_detail .inner .n-content .mt70
{
    margin-top: 70px;
}

/*------------ voc ------------*/

#voc_wrap .vocbox#voc_box02 .kv
{
    background-image: url(../images/voc/voc02_01.jpg);
}

#voc_wrap .vocbox .kv
{
    width: 100%;
    height: 620px;

    background-image: url(../images/voc/voc01_01.jpg);
    background-position: right;
    background-size: cover;
}

#voc_wrap .vocbox .kv .inner
{
    position: relative;

    width: 100%;
    max-width: 1200px;
    height: 620px;
    margin: 0 auto;

    text-align: left;
}

#voc_wrap .vocbox .kv .inner img
{
    position: absolute;
    top: 40%;
    left: 0;

    width: 686px;
}

#voc_wrap .vocbox .kv .inner .profile
{
    position: absolute;
    bottom: 90px;
    left: 0;
}

#voc_wrap .vocbox .kv .inner .profile strong
{
    font-size: 22px;
    font-size: 1.375rem;

    margin-right: 10px;

    letter-spacing: .12em;

    color: #fff;
}

#voc_wrap .vocbox .kv .inner .profile small
{
    font-size: 14px;
    font-size: .875rem;

    letter-spacing: .12em;

    color: #fff;
}

#voc_wrap .vocbox .kv .inner .profile span
{
    font-size: 14px;
    font-size: .875rem;
    line-height: 1.8;

    display: block;

    margin-top: 20px;

    letter-spacing: .12em;

    color: #fff;
}

#voc_wrap .vocbox .interview
{
    position: relative;

    padding: 130px 0;
}

#voc_wrap .vocbox .interview:before
{
    position: absolute;
    z-index: -1;
    top: 270px;

    display: block;

    width: 100%;
    height: 900px;

    content: '';

    background-color: #fafafa;
}

#voc_wrap .vocbox .interview:after
{
    position: absolute;
    z-index: -1;
    bottom: 0;

    display: block;

    width: 100%;
    height: 900px;

    content: '';

    background-color: #fafafa;
}

#voc_wrap .vocbox .interview .interview_inner
{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

#voc_wrap .vocbox .interview .interview_inner .box
{
    position: relative;

    margin-bottom: 110px;
}

#voc_wrap .vocbox .interview .interview_inner .box.b2 figure
{
    float: right;

    width: 60%;
    margin-right: -50px;
    margin-left: 0;
}

#voc_wrap .vocbox .interview .interview_inner .box.b2 figcaption
{
    position: absolute;
    top: 60%;
    right: auto;
    left: 0;

    width: 48%;
}

#voc_wrap .vocbox .interview .interview_inner .box.b4 figure
{
    float: right;

    width: 65%;
    margin-right: -50px;
    margin-left: 0;
}

#voc_wrap .vocbox .interview .interview_inner .box.b4 figcaption
{
    position: absolute;
    top: 50%;
    right: auto;
    left: 0;

    width: 48%;
}

#voc_wrap .vocbox .interview .interview_inner .box figure
{
    width: 50%;
    margin-left: -50px;
}

#voc_wrap .vocbox .interview .interview_inner .box figcaption
{
    position: absolute;
    top: 50%;
    right: 0;

    width: 56%;
    padding: 80px;

    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: left;

    background-color: #fff;
}

#voc_wrap .vocbox .interview .interview_inner .box figcaption strong
{
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;

    display: block;

    letter-spacing: .09em;

    color: #094850;
}

#voc_wrap .vocbox .interview .interview_inner .box figcaption strong:after
{
    display: block;

    width: 60px;
    height: 1px;
    margin-top: 30px;

    content: '';

    background-color: #094850;
}

#voc_wrap .vocbox .interview .interview_inner .box figcaption p
{
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.8;

    margin-top: 30px;

    letter-spacing: .08em;
}

#voc_wrap .vocbox .interview .interview_inner .schedule
{
    text-align: left;
}

#voc_wrap .vocbox .interview .interview_inner .schedule h4
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

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

#voc_wrap .vocbox .interview .interview_inner .schedule h4:before
{
    display: inline-block;

    width: 46px;
    height: 46px;
    margin-right: 15px;

    content: '';

    background-image: url(../images/voc/i_schedule.svg);
    background-size: cover;
}

#voc_wrap .vocbox .interview .interview_inner .schedule h4 strong
{
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: 600;

    letter-spacing: .2em;
    text-transform: uppercase;
}

#voc_wrap .vocbox .interview .interview_inner .schedule h4 span
{
    font-size: 16px;
    font-size: 1rem;

    display: inline-block;

    margin-left: 10px;

    letter-spacing: .2em;

    color: #666;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul
{
    position: relative;

    float: left;
    overflow: hidden;

    width: 50%;
    margin-top: 50px;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul:before
{
    position: absolute;
    top: 2px;
    left: 8px;

    display: block;

    width: 1px;
    height: 190px;

    content: '';

    background-color: #094850;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul:last-child:before
{
    height: 128px;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    margin-bottom: 40px;

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

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li:before
{
    display: inline-block;

    width: 30px;
    height: 1px;
    margin-right: 15px;
    margin-left: 30px;

    content: '';

    background-color: #666;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li:after
{
    position: absolute;
    top: 2px;
    left: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 2px solid #094850;
    border-radius: 14px;
    background-color: #fff;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li strong
{
    font-size: 18px;
    font-size: 1.125rem;

    display: inline-block;

    width: 80px;
    margin-right: 20px;

    letter-spacing: .2em;

    color: #094850;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li span
{
    font-size: 17px;
    font-size: 1.0625rem;
    font-weight: 500;

    position: relative;

    letter-spacing: .14em;
}

#voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li span small
{
    font-size: 11px;
    font-size: .6875rem;

    position: absolute;
    bottom: -17px;
    left: 0;

    display: block;

    white-space: nowrap;
    letter-spacing: .06em;

    color: #666;
}

@media only screen and (max-width: 1500px)
{
    #wrapper_main main #area span
    {
        background-position: center 280px;
    }
}

@media only screen and (max-width: 519px)
{
    html.scroll_fixed,
    body.scroll_fixed
    {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .sp-display
    {
        display: block !important;
    }

    .sp-invisible
    {
        display: none !important;
    }

    .t__link
    {
        padding: 0;
    }

    .pagetop
    {
        display: none;
    }

    footer .inner
    {
        padding: 70px 0;
    }

    footer .inner .layout-left
    {
        float: none;
    }

    footer .inner .layout-left .f-logo
    {
        width: 100%;
    }

    footer .inner .layout-left .f-logo img
    {
        display: none;
    }

    footer .inner .layout-left .f-logo:before
    {
        display: block;

        width: 10%;
        margin: 0 auto;
        padding-bottom: 8.5vw;

        content: '';

        background-image: url(../images/common/logo_mark.svg);
        background-repeat: no-repeat;
        background-size: contain;
    }

    footer .inner .layout-left .f-logo:after
    {
        display: block;

        width: 51.7%;
        margin: 10px auto 0;
        padding-bottom: 8.5vw;

        content: '';

        background-image: url(../images/common/logo_ttl.svg);
        background-repeat: no-repeat;
        background-size: contain;
    }

    footer .inner .layout-left p
    {
        margin-top: 50px;

        text-align: center;

        opacity: .6;
    }

    footer .inner .layout-left p span
    {
        font-size: 11px;
        font-size: .6875rem;
    }

    footer .inner .layout-left p a
    {
        display: block;

        margin-top: 5px;
    }

    footer .inner .layout-left p small
    {
        display: block;

        margin-top: 10px;
        margin-left: -2em;
    }

    footer .inner .layout-right ul
    {
        display: none;
    }

    footer .inner .copy
    {
        position: static;

        margin-top: 50px;

        text-align: center;
    }

    header h1
    {
        top: 20px;
        left: 20px;

        width: 49.4%;
    }

    header nav
    {
        position: fixed;
        z-index: 100;
        top: 0;
        left: 0;

        display: none;
        float: none;

        width: 100%;
        height: 100vh;
        margin: 0;

        background-color: #094850;
    }

    header nav ul
    {
        padding: 80px 0 0 30px;

        text-align: left;
    }

    header nav ul .hd__nv__one
    {
        display: block;

        margin-top: 35px;
        margin-right: 0;
    }

    header nav ul .hd__nv__one.n_1:hover .pulldown_wrap,
    header nav ul .hd__nv__one.n_4:hover .pulldown_wrap
    {
        display: none;

        -webkit-animation: none;
                animation: none;
    }

    header nav ul .hd__nv__one.n_1 span.h_bk:before,
    header nav ul .hd__nv__one.n_1 a.h_bk:before
    {
        background-image: url(../images/common/i_company.svg);
    }

    header nav ul .hd__nv__one.n_1 span:before,
    header nav ul .hd__nv__one.n_1 a:before
    {
        width: 16px;
        height: 19px;
        margin-right: 8px;
    }

    header nav ul .hd__nv__one.n_2 span.h_bk:before,
    header nav ul .hd__nv__one.n_2 a.h_bk:before
    {
        background-image: url(../images/common/i_service.svg);
    }

    header nav ul .hd__nv__one.n_2 span:before,
    header nav ul .hd__nv__one.n_2 a:before
    {
        margin-right: 7px;
    }

    header nav ul .hd__nv__one.n_3 span.h_bk:before,
    header nav ul .hd__nv__one.n_3 a.h_bk:before
    {
        background-image: url(../images/common/i_results.svg);
    }

    header nav ul .hd__nv__one.n_4 span.h_bk:before,
    header nav ul .hd__nv__one.n_4 a.h_bk:before
    {
        background-image: url(../images/common/i_recruit.svg);
    }

    header nav ul .hd__nv__one.n_5 span.h_bk:before,
    header nav ul .hd__nv__one.n_5 a.h_bk:before
    {
        background-image: url(../images/common/i_contact.svg);
    }

    header nav ul .hd__nv__one.pld
    {
        position: relative;
    }

    header nav ul .hd__nv__one.pld:before
    {
        position: absolute;
        top: 6px;
        right: 30px;

        display: block;

        width: 20px;
        height: 1px;

        content: '';
        -webkit-transition: all 1s;
                transition: all 1s;

        background-color: #fff;
    }

    header nav ul .hd__nv__one.pld:after
    {
        position: absolute;
        top: -4px;
        right: 40px;

        display: block;

        width: 1px;
        height: 20px;

        content: '';
        -webkit-transition: all 1s;
                transition: all 1s;

        background-color: #fff;
    }

    header nav ul .hd__nv__one span,
    header nav ul .hd__nv__one a
    {
        font-size: 18px;
        font-size: 1.125rem;
        font-weight: 600;

        display: block;

        width: 100%;

        letter-spacing: .12em;
    }

    header nav ul .hd__nv__one span.h_bk,
    header nav ul .hd__nv__one a.h_bk
    {
        color: #fff;
    }

    header nav ul .hd__nv__one .pulldown_wrap
    {
        position: static;

        padding-top: 0;
        padding-left: 24px;
    }

    header nav ul .hd__nv__one .pulldown_wrap .inner
    {
        padding: 0;

        background: none;
    }

    header nav ul .hd__nv__one .pulldown_wrap .inner p
    {
        display: none;
    }

    header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown
    {
        float: none;
    }

    header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown .pulldown_ttl
    {
        width: auto;
        margin-right: 40px;
    }

    header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown .pulldown_ttl a figure
    {
        display: none;
    }

    header nav ul .hd__nv__one .pulldown_wrap .inner .pulldown .pulldown_ttl a figcaption
    {
        font-size: 14px;
        font-size: .875rem;
        font-weight: 600;

        margin-top: 20px;

        opacity: .8;
        color: #fff;
        border-bottom: 1px solid #fff;
    }

    header nav .copy
    {
        font-size: 10px;
        font-size: .625rem;

        position: absolute;
        bottom: 100px;
        left: 50%;

        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        white-space: nowrap;
        letter-spacing: .12em;

        color: #fff;
    }

    .c-sp-btn
    {
        display: block;
    }

    .c-sp-btn a .line.h_bk
    {
        background-color: #333;
    }

    .c-sp-btn a p.h_bk
    {
        color: #333;
    }

    #js-loading #loading-ttl .loading__image.l-logo
    {
        width: 100%;
    }

    #js-loading #loading-ttl .loading__image.l-logo .inner img
    {
        width: 60%;
    }

    #js-loading #loading-ttl .loading__image.l-ttl .inner:before
    {
        left: 0;
    }

    #js-loading #loading-ttl .loading__image.l-ttl .inner h2
    {
        width: 71%;
    }

    #js-loading #loading-ttl .loading__image.l-ttl .inner h2 span
    {
        font-size: 16px;
        font-size: 1rem;

        letter-spacing: .3rem;
    }

    #wrapper_main main #main_visual h2
    {
        width: 71%;
    }

    #wrapper_main main #main_visual h2 span
    {
        font-size: 16px;
        font-size: 1rem;

        letter-spacing: .3rem;
    }

    #wrapper_main main #main_visual .slider .slick-list .slide-bg1
    {
        background-image: url(../images/index/kv01_sp.jpg);
    }

    #wrapper_main main #main_visual .slider .slick-list .slide-bg2
    {
        background-image: url(../images/index/kv02_sp.jpg);
    }

    #wrapper_main main #main_visual .slider .slick-list .slide-bg3
    {
        background-image: url(../images/index/kv03_sp.jpg);
    }

    #wrapper_main main #main_visual .slider .slick-list .slide-bg4
    {
        background-image: url(../images/index/kv04_sp.jpg);
    }

    #wrapper_main main #main_visual .slider .slick-list .slide-bg5
    {
        background-image: url(../images/index/kv05_sp.jpg);
    }

    #wrapper_main main #main_visual .slider .slick-dots
    {
        bottom: 20px;
        left: 30px;

        opacity: .5;
    }

    #wrapper_main main #main_visual .slider .slick-dots li
    {
        width: 24px;
        height: 24px;
        margin-right: 12px;

        text-align: center;
    }

    #wrapper_main main #main_visual .slider .slick-dots li:last-child
    {
        margin-right: 0;
    }

    #wrapper_main main #main_visual .slider .slick-dots li.slick-active
    {
        border-radius: 12px;
    }

    #wrapper_main main #main_visual .slider .slick-dots li button
    {
        font-size: 10px;
        font-size: .625rem;
        line-height: 24px;
    }

    #wrapper_main main .movie-area_sp .inner
    {
        width: 76%;
        padding: 50px 0;
    }

    #wrapper_main main .movie-area_sp .inner:after
    {
        font-size: 12px;
        font-size: .75rem;

        -webkit-transform: translate(50%, -58px);
            -ms-transform: translate(50%, -58px);
                transform: translate(50%, -58px);
        white-space: nowrap;
    }

    #wrapper_main main .movie-area_sp .inner:before
    {
        font-size: 11px;
        font-size: .6875rem;

        top: 65%;

        letter-spacing: .02em;
    }

    #wrapper_main main .movie-area_sp .inner .youtube-modal
    {
        width: 50px;
    }

    #wrapper_main main #ourvition
    {
        background-color: #f8f8f8;
    }

    #wrapper_main main #ourvition .inner
    {
        width: 86.6%;
        padding: 75px 0;

        text-align: left;
    }

    #wrapper_main main #ourvition .inner img
    {
        width: 61.5%;
    }

    #wrapper_main main #ourvition .inner p
    {
        line-height: 2.125;

        margin-top: 25px;
    }

    #wrapper_main main #focus-nav ul li
    {
        float: none;

        width: 100%;
    }

    #wrapper_main main #focus-nav ul li:nth-child(2)
    {
        width: 100%;
    }

    #wrapper_main main #focus-nav ul li a
    {
        padding: 80px 0;
    }

    #wrapper_main main #focus-nav ul li a small
    {
        font-size: 12px;
        font-size: .75rem;
    }

    #wrapper_main main #focus-nav ul li a strong
    {
        font-size: 18px;
        font-size: 1.125rem;
    }

    #wrapper_main main #focus-nav ul li a span
    {
        font-size: 13px;
        font-size: .8125rem;
    }

    #wrapper_main main #focus-nav ul li a .btn
    {
        font-size: 11px;
        font-size: .6875rem;

        display: inline-block;

        width: 40%;
        margin: 25px auto 0;
        padding: 10px 0;

        letter-spacing: .16em;

        color: #fff;
        border: 1px solid #fff;
    }

    #wrapper_main main #results
    {
        padding: 40px 0 40px;
    }

    #wrapper_main main #results .inner
    {
        width: 80%;
    }

    #wrapper_main main #results .inner h3:before
    {
        width: 16%;
    }

    #wrapper_main main #results .inner h3 strong
    {
        font-size: 18px;
        font-size: 1.125rem;

        margin-top: 30px;
    }

    #wrapper_main main #results .inner h3 span
    {
        font-size: 13px;
        font-size: .8125rem;
        line-height: 1.7;

        margin-top: 15px;
    }

    #wrapper_main main #results .inner ul
    {
        margin-top: 35px;
    }

    #wrapper_main main #results .inner ul li
    {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }

    #wrapper_main main #results .inner .btn
    {
        width: 100%;
        margin-top: 20px;
    }

    #wrapper_main main #point .inner
    {
        width: 100%;
        margin: 40px auto 0;
        padding: 24vw 0;

        background-size: 130%;
    }

    #wrapper_main main #point .inner .ttl small
    {
        font-size: 10px;
        font-size: .625rem;
    }

    #wrapper_main main #point .inner .ttl img
    {
        width: 46.2%;
        margin: 15px auto 0;
    }

    #wrapper_main main #point .inner .icon-area
    {
        width: 86%;
        margin: 10px auto 0;
    }

    #wrapper_main main #point .inner .icon-area ul li
    {
        width: 23.5%;
        margin-top: 15px;
        margin-right: 2%;
    }

    #wrapper_main main #point .inner .icon-area ul li figure
    {
        width: 40%;
        height: 7vw;
        margin: 0 auto;
    }

    #wrapper_main main #point .inner .icon-area ul li figcaption
    {
        font-size: 10px;
        font-size: .625rem;
    }

    #wrapper_main main #point .inner .txt
    {
        margin-top: 35px;
    }

    #wrapper_main main #point .inner .txt strong
    {
        font-size: 13px;
        font-size: .8125rem;
    }

    #wrapper_main main #point .inner .txt small
    {
        font-size: 10px;
        font-size: .625rem;
        line-height: 1.6;
    }

    #wrapper_main main #area
    {
        margin-top: -60px;
    }

    #wrapper_main main #area .inner
    {
        width: 81.3%;
        margin: 0 auto;
        padding: 52vw 0 18vw;
    }

    #wrapper_main main #area .inner h3
    {
        font-size: 18px;
        font-size: 1.125rem;
    }

    #wrapper_main main #area .inner p
    {
        margin-top: 25px;
    }

    #wrapper_main main #area .inner p small
    {
        font-size: 13px;
        font-size: .8125rem;
    }

    #wrapper_main main #map iframe
    {
        height: 300px;
    }

    #scroll-down::before
    {
        top: auto;
        bottom: 0;

        width: 2px;
    }

    .sub_wrapper_main main .sub_kv
    {
        height: 50vh;
    }

    .sub_wrapper_main main .sub_kv#kv_companypr .bg
    {
        background-image: url(../images/company/kv_companyprofile_sp.jpg);
        background-size: cover;
    }

    .sub_wrapper_main main .sub_kv#kv_service .bg
    {
        background-image: url(../images/service/kv_service_sp.jpg);
        background-size: cover;
    }

    .sub_wrapper_main main .sub_kv#kv_philosophy .bg
    {
        background-image: url(../images/company/kv_philosophy_sp.jpg);
        background-size: cover;
    }

    .sub_wrapper_main main .sub_kv.kvnone
    {
        padding: 120px 25px 0;
    }

    .sub_wrapper_main main .sub_kv.kvnone_thanks
    {
        padding: 120px 25px 0;
    }

    .sub_wrapper_main main .sub_kv .inner
    {
        height: 50vh;

        text-align: left;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl
    {
        bottom: 40px;
        left: 20px;

        display: block;

        width: 100%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.copmpr
    {
        width: 63.2%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.service
    {
        width: 53.3%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.philosophy
    {
        width: 81.3%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.results
    {
        width: 54.8%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.faq
    {
        width: 25%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.requirements
    {
        width: 100%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.entry
    {
        width: 83%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.news
    {
        width: 36%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl strong.voc
    {
        width: 62.5%;
    }

    .sub_wrapper_main main .sub_kv .inner .ttl small
    {
        font-size: 14px;
        font-size: .875rem;
        font-weight: 400;

        display: block;

        margin-top: 15px;
        margin-left: 0;
    }

    .sub_wrapper_main main .topicpath
    {
        width: 86.6%;
        margin: 30px auto 0;

        -webkit-transform: translateX(-10px);
            -ms-transform: translateX(-10px);
                transform: translateX(-10px);
    }

    .sub_wrapper_main main .topicpath.kvnone
    {
        -webkit-transform: translateX(0px);
            -ms-transform: translateX(0px);
                transform: translateX(0px);
    }

    .sub_wrapper_main main .topicpath a,
    .sub_wrapper_main main .topicpath span
    {
        font-size: 10px;
        font-size: .625rem;
        line-height: 1.8;

        margin: 0 10px;

        letter-spacing: .06em;
    }

    .sub_wrapper_main main .topicpath a:first-child
    {
        margin-left: 0;
    }

    .sub_wrapper_main main .subcontent #requirements
    {
        padding-bottom: 70px;
    }

    .sub_wrapper_main main .subcontent #requirements .list_block ul li
    {
        border-top: 1px solid #e6e6e6;
    }

    .sub_wrapper_main main .subcontent .inner
    {
        width: 86.6%;
    }

    .sub_wrapper_main main .subcontent .inner h3 strong
    {
        font-size: 26px;
        font-size: 1.625rem;

        margin-top: 30px;

        letter-spacing: .16em;
    }

    .sub_wrapper_main main .subcontent .inner h3 small
    {
        font-size: 12px;
        font-size: .75rem;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li
    {
        display: block;

        padding: 40px 0 30px;

        border-top: 1px solid #f5f5f5;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li:first-child
    {
        margin-top: 50px;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li:first-child .ll
    {
        border: none;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li:first-child .lr
    {
        border: none;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li .ll
    {
        font-weight: 600;

        width: 100%;
        padding: 0;

        border: none;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li .lr
    {
        line-height: 1.6;

        width: 100%;
        margin-top: 15px;
        padding: 0;

        border: none;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li .lr.sp_line-h
    {
        line-height: 1.8;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li .lr strong
    {
        line-height: 1.8;
    }

    .sub_wrapper_main main .subcontent .inner .list_block ul li .lr span
    {
        line-height: 1.8;
    }

    .sub_wrapper_main main .subcontent #advantage,
    .sub_wrapper_main main .subcontent #ceo
    {
        margin-top: 60px;
        padding: 100px 0 50px;
    }

    .sub_wrapper_main main .subcontent #advantage .inner .advantage_box,
    .sub_wrapper_main main .subcontent #ceo .inner .advantage_box
    {
        margin-top: 60px;
    }

    .sub_wrapper_main main .subcontent #advantage .inner .advantage_box li,
    .sub_wrapper_main main .subcontent #ceo .inner .advantage_box li
    {
        float: none;

        width: 100%;
        margin-bottom: 60px;
    }

    .sub_wrapper_main main .subcontent #advantage .inner .advantage_box li dl dt,
    .sub_wrapper_main main .subcontent #ceo .inner .advantage_box li dl dt
    {
        font-size: 20px;
        font-size: 1.25rem;

        letter-spacing: .06em;
    }

    .sub_wrapper_main main .subcontent #advantage .inner .advantage_box li dl dd,
    .sub_wrapper_main main .subcontent #ceo .inner .advantage_box li dl dd
    {
        line-height: 1.8;

        letter-spacing: .1em;
    }

    .sub_wrapper_main .sub_link
    {
        margin: 0;
    }

    .sub_wrapper_main .sub_link ul li
    {
        float: none;

        width: 100%;

        border-right: none;
        border-bottom: 1px solid #f5f5f5;
    }

    .sub_wrapper_main .sub_link ul li:last-child
    {
        border-bottom: none;
    }

    .sub_wrapper_main .sub_link ul li a
    {
        padding: 100px 0;
    }

    .sub_wrapper_main .sub_link ul li a strong
    {
        font-size: 22px;
        font-size: 1.375rem;
    }

    .sub_wrapper_main .sub_link ul li a span
    {
        font-size: 12px;
        font-size: .75rem;

        margin-top: 10px;
    }

    .service_description_bg .inner
    {
        width: 86.6%;
        padding: 100px 0 70px;
    }

    .service_description_bg .inner .topicpath
    {
        top: 30px;
    }

    .service_description_bg .inner .description h3
    {
        font-size: 24px;
        font-size: 1.5rem;

        float: none;

        width: 100%;

        letter-spacing: .12em;
    }

    .service_description_bg .inner .description p
    {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.8;

        float: none;

        width: 100%;
        margin-top: 30px;
    }

    #workflow-wrap #workflow
    {
        padding-top: 70px;
    }

    #workflow-wrap #workflow .inner #workflow_box
    {
        padding-top: 40px;
    }

    #workflow-wrap #workflow .inner #workflow_box ul li
    {
        width: 100%;
        margin: 0;
        margin-bottom: 40px;
        padding: 0;

        border: none;
    }

    #workflow-wrap #workflow .inner #workflow_box ul li figcaption
    {
        line-height: 1.4;

        margin-top: 10px;
    }

    #workflow-wrap #workflow .inner #workflow_box ul li figcaption br
    {
        display: none;
    }

    #philosophy .inner .philosophy_box
    {
        margin-top: 50px;
    }

    #philosophy .inner .philosophy_box ul li
    {
        float: none;

        width: 100%;
        margin: 0 auto 30px;
    }

    #philosophy .inner .philosophy_box ul li figure
    {
        float: none;

        width: 70%;
        max-width: none;
    }

    #philosophy .inner .philosophy_box ul li figcaption
    {
        font-size: 18px;
        font-size: 1.125rem;

        margin-top: 25px;
    }

    #philosophy .inner .philosophy_box ul li figcaption strong
    {
        font-size: 23px;
        font-size: 1.4375rem;
        line-height: 1.6;

        letter-spacing: .16em;
    }

    #philosophy .inner .philosophy_box ul li figcaption span
    {
        font-size: 16px;
        font-size: 1rem;
    }

    #ceo .ceo_image
    {
        height: 40vh;
        margin-top: 40px;

        background-position: 57% 0;
    }

    #ceo .message
    {
        margin-top: 50px;
        padding-bottom: 30px;
    }

    #ceo .message .intro
    {
        font-size: 16px;
        font-size: 1rem;
        font-weight: normal;
        line-height: 1.8;

        float: none;

        width: 100%;
        margin-top: 30px;

        text-align: left;

        color: #666;
    }

    #ceo .message .intro strong
    {
        font-size: 20px;
        font-size: 1.25rem;

        margin-bottom: 15px;
    }

    #ceo .message .layout_l
    {
        margin-top: 50px;
    }

    #ceo .message .layout_l .photo
    {
        float: none;

        width: 100%;
    }

    #ceo .message .layout_r
    {
        margin-top: 50px;
    }

    #ceo .message .layout_r .photo
    {
        float: none;

        width: 100%;
    }

    #ceo .message .layout_c
    {
        margin: 30px 0;
    }

    #ceo .message .layout_c .photo
    {
        float: none;

        width: 100%;
    }

    #ceo .message .layout_txt.right
    {
        float: none;

        width: 100%;
        margin-top: 30px;
        padding: 0;

        color: #666;
    }

    #ceo .message .layout_txt.left
    {
        position: static;

        width: 100%;
        margin-top: 30px;
        padding: 0;

        -webkit-transform: none;
            -ms-transform: none;
                transform: none;

        color: #666;
    }

    #ceo .message .layout_txt strong
    {
        font-size: 20px;
        font-size: 1.25rem;

        margin-bottom: 15px;
        padding-top: 10px;
    }

    #ceo .message p
    {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.8;

        float: none;

        width: 100%;
        margin-top: 30px;
    }

    .segment
    {
        width: 100%;
        padding: 30px 20px 5px 26px;
    }

    .segment strong
    {
        font-size: 12px;
        font-size: .75rem;
        font-weight: 600;

        display: block;
        float: none;

        padding: 0;

        color: #999;
    }

    .segment ul
    {
        float: none;

        margin-top: 20px;
        padding: 0;
    }

    .segment ul li
    {
        margin-right: 25px;
        margin-bottom: 20px;
    }

    .segment ul li:nth-child(5)
    {
        margin-right: 0;
    }

    .segment ul li a
    {
        font-size: 14px;
        font-size: .875rem;
    }

    .segment ul li a.active:after
    {
        bottom: -3px;
    }

    #results_box_wrap,
    #news_box_wrap
    {
        margin-top: 30px;
    }

    #results_box_wrap #results_box .inner .pickup_block .info,
    #news_box_wrap #results_box .inner .pickup_block .info,
    #news_box_wrap #news_box .inner .pickup_block .info,
    #results_box_wrap #results_box .inner .small_block .info,
    #news_box_wrap #results_box .inner .small_block .info,
    #news_box_wrap #news_box .inner .small_block .info
    {
        display: block;
    }

    #results_box_wrap #results_box .inner .pickup_block .info .info_list,
    #news_box_wrap #results_box .inner .pickup_block .info .info_list,
    #news_box_wrap #news_box .inner .pickup_block .info .info_list,
    #results_box_wrap #results_box .inner .small_block .info .info_list,
    #news_box_wrap #results_box .inner .small_block .info .info_list,
    #news_box_wrap #news_box .inner .small_block .info .info_list
    {
        display: block;
        float: none;

        width: 100%;
        margin-bottom: 20px;
    }

    #results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption,
    #news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption,
    #news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption,
    #results_box_wrap #results_box .inner .small_block .info .info_list figcaption,
    #news_box_wrap #results_box .inner .small_block .info .info_list figcaption,
    #news_box_wrap #news_box .inner .small_block .info .info_list figcaption
    {
        padding: 30px 30px 20px 30px;
    }

    #results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption p,
    #news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption p,
    #news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption p,
    #results_box_wrap #results_box .inner .small_block .info .info_list figcaption p,
    #news_box_wrap #results_box .inner .small_block .info .info_list figcaption p,
    #news_box_wrap #news_box .inner .small_block .info .info_list figcaption p
    {
        font-size: 20px;
        font-size: 1.25rem;
    }

    #results_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li,
    #news_box_wrap #results_box .inner .pickup_block .info .info_list figcaption ul li,
    #news_box_wrap #news_box .inner .pickup_block .info .info_list figcaption ul li,
    #results_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
    #news_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
    #news_box_wrap #news_box .inner .small_block .info .info_list figcaption ul li
    {
        float: none;

        width: 100%;
    }

    #results_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
    #news_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li,
    #news_box_wrap #news_box .inner .small_block .info .info_list figcaption ul li
    {
        display: inline-block;

        width: auto;
        margin-bottom: 20px;
    }

    #results_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li:nth-child(1),
    #news_box_wrap #results_box .inner .small_block .info .info_list figcaption ul li:nth-child(1),
    #news_box_wrap #news_box .inner .small_block .info .info_list figcaption ul li:nth-child(1)
    {
        display: block;
    }

    #results_box_wrap #results_box .inner .pager ul li a,
    #news_box_wrap #results_box .inner .pager ul li a,
    #news_box_wrap #news_box .inner .pager ul li a
    {
        margin-right: 30px;
    }

    #results_box_wrap #results_box .inner .pager ul li span,
    #news_box_wrap #results_box .inner .pager ul li span,
    #news_box_wrap #news_box .inner .pager ul li span
    {
        margin-right: 30px;
    }

    #faq_wrap
    {
        margin-top: 40px;
    }

    #faq_wrap
    {
        padding-bottom: 70px;
    }

    #faq_wrap #faq_box .inner
    {
        width: 86.6%;
    }

    #faq_wrap #faq_box .inner ul li
    {
        padding: 30px;
    }

    #faq_wrap #faq_box .inner ul li .question dt
    {
        font-size: 14px;
        font-size: .875rem;
    }

    #faq_wrap #faq_box .inner ul li .question dd
    {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.4;

        margin-top: 15px;
    }

    #faq_wrap #faq_box .inner ul li .anser
    {
        margin-top: 30px;
        margin-left: 10px;
    }

    #faq_wrap #faq_box .inner ul li .anser dt
    {
        font-size: 14px;
        font-size: .875rem;
    }

    #faq_wrap #faq_box .inner ul li .anser dd
    {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.7;

        margin-top: 10px;
    }

    .movie-area_wide
    {
        height: 55vw;
    }

    .movie-area_wide:before
    {
        font-size: 11px;
        font-size: .6875rem;

        -webkit-transform: translate(50%, -55px);
            -ms-transform: translate(50%, -55px);
                transform: translate(50%, -55px);
    }

    .movie-area_wide:after
    {
        font-size: 11px;
        font-size: .6875rem;

        -webkit-transform: translate(50%, 45px);
            -ms-transform: translate(50%, 45px);
                transform: translate(50%, 45px);
    }

    .movie-area_wide video
    {
        width: 120%;
    }

    .movie-area_wide .youtube-modal
    {
        width: 50px;
    }

    .recruit_link .inner
    {
        width: 86.6%;
        padding: 70px 0 40px;
    }

    .recruit_link .inner h4
    {
        font-size: 26px;
        font-size: 1.625rem;
    }

    .recruit_link .inner ul
    {
        margin-top: 40px;
    }

    .recruit_link .inner ul li
    {
        float: none;

        width: 100%;
        margin-bottom: 20px;
    }

    .recruit_link .inner ul li a
    {
        padding: 70px 0;
    }

    .recruit_link .inner ul li a small
    {
        font-size: 12px;
        font-size: .75rem;
    }

    .recruit_link .inner ul li a strong
    {
        font-size: 18px;
        font-size: 1.125rem;

        margin-top: 17px;
    }

    .recruit_link .inner ul li a span
    {
        font-size: 13px;
        font-size: .8125rem;

        margin-top: 20px;
    }

    .recruit_link .inner .jobdraft a
    {
        width: 100%;
    }

    .recruit_link .entry_link a
    {
        padding: 80px 0;
    }

    .recruit_link .entry_link a strong
    {
        font-size: 28px;
        font-size: 1.75rem;
    }

    .recruit_link .entry_link a span
    {
        font-size: 13px;
        font-size: .8125rem;

        width: 86.6%;
        margin: 25px auto 0;
    }

    .recruit_link .entry_link a .btn
    {
        font-size: 13px;
        font-size: .8125rem;

        display: inline-block;

        width: 60%;
        margin: 25px auto 0;
        padding: 10px 0;

        letter-spacing: .16em;
    }

    .recruit_link .contact_link a strong
    {
        font-size: 22px;
        font-size: 1.375rem;
    }

    .recruit_link .contact_link a span
    {
        font-size: 12px;
        font-size: .75rem;

        margin-top: 10px;
    }

    form .ll
    {
        line-height: 1;
    }

    input[type=text]
    {
        width: 100%;
    }

    input[type=text].wd30
    {
        width: 50%;
    }

    input[type=text].dpin
    {
        width: 50%;
        margin-bottom: 20px;
    }

    .formError
    {
        right: 20px !important;
        left: auto !important;
    }

    textarea
    {
        width: 100%;
    }

    .submit
    {
        width: 100%;
        margin: 40px auto 0;
    }

    .reset
    {
        width: 100%;
    }

    #thanks
    {
        width: 86.6%;
    }

    #thanks strong
    {
        font-size: 20px;
        font-size: 1.25rem;

        text-align: left;
        letter-spacing: .06em;
    }

    #thanks span
    {
        margin-top: 20px;

        text-align: left;
    }

    #thanks .btn
    {
        width: 100%;
        margin-top: 20px;
    }

    #news_box_wrap #news_box .small_block .info .info_list strong
    {
        margin-bottom: 10px;
    }

    #news_box_wrap #news_box .small_block .info .info_list strong.txt
    {
        font-size: 16px;
        font-size: 1rem;
    }

    #news_detail
    {
        margin-top: 50px;
    }

    #news_detail .inner .n_ttl small
    {
        padding-right: 10px;

        letter-spacing: .1em;
    }

    #news_detail .inner .n_ttl h3
    {
        font-size: 28px;
        font-size: 1.75rem;
        line-height: 1.3;
    }

    #news_detail .inner .n_ttl img
    {
        margin-top: 30px;
    }

    #news_detail .inner .n-content
    {
        margin-top: 60px;
    }

    #news_detail .inner .n-content h4
    {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.3;

        letter-spacing: .01em;
    }

    #news_detail .inner .n-content p
    {
        margin-top: 30px;
    }

    #news_detail .inner .n-content img.w50
    {
        float: none;

        width: 100%;
    }

    #news_detail .inner .n-content img.ml
    {
        margin-top: 20px;
        margin-left: 0;
    }

    #news_detail .inner .n-content .btn
    {
        width: 100%;
    }

    #voc_wrap .vocbox#voc_box02 .kv
    {
        height: 60vh;

        background-position: 63% 0;
    }

    #voc_wrap .vocbox .kv
    {
        height: 60vh;

        background-position: 57% 0;
    }

    #voc_wrap .vocbox .kv .inner
    {
        width: 86.6%;
        height: 60vh;
    }

    #voc_wrap .vocbox .kv .inner img
    {
        width: 80%;
    }

    #voc_wrap .vocbox .kv .inner .profile
    {
        bottom: 30px;
    }

    #voc_wrap .vocbox .kv .inner .profile strong
    {
        font-size: 18px;
        font-size: 1.125rem;
    }

    #voc_wrap .vocbox .kv .inner .profile small
    {
        font-size: 12px;
        font-size: .75rem;
    }

    #voc_wrap .vocbox .kv .inner .profile span
    {
        font-size: 12px;
        font-size: .75rem;

        margin-top: 10px;
    }

    #voc_wrap .vocbox .interview
    {
        padding: 50px 0;

        background-color: #fafafa;
    }

    #voc_wrap .vocbox .interview:before
    {
        display: none;
    }

    #voc_wrap .vocbox .interview:after
    {
        display: none;
    }

    #voc_wrap .vocbox .interview .interview_inner
    {
        width: 86.6%;
    }

    #voc_wrap .vocbox .interview .interview_inner .box
    {
        margin-bottom: 40px;
    }

    #voc_wrap .vocbox .interview .interview_inner .box.b2 figure
    {
        float: none;

        width: 100%;
        margin: 0;
    }

    #voc_wrap .vocbox .interview .interview_inner .box.b2 figcaption
    {
        position: static;

        width: 100%;
    }

    #voc_wrap .vocbox .interview .interview_inner .box.b4 figure
    {
        float: none;

        width: 100%;
        margin: 0;
    }

    #voc_wrap .vocbox .interview .interview_inner .box.b4 figcaption
    {
        position: static;

        width: 100%;
    }

    #voc_wrap .vocbox .interview .interview_inner .box figure
    {
        width: 100%;
        margin: 0;
    }

    #voc_wrap .vocbox .interview .interview_inner .box figcaption
    {
        position: static;

        width: 100%;
        padding: 40px 30px;

        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
    }

    #voc_wrap .vocbox .interview .interview_inner .box figcaption strong
    {
        font-size: 20px;
        font-size: 1.25rem;
    }

    #voc_wrap .vocbox .interview .interview_inner .box figcaption strong:after
    {
        margin-top: 20px;
    }

    #voc_wrap .vocbox .interview .interview_inner .box figcaption p
    {
        font-size: 16px;
        font-size: 1rem;

        margin-top: 20px;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule
    {
        padding-top: 40px;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule h4
    {
        display: block;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule h4:before
    {
        float: left;

        width: 44px;
        height: 44px;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule h4 strong
    {
        font-size: 24px;
        font-size: 1.5rem;

        float: left;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule h4 span
    {
        font-size: 12px;
        font-size: .75rem;

        float: left;

        margin-top: 5px;
        margin-left: 0;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul
    {
        width: 100%;
        margin-top: 40px;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul:before
    {
        display: none;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul:last-child
    {
        margin-top: 0;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li
    {
        display: block;

        margin-bottom: 30px;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li:before
    {
        display: none;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li:after
    {
        display: none;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li strong
    {
        font-size: 16px;
        font-size: 1rem;

        width: 70px;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li span
    {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.4;

        display: block;

        margin-top: 10px;

        letter-spacing: .1em;
    }

    #voc_wrap .vocbox .interview .interview_inner .schedule .schedule_box ul li span small
    {
        font-size: 12px;
        font-size: .75rem;
        line-height: 1.4;

        position: static;

        display: block;

        white-space: normal;
    }
}
