@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.
 */
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: 1em;

    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
*============================================================*/
@font-face
{
    font-family: 'Alegreya Sans';

    src: url('../font/AlegreyaSans-Regular.ttf') format('truetype');
    font-display: swap;
}

@font-face
{
    font-family: 'Alegreya Sans';
    font-style: italic;

    src: url('../font/AlegreyaSans-Italic.ttf') format('truetype');
    font-display: swap;
}

@font-face
{
    font-family: 'Alegreya Sans';
    font-weight: bold;

    src: url('../font/AlegreyaSans-Bold.ttf') format('truetype');
    font-display: swap;
}

@font-face
{
    font-family: 'Alegreya Sans';
    font-weight: bold;
    font-style: italic;

    src: url('../font/AlegreyaSans-BoldItalic.ttf') format('truetype');
    font-display: swap;
}

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

button:focus
{
    outline: none;
}

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

    overflow-y: scroll; 

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

body
{
    font-size: 11px;
    line-height: 1.7;

    color: #232323; 
    background-color: #f2f5f7;
}
@media (min-width: 980px)
{
    body
    {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 2;
    }
}

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
{
    transition: all .3s linear; 

    color: #232323;
}
a:visited
{
    color: #232323;
}
a:hover
{
    color: #232323;
}
a:active
{
    color: #232323;
}

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: 980px)
{
    .view-sp
    {
        display: none;
    }
}

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

