@charset 'UTF-8';
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
@import url('https://fonts.googleapis.com/css?family=Lato');
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 for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
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/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template
{
    display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a
{
    background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover
{
    outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title]
{
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong
{
    font-weight: bold;
}

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

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1
{
    font-size: 2em;

    margin: .67em 0;
}

/**
 * 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/10.
 */
img
{
    border: 0;
}

/**
 * Correct overflow not hidden in IE 8/9/10/11.
 */
svg:not(:root)
{
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure
{
    margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr
{
    -moz-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, 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/11.
 */
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/9/10/11, 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']
{
    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 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type='search']
{
    /* 1 */
    box-sizing: content-box;

    -webkit-appearance: textfield;
    /* 2 */
}

/**
 * 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/10/11.
 * 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/10/11.
 */
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;
}

th,
td
{
    padding: 0;
}

/*============================================================
* layout
*============================================================*/
/*==============================
* base
*==============================*/
*
{
    box-sizing: border-box;
}

html
{
    font-family: Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, 'Hiragino Kaku Gothic ProN', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-size: 10px; 

    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body
{
    font-size: 12px;
    line-height: 1.8;

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

html,
body
{
    height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
ol,
ul,
dl,
dd
{
    margin: 0;
}

ol,
ul
{
    padding: 0;
}

li
{
    list-style-type: none;
}

a,
.btn
{
    transition: all .3s linear; 

    color: #fff;
}
a:visited,
.btn:visited
{
    color: #fff;
}
a:hover,
.btn:hover
{
    color: #fff;
}
a:active,
.btn:active
{
    color: #fff;
}
a:hover,
.btn:hover
{
    opacity: .7;
}

abbr[title]
{
    border-bottom-width: 0;
}

img
{
    vertical-align: middle;
}

table
{
    margin: 0;
}

fieldset
{
    margin: 0;
    padding: 0; 

    border: 0;
}

label
{
    cursor: pointer;
}

button
{
    border: none;
    background: none;
}

html,
body
{
    height: 100%;
}

@media (min-width: 1000px)
{
    body
    {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

button,
input[type='button']
{
    display: inline-block;
}
@media (min-width: 1000px)
{
    button,
    input[type='button']
    {
        display: inline-block; 

        transition: all .3s linear;
    }
    button:hover,
    input[type='button']:hover
    {
        opacity: .8;
    }
}

input[type='image']
{
    width: 100%;
    height: auto;

    transition: all .3s linear;
}
@media (min-width: 1000px)
{
    input[type='image']
    {
        width: auto;
    }
}
input[type='image']:hover
{
    opacity: .8;
}

#container
{
    position: relative;

    overflow: hidden; 

    width: 100%;
    min-width: 320px;
    min-height: 100%;
}

@media (min-width: 1000px)
{
    .view-sp
    {
        display: none;
    }
}

.view-pc
{
    display: none;
}
@media (min-width: 1000px)
{
    .view-pc
    {
        display: inline;
    }
}

.wrap
{
    width: 100%;
    margin: 0 auto;
}
@media (min-width: 1000px)
{
    .wrap
    {
        padding: 0 15px;
    }
}
@media screen and (min-width: 1530px)
{
    .wrap
    {
        width: 1500px;
        padding: 0;
    }
}

.wrap_in
{
    margin: 0 15px;
}
@media (min-width: 1000px)
{
    .wrap_in
    {
        margin: 0; 
        padding: 0 15px;
    }
}
@media screen and (min-width: 1530px)
{
    .wrap_in
    {
        padding: 0;
    }
}

.contents
{
    position: relative;
    z-index: 0;

    padding-top: 45px;
}
@media (min-width: 1000px)
{
    .contents
    {
        padding-top: 90px;
    }
}

.gheader
{
    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;

    display: table;

    width: 100%;
    height: 40px;
    padding: 8px 10px;

    transition: all .3s linear;
}
.gheader > div
{
    display: table-cell;

    vertical-align: middle;
}
.gheader .logo a
{
    display: inline-block;
}
.gheader .facebook
{
    position: absolute;
    top: 50%;
    right: 50px;

    width: 20px;
    height: 20px;
    margin-top: -10px;
}
.gheader .facebook a
{
    display: block;
    overflow: hidden; 

    width: 20px;
    height: 20px;

    white-space: nowrap;
    text-indent: 100%;

    background: url(../images/parts/btn_facebook.png) no-repeat 0 0;
    -webkit-background-size: 20px auto;
       -moz-background-size: 20px auto;
            background-size: 20px auto;

        -ms-background-size: 20px auto;
}
.gheader .instagram
{
    position: absolute;
    top: 50%;
    right: 80px;

    width: 20px;
    height: 20px;
    margin-top: -10px;
}
.gheader .instagram a
{
    display: block;
    overflow: hidden; 

    width: 20px;
    height: 20px;

    white-space: nowrap;
    text-indent: 100%;

    background: url(../images/parts/btn_facebook.png) no-repeat 0 0;
    -webkit-background-size: 20px auto;
       -moz-background-size: 20px auto;
            background-size: 20px auto;

        -ms-background-size: 20px auto;
}
.sitenav
{
    font-size: 13px;
    font-size: 1.3rem;

    position: fixed;
    z-index: 2;
    right: 0;
    bottom: 0;

    overflow-x: hidden;
    overflow-y: scroll;

    width: 230px;
    height: 100%;
    min-height: 100%;

    background: #b9a129;
}
.sitenav .username
{
    padding: 15px 15px 0;
}
.sitenav .login,
.sitenav .logout
{
    padding: 15px;
}
.sitenav .login .btn,
.sitenav .logout .btn
{
    width: 100%;
    padding: 10px;
}
.sitenav .sitelinks
{
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.2;

    padding-top: 40px;

    border-bottom: 1px solid #ddd;
    background: #b9a129;
}
.sitenav .sitelinks li
{
    position: relative; 

    border-top: 1px solid #8b791c;
}
.sitenav .sitelinks li:after
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background: #dbd199;
}


.sitenav .sitelinks a
{
    display: block;

    padding: 10px 15px;
    padding-right: 25px;

    text-decoration: none;

    color: #fff;
}
.sitenav .sitelinks a.facebook
{
    padding-right: 0;
    padding-left: 0; 

    text-align: center;
}
.sitenav .sitelinks a.facebook:before,
.sitenav .sitelinks a.facebook:after
{
    display: none;
}

.sitenav .sitelinks a.instagram
{
    padding-right: 0;
    padding-left: 0; 

    text-align: center;
}
.sitenav .sitelinks a.instagram:before,
.sitenav .sitelinks a.instagram:after
{
    display: none;
}


.sitenav .sitelinks > li > a
{
    position: relative;
}
.sitenav .sitelinks > li > a:before,
.sitenav .sitelinks > li > a:after
{
    position: absolute;
    top: 50%; 
    right: 15px;

    display: block;

    width: 8px;
    height: 1px;

    content: '';

    background: #fff;
}
.sitenav .sitelinks > li > a:before
{
    margin-top: -5px; 

    transform: rotate(45deg);
}
.sitenav .sitelinks > li > a:after
{
    margin-bottom: -5px; 

    transform: rotate(-45deg);
}
.sitenav .sitelinks > li > a.btn_accordion:before,
.sitenav .sitelinks > li > a.btn_accordion:after
{
    top: 50%; 
    right: 15px;

    width: 8px;
    height: 1px;
}
.sitenav .sitelinks > li > a.btn_accordion:before
{
    margin-top: -.5px; 

    transform: rotate(0deg);
}
.sitenav .sitelinks > li > a.btn_accordion:after
{
    margin-top: -.5px; 

    transform: rotate(-90deg);
}
.sitenav .sitelinks > li > a.btn_accordion.is-open:after
{
    display: none;
}
.sitenav .sitelinks_child
{
    display: none;
}
.sitenav .sitelinks_child li
{
    border-top: none;
    border-bottom: 1px solid #1a1c1c;
}
.sitenav .sitelinks_child li:after
{
    background: #6b6e6f;
}
.sitenav .sitelinks_child li:last-child
{
    margin-bottom: -1px;
}
.sitenav .sitelinks_child a
{
    padding-right: 15px;
    padding-left: 32px; 

    background: #525566;
}
.sitenav .sitelinks_child > li > a
{
    position: relative;
}
.sitenav .sitelinks_child > li > a:before
{
    position: absolute;
    top: 50%; 
    left: 15px;

    display: block;

    width: 12px;
    height: 1px;

    content: '';

    background: #b9a129;
}
.sitenav .sitelinks_child > li > a:before
{
    margin-top: -.5px;
}

body #container
{
    -webkit-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
       -moz-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
        -ms-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
         -o-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
            transition: transform .25s cubic-bezier(.16, .68, .43, .99);
/*
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
*/
}

body .sitenav
{
    -webkit-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
       -moz-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
        -ms-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
         -o-transition: transform .25s cubic-bezier(.16, .68, .43, .99);
            transition: transform .25s cubic-bezier(.16, .68, .43, .99);
    -webkit-transform: translate3d(230px, 0, 0);
       -moz-transform: translate3d(230px, 0, 0);
        -ms-transform: translate3d(230px, 0, 0);
         -o-transform: translate3d(230px, 0, 0);
            transform: translate3d(230px, 0, 0);
}
@media (min-width: 1000px)
{
    body .sitenav
    {
        -webkit-transform: translate3d(400px, 0, 0);
           -moz-transform: translate3d(400px, 0, 0);
            -ms-transform: translate3d(400px, 0, 0);
             -o-transform: translate3d(400px, 0, 0);
                transform: translate3d(400px, 0, 0);
    }
}

body.nav-active #container
{
    overflow: hidden;
    overflow-y: scroll;

    -webkit-filter: blur(8px);
       -moz-filter: blur(8px);
        -ms-filter: blur(8px);
            filter: blur(8px);
}

body.nav-active .gheader
{
    border-bottom: none; 
    background: none;
}
body.nav-active .gheader .facebook
{
    display: none;
}

body.nav-active .gheader .instagram
{
    display: none;
}

body.nav-active .sitenav
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

body.nav-active .navmenu
{
    border: 1px solid #fff; 
    background: #000;
}
body.nav-active .navmenu span:first-child
{
    transform: translateY(7px) rotate(45deg);
}
body.nav-active .navmenu span:nth-child(2)
{
    opacity: 0;
}
body.nav-active .navmenu span:last-child
{
    transform: translateY(-7px) rotate(-45deg);
}
@media (min-width: 600px)
{
    body.nav-active .navmenu span:first-child
    {
        transform: translateY(9px) rotate(45deg);
    }
    body.nav-active .navmenu span:last-child
    {
        transform: translateY(-9px) rotate(-45deg);
    }
}
@media (min-width: 1000px)
{
    body.nav-active .navmenu span:first-child
    {
        transform: translateY(12px) rotate(45deg);
    }
    body.nav-active .navmenu span:last-child
    {
        transform: translateY(-12px) rotate(-45deg);
    }
}

.navmenu
{
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 15px;

    display: block;

    width: 30px;
    height: 30px;
    margin-top: -15px;
}
.navmenu a
{
    display: block;

    height: 100%;
}
.navmenu span
{
    position: absolute;
    left: 50%;

    display: block;

    width: 24px;
    height: 3px;
    margin-left: -12px;

    transition: all .4s; 

    background: #fff;
}
.navmenu span:first-child
{
    top: 50%;

    margin-top: -9px;
}
.navmenu span:nth-child(2)
{
    top: 50%; 

    margin-top: -1.5px;
}
.navmenu span:last-child
{
    bottom: 50%;

    margin-bottom: -9px;
}
@media (min-width: 600px)
{
    .navmenu
    {
        position: absolute;
        z-index: 3;
        top: 50%;

        display: block;

        width: 40px;
        height: 40px;
        margin-top: -20px;
    }
    .navmenu span
    {
        position: absolute;
        left: 50%;

        display: block;

        width: 30px;
        height: 6px;
        margin-left: -15px;

        transition: all .4s; 

        background: #fff;
    }
    .navmenu span:first-child
    {
        top: 50%;

        margin-top: -12px;
    }
    .navmenu span:nth-child(2)
    {
        top: 50%; 

        margin-top: -3px;
    }
    .navmenu span:last-child
    {
        bottom: 50%;

        margin-bottom: -12px;
    }
}
@media (min-width: 1000px)
{
    .navmenu
    {
        position: absolute;
        z-index: 3;
        top: 50%;
        right: 45px;

        display: block;

        width: 50px;
        height: 50px;
        margin-top: -25px;
    }
    .navmenu span
    {
        position: absolute;
        left: 50%;

        display: block;

        width: 40px;
        height: 6px;
        margin-left: -20px;

        transition: all .4s; 

        background: #fff;
    }
    .navmenu span:first-child
    {
        top: 50%;

        margin-top: -15px;
    }
    .navmenu span:nth-child(2)
    {
        top: 50%; 

        margin-top: -3px;
    }
    .navmenu span:last-child
    {
        bottom: 50%;

        margin-bottom: -15px;
    }
}

.navOverlay
{
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    cursor: pointer;
}
@media all and (-ms-high-contrast: none) {
  .navOverlay {
    z-index: 1;
  }
}

@media (min-width: 600px)
{
    .gfooter .foot_imagelinks .link_list .telephone
    {
    background: #3a6a6e;
    width: 50%;
    margin: 30px 0 0 0;
    height: 138px;
}
    .gfooter .foot_imagelinks .link_list .inquiry
    {
    background: #6d323b;
    width: 50%;
    margin: 30px 0 0 0;
    height: 138px;
}
    .gfooter .foot_contactlinks .link_list .telephone
    {
    background: #3a6a6e;
    width: 50%;
    margin: 30px 0 0 0;
    height: 138px;
}
    .gfooter .foot_contactlinks .link_list .inquiry
    {
    background: #6d323b;
    width: 50%;
    margin: 30px 0 0 0;
    height: 138px;
}
    .gheader
    {
        position: fixed;
        z-index: 3; 

        height: 80px;
    }
    .gheader .logo img
    {
        width: 100px;
        height: auto;

        transition: all .3s linear;
    }
    .gheader .facebook
    {
        position: absolute;
        top: 50%;
        right: 70px;

        width: 30px;
        height: 30px;
        margin-top: -15px;
    }
    .gheader .facebook a
    {
        display: block;

        width: 30px;
        height: 30px;

        -webkit-background-size: 30px auto;
           -moz-background-size: 30px auto;
                background-size: 30px auto; 

            -ms-background-size: 30px auto;
    }
	
	   .gheader .instagram
    {
        position: absolute;
        top: 50%;
        right: 100px;

        width: 30px;
        height: 30px;
        margin-top: -15px;
    }
    .gheader .instagram a
    {
        display: block;

        width: 30px;
        height: 30px;

        -webkit-background-size: 30px auto;
           -moz-background-size: 30px auto;
                background-size: 30px auto; 

            -ms-background-size: 30px auto;
    }
	
    .sitenav .sitelinks
    {
        padding-top: 80px;
    }
}

@media (min-width: 1000px)
{
    .gheader
    {
        position: fixed;
        z-index: 3;

        height: 110px;
        padding: 16px 50px;
    }
    .gheader .logo img
    {
        width: 180px;
        height: auto;

        transition: all .3s linear;
    }
    .gheader .facebook
    {
        position: absolute;
        top: 50%;
        right: 120px;

        width: 40px;
        height: 40px;
        margin-top: -20px;
    }
    .gheader .facebook a
    {
        display: block;

        width: 40px;
        height: 40px;

        -webkit-background-size: 40px auto;
           -moz-background-size: 40px auto;
                background-size: 40px auto; 

            -ms-background-size: 40px auto;
    }
	
	    .gheader .instagram
    {
        position: absolute;
        top: 50%;
        right: 140px;

        width: 40px;
        height: 40px;
        margin-top: -20px;
    }
    .gheader .instagram a
    {
        display: block;

        width: 40px;
        height: 40px;

        -webkit-background-size: 40px auto;
           -moz-background-size: 40px auto;
                background-size: 40px auto; 

            -ms-background-size: 40px auto;
    }
	
	
    .sitenav
    {
        width: 400px;
    }
    .sitenav .sitelinks
    {
        font-size: 15px;
        font-size: 1.5rem;

        padding-top: 110px;

        background: #b9a129;
    }
    .sitenav .sitelinks a
    {
        padding: 10px 60px;
        padding-right: 80px;
    }
    .sitenav .sitelinks a.facebook
    {
        padding-right: 0;
        padding-left: 0;
    }
    .sitenav .sitelinks a.facebook img
    {
        width: 30px;
        height: auto;
    }
	
	    .sitenav .sitelinks a.instagram
    {
        padding-right: 0;
        padding-left: 0;
    }
    .sitenav .sitelinks a.instagram img
    {
        width: 30px;
        height: auto;
    }
	
    .sitenav .sitelinks > li > a
    {
        position: relative;
    }
    .sitenav .sitelinks > li > a:before,
    .sitenav .sitelinks > li > a:after
    {
        right: 60px;
    }
    .sitenav .sitelinks > li > a.btn_accordion:before,
    .sitenav .sitelinks > li > a.btn_accordion:after
    {
        right: 60px;
    }
    .sitenav .sitelinks_child a
    {
        padding-right: 80px;
        padding-left: 80px;
    }
    .sitenav .sitelinks_child > li > a
    {
        position: relative;
    }
    .sitenav .sitelinks_child > li > a:before
    {
        left: 60px;
    }
}

body.is-scrollover .gheader
{
    transition: all .3s linear; 

    background: #000;
}
@media (min-width: 1000px)
{
    body.is-scrollover .gheader
    {
        height: 80px;
    }
    body.is-scrollover .gheader .logo img
    {
        width: 140px;

        transition: all .3s linear;
    }
}

body.is-scrollover.nav-active .gheader
{
    background: none;
}

.gfooter
{
    margin-top: 35px;
}
.gfooter .copyright
{
    font-size: 8px;
    font-size: .8rem;

    padding: 15px 0;

    text-align: center;

    color: #b8b8b8;
}
.gfooter .pagetop
{
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: bold; 

    margin: 20px 0;

    text-align: center;
}
.gfooter .pagetop a
{
    line-height: 19px;

    display: inline-block; 

    min-height: 19px;
    padding-left: 15px;

    text-decoration: none;

    background: url(../images/parts/arrow_pagetop.png) no-repeat 0 center;
    -webkit-background-size: 8px auto;
       -moz-background-size: 8px auto;
            background-size: 8px auto;

        -ms-background-size: 8px auto;
}
.gfooter .social_area
{
    margin: 0 0 25px;
}
.gfooter .social_area .sns_list
{
    text-align: center;
}
.gfooter .social_area .sns_list li
{
    display: inline;

    margin: 0 2px;
}
.gfooter .social_area .sns_list li > *
{
    vertical-align: bottom !important;
}
.gfooter .social_area .sns_list li.linked .IN-widget
{
    height: 20px;
}
.gfooter .foot_imagelinks .link_list::after
{
    display: table; 
    clear: both;

    content: '';
}
.gfooter .foot_imagelinks .link_list li
{
    display: table; 
    float: left;

    width: 50%;
}
.gfooter .foot_imagelinks .link_list li > a
{
    display: table-cell;

    text-align: center; 
    vertical-align: middle;
}
.gfooter .foot_imagelinks .link_list .telephone,
.gfooter .foot_imagelinks .link_list .inquiry
{
    line-height: 1.2;
}
.gfooter .foot_imagelinks .link_list .telephone a,
.gfooter .foot_imagelinks .link_list .inquiry a
{
    text-decoration: none;
}
.gfooter .foot_imagelinks .link_list .telephone
{
    background: #3a6a6e;
    width: 50%;
    margin: 30px 0 0 0;
    height: 106px;
}
.gfooter .foot_imagelinks .link_list .inquiry
{
    background: #6d323b;
    width: 50%;
    margin: 30px 0 0 0;
    height: 106px;
}

.gfooter .foot_contactlinks .link_list::after
{
    display: table; 
    clear: both;

    content: '';
}
.gfooter .foot_contactlinks .link_list li
{
    display: table; 
    float: left;

    width: 50%;
}
.gfooter .foot_contactlinks .link_list li > a
{
    display: table-cell;

    text-align: center; 
    vertical-align: middle;
}
.gfooter .foot_contactlinks .link_list .telephone,
.gfooter .foot_contactlinks .link_list .inquiry
{
    line-height: 1.2;
}
.gfooter .foot_contactlinks .link_list .telephone a,
.gfooter .foot_contactlinks .link_list .inquiry a
{
    text-decoration: none;
}
.gfooter .foot_contactlinks .link_list .telephone
{
    background: #3a6a6e;
    width: 50%;
    margin: 30px 0 0 0;
}
.gfooter .foot_contactlinks .link_list .inquiry
{
    background: #6d323b;
    width: 50%;
    margin: 30px 0 0 0;
}
@media (min-width: 600px)
{
    .gfooter .foot_imagelinks .link_list .telephone
    {
    height: 173px;
}
    .gfooter .foot_imagelinks .link_list .inquiry
    {
    height: 173px;
}
}
.gfooter .foot_imagelinks .link_list .image img
{
    height: auto;
}
.gfooter .foot_imagelinks .link_list .icon
{
    margin: 0 0 10px;
}
.gfooter .foot_imagelinks .link_list .caption
{
    font-size: 13px;
    font-size: 1.3rem;
}
.gfooter .foot_imagelinks .link_list .time
{
    font-size: 8px;
    font-size: .8rem;
}
.gfooter .foot_contactlinks .link_list .image img
{
    height: auto;
}
.gfooter .foot_contactlinks .link_list .icon
{
    margin: 0 0 10px;
}
.gfooter .foot_contactlinks .link_list .caption
{
    font-size: 13px;
    font-size: 1.3rem;
}
.gfooter .foot_contactlinks .link_list .time
{
    font-size: 8px;
    font-size: .8rem;
}

.gfooter .foot_links
{
    margin: 0 15px;
}
.gfooter .foot_inquirylinks .link_list
{
    text-align: center;
    margin-top: 20px;
}
.gfooter .foot_inquirylinks .link_list a
{
    text-decoration: none;

    color: #cacaca;
}
.gfooter .foot_inquirylinks .link_list a img
{
    margin-right: 5px;
}
.gfooter .foot_inquirylinks .link_list .view-sp
{
    display: block;

    margin: 0 5px 10px 0;
}
.gfooter .foot_inquirylinks .link_list li
{
    display: inline;

    margin: 0 5px;
}
.gfooter .foot_links .link_list
{
    font-size: 10px;
    font-size: 1rem;

    padding: 5px 0; 

    text-align: center;

    background: #1a1a1a;
}
.gfooter .foot_links .link_list li
{
    display: inline;

    margin: 0 5px;
}
.gfooter .foot_links .link_list a
{
    text-decoration: none;

    color: #cacaca;
}
@media (min-width: 1000px)
{
    .gfooter
    {
        margin-top: 90px;
    }
    .gfooter .copyright
    {
        font-size: 14px;
        font-size: 1.4rem;
    }
    .gfooter .pagetop
    {
        font-size: 16px;
        font-size: 1.6rem; 

        margin: 30px 0;
    }
    .gfooter .pagetop a
    {
        line-height: 24px;

        min-height: 24px;
        padding-left: 20px; 

        -webkit-background-size: 10px auto;
           -moz-background-size: 10px auto;
                background-size: 10px auto;

            -ms-background-size: 10px auto;
    }
    .gfooter .social_area
    {
        margin: 0 0 25px;
    }
    .gfooter .social_area .sns_list
    {
        text-align: left;
    }
    .gfooter .social_area .sns_list li
    {
        display: inline;

        margin: 0 0 0 5px;
    }
    .gfooter .social_area .sns_list li:first-child
    {
        margin: 0;
    }
    .gfooter .foot_imagelinks .link_list li
    {
        width: 25%;
    }
    .gfooter .foot_imagelinks .link_list .image img
    {
        height: auto;
    }
    .gfooter .foot_imagelinks .link_list .icon img
    {
        width: auto; 
        height: auto;
    }
    .gfooter .foot_imagelinks .link_list .caption
    {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.4;
    }
    .gfooter .foot_imagelinks .link_list .time
    {
        font-size: 12px;
        font-size: 1.2rem;
    }
    .gfooter .foot_imagelinks .link_list .inquiry .icon
    {
        margin: 18px 0;
    }
        .gfooter .foot_imagelinks .link_list li
    {
        width: 25%;
    }
    .gfooter .foot_imagelinks .link_list .image img
    {
        height: auto;
    }
    .gfooter .foot_imagelinks .link_list .icon img
    {
        width: auto; 
        height: auto;
    }
    .gfooter .foot_imagelinks .link_list .caption
    {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.4;
    }
    .gfooter .foot_imagelinks .link_list .time
    {
        font-size: 12px;
        font-size: 1.2rem;
    }
    .gfooter .foot_imagelinks .link_list .inquiry .icon
    {
        margin: 18px 0;
    }

    .gfooter .foot_contactlinks .link_list li
    {
        width: 25%;
    }
    .gfooter .foot_contactlinks .link_list .image img
    {
        height: auto;
    }
    .gfooter .foot_contactlinks .link_list .icon img
    {
        width: auto; 
        height: auto;
    }
    .gfooter .foot_contactlinks .link_list .caption
    {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.4;
    }
    .gfooter .foot_contactlinks .link_list .time
    {
        font-size: 12px;
        font-size: 1.2rem;
    }
    .gfooter .foot_contactlinks .link_list .inquiry .icon
    {
        margin: 18px 0;
    }
        .gfooter .foot_contactlinks .link_list li
    {
        width: 25%;
    }
    .gfooter .foot_contactlinks .link_list .image img
    {
        height: auto;
    }
    .gfooter .foot_contactlinks .link_list .icon img
    {
        width: auto; 
        height: auto;
    }
    .gfooter .foot_contactlinks .link_list .caption
    {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.4;
    }
    .gfooter .foot_contactlinks .link_list .time
    {
        font-size: 12px;
        font-size: 1.2rem;
    }
    .gfooter .foot_contactlinks .link_list .inquiry .icon
    {
        margin: 18px 0;
    }

    .gfooter .foot_links
    {
        margin: 0;
    }
    .gfooter .foot_links .link_list
    {
        font-size: 16px;
        font-size: 1.6rem;

        padding: 10px 0;
    }
    .gfooter .foot_links .link_list li
    {
        margin: 0 30px;
    }
}
    .gfooter .foot_inquirylinks .link_list li
    {
        margin: 0 30px;
    }
}
    .gfooter .foot_inquirylinks .link_list
    {
        font-size: 16px;
        font-size: 1.6rem;

        padding: 10px 0;
    }

.sttl
{
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: bold; 

    margin: 0 0 30px;
}
@media (min-width: 1000px)
{
    .sttl
    {
        font-size: 30px;
        font-size: 3rem;

        margin: 0 0 40px;
    }
}

.ssttl
{
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;

    margin: 0 0 15px;
    padding: 10px 0; 

    color: #bba03f;
    border-top: 1px solid #444;
    border-bottom: 1px solid #444;
}
@media (min-width: 1000px)
{
    .ssttl
    {
        font-size: 22px;
        font-size: 2.2rem;

        margin: 0 0 30px;
    }
}

.caption_bar
{
    position: relative;

    padding: 0 0 10px;
}
.caption_bar:after
{
    position: absolute;
    bottom: 0; 
    left: 0;

    display: block;

    width: 44px;
    height: 2px;

    content: '';

    background: #bda444;
}
@media (min-width: 1000px)
{
    .caption_bar:after
    {
        width: 56px;
        height: 4px;
    }
}

.caption_bar_ex
{
    position: relative;

    padding-left: 20px;
}
.caption_bar_ex:after
{
    position: absolute;
    bottom: 50%;
    left: 0;

    display: block;

    width: 12px;
    height: 2px;
    margin-top: -1px; 

    content: '';

    background: #bda444;
}
@media (min-width: 1000px)
{
    .caption_bar_ex
    {
        padding-left: 0;
    }
    .caption_bar_ex:after
    {
        bottom: 0;

        width: 56px;
        height: 4px;
        margin-top: 0;
    }
}

/*============================================================
* module
*============================================================*/
.pheader
{
    border-bottom: 1px solid #bda037; 
    background: url(../images/parts/bg_header.jpg) no-repeat left top;
    background-size: cover;
}
.pheader .wrap
{
    display: table;

    height: 190px;
}
.pheader .header_body
{
    display: table-cell;

    padding: 0 15px;
    padding-top: 60px; 

    vertical-align: middle;
}
.pheader .breadcrumbs li
{
    font-size: 10px;
    font-size: 1rem; 

    position: relative;

    display: inline;
}
.pheader .breadcrumbs li:before
{
    margin: 0 5px; 

    content: '>';
}
.pheader .breadcrumbs li:first-child
{
    margin: 0;
    padding: 0;
}
.pheader .breadcrumbs li:first-child:before
{
    display: none;
}
.pheader .pttl
{
    line-height: 1.2;

    margin: 10px 0 0;
}
.pheader .pttl .en
{
    font-family: 'Lato';
    font-size: 24px;
    font-size: 2.4rem; 

    color: #ba9f3f;
}
.pheader .pttl .ja
{
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;

    margin: 5px 0 0;
}
@media (min-width: 1000px)
{
    .pheader
    {
        border-bottom-width: 4px;
        background-position: center center;
    }
    .pheader .wrap
    {
        height: 460px;
    }
    .pheader .header_body
    {
        padding: 0;
        padding-top: 90px;
    }
    .pheader .breadcrumbs li
    {
        font-size: 15px;
        font-size: 1.5rem;
    }
    .pheader .breadcrumbs li:before
    {
        margin: 0 8px;
    }
    .pheader .pttl
    {
        margin: 45px 0 0;
    }
    .pheader .pttl .en
    {
        font-size: 58px;
        font-size: 5.8rem;
    }
    .pheader .pttl .ja
    {
        font-size: 22px;
        font-size: 2.2rem;

        margin: 10px 0 0;
    }
}

.catenav .nav_list::after
{
    display: table; 
    clear: both;

    content: '';
}

.catenav .nav_list li
{
    font-weight: bold; 
    line-height: 1.4;

    display: table;
    float: left;

    width: 50%;

    border-bottom: 1px solid #444;
    border-left: 1px solid #444;
    background: #1a1a1a;
}
.catenav .nav_list li.row.single
{
    width: 100%;

    border-left: none;
}
.catenav .nav_list li.is-current,
.catenav .nav_list li a:hover
{
    opacity: 1; 
    background: #bda444;
}

.catenav .nav_list a
{
    display: table-cell;

    padding: 10px 15px;

    vertical-align: middle; 
    text-decoration: none;
}

@media (min-width: 1000px)
{
    .catenav
    {
        border-bottom: 1px solid #444;
    }
    .catenav .nav_list
    {
        display: table;

        width: 100%;

        border-left: 1px solid #444;
    }
    .catenav .nav_list.col05 li
    {
        width: 20%;
    }
    .catenav .nav_list.col08 li
    {
        width: 12.5%;
    }
    .catenav .nav_list.col08 li a > span
    {
        padding: 10px 15px;
    }
    .catenav .nav_list li
    {
        display: table-cell;
        float: none;

        text-align: center;
        vertical-align: middle; 

        border-bottom: none;
    }
    .catenav .nav_list li.row.single
    {
        width: auto;

        border-left: none;
    }
    .catenav .nav_list li:last-child a span
    {
        border-right: 1px solid #444;
    }
    .catenav .nav_list a
    {
        display: table;

        width: 100%;
        padding: 0;
    }
    .catenav .nav_list a > span
    {
        display: table-cell;

        padding: 20px 15px; 

        vertical-align: middle;
    }
}

.list.default
{
    padding: 0 0 0 1.5em;
}
.list.default > li
{
    list-style-type: disc; 

    color: #bda444;
}
.list.default > li .list_in
{
    color: #fff;
}

.list.box
{
    margin: -15px 0 0;
}
.list.box > li
{
    display: table;

    width: 100%;
    margin: 15px 0 0; 

    background: #525556;
}
.list.box > li .list_in
{
    font-weight: bold; 

    display: table-cell;

    padding: 10px;

    text-align: center;
    vertical-align: middle;
}
@media (min-width: 1000px)
{
    .list.box::after
    {
        display: table; 
        clear: both;

        content: '';
    }
    .list.box.col02 li
    {
        width: 49%;
        margin-right: 2%;
    }
    .list.box.col02 li:nth-child(2n)
    {
        margin-right: 0;
    }
    .list.box.col04 li
    {
        width: 23.5%;
        margin-right: 2%;
    }
    .list.box.col04 li:nth-child(4n)
    {
        margin-right: 0;
    }
    .list.box.col05 li
    {
        width: 18.4%;
        margin-right: 2%;
    }
    .list.box.col05 li:nth-child(5n)
    {
        margin-right: 0;
    }
    .list.box.col06 li
    {
        width: 15%;
        margin-right: 2%;
    }
    .list.box.col06 li:nth-child(6n)
    {
        margin-right: 0;
    }
    .list.box li
    {
        float: left;
    }
    .list.box .list_in
    {
        padding: 15px 10px;
    }
}

.article_list
{
    overflow: hidden;

    margin: -20px 0 0;
}
.article_list a
{
    display: block; 

    text-decoration: none;
}
.article_list li
{
    float: left;

    width: 49%;
    margin: 20px 0 0;
    padding: 0 0 20px;

    border-bottom: 1px solid #444;
}
.article_list li:nth-child(2n)
{
    float: right;
}
.article_list .box .thumb
{
    margin: 0 0 10px;
}
.article_list .box .thumb img
{
    width: 100%;
    height: auto;
}
.article_list .box .name
{
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;

    margin: 0 0 10px;
}
.article_list .box .detail_list
{
    font-size: 10px;
    font-size: 1rem;
}
.article_list .box .detail_list dt
{
    color: #ba9f3f;
}
@media (min-width: 1000px)
{
    .article_list
    {
        margin: -50px 0 0;
    }
    .article_list::after
    {
        display: table; 
        clear: both;

        content: '';
    }
    .article_list li
    {
        width: 23.4%;
        margin: 50px 0 0;
        margin-right: 2.1%;
    }
    .article_list li:nth-child(2n)
    {
        float: left;
    }
    .article_list li:nth-child(4n)
    {
        float: left;

        margin-right: 0;
    }
    .article_list .box .thumb
    {
        margin: 0 0 20px;
    }
    .article_list .box .name
    {
        font-size: 16px;
        font-size: 1.6rem;
    }
    .article_list .box .detail_list
    {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

.theme_properties .contents
{
    padding-top: 30px;
}
@media (min-width: 1000px)
{
    .theme_properties .contents
    {
        padding-top: 60px;
    }
}

.theme_properties .properties .date
{
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;

    margin: 0 0 20px; 

    color: #ba9f3f;
}

@media (min-width: 1000px)
{
    .theme_properties .properties .date
    {
        font-size: 22px;
        font-size: 2.2rem;

        margin: 0 0 40px;
    }
}

.planebox
{
    border: 1px solid #525556;
}
.planebox .box_caption
{
    font-weight: bold; 

    padding: 5px;

    text-align: center;

    background: #525556;
}
.planebox .box_body
{
    padding: 15px; 

    text-align: center;
}
.planebox .box_body .list
{
    text-align: left;
}

button
{
    padding: 0;
}

.btn
{
    text-align: center;
    vertical-align: middle; 
    text-decoration: none;
    word-break: break-all;
}
.btn:hover
{
    opacity: .8;
}
.btn.btn_block
{
    display: block;

    width: 100%;
}
.btn.bg_yellow
{
    border: 1px solid #d9d900;
    background: #ff0;
}
.btn.bg_pink
{
    color: #fff; 
    background: #cb5d8f;
}
.btn.bg_green
{
    color: #fff; 
    background: #30a3b1;
}
.btn.bg_white
{
    border: 1px solid #ddd;
}
.btn.icon span
{
    display: inline-block;
}
.btn.icon.icon_delete span
{
    padding-left: 15px; 

    background: url(../images/parts/icon_cross.png) no-repeat 0 40%;
}

.inquiries .finish .msg
{
    text-align: center;
}
.inquiries .finish .msg.send
{
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: bold;
}
.inquiries .finish .msg.thanks
{
    margin: 10px 0 20px;
}

.inquiries .required
{
    color: #bda444;
}

.inquiries .inquiry_table
{
    width: 100%;
    margin: 30px 0 0;

    border-bottom: 1px solid #444;
}
.inquiries .inquiry_table th,
.inquiries .inquiry_table td
{
    display: block; 

    border-top: 1px solid #444;
}
.inquiries .inquiry_table th
{
    padding: 10px 15px; 

    text-align: left;

    background: #1a1a1a;
}
.inquiries .inquiry_table td
{
    padding: 15px;
}
.inquiries .inquiry_table .input_box
{
    word-break: break-all;
}
.inquiries .inquiry_table .input_box input[type='text']
{
    width: 100%;
    padding: 10px; 

    border: none;
    background: #333;
}
.inquiries .inquiry_table .input_box textarea
{
    width: 100%;
    height: 160px; 
    padding: 10px;

    border: none;
    background: #333;
}

.inquiries .agree
{
    margin: 20px 0 0; 

    text-align: center;
}

.inquiries .form_actions
{
    margin: 10px 15px 0;
}
.inquiries .form_actions.confirm
{
    margin-top: 25px;
}
.inquiries .form_actions .btn_list
{
    text-align: center;
}
.inquiries .form_actions .btn_list li
{
    width: 100%;
    margin: 10px 0 0;
}
.inquiries .form_actions .btn_list li:first-child
{
    margin: 0;
}
.inquiries .form_actions .btn
{
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 44px;

    display: block;

    width: 100%;
    height: 44px;
    padding: 0; 

    border: none;
}
.inquiries .form_actions .btn_next
{
    text-align: center; 

    color: #fff;
    background: #bba03f;
}
.inquiries .form_actions .btn_prev
{
    text-align: center; 

    color: #fff;
    background: #525556;
}

@media (min-width: 1000px)
{
    .inquiries .finish .msg.send
    {
        font-size: 32px;
        font-size: 3.2rem;
    }
    .inquiries .finish .msg.thanks
    {
        margin: 20px 0 40px;
    }
    .inquiries .inquiry_table
    {
        margin: 40px 0 0;
    }
    .inquiries .inquiry_table th,
    .inquiries .inquiry_table td
    {
        display: table-cell;

        vertical-align: middle;
    }
    .inquiries .inquiry_table th
    {
        width: 200px;
    }
    .inquiries .inquiry_table th,
    .inquiries .inquiry_table td
    {
        padding: 25px 20px;
        padding-right: 0;
    }
    .inquiries .inquiry_table .input_box textarea
    {
        height: 320px;
    }
    .inquiries .agree
    {
        margin: 60px 0 0;
    }
    .inquiries .form_actions
    {
        margin: 20px 0 0;
    }
    .inquiries .form_actions.confirm
    {
        margin-top: 50px;
    }
    .inquiries .form_actions .btn_list
    {
        text-align: center;
    }
    .inquiries .form_actions .btn_list li
    {
        display: inline-block;

        width: 360px;
        margin: 0 10px;

        vertical-align: top;
    }
    .inquiries .form_actions .btn
    {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 88px; 

        height: 88px;
    }
}

.pt0,
.pv0,
.pa0
{
    padding-top: 0 !important;
}

.pr0,
.ph0,
.pa0
{
    padding-right: 0 !important;
}

.pb0,
.pv0,
.pa0
{
    padding-bottom: 0 !important;
}

.pl0,
.ph0,
.pa0
{
    padding-left: 0 !important;
}

.mt0,
.mv0,
.ma0
{
    margin-top: 0 !important;
}

.mr0,
.mh0,
.ma0
{
    margin-right: 0 !important;
}

.mb0,
.mv0,
.ma0
{
    margin-bottom: 0 !important;
}

.ml0,
.mh0,
.ma0
{
    margin-left: 0 !important;
}

.pt5,
.pv5,
.pa5
{
    padding-top: 5px !important;
}

.pr5,
.ph5,
.pa5
{
    padding-right: 5px !important;
}

.pb5,
.pv5,
.pa5
{
    padding-bottom: 5px !important;
}

.pl5,
.ph5,
.pa5
{
    padding-left: 5px !important;
}

.mt5,
.mv5,
.ma5
{
    margin-top: 5px !important;
}

.mr5,
.mh5,
.ma5
{
    margin-right: 5px !important;
}

.mb5,
.mv5,
.ma5
{
    margin-bottom: 5px !important;
}

.ml5,
.mh5,
.ma5
{
    margin-left: 5px !important;
}

.pt10,
.pv10,
.pa10
{
    padding-top: 10px !important;
}

.pr10,
.ph10,
.pa10
{
    padding-right: 10px !important;
}

.pb10,
.pv10,
.pa10
{
    padding-bottom: 10px !important;
}

.pl10,
.ph10,
.pa10
{
    padding-left: 10px !important;
}

.mt10,
.mv10,
.ma10
{
    margin-top: 10px !important;
}

.mr10,
.mh10,
.ma10
{
    margin-right: 10px !important;
}

.mb10,
.mv10,
.ma10
{
    margin-bottom: 10px !important;
}

.ml10,
.mh10,
.ma10
{
    margin-left: 10px !important;
}

.pt15,
.pv15,
.pa15
{
    padding-top: 15px !important;
}

.pr15,
.ph15,
.pa15
{
    padding-right: 15px !important;
}

.pb15,
.pv15,
.pa15
{
    padding-bottom: 15px !important;
}

.pl15,
.ph15,
.pa15
{
    padding-left: 15px !important;
}

.mt15,
.mv15,
.ma15
{
    margin-top: 15px !important;
}

.mr15,
.mh15,
.ma15
{
    margin-right: 15px !important;
}

.mb15,
.mv15,
.ma15
{
    margin-bottom: 15px !important;
}

.ml15,
.mh15,
.ma15
{
    margin-left: 15px !important;
}

.pt20,
.pv20,
.pa20
{
    padding-top: 20px !important;
}

.pr20,
.ph20,
.pa20
{
    padding-right: 20px !important;
}

.pb20,
.pv20,
.pa20
{
    padding-bottom: 20px !important;
}

.pl20,
.ph20,
.pa20
{
    padding-left: 20px !important;
}

.mt20,
.mv20,
.ma20
{
    margin-top: 20px !important;
}

.mr20,
.mh20,
.ma20
{
    margin-right: 20px !important;
}

.mb20,
.mv20,
.ma20
{
    margin-bottom: 20px !important;
}

.ml20,
.mh20,
.ma20
{
    margin-left: 20px !important;
}

.pt25,
.pv25,
.pa25
{
    padding-top: 25px !important;
}

.pr25,
.ph25,
.pa25
{
    padding-right: 25px !important;
}

.pb25,
.pv25,
.pa25
{
    padding-bottom: 25px !important;
}

.pl25,
.ph25,
.pa25
{
    padding-left: 25px !important;
}

.mt25,
.mv25,
.ma25
{
    margin-top: 25px !important;
}

.mr25,
.mh25,
.ma25
{
    margin-right: 25px !important;
}

.mb25,
.mv25,
.ma25
{
    margin-bottom: 25px !important;
}

.ml25,
.mh25,
.ma25
{
    margin-left: 25px !important;
}

.pt30,
.pv30,
.pa30
{
    padding-top: 30px !important;
}

.pr30,
.ph30,
.pa30
{
    padding-right: 30px !important;
}

.pb30,
.pv30,
.pa30
{
    padding-bottom: 30px !important;
}

.pl30,
.ph30,
.pa30
{
    padding-left: 30px !important;
}

.mt30,
.mv30,
.ma30
{
    margin-top: 30px !important;
}

.mr30,
.mh30,
.ma30
{
    margin-right: 30px !important;
}

.mb30,
.mv30,
.ma30
{
    margin-bottom: 30px !important;
}

.ml30,
.mh30,
.ma30
{
    margin-left: 30px !important;
}

.pt35,
.pv35,
.pa35
{
    padding-top: 35px !important;
}

.pr35,
.ph35,
.pa35
{
    padding-right: 35px !important;
}

.pb35,
.pv35,
.pa35
{
    padding-bottom: 35px !important;
}

.pl35,
.ph35,
.pa35
{
    padding-left: 35px !important;
}

.mt35,
.mv35,
.ma35
{
    margin-top: 35px !important;
}

.mr35,
.mh35,
.ma35
{
    margin-right: 35px !important;
}

.mb35,
.mv35,
.ma35
{
    margin-bottom: 35px !important;
}

.ml35,
.mh35,
.ma35
{
    margin-left: 35px !important;
}

.pt40,
.pv40,
.pa40
{
    padding-top: 40px !important;
}

.pr40,
.ph40,
.pa40
{
    padding-right: 40px !important;
}

.pb40,
.pv40,
.pa40
{
    padding-bottom: 40px !important;
}

.pl40,
.ph40,
.pa40
{
    padding-left: 40px !important;
}

.mt40,
.mv40,
.ma40
{
    margin-top: 40px !important;
}

.mr40,
.mh40,
.ma40
{
    margin-right: 40px !important;
}

.mb40,
.mv40,
.ma40
{
    margin-bottom: 40px !important;
}

.ml40,
.mh40,
.ma40
{
    margin-left: 40px !important;
}

.pt45,
.pv45,
.pa45
{
    padding-top: 45px !important;
}

.pr45,
.ph45,
.pa45
{
    padding-right: 45px !important;
}

.pb45,
.pv45,
.pa45
{
    padding-bottom: 45px !important;
}

.pl45,
.ph45,
.pa45
{
    padding-left: 45px !important;
}

.mt45,
.mv45,
.ma45
{
    margin-top: 45px !important;
}

.mr45,
.mh45,
.ma45
{
    margin-right: 45px !important;
}

.mb45,
.mv45,
.ma45
{
    margin-bottom: 45px !important;
}

.ml45,
.mh45,
.ma45
{
    margin-left: 45px !important;
}

.pt50,
.pv50,
.pa50
{
    padding-top: 50px !important;
}

.pr50,
.ph50,
.pa50
{
    padding-right: 50px !important;
}

.pb50,
.pv50,
.pa50
{
    padding-bottom: 50px !important;
}

.pl50,
.ph50,
.pa50
{
    padding-left: 50px !important;
}

.mt50,
.mv50,
.ma50
{
    margin-top: 50px !important;
}

.mr50,
.mh50,
.ma50
{
    margin-right: 50px !important;
}

.mb50,
.mv50,
.ma50
{
    margin-bottom: 50px !important;
}

.ml50,
.mh50,
.ma50
{
    margin-left: 50px !important;
}

.txt_b
{
    font-weight: bold;
}

/*# sourceMappingURL=../../_maps/assets/css/layout.css.map */

/* added 2017/11/28 parallax */
.parallax {
	position: relative;
	height: 350px;
	margin-bottom: 30px;
	background-image: url(../images/materials/bg_pr.jpg);
	background-position:center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment:fixed;
  overflow: hidden;
}
.parallax.custom-build {
  height: 278px;
  margin-bottom: 0;
  margin-top: 30px;
}
.parallax_sp {
  display: none;
}

.parallax a {
	display: block;
	width: 100%;
	height: 100%;
}

.parallax img {
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

body.sp_view .parallax {
  background: none;
  height: 200px;
}
body.sp_view .parallax img {
  width: 246px;
}

body.sp_view .parallax.custom-build {
  height: 96px;
}

body.sp_view .parallax.custom-build img {
  width: 300px;
}