#container
{
    position: relative;

    overflow: hidden; 

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

.wrap-in
{
    margin: 0 auto;
    padding: 0 6.25%;
}
@media (min-width: 980px)
{
    .wrap-in
    {
        width: 100%;
        max-width: 1760px;
        padding: 0 7.38636364%;
    }
}

.wrap-out
{
    margin: 0 4.6875%;
}
@media (min-width: 980px)
{
    .wrap-out
    {
        margin: 0 4.16%;
    }
}

.wrap-extra
{
    margin: 0;
}
@media (min-width: 980px)
{
    .wrap-extra
    {
        margin: 0 4.16%;
    }
}

.wrap-inout
{
    margin: 0 4.6875%;
}
@media (min-width: 980px)
{
    .wrap-inout
    {
        width: 100%;
        max-width: 1760px;
        margin: 0 auto;
        padding: 0 7.38636364%;
    }
}

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

    margin-top: 50px;
}
@media (min-width: 980px)
{
    .contents
    {
        margin-top: 70px;
    }
}

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

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

    width: 100%;
    height: 50px;
    padding: 15px 0;

    background: #fff;
}
.gheader .logo-set a
{
    display: inline-block;
}
@media (min-width: 980px)
{
    .gheader
    {
        height: 70px;
    }
    .gheader .logo-set
    {
        position: relative;
        z-index: 2; 

        display: inline-block;
		font-size: 1.3em;
    }
    .gheader .logo-set a:hover
    {
        opacity: .7;
    }
    .gheader .logo
    {
        display: inline-block; 

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

.gfooter
{
    position: relative;
    z-index: 2;
}
.gfooter a
{
    text-decoration: none;
}
.gfooter .row-inquiry
{
    background: #f2f5f7;
}
.gfooter .row-inquiry .contents-view .contents-detail
{
    background: none;
}
.gfooter .row-information
{
    padding: 30px 0;

    color: #fff; 
    background: #232323;
}
.gfooter .row-information a
{
    color: #fff;
}
.gfooter .pagetop
{
    position: fixed;
    z-index: 2; 
    right: 15px;
    bottom: 30px;

    display: none;
}
.gfooter .pagetop .btn-pagetop
{
    display: block;
    display: block; 
    overflow: hidden;

    width: 29px;
    height: 29px;

    white-space: nowrap;
    text-decoration: none !important;
    text-indent: 100%;

    background-image: url(../images/parts/arrow_pagetop.svg);
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: 59px auto;
       -moz-background-size: 59px auto;
            background-size: 59px auto;

        -ms-background-size: 59px auto;
}
.gfooter .logo-set
{
    margin: 10px 0 0;
}
.gfooter .copyright
{
    font-family: 'Alegreya Sans'; 

    margin: 10px 0 0;
}
.gfooter .site-contents-list
{
    overflow: hidden;

    margin-top: -10px;
}
.gfooter .site-contents-list li
{
    display: inline;
    float: left;

    margin-top: 10px;
    margin-right: 1em;
}
.gfooter .site-share
{
    font-family: 'Alegreya Sans';
}
@media (min-width: 980px)
{
    .gfooter a
    {
        position: relative;
    }
    .gfooter a:hover
    {
        opacity: .7;
    }
    .gfooter .row-inquiry .contents-view .contents-detail
    {
        display: table;
        float: none;

        width: 100%;
        height: 600px; 
        margin: 0;

        background: none;
    }
    .gfooter .row-inquiry .contents-view .contents-detail > div
    {
        display: table-cell;
    }
    .gfooter .row-information
    {
        padding: 40px 0;
    }
    .gfooter .row-information .wrap-in
    {
        position: relative;
    }
    .gfooter .pagetop
    {
        right: 20px; 
        bottom: 60px;
    }
    .gfooter .pagetop .btn-pagetop
    {
        width: 40px;
        height: 40px;

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

            -ms-background-size: 80px auto;
    }
    .gfooter .livline-information
    {
        display: table;

        margin: 20px 0 0;
    }
    .gfooter .livline-information > div
    {
        display: table-cell;

        margin: 0; 

        vertical-align: middle;
    }
    .gfooter .livline-information .logo-set
    {
        padding-right: 40px;
    }
    .gfooter .logo-set
    {
        margin: 10px 0 0;
    }
    .gfooter .logo-set .logo
    {
        display: inline-block; 

        width: 120px;
    }
    .gfooter .logo-set .logo img
    {
        width: 100%;
        height: auto;
    }
    .gfooter .copyright
    {
        margin: 10px 0 0;
    }
    .gfooter .site-share
    {
        position: absolute;
        top: 0; 
        right: 7.38636364%;
    }
}


.row-bannerarea{
		background-color: #ffffff;
	}
	.bannerset{
		display: flex;
		flex-wrap: wrap;
        align-items: flex-end;
		justify-content: space-between;
		padding: 1em 0;
	}
	.bannerset > li{
		width: 49%;
		margin-top: 1em;
	}
.bannerset > li:nth-child(-n+2){
	margin-top: 0em;
}
	.bannerset > li > a{
		display: block;
		border: #232323 solid 1px;;
		box-sizing: border-box;
	}
	.bannerset > li > a:hover{
		border: #ffffff solid 1px;;
	}
	.bannerset > li img{
		width: 100%;
		height: auto;
	}
    .bannerset > li small {
        display: block;
        color: #919191;
    }
@media (min-width: 768px){
	.bannerset > li{
		width: 23%;
		margin-top: 0;
	}
}


.site-share
{
    line-height: 1; 

    display: table;

    margin: 10px 0 0;
}
.site-share > div
{
    display: table-cell;

    vertical-align: middle;
}
.site-share .caption
{
    position: relative; 

    padding-right: 25px;
}
.site-share .caption:after
{
    position: absolute;
    top: 50%;
    right: 0;

    display: block;

    width: 20px;
    height: 1px;
    margin-top: -1px;

    content: '';

    background: #666;
}
.site-share .sns-list li
{
    margin-left: 5px;
}
.site-share .sns-list li .sns-icons
{
    display: flex;
}
.mobile-nav
{
    position: fixed;
    z-index: 100; 
    top: 0;
    left: 0;

    width: 100%;
}
.mobile-nav .sitenav .gnav-list .is-current
{
    text-decoration: underline;
}
.mobile-nav .site-menu
{
    position: absolute;
    z-index: 101; 
    top: 15px;
    right: 15px;
}
.mobile-nav .site-menu .btn-sitemenu
{
    line-height: 1;

    display: table;

    transition: all .3s linear;
}
.mobile-nav .site-menu .btn-sitemenu > *
{
    display: table-cell;

    vertical-align: middle;
}
.mobile-nav .site-menu .btn-sitemenu.is-active .icon-caption
{
    color: #fff;
}
.mobile-nav .site-menu .btn-sitemenu.is-active .line:nth-child(1)
{
    top: 8px;

    transform: rotateZ(135deg); 

    background: #fff;
}
.mobile-nav .site-menu .btn-sitemenu.is-active .line:nth-child(2)
{
    opacity: 0;
}
.mobile-nav .site-menu .btn-sitemenu.is-active .line:nth-child(3)
{
    bottom: 8px;

    transform: rotateZ(-135deg); 

    background: #fff;
}
.mobile-nav .site-menu .btn-sitemenu .icon-caption
{
    font-family: 'Alegreya Sans';
    font-size: 13px;
    font-size: 1.3rem;

    padding-right: 1em; 

    transition: all .3s linear;
}
.mobile-nav .site-menu .btn-sitemenu .icon
{
    position: relative;

    width: 20px;
    height: 18px;
}
.mobile-nav .site-menu .btn-sitemenu .line
{
    position: absolute; 

    display: block;

    width: 100%;
    height: 2px;

    transition: all .3s linear;

    border-radius: 50px;
    background: #232323;
}
.mobile-nav .site-menu .btn-sitemenu .line:nth-child(1)
{
    top: 0;
}
.mobile-nav .site-menu .btn-sitemenu .line:nth-child(2)
{
    top: 50%;

    margin-top: -1px;
}
.mobile-nav .site-menu .btn-sitemenu .line:nth-child(3)
{
    bottom: 0;
}
@media (min-width: 980px)
{
    .mobile-nav .site-menu
    {
        top: 18px;
    }
    .mobile-nav .site-menu .btn-sitemenu.is-active .line:nth-child(1)
    {
        top: 13px;
    }
    .mobile-nav .site-menu .btn-sitemenu.is-active .line:nth-child(3)
    {
        bottom: 13px;
    }
    .mobile-nav .site-menu .btn-sitemenu .icon-caption
    {
        font-size: 16px;
        font-size: 1.6rem;
    }
    .mobile-nav .site-menu .btn-sitemenu .icon
    {
        width: 30px;
        height: 28px;
    }
}

.nav-overlay
{
    position: absolute;
    z-index: 99;
    top: 0;
    left: 0;

    visibility: hidden; 

    width: 100%;
    height: 100%;

    opacity: 0;
    background: #232323;
}

.sitenav
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    visibility: hidden; 

    width: 100%;
    height: 100%;

    transition: all .3s linear;
}
.sitenav a
{
    display: inline-block;
}
.sitenav .nav-container
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
    padding: 80px 35px 0;

    opacity: 0;
}
.sitenav .gnav-list
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-size: 16px;
    font-size: 1.6rem; 
    font-weight: bold;
}
.sitenav .gnav-list li
{
    margin: 10px 0 0;
}
.sitenav .gnav-list li:first-child
{
    margin: 0;
}
.sitenav .gnav-list a
{
    text-decoration: none; 

    color: #fff;
}
.sitenav .inquiry-link
{
    margin: 15px 0 0;
}
.sitenav .inquiry-link .btn
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-size: 14px;
    font-size: 1.4rem;

    width: 200px;

    border: none; 
    background: #7c7c7c;
}
.sitenav .subnav-list
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;

    overflow: hidden; 

    margin: 15px 0 0;
}
.sitenav .subnav-list li
{
    display: inline;
    float: left;

    margin-top: 5px;
    margin-right: 1em;
}
.sitenav .subnav-list a
{
    text-decoration: none; 

    color: #fff;
}
.sitenav .site-share
{
    margin: 15px 0 0;
}
.sitenav .site-share .caption
{
    color: #fff;
}
.sitenav .site-share .caption:after
{
    background: #fff;
}

.mode-tablet .sitenav .gnav-list
{
    font-size: 30px;
    font-size: 3rem;
}

.mode-tablet .sitenav .subnav-list
{
    font-size: 20px;
    font-size: 2rem;
}

.mode-tablet .sitenav .inquiry-link .btn
{
    font-size: 20px;
    font-size: 2rem;
}

.mode-tablet .sitenav .site-share
{
    font-size: 20px;
    font-size: 2rem;
}

@media (min-width: 980px)
{
    .mode-pc .site-menu
    {
        display: none;
    }
    .mode-pc .contents
    {
        margin-top: 70px;
    }
    .mode-pc .gheader .sitenav
    {
        position: absolute;
        z-index: 1;

        visibility: inherit;
    }
    .mode-pc .gheader .nav-container
    {
        position: absolute;

        height: auto;
        padding: 20px 0 0; 

        opacity: 1;
    }
    .mode-pc .gheader .gnav-list
    {
        text-align: center;
    }
    .mode-pc .gheader .gnav-list li
    {
        position: relative; 

        display: inline-block;

        margin: 0;
        padding: 0 1.3%;
    }
    .mode-pc .gheader .gnav-list li.home
    {
        display: none;
    }
    .mode-pc .gheader .gnav-list li.home + li
    {
        padding: 0 1.3%;
    }
    .mode-pc .gheader .gnav-list li.home + li:after
    {
        display: none;
    }
    .mode-pc .gheader .gnav-list li:after
    {
        font-weight: normal; 

        position: absolute;
        top: 0;
        left: -.5em;

        display: inline;

        content: '/';

        color: #bebebe;
    }
    .mode-pc .gheader .gnav-list a
    {
        text-decoration: none; 

        color: #232323;
    }
    .mode-pc .gheader .gnav-list a:hover
    {
        opacity: .7;
    }
    .mode-pc .gheader .inquiry-link
    {
        position: absolute;
        top: 10px; 
        right: 4.16%;

        margin: 0;
    }
    .mode-pc .gheader .inquiry-link .btn
    {
        width: auto;
        min-width: 150px; 

        border: none;
    }
    .mode-pc .gheader .inquiry-link .btn:hover
    {
        color: #fff;
    }
    .mode-pc .gheader .inquiry-link .btn:hover::after
    {
        background: #232323;
    }
    .mode-pc .gheader .site-share,
    .mode-pc .gheader .subnav-list
    {
        display: none;
    }
}

.mobile-view-announce
{
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;

    display: table;
    visibility: hidden; 

    width: 100%;
    height: 100%;

    text-align: center;
}
.mobile-view-announce .mobile-announce-body
{
    position: fixed;
    top: 0; 
    left: 0;

    display: table;

    width: 100%;
    height: 100%;
}
.mobile-view-announce .mobile-announce-body > div
{
    display: table-cell;

    vertical-align: middle;
}
.mobile-view-announce .text
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;

    margin: 40px 0 0;

    color: #fff;
}

body.is-sitemenu-open .sitenav,
body.is-mobile-announce-show .sitenav
{
    visibility: inherit;
}

body.is-sitemenu-open .nav-overlay,
body.is-mobile-announce-show .nav-overlay
{
    visibility: inherit;
}

body.is-mobile-announce-show .mobile-view-announce
{
    visibility: inherit;
}

body.is-mobile-announce-show .mobile-nav
{
    display: none;
}

/*============================================================
* module
*============================================================*/
.common-box
{
    padding: 50px 15px; 

    background: #fff;
}
.common-box .message
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-size: 16px;
    font-size: 1.6rem; 
    font-weight: bold;

    text-align: center;
}
.common-box .text
{
    margin: 20px 20px 0;
}
@media (min-width: 980px)
{
    .common-box
    {
        padding: 150px 8.5%;
    }
    .common-box .message
    {
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.7; 

        margin: 70px 0 30px;
    }
    .common-box .message:first-child
    {
        margin-top: 0;
    }
    .common-box .text
    {
        max-width: 730px;
        margin: 30px auto 0;

        text-align: left;
    }
}

.contents-view .contents-detail
{
    padding: 40px 20px;

    text-align: center;

    background: #fff;
}
.contents-view .contents-detail .caption-set
{
    line-height: 1; 

    position: relative;

    margin: 0 0 20px;
    padding: 0 0 20px;
}
.contents-view .contents-detail .caption-set:after
{
    position: absolute;
    bottom: 0; 
    left: 50%;

    display: block;

    width: 28px;
    height: 1px;
    margin-left: -14px;

    content: '';

    background: #232323;
}
.contents-view .contents-detail .caption-set .caption
{
    font-family: 'Alegreya Sans';
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
}
.contents-view .contents-detail .caption-set .caption-rubi
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-weight: bold;

    margin: 5px 0 0;
}
.contents-view .contents-detail .contents-link
{
    margin: 20px 15px 0;
}

@media (min-width: 980px)
{
    .contents-view
    {
        position: relative; 

        overflow: hidden;
    }
    .contents-view .contents-image
    {
        position: relative;
        z-index: 1; 

        float: left;

        width: 59%;
    }
    .contents-view .contents-image img
    {
        width: 100%;
        height: auto;
    }
    .contents-view .contents-detail
    {
        position: relative;
        z-index: 1;

        display: table;
        float: right;

        width: 41%;
        margin-top: 50px;
        padding: 40px 5%;
    }
    .contents-view .contents-detail > div
    {
        display: table-cell;

        vertical-align: middle;
    }
    .contents-view .contents-detail .caption-set
    {
        margin: 0 0 30px;
        padding: 0 0 30px;
    }
    .contents-view .contents-detail .caption-set:after
    {
        width: 40px;
        margin-left: -20px;
    }
    .contents-view .contents-detail .caption-set .caption
    {
        font-size: 36px;
        font-size: 3.6rem;
    }
    .contents-view .contents-detail .caption-set .caption-rubi
    {
        margin: 10px 0 0;
    }
    .contents-view .contents-detail .contents-link
    {
        margin: 30px 0 0;
    }
    .contents-view .contents-bg
    {
        position: absolute;
        z-index: 0; 
        top: 50px;

        width: 100%;
        height: 100%;

        background: #fff;
    }
    .contents-view.image-left .contents-image
    {
        float: left;
    }
    .contents-view.image-left .contents-detail
    {
        float: right;
    }
    .contents-view.image-right .contents-image
    {
        float: right;
    }
    .contents-view.image-right .contents-detail
    {
        float: left;
    }
}

.information-label
{
    font-size: 12px;
    font-size: 1.2rem; 

    padding: 0 5px;

    color: #fff;
    background: #232323;
}
@media (min-width: 980px)
{
    .information-label
    {
        font-size: 14px;
        font-size: 1.4rem; 

        padding: 0 10px;
    }
}

.js-slidein
{
    position: relative;

    overflow: hidden;
}
.js-slidein .cover-bg
{
    position: absolute;
    z-index: 10; 
    top: 0;

    width: 0;
    height: 100%;
}
.js-slidein .cover-bg.base
{
    background: #f8f8f8;
}
.js-slidein .cover-bg.white
{
    background: #fff;
}
.js-slidein .cover-bg.black
{
    background: #232323;
}

.js-slidein-target
{
    opacity: 0;
}

.loading-bg
{
    position: fixed;
    z-index: 299;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%; 

    background: #f2f5f7;
}
.loading-bg .loading-line-set
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100px;
    height: 1px;
    margin-top: .5px;
    margin-left: -50px;

    opacity: 0;
}
.loading-bg .loading-line-set .loading-line
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    background: #7c7c7c;
}
.loading-bg .loading-line-set .loading-cover
{
    position: absolute;
    right: 0;

    display: block;

    width: 100%;
    height: 1px;

    background: #f2f5f7;
}

.style-page .section-pageheader
{
    margin: 0 0 70px;
}
.style-page .section-pageheader.js-slidein
{
    overflow: inherit;
}
.style-page .section-pageheader.nobg
{
    margin: 0;
    padding: 30px 0 0;
}
.style-page .section-pageheader.nobg .pageheader-body
{
    height: auto;
}
.style-page .section-pageheader.nobg .page-ttl-set
{
    position: static;
}
.style-page .section-pageheader .pageheader-body
{
    position: relative;

    height: 250px; 

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.style-page .section-pageheader .wrap-out
{
    position: relative;

    height: 100%;
}
@media (min-width: 980px)
{
    .style-page .section-pageheader
    {
        margin: 0 0 230px;
    }
    .style-page .section-pageheader .wrap-out
    {
        margin: 0 11.9%;
    }
    .style-page .section-pageheader.nobg
    {
        margin: 0;
        padding: 80px 0 0;
    }
    .style-page .section-pageheader .pageheader-body
    {
        height: 700px;
    }
}

.information-list li
{
    border-top: 1px solid #e5e5e5;
}
.information-list li:last-child
{
    border-bottom: 1px solid #e5e5e5;
}

.information-list a
{
    display: block;

    text-decoration: none;
}
.information-list a .item-body
{
    text-decoration: underline;
}

.information-list .information-list-item
{
    padding: 20px;
}
.information-list .information-list-item .item-header
{
    font-family: 'Alegreya Sans'; 

    display: table;
}
.information-list .information-list-item .item-header > div
{
    display: table-cell;

    vertical-align: middle;
}
.information-list .information-list-item .item-header .item-date
{
    font-size: 14px;
    font-size: 1.4rem;
}
.information-list .information-list-item .item-header .item-category
{
    padding-left: 10px;
}
.information-list .information-list-item .item-body
{
    margin: 5px 0 0;
}

@media (min-width: 980px)
{
    .information-list
    {
        overflow: hidden;
    }
    .information-list li
    {
        float: left;

        width: 49%;

        border-top: none;
        border-bottom: 1px solid #ececec;
    }
    .information-list li:nth-child(1),
    .information-list li:nth-child(2)
    {
        border-top: 1px solid #ececec;
    }
    .information-list li:nth-child(2n)
    {
        float: right;
    }
    .information-list a:hover
    {
        opacity: 1; 
        background: #ececec;
    }
    .information-list .information-list-item
    {
        padding: 60px;
    }
    .information-list .information-list-item .item-header .item-date
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
    .information-list .information-list-item .item-header .item-category
    {
        padding-left: 15px;
    }
    .information-list .information-list-item .item-body
    {
        margin: 10px 0 0;
    }
}

.pager
{
    overflow: hidden;

    margin: 50px 0 0;
}
.pager .pager-list
{
    font-family: 'Alegreya Sans';
    font-size: 20px;
    font-size: 2rem;
    line-height: 1; 

    position: relative;
    left: 50%;

    float: left;

    list-style: none;
}
.pager .pager-list li
{
    position: relative;
    left: -50%;

    float: left;

    margin: 0 5px;

    background: #fff;
}
.pager .pager-list li:first-child
{
    margin-left: 0;
}
.pager .pager-list li:last-child
{
    margin-right: 0;
}
.pager .pager-list span
{
    display: table-cell;

    min-width: 25px; 
    padding: 10px 15px;

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

    background: #f2f5f7;
}
.pager .pager-list a
{
    display: table;

    text-decoration: none; 

    background: #fff;
}
.pager .pager-list a span
{
    vertical-align: middle;
}
.pager .pager-list .is-current
{
    font-weight: bold;
}
.pager .pager-list .is-current span
{
    color: #fff; 
    background: #232323;
}
.pager .pager-list .jump span
{
    position: relative; 

    display: block;
}
.pager .pager-list .jump.jump-prev:hover span
{
    animation: arrow_left 1s infinite;
}
.pager .pager-list .jump.jump-prev span:before
{
    left: 0;

    transform: rotate(-45deg); 

    border-top: 1px solid #000;
    border-left: 1px solid #000;
}
.pager .pager-list .jump.jump-next:hover span
{
    animation: arrow_right 1s infinite;
}
.pager .pager-list .jump.jump-next span:before
{
    right: 0;

    transform: rotate(45deg); 

    border-top: 1px solid #000;
    border-right: 1px solid #000;
}
@media (min-width: 980px)
{
    .pager
    {
        margin: 100px 0 0;
    }
    .pager .pager-list
    {
        font-size: 24px;
        font-size: 2.4rem;
    }
    .pager .pager-list span
    {
        min-width: 64px;
        padding: 20px 20px;

        transition: all .3s linear;
    }
    .pager .pager-list a:hover span
    {
        color: #fff; 
        background: #232323;
    }
}

.js-accordion .js-accordion-btn
{
    position: relative;

    cursor: pointer;
}
.js-accordion .js-accordion-btn i
{
    position: absolute;
    top: 50%;
    right: 15px;

    display: block;

    width: 8px;
    height: 8px;
    margin-top: -4px;

    transition: all .3s linear;
    transform-origin: 25% 50%;
}
.js-accordion .js-accordion-btn i:before,
.js-accordion .js-accordion-btn i:after
{
    position: absolute;
    top: 50%;
    right: 0;

    display: block;

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

    content: '';
    transition: all .3s linear; 

    background: #232323;
}
.js-accordion .js-accordion-btn i:before
{
    right: 5px; 

    transform: rotate(45deg);
}
.js-accordion .js-accordion-btn i:after
{
    transform: rotate(-45deg);
}

.js-accordion.is-open .js-accordion-btn i
{
    transform: rotate(-180deg);
}
.js-accordion.is-open .js-accordion-btn i:before,
.js-accordion.is-open .js-accordion-btn i:after
{
    background: #fff;
}

@media (min-width: 980px)
{
    .js-accordion .js-accordion-btn i
    {
        right: 40px;
    }
}

.link-primary
{
    overflow: hidden;

    padding-left: 20px; 

    background-image: url(../images/parts/arrow_link_primary.svg);
    background-repeat: no-repeat;
    background-position: -2px center;
    -webkit-background-size: 28px auto;
       -moz-background-size: 28px auto;
            background-size: 28px auto;

        -ms-background-size: 28px auto;
}
@media (min-width: 980px)
{
    .link-primary
    {
        padding-left: 20px; 

        background-position: -10px center;
        -webkit-background-size: 34px auto;
           -moz-background-size: 34px auto;
                background-size: 34px auto;

            -ms-background-size: 34px auto;
    }
}

.btn-primary
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif; 
    font-weight: bold;
    line-height: 1;

    position: relative;
    z-index: 2;

    display: inline-block;

    width: 100%;
    padding: 15px;

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

    border: 1px solid #232323;
    background: #232323;
}
.btn-primary:link,
.btn-primary:visited,
.btn-primary:active
{
    color: #fff;
}
.btn-primary.lang-en
{
    font-family: 'Alegreya Sans';
}
.btn-primary.btn-back span:before
{
    margin-right: 5px; 

    content: '<';
}
.btn-primary.bg-glay
{
    color: #232323; 
    border-color: #dbdbdb;
    background: #dbdbdb;
}

.btn-share
{
    display: inline-block;
    overflow: hidden;

    width: 24px;
    height: 24px;

    white-space: nowrap; 
    text-decoration: none !important;
    text-indent: 100%;

    background-repeat: no-repeat;
    background-position: center center;
}
.btn-share.btn-share-facebook
{
    background-image: url(../images/parts/icon_sns_facebook.svg);
    -webkit-background-size: 40px auto;
       -moz-background-size: 40px auto;
            background-size: 40px auto; 

        -ms-background-size: 40px auto;
}
@media (min-width: 980px)
{
    .btn-share.btn-share-facebook
    {
        -webkit-background-size: 50px auto;
           -moz-background-size: 50px auto;
                background-size: 50px auto; 

            -ms-background-size: 50px auto;
    }
}

@media (min-width: 980px)
{
    .btn-primary
    {
        width: auto;
        min-width: 240px;
        padding: 18px;
    }
    .btn-primary::before,
    .btn-primary::after
    {
        position: absolute;
        z-index: -1;

        display: block;

        content: '';
    }
    .btn-primary::before,
    .btn-primary::after
    {
        -webkit-transition: all .3s;
                transition: all .3s;
    }
    .btn-primary::after
    {
        top: 0;
        left: 0;

        width: 0;
        height: 100%;
    }
    .btn-primary:hover
    {
        opacity: 1; 
        color: #232323;
    }
    .btn-primary:hover::after
    {
        width: 100%; 

        background: #fff;
    }
    .btn-primary.btn-back::after
    {
        right: 0; 
        left: auto;
    }
    .btn-primary.btn-back:hover::after
    {
        width: 100%;
    }
    .btn-primary.bg-glay:hover
    {
        color: #fff;
    }
    .btn-primary.bg-glay:hover::after
    {
        background: #232323;
    }
}

.type-line li
{
    position: relative;

    margin-top: 5px; 
    padding-left: 20px;
}
.type-line li:first-child
{
    margin-top: 0;
}
.type-line li:before
{
    position: absolute;
    top: .8em;
    left: 0;

    display: block;

    width: 16px;
    height: 1px;

    content: '';

    background: #232323;
}

@media (min-width: 980px)
{
    .type-line li:before
    {
        top: .9em;
    }
}

.page-ttl-set
{
    line-height: 1;

    position: absolute;
    bottom: -40px; 

    display: table;

    width: 100%;
    height: 80px;
    margin: 0 auto;

    text-align: center;

    background: rgba(255, 255, 255, .95);
}
.page-ttl-set > div
{
    display: table-cell;

    vertical-align: middle;
}
.page-ttl-set .page-ttl
{
    font-family: 'Alegreya Sans'; 
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
}
@media (min-width: 980px)
{
    .page-ttl-set .page-ttl
    {
        font-size: 38px;
        font-size: 3.8rem;
    }
}
.page-ttl-set .page-ttl-rubi
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;

    margin: 10px 0 0;
}
@media (min-width: 980px)
{
    .page-ttl-set .page-ttl-rubi
    {
        font-size: 16px;
        font-size: 1.6rem;
    }
}
@media (min-width: 980px)
{
    .page-ttl-set
    {
        bottom: -140px; 

        height: 220px;
    }
}

.sttl-set
{
    line-height: 1;
    line-height: 1; 

    position: relative;

    margin: 0 0 20px;
    padding: 0 0 20px;

    text-align: center;
}
.sttl-set > *
{
    font-size: 13px;
    font-size: 1.3rem;
}
.sttl-set:after
{
    position: absolute;
    bottom: 0; 
    left: 50%;

    display: block;

    width: 28px;
    height: 1px;
    margin-left: -14px;

    content: '';

    background: #232323;
}
.sttl-set .sttl
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
    font-weight: bold;

    margin: 10px 0 0;
}
.sttl-set .sttl-rubi
{
    font-family: 'Alegreya Sans';
    font-style: italic;
}
@media (min-width: 980px)
{
    .sttl-set
    {
        margin: 0 0 60px;
        padding: 0 0 30px;
    }
    .sttl-set > *
    {
        font-size: 20px;
        font-size: 2rem;
    }
    .sttl-set:after
    {
        width: 40px;
        margin-left: -20px;
    }
    .sttl-set .sttl
    {
        margin: 20px 0 0;
    }
}

.section-common
{
    margin: 30px 0 0;
}
@media (min-width: 980px)
{
    .section-common
    {
        margin: 80px 0 0;
    }
}

.table-primary.wide
{
    width: 100%;
}

.table-primary.transform-sp th,
.table-primary.transform-sp td
{
    display: block;

    margin-top: -1px;
}

.table-primary th,
.table-primary td
{
    padding: 5px 10px;

    vertical-align: top; 

    border: 1px solid #efefef;
}

.table-primary th
{
    font-family: 'Koburina Gothic W6 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif; 

    text-align: left;

    background: #f2f5f7;
}
.table-primary th.txt-center
{
    text-align: center;
}

@media (min-width: 980px)
{
    .table-primary.transform-sp th,
    .table-primary.transform-sp td
    {
        display: table-cell;

        margin-top: 0;
    }
    .table-primary th,
    .table-primary td
    {
        padding: 25px 30px;
    }
    .table-primary th
    {
        padding: 15px 30px;

        text-align: center;
    }
}

.modalContents
{
    position: fixed;
    z-index: 300; 
    top: 50%;
    left: 50%;

    display: none;

    width: 300px;
    height: 170px;
    margin-top: -85px;
    margin-left: -150px;

    background: #fff;
}

.modalContainer
{
    position: fixed;
    z-index: 299;
    top: 0;
    left: 0;

    display: none; 

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, .7);
}

label input[type='checkbox']
{
    margin-right: 5px;

    vertical-align: middle;
}

input,
textarea
{
    font-family: 'Koburina Gothic W3 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif !important;

    -webkit-appearance: none;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder
{
    font-family: 'Koburina Gothic W3 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder
{
    font-family: 'Koburina Gothic W3 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
}
input:-moz-placeholder,
textarea:-moz-placeholder
{
    font-family: 'Koburina Gothic W3 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
}
input::placeholder,
textarea::placeholder
{
    font-family: 'Koburina Gothic W3 JIS2004', 'Open Sans', 'Hiragino Kaku Gothic ProN', Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', Meiryo, 'メイリオ', sans-serif;
}

input[type='submit'],
input[type='button']
{
    transition: all .3s linear;

    border-radius: 0; 

    -webkit-appearance: none;
}

input[type='text']
{
    border: none; 
    border-radius: 0;

    -webkit-appearance: none;
}

.custom-radiobox
{
    font-size: 16px;
    font-size: 1.6rem; 

    position: relative;

    display: inline-block;

    padding: 10px 10px;
    padding-left: 41px;

    border: 2px solid #f2f5f7;
    background: #f2f5f7;
}
.custom-radiobox input
{
    position: absolute;
    top: 0; 
    left: 0;

    opacity: 0;
}
.custom-radiobox:before
{
    position: absolute;
    top: 50%;
    left: 10px;

    display: block;

    width: 21px;
    height: 20px;
    margin-top: -10px; 

    content: '';

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

        -ms-background-size: 21px auto;
}
.custom-radiobox.is-checked
{
    border-color: #7c7c7c; 
    background-color: #fff;
}
.custom-radiobox.is-checked:before
{
    background-position: 0 bottom;
}
.validerr .custom-radiobox,
.custom-radiobox.is-error
{
    border-color: #fae2e2; 
    background-color: #fae2e2;
}
@media (min-width: 980px)
{
    .custom-radiobox
    {
        padding-left: 56px;
    }
    .custom-radiobox:before
    {
        left: 20px;
    }
}

.custom-checkbox
{
    position: relative;

    display: inline-block;

    min-height: 20px; 
    padding-left: 30px;
}
.custom-checkbox input
{
    position: absolute;
    top: 0; 
    left: 0;

    opacity: 0;
}
.custom-checkbox:before
{
    position: absolute;
    top: .2em; 
    left: 0;

    display: block;

    width: 20px;
    height: 20px;

    content: '';

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

        -ms-background-size: 20px auto;
}
.custom-checkbox.is-error:before
{
    background: #fae2e2;
}
.custom-checkbox.is-checked:before
{
    background-position: 0 bottom;
}

.custom-select-box
{
    font-size: 16px;
    font-size: 1.6rem; 

    position: relative;
}
.custom-select-box *:focus
{
    outline: none;
}
.custom-select-box.validerr .SelectBox
{
    border-color: #fae2e2; 
    background-color: #fae2e2;
}
.custom-select-box select
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
}
.custom-select-box select.SelectClass
{
    z-index: 1;
}
.custom-select-box .SelectBox,
.custom-select-box .opt
{
    line-height: 44px;

    min-height: 44px;
    padding: 0 15px;
}
.custom-select-box .SelectBox
{
    position: relative;

    cursor: pointer;

    border: 2px solid #f2f5f7; 
    background: #f2f5f7;
}
.custom-select-box .SelectBox.is-error
{
    border-color: #fae2e2; 
    background-color: #fae2e2;
}
.custom-select-box .SelectBox.is-complete
{
    border-color: #7c7c7c; 
    background-color: #fff;
}
.custom-select-box .SelectBox label
{
    position: absolute;
    top: 0; 
    right: 0;

    width: 44px;
    height: 44px;
}
.custom-select-box .SelectBox label i
{
    position: absolute;
    top: 50%;
    right: 15px;

    display: block;

    width: 8px;
    height: 8px;
    margin-top: -4px;

    transition: all .3s linear;
    transform-origin: 25% 50%;
}
.custom-select-box .SelectBox label i:before,
.custom-select-box .SelectBox label i:after
{
    position: absolute;
    top: 50%;
    right: 0;

    display: block;

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

    content: '';
    transition: all .3s linear; 

    background: #232323;
}
.custom-select-box .SelectBox label i:before
{
    right: 5px; 

    transform: rotate(45deg);
}
.custom-select-box .SelectBox label i:after
{
    transform: rotate(-45deg);
}
.custom-select-box .optWrapper
{
    position: absolute;
    z-index: 1; 
    top: 44px;

    display: none;

    width: 100%;

    background: #f2f5f7;
}
.custom-select-box .opt
{
    cursor: pointer;
}
.custom-select-box .opt:hover,
.custom-select-box .opt.selected
{
    color: #fff; 
    background: #9c9c9c;
}
.custom-select-box .opt:first-child
{
    display: none;
}
.custom-select-box .open .SelectBox label i
{
    transform: rotate(-180deg);
}
.custom-select-box .open .optWrapper
{
    display: block;
}
@media (min-width: 980px)
{
    .custom-select-box
    {
        position: relative;
    }
    .custom-select-box *:focus
    {
        outline: none;
    }
    .custom-select-box select
    {
        position: absolute;
        top: 0;
        left: 0;

        width: 100%;
        height: 100%;

        opacity: 0;
    }
    .custom-select-box select.SelectClass
    {
        z-index: 1;
    }
    .custom-select-box .SelectBox,
    .custom-select-box .opt
    {
        line-height: 50px;

        min-height: 50px;
        padding: 0 30px;
    }
    .custom-select-box .opt
    {
        line-height: 40px; 

        min-height: 40px;
    }
    .custom-select-box .SelectBox
    {
        font-size: 20px;
        font-size: 2rem;
    }
    .custom-select-box .SelectBox label
    {
        height: 50px;
    }
    .custom-select-box .optWrapper
    {
        top: 50px;
    }
}

.required
{
    font-weight: bold; 

    color: #d31919;
}

.msg.error,
.error-box.validerr
{
    color: #d31919;
}

.error-box
{
    display: none; 

    margin: 10px 0 0;
}
.error-box.validerr
{
    display: block;
}

.validerr .custom-radiobox
{
    border-color: #fae2e2;
}

.validerr input[type='text'],
.validerr textarea
{
    border-color: #fae2e2; 
    background-color: #fae2e2;
}

input[type='text']
{
    font-size: 16px;
    font-size: 1.6rem; 

    padding: 10px 15px;

    border: 2px solid #f2f5f7;
    background: #f2f5f7;
}
input[type='text'].w-wide
{
    width: 100%;
}
@media (min-width: 980px)
{
    input[type='text']
    {
        padding: 10px 20px;
    }
}
input[type='text'].is-complete
{
    border-color: #7c7c7c;
}

textarea
{
    font-size: 16px;
    font-size: 1.6rem; 

    height: 150px;
    padding: 10px 15px;

    border: none;
    border: 2px solid #f2f5f7;
    background: #f2f5f7;
}
textarea.w-wide
{
    width: 100%;
}
@media (min-width: 980px)
{
    textarea
    {
        padding: 10px 20px;
    }
}

input:focus,
input.is-complete,
textarea:focus,
textarea.is-complete
{
    border-color: #7c7c7c;
    outline: none;
    background: #fff;
}
.validerr textarea,
input.is-error,
textarea.is-error
{
    border-color: #fae2e2; 
    background-color: #fae2e2;
}

.input-list.type-horizon
{
    overflow: hidden;
}
.input-list.type-horizon li
{
    float: left;

    width: 48%;
}
.input-list.type-horizon li:nth-child(2n)
{
    float: right;
}
.input-list.type-horizon .custom-radiobox
{
    width: 100%;
}

.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;
}
