
@import url('https://fonts.googleapis.com/css?family=Roboto');

@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 : 2em;
    margin : 0.67em 0;
}

/**
* Address styling not present in IE 8/9.
*/
mark {
    background : #ff0;
    color : #000;
}

/**
* 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 : -0.5em;
}

sub {
    bottom : -0.25em;
}

/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
    border : 0;
    max-width : 100%;
    height : auto;
}

/**
* Correct overflow not hidden in IE 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 {
    -webkit-box-sizing : content-box;
    box-sizing : content-box;
    height : 0;
}

/**
* Contain overflow in all browsers.
*/
pre {
    overflow : auto;
}

/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code, kbd, pre, samp {
    font-family : monospace, monospace;
    font-size : 1em;
}

/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
*    Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
*/
button, input, optgroup, select, textarea {
    color : inherit;
    /* 1 */
    font : inherit;
    /* 2 */
    margin : 0;
    /* 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'] {
    -webkit-appearance : button;
    /* 2 */
    cursor : pointer;
    /* 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 {
    border : 0;
    padding : 0;
}

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

/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type='checkbox'], input[type='radio'] {
    -webkit-box-sizing : border-box;
    box-sizing : border-box;
    /* 1 */
    padding : 0;
    /* 2 */
}

/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type='number']::-webkit-inner-spin-button, input[type='number']::-webkit-outer-spin-button {
    height : auto;
}

/**
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
*/
input[type='search'] {
    -webkit-appearance : textfield;
    /* 1 */
    -webkit-box-sizing : content-box;
    box-sizing : content-box;
    /* 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 {
    border : 1px solid #c0c0c0;
    margin : 0 2px;
    padding : 0.35em 0.625em 0.75em;
}

/**
* 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 {
    border : 0;
    /* 1 */
    padding : 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-collapse : collapse;
    border-spacing : 0;
}

td, th {
    padding : 0;
}

/* Slider */
.slick-slider {
    position : relative;
    display : block;
    -webkit-box-sizing : border-box;
    box-sizing : border-box;
    -webkit-touch-callout : none;
    -webkit-user-select : none;
    -moz-user-select : none;
    -ms-user-select : none;
    user-select : none;
    -ms-touch-action : pan-y;
    touch-action : pan-y;
    -webkit-tap-highlight-color : transparent;
}

.slick-list {
    position : relative;
    overflow : hidden;
    display : block;
    margin : 0;
    padding : 0;
}
.slick-list:focus {
    outline : none;
}
.slick-list.dragging {
    cursor : pointer;
    cursor : hand;
}

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

.slick-track {
    position : relative;
    left : 0;
    top : 0;
    display : block;
}
.slick-track:before, .slick-track:after {
    content : '';
    display : table;
}
.slick-track:after {
    clear : both;
}
.slick-loading .slick-track {
    visibility : hidden;
}

.slick-slide {
    float : left;
    height : 100%;
    min-height : 1px;
    display : none;
}
[dir='rtl'] .slick-slide {
    float : right;
}
.slick-slide img {
    display : block;
}
.slick-slide.slick-loading img {
    display : none;
}
.slick-slide.dragging img {
    pointer-events : none;
}
.slick-initialized .slick-slide {
    display : block;
}
.slick-loading .slick-slide {
    visibility : hidden;
}
.slick-vertical .slick-slide {
    display : block;
    height : auto;
    border : 1px solid transparent;
}

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

/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
    position : absolute;
    top : 0;
    left : 0;
    z-index : 9999;
    -webkit-transform : translate3d(0, 0, 0);
}

#cboxWrapper {
    max-width : none;
}

#cboxOverlay {
    position : fixed;
    width : 100%;
    height : 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
    clear : left;
}

#cboxContent {
    position : relative;
}

#cboxLoadedContent {
    overflow : auto;
    -webkit-overflow-scrolling : touch;
}

#cboxTitle {
    margin : 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
    position : absolute;
    top : 0;
    left : 0;
    width : 100%;
    height : 100%;
}

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

.cboxPhoto {
    float : left;
    margin : auto;
    border : 0;
    display : block;
    max-width : none;
    -ms-interpolation-mode : bicubic;
}

.cboxIframe {
    width : 100%;
    height : 100%;
    display : block;
    border : 0;
    padding : 0;
    margin : 0;
}

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

/*
User Style:
Change the following styles to modify the appearance of Colorbox.  They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
    background-color : #000;
}

#colorbox {
    outline : 0;
}

.cboxIframe {
    background : #fff;
}

#cboxError {
    padding : 50px;
    border : 1px solid #ccc;
}

#cboxTitle {
    position : absolute;
    bottom : 4px;
    left : 0;
    text-align : center;
    width : 100%;
    color : #949494;
}

#cboxCurrent {
    position : absolute;
    bottom : 4px;
    left : 58px;
    color : #949494;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
    border : 0;
    padding : 0;
    margin : 0;
    overflow : visible;
    width : auto;
    background : none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
    outline : 0;
}

#cboxSlideshow {
    position : absolute;
    bottom : 4px;
    right : 30px;
    color : #0092ef;
}

#cboxPrevious {
    position : absolute;
    bottom : 0;
    left : 0;
    width : 25px;
    height : 25px;
    text-indent : -9999px;
}

#cboxNext {
    position : absolute;
    bottom : 0;
    left : 27px;
    width : 25px;
    height : 25px;
    text-indent : -9999px;
}

#cboxClose {
    position : absolute;
    bottom : 0;
    right : 0;
    width : 25px;
    height : 25px;
    text-indent : -9999px;
}

/* google maps api */
.gm-style .gm-style-iw {
    max-width : 200px;
}
@media screen and (min-width: 768px), print {
    .gm-style .gm-style-iw {
        max-width : 300px;
    }
}

/*! minimum_reset.css v0.0.1 */
h1, h2, h3, h4, h5, h6 {
    margin : 0;
    font-size : 100%;
    font-weight : normal;
}

ul, ol {
    margin : 0;
    padding : 0;
    list-style : none;
    list-style-type : none;
}

ul li, ol li {
    margin : 0;
    padding : 0;
    list-style : none;
    list-style-type : none;
}

dl, dt, dd {
    margin : 0;
    padding : 0;
}

p {
    margin : 0;
}

address {
    font-style : normal;
}

img {
    vertical-align : bottom;
}

*, *:before, *:after {
    -webkit-box-sizing : border-box;
    box-sizing : border-box;
}

.w5p {
    width : 5% !important;
}

.w10p {
    width : 10% !important;
}

.w15p {
    width : 15% !important;
}

.w20p {
    width : 20% !important;
}

.w25p {
    width : 25% !important;
}

.w30p {
    width : 30% !important;
}

.w35p {
    width : 35% !important;
}

.w40p {
    width : 40% !important;
}

.w45p {
    width : 45% !important;
}

.w50p {
    width : 50% !important;
}

.w55p {
    width : 55% !important;
}

.w60p {
    width : 60% !important;
}

.w65p {
    width : 65% !important;
}

.w70p {
    width : 70% !important;
}

.w75p {
    width : 75% !important;
}

.w80p {
    width : 80% !important;
}

.w85p {
    width : 85% !important;
}

.w90p {
    width : 90% !important;
}

.w95p {
    width : 95% !important;
}

.w100p {
    width : 100% !important;
}

.mat0 {
    margin-top : 0 !important;
}

.mats {
    margin-top : 20px !important;
}

.matm {
    margin-top : 30px !important;
}
@media screen and (min-width: 768px), print {
    .matm {
        margin-top : 40px !important;
    }
}

.matl {
    margin-top : 60px !important;
}
@media screen and (min-width: 768px), print {
    .matl {
        margin-top : 80px !important;
    }
}

.tar {
    text-align : right !important;
}

.tac {
    text-align : center !important;
}

.tal {
    text-align : left !important;
}

.vmiddle {
    vertical-align : middle !important;
}

.clearfix {
    *zoom : 1;
}
.clearfix:after {
    content : ' ';
    display : table;
    clear : both;
}

@media screen and (min-width: 768px), print {
    .tac-tb {
        text-align : center;
    }
}

.fw-bold {
    font-weight : bold !important;
}

.cgr {
    color : #7f7f7f !important;
}

.cbl {
    color : #0075c2 !important;
}

.fzs {
    font-size : 11px;
    font-size : 11px;
    font-size : 1.1rem;
}
@media screen and (min-width: 768px), print {
    .fzs {
        font-size : 14px;
        font-size : 1.4rem;
    }
}

.fzl {
    font-size : 15px;
    font-size : 15px;
    font-size : 1.5rem;
}
@media screen and (min-width: 768px), print {
    .fzl {
        font-size : 20px;
        font-size : 2rem;
    }
}

@media screen and (min-width: 768px), print {
    .fzs-pc {
        font-size : 14px;
        font-size : 1.4rem;
    }
}

.tdu {
    text-decoration : underline;
}

.view-pc {
    display : none !important;
}
@media screen and (min-width: 1024px), print {
    .view-pc {
        display : block !important;
    }
}

.view-tb {
    display : none !important;
}
@media screen and (min-width: 768px), print {
    .view-tb {
        display : block !important;
    }
}
@media screen and (min-width: 1024px), print {
    .view-tb {
        display : none !important;
    }
}

.view-tbpc {
    display : none !important;
}
@media screen and (min-width: 768px), print {
    .view-tbpc {
        display : block !important;
    }
}

@media screen and (min-width: 768px), print {
    .view-sp {
        display : none !important;
    }
}

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

html {
    color : #000;
    font-size : 62.5%;
    /* background : #fff; */
    font-family: "?????? pro", "???", "Yu Mincho", "YuMincho", "yumincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS??E", "????", "Meiryo", serif;
    overflow : auto;
}
html:lang(zh-cmn-Hans) {
    font-family : 'Roboto','PingHei', SimHei, Hei, sans-serif;
}

body {
    line-height : 1.75;
    letter-spacing : 0.1em;
    overflow-x : hidden;
    font-size : 13px;
    font-size : 13px;
    font-size : 1.3rem;
}
@media screen and (min-width: 768px), print {
    body {
        font-size : 16px;
        font-size : 1.6rem;
    }
}

.sp{
    display: none;
}
@media screen and (max-width: 600px) {
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
}


/* link style */
a {
    color : #0075c2;
    text-decoration : none;
}

a:hover, a:active {
    color : #0075c2;
    text-decoration : none;
}

/*
module: m-box-fixed
- ???????????????????????
*/
@media screen and (min-width: 1261px), print {
    .m-box-fixed {
        width : 1180px;
        margin : 0 auto;
    }
}

[data-gs='12'].sp-gs {
    margin : 0 -5px;
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
}
@media screen and (min-width: 768px), print {
    [data-gs='12'].sp-gs {
        margin : 0 -20px;
    }
}
[data-gs='12'].sp-gs > [data-gs-col] {
    width : 100%;
    padding : 0 10px;
}
[data-gs='12'].sp-gs > [data-gs-col='12'] {
    width : calc(100% / 1);
    padding : 0 5px;
}
[data-gs='12'].sp-gs > [data-gs-col='6'] {
    width : calc(100% / 2);
    padding : 0 5px;
}
[data-gs='12'].sp-gs > [data-gs-col='4'] {
    width : calc(100% / 3);
    padding : 0 5px;
}
[data-gs='12'].sp-gs > [data-gs-col='3'] {
    width : calc(100% / 4);
    padding : 0 5px;
}
[data-gs='12'].sp-gs > [data-gs-col='3'] {
    width : calc(100% / 2);
}
[data-gs='12'].sp-gs > [data-gs-col='3']:nth-child(-n + 2) {
    margin-top : 0;
}
[data-gs='12'].sp-gs > [data-gs-col='4'] {
    width : calc(100% / 2);
}
[data-gs='12'].sp-gs > [data-gs-col='4']:nth-child(-n + 2) {
    margin-top : 0;
}
@media screen and (min-width: 768px), print {
    [data-gs='12'].sp-gs > [data-gs-col='4'] {
        width : calc(100% / 3);
        padding : 0 20px;
    }
}
@media screen and (min-width: 768px), print {
    [data-gs='12'].sp-gs > [data-gs-col='6'] {
        padding : 0 20px;
    }
}

@media screen and (min-width: 768px), print {
    [data-gs='12'] {
        margin : 0 -20px;
        display : -webkit-box;
        display : -ms-flexbox;
        display : flex;
        -ms-flex-wrap : wrap;
        flex-wrap : wrap;
    }
    [data-gs='12'] > [data-gs-col] {
        width : 100%;
        padding : 0 20px;
    }
    [data-gs='12'] > [data-gs-col='12'] {
        width : calc(100% / 1);
        padding : 0 20px;
    }
    [data-gs='12'] > [data-gs-col='6'] {
        width : calc(100% / 2);
        padding : 0 20px;
    }
    [data-gs='12'] > [data-gs-col='4'] {
        width : calc(100% / 3);
        padding : 0 20px;
    }
    [data-gs='12'] > [data-gs-col='3'] {
        width : calc(100% / 4);
        padding : 0 20px;
    }
    [data-gs='12'] > [data-gs-col='12']:first-child {
        margin-top : 0;
    }
    [data-gs='12'] > [data-gs-col='8'] {
        width : calc(200% / 3);
    }
    [data-gs='12'] > [data-gs-col='8']:nth-child(-n + 2) {
        margin-top : 0;
    }
    [data-gs='12'] > [data-gs-col='6'] {
        margin-top : 40px;
    }
    [data-gs='12'] > [data-gs-col='6']:nth-child(-n + 2) {
        margin-top : 0;
    }
    [data-gs='12'] > [data-gs-col='4']:nth-child(-n + 3) {
        margin-top : 0;
    }
    [data-gs='12'] > [data-gs-col='3']:nth-child(-n + 4) {
        margin-top : 0;
    }
    [data-gs='12'].gutter-s {
        margin : 20px -17px 0;
    }
    [data-gs='12'].gutter-s > [data-gs-col] {
        padding : 0 17px;
    }
    [data-gs='12'].gutter-s > [data-gs-col='12'] {
        width : calc(100% / 1);
        padding : 0 17px;
    }
    [data-gs='12'].gutter-s > [data-gs-col='6'] {
        width : calc(100% / 2);
        padding : 0 17px;
    }
    [data-gs='12'].gutter-s > [data-gs-col='4'] {
        width : calc(100% / 3);
        padding : 0 17px;
    }
    [data-gs='12'].gutter-s > [data-gs-col='3'] {
        width : calc(100% / 4);
        padding : 0 17px;
    }
}

.m-box-mainimg {
    position : relative;
    width : 140px;
    margin : -105px auto 0 !important;
}
@media screen and (min-width: 768px), print {
    .m-box-mainimg {
        width : 250px;
        margin-top : -200px !important;
    }
}

.m-box-rinen {
    border : 1px solid #0075c2;
    margin-top : 40px;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen {
        border : 2px solid #0075c2;
        margin-top : 80px;
    }
}
@media screen and (min-width: 1024px), print {
    .m-box-rinen {
        width : 745px;
        margin : 80px auto 0;
    }
}
.m-box-rinen .rinen-box {
    padding : 25px;
    text-align : center;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box {
        padding : 50px 80px;
    }
}
.m-box-rinen .rinen-box + .rinen-box {
    border-top : 1px solid #0075c2;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box + .rinen-box {
        border-top : 2px solid #0075c2;
    }
}
.m-box-rinen .rinen-box h2 {
    font-size : 18px;
    font-size : 18px;
    font-size : 1.8rem;
    font-weight : bold;
    color : #0075c2;
    border-bottom : 1px solid #0075c2;
    padding-bottom : 12px;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box h2 {
        font-size : 24px;
        font-size : 2.4rem;
        border-bottom : 2px solid #0075c2;
    }
}
.m-box-rinen .rinen-box h2 span {
    display : block;
    font-size : 12px;
    font-size : 12px;
    font-size : 1.2rem;
    line-height : 1.2;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box h2 span {
        display : inline-block;
        font-size : 18px;
        font-size : 1.8rem;
        margin-left : 35px;
        line-height : 1.75;
        vertical-align : middle;
    }
}
.m-box-rinen .rinen-box .rinen-catch {
    font-size : 24px;
    font-size : 24px;
    font-size : 2.4rem;
    font-weight : bold;
    margin-top : 18px;
    line-height : 1.5;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box .rinen-catch {
        font-size : 40px;
        font-size : 4rem;
        margin-top : 30px;
    }
}
.m-box-rinen .rinen-box .rinen-catch-s {
    font-weight : bold;
    margin-top : 10px;
    line-height : 1.5;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box .rinen-catch-s {
        font-size : 24px;
        font-size : 2.4rem;
        margin-top : 20px;
    }
}
.m-box-rinen .rinen-box dl {
    font-size : 18px;
    font-size : 18px;
    font-size : 1.8rem;
    font-weight : bold;
    margin : 20px auto 0;
    text-align : left;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box dl {
        font-size : 32px;
        font-size : 3.2rem;
        *zoom : 1;
        margin : 20px -30px 0;
    }
    .m-box-rinen .rinen-box dl:after {
        content : ' ';
        display : table;
        clear : both;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box dl dt {
        float : left;
    }
}
.m-box-rinen .rinen-box dl dt span {
    display : block;
    font-size : 12px;
    font-size : 12px;
    font-size : 1.2rem;
    line-height : 1.2;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box dl dt span {
        font-size : 18px;
        font-size : 1.8rem;
    }
}
.m-box-rinen .rinen-box dl dd {
    margin-top : 10px;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box dl dd {
        float : right;
        width : 57%;
        margin-top : 0;
    }
}
.m-box-rinen .rinen-box dl dd span {
    display : block;
    font-size : 12px;
    font-size : 12px;
    font-size : 1.2rem;
    line-height : 1.2;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen .rinen-box dl dd span {
        font-size : 18px;
        font-size : 1.8rem;
    }
}
.m-box-rinen.is-en .rinen-box h2 span {
    margin-left : 0;
}
.m-box-rinen.is-en .rinen-box .rinen-catch {
    font-size : 20px;
    font-size : 20px;
    font-size : 2rem;
}
@media screen and (min-width: 768px), print {
    .m-box-rinen.is-en .rinen-box .rinen-catch {
        font-size : 32px;
        font-size : 3.2rem;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-rinen.is-en .rinen-box dl {
        margin-top : 30px;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-rinen.is-en .rinen-box dl + dl {
        margin-top : 20px;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-rinen.is-en .rinen-box dl dd span {
        font-size : 16px;
        font-size : 1.6rem;
    }
}
@media screen and (min-width: 1024px), print {
    .m-box-rinen.is-en .rinen-box dl dd span {
        font-size : 18px;
        font-size : 1.8rem;
    }
}

.m-box-philosophy {
    margin-top : 40px;
    text-align : center;
}
@media screen and (min-width: 768px), print {
    .m-box-philosophy {
        margin-top : 80px;
    }
}

.m-box-blbd {
    border : 1px solid #0075c2;
    margin-top : 40px;
    padding : 22px;
}
@media screen and (min-width: 768px), print {
    .m-box-blbd {
        border : 2px solid #0075c2;
        margin-top : 80px;
        padding : 32px 40px;
    }
}
@media screen and (min-width: 1024px), print {
    .m-box-blbd {
        width : 820px;
        margin : 80px auto 0;
        padding : 32px 58px;
    }
}
.m-box-blbd .blbd-ttl {
    text-align : center;
    font-weight : bold;
    color : #0075c2;
    border-bottom : 1px solid #0075c2;
    padding-bottom : 12px;
}
@media screen and (min-width: 768px), print {
    .m-box-blbd .blbd-ttl {
        font-size : 18px;
        font-size : 1.8rem;
        border-bottom : 2px solid #0075c2;
        padding-bottom : 30px;
    }
}
.m-box-blbd .blbd-cnt {
    margin-top : 10px;
}
@media screen and (min-width: 768px), print {
    .m-box-blbd .blbd-cnt {
        margin-top : 35px;
    }
}
.m-box-blbd .blbd-cnt .cnt-txtl {
    position : relative;
    margin-top : 2px;
    text-align : center;
    font-weight : bold;
    font-size : 18px;
    font-size : 18px;
    font-size : 1.8rem;
}
@media screen and (min-width: 768px), print {
    .m-box-blbd .blbd-cnt .cnt-txtl {
        margin-top : 17px;
        font-size : 28px;
        font-size : 2.8rem;
        line-height : 1.25;
    }
}
@media screen and (min-width: 1024px), print {
    .m-box-blbd .blbd-cnt .cnt-txtl {
        font-size : 32px;
        font-size : 3.2rem;
    }
}
.m-box-blbd .blbd-cnt .cnt-txtl.has-arrow {
    padding-bottom : 10px;
}
@media screen and (min-width: 768px), print {
    .m-box-blbd .blbd-cnt .cnt-txtl.has-arrow {
        padding-bottom : 50px;
    }
}
.m-box-blbd .blbd-cnt .cnt-txtl.has-arrow:before {
    content : '';
    display : inline-block;
    width : 1px;
    height : 1px;
    border-top : 10px solid #0075c2;
    border-left : 5px solid transparent;
    border-right : 5px solid transparent;
    position : absolute;
    bottom : 0;
    left : 50%;
    margin-left : -5px;
}
@media screen and (min-width: 768px), print {
    .m-box-blbd .blbd-cnt .cnt-txtl.has-arrow:before {
        border-top : 30px solid #0075c2;
        border-left : 16px solid transparent;
        border-right : 16px solid transparent;
        margin-left : -16px;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-blbd .blbd-cnt .cnt-txtl + .cnt-txtl {
        margin-top : 20px;
    }
}

.m-box-mov {
    margin-top : 15px;
}
@media screen and (min-width: 768px), print {
    .m-box-mov {
        max-width : 775px;
        margin : 30px auto 0;
    }
}
.m-box-mov img {
    width : 100%;
}
.m-box-mov .mov-video {
    line-height : 0.1;
}
.m-box-mov .mov-video video {
    width : 100%;
}
.m-box-mov .mov-cap {
    margin-top : 5px;
    text-align : center;
}
@media screen and (min-width: 768px), print {
    .m-box-mov .mov-cap {
        margin-top : 10px;
    }
}
.m-box-mov.att {
    margin-top : 20px;
    font-size : 10px;
    font-size : 10px;
    font-size : 1rem;
}
@media screen and (min-width: 768px), print {
    .m-box-mov.att {
        margin-top : 30px;
        font-size : 12px;
        font-size : 1.2rem;
    }
}

.m-box-bd {
    border : 1px solid #dfdfdf;
    margin-top : 20px;
    padding : 14px 19px;
}
@media screen and (min-width: 768px), print {
    .m-box-bd {
        border : 2px solid #dfdfdf;
        margin-top : 60px;
        padding : 25px 30px;
    }
}
@media screen and (min-width: 1024px), print {
    .m-box-bd {
        padding : 45px 65px;
    }
}
.m-box-bd > *:first-child {
    margin-top : 0;
}

.m-box-bl {
    margin : 20px -15px 0;
    background : #eff6fb;
    padding : 20px 15px;
}
@media screen and (min-width: 768px), print {
    .m-box-bl {
        margin : 40px 0 0;
        padding : 40px;
    }
}
.m-box-bl > .bl-box:first-child {
    margin-top : 0;
}
.m-box-bl .bl-box {
    margin-top : 20px;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box {
        margin-top : 40px;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box[data-gs-col='6']:nth-child(2) {
        margin-top : 0;
    }
}
.m-box-bl .bl-box h3 {
    background : #0075c2;
    color : #fff;
    font-weight : bold;
    padding : 3px 15px;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box h3 {
        font-size : 18px;
        font-size : 1.8rem;
        padding : 7px 20px;
    }
}
.m-box-bl .bl-box .bl-img-col3 {
    margin-top : 20px;
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-col3 {
        margin-top : 35px;
    }
}
.m-box-bl .bl-box .bl-img-col3 li {
    width : calc(33.3% - 9px);
    margin-right : 13px;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-col3 li {
        width : calc(33.3% - 16px);
        margin-right : 24px;
    }
}
.m-box-bl .bl-box .bl-img-col3 li:nth-child(3n) {
    margin-right : 0;
}
.m-box-bl .bl-box .bl-img-col3 li .img-cap1 {
    font-weight : bold;
    letter-spacing : normal;
    line-height : 1.25;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-col3 li .img-cap1 {
        font-size : 14px;
        font-size : 1.4rem;
        padding-left : 34%;
    }
}
.m-box-bl .bl-box .bl-img-col3 li .img-area {
    margin-top : 10px;
}
.m-box-bl .bl-box .bl-img-col3 li .img-cap2 {
    margin-top : 10px;
    font-weight : bold;
    letter-spacing : normal;
    line-height : 1.25;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-col3 li .img-cap2 {
        font-size : 14px;
        font-size : 1.4rem;
    }
}
.m-box-bl .bl-box .bl-img-hascap {
    margin-top : 20px;
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
    -webkit-box-align : end;
    -ms-flex-align : end;
    align-items : flex-end;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-hascap {
        margin-top : 25px;
        display : block;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-hascap[data-gs-col] {
        margin-top : 5px;
    }
}
.m-box-bl .bl-box .bl-img-hascap .hascap-img {
    width : calc(50% - 5px);
    margin-right : 10px;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-hascap .hascap-img {
        width : auto;
        margin-right : 0;
    }
}
.m-box-bl .bl-box .bl-img-hascap .hascap-cap {
    width : calc(50% - 5px);
    font-size : 11px;
    font-size : 11px;
    font-size : 1.1rem;
    line-height : 1.5;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-hascap .hascap-cap {
        width : auto;
        font-size : 14px;
        font-size : 1.4rem;
        margin-top : 5px;
    }
}
.m-box-bl .bl-box .bl-img-bg {
    margin-top : 20px;
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-bg {
        margin-top : 35px;
    }
}
.m-box-bl .bl-box .bl-img-bg li {
    width : calc(50% - 5px);
    margin-right : 10px;
    background : #fff;
    border : 1px solid #c9caca;
    padding : 20px 15px 15px;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-bg li {
        width : calc(50% - 10px);
        margin-right : 20px;
        padding : 20px;
    }
}
@media screen and (min-width: 1024px), print {
    .m-box-bl .bl-box .bl-img-bg li {
        padding : 40px 44px 20px;
    }
}
.m-box-bl .bl-box .bl-img-bg li:nth-child(even) {
    margin-right : 0;
}
.m-box-bl .bl-box .bl-img-bg li .bg-img {
    text-align : center;
}
.m-box-bl .bl-box .bl-img-bg li .bg-img img {
    width : 70px;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-bg li .bg-img img {
        width : 130px;
    }
}
.m-box-bl .bl-box .bl-img-bg li .bg-cap {
    margin-top : 15px;
    font-size : 11px;
    font-size : 11px;
    font-size : 1.1rem;
    line-height : 1.5;
}
@media screen and (min-width: 768px), print {
    .m-box-bl .bl-box .bl-img-bg li .bg-cap {
        font-size : 14px;
        font-size : 1.4rem;
    }
}
.m-box-bl > *:first-child {
    margin-top : 0;
}

.m-box-imgnum {
    margin-top : 20px;
    position : relative;
}
.m-box-imgnum .imgnum-num {
    position : absolute;
    top : 0;
    left : 0;
    width : 30px;
    background : #0075c2;
    color : #fff;
    font-weight : bold;
    font-size : 18px;
    font-size : 18px;
    font-size : 1.8rem;
    line-height : 1;
    text-align : center;
    padding : 6px 0;
}
.m-box-imgnum img {
    width : 100%;
}
.m-box-imgnum + .m-txt-p {
    margin-top : 5px;
}
@media screen and (min-width: 768px), print {
    .m-box-imgnum + .m-txt-p {
        margin-top : 10px;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg {
        display : -webkit-box;
        display : -ms-flexbox;
        display : flex;
        -ms-flex-wrap : wrap;
        flex-wrap : wrap;
        -webkit-box-pack : justify;
        -ms-flex-pack : justify;
        justify-content : space-between;
    }
    .m-box-txtimg.reverse {
        -webkit-box-orient : horizontal;
        -webkit-box-direction : reverse;
        -ms-flex-direction : row-reverse;
        flex-direction : row-reverse;
    }
    .m-box-txtimg.bottom {
        -webkit-box-align : end;
        -ms-flex-align : end;
        align-items : flex-end;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-txt {
        width : 36%;
        margin-top : 5px;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img {
        width : 57%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-col2 {
        display : -webkit-box;
        display : -ms-flexbox;
        display : flex;
        -ms-flex-wrap : wrap;
        flex-wrap : wrap;
        -webkit-box-pack : justify;
        -ms-flex-pack : justify;
        justify-content : space-between;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-col2 .col.col2 {
        width : 47.5%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-col2 .col.col2-l {
        width : 60%;
    }
}

.m-box-txtimg .txtimg-img .img-col2 .col.col2-s {
    width : 140px;
    margin : 0 auto;
}
@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-col2 .col.col2-s {
        width : 35%;
        margin : 0;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-r {
        padding-left : 40%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-l {
        padding-right : 40%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-l.size-m {
        padding-right : 15%;
    }
}

.m-box-txtimg .txtimg-img .img-area {
    margin-top : 15px;
}
@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-area {
        margin-top : 30px;
    }
}
.m-box-txtimg .txtimg-img .img-area dt img {
    width : 100%;
}
.m-box-txtimg .txtimg-img .img-area dd {
    margin-top : 5px;
}
@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-area dd {
        margin-top : 10px;
        font-size : 14px;
        font-size : 1.4rem;
    }
}
.m-box-txtimg .txtimg-img .img-area.size-s {
    width : 140px;
    margin-right : auto;
    margin-left : auto;
}
@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-area.size-s {
        width : auto;
        margin-right : 0;
        margin-left : 0;
    }
}
.m-box-txtimg .txtimg-img .img-area.sp-sr {
    text-align : right;
}
@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-area.sp-sr {
        text-align : left;
    }
}
.m-box-txtimg .txtimg-img .img-area.sp-sr dt img {
    width : 140px;
}
@media screen and (min-width: 768px), print {
    .m-box-txtimg .txtimg-img .img-area.sp-sr dt img {
        width : 100%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg.img-s .txtimg-txt {
        width : 76%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg.img-s .txtimg-img {
        width : 20%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg.img-s2 .txtimg-txt {
        width : 65%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg.img-s2 .txtimg-img {
        width : 31.35%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg.img-m .txtimg-txt {
        width : 48.3%;
    }
}

@media screen and (min-width: 768px), print {
    .m-box-txtimg.img-m .txtimg-img {
        width : 48.3%;
    }
}

.m-box-imgl {
    margin-top : 20px;
}
@media screen and (min-width: 768px), print {
    .m-box-imgl {
        margin : 40px 0 0;
        *zoom : 1;
    }
    .m-box-imgl:after {
        content : ' ';
        display : table;
        clear : both;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-imgl dl {
        width : calc(82vw - 80px);
        float : right;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-imgl dl {
        width : 815px;
    }
}
.m-box-imgl dl dt img {
    width : 100%;
}
.m-box-imgl dl dd {
    margin-top : 5px;
}
@media screen and (min-width: 768px), print {
    .m-box-imgl dl dd {
        margin-top : 10px;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-imgl.img-full dl {
        width : 100%;
        float : none;
    }
}

.m-box-imgc {
    margin-top : 20px;
    text-align : center;
}
@media screen and (min-width: 768px), print {
    .m-box-imgc {
        margin : 40px 0 0;
    }
}

.m-box-img-posr {
    max-width : 72%;
    margin : 20px auto 0;
    text-align : center;
}
@media screen and (min-width: 768px), print {
    .m-box-img-posr {
        max-width : 30%;
        float : right;
        margin-top : 0;
        margin-left : 40px;
    }
}
@media screen and (min-width: 1024px), print {
    .m-box-img-posr {
        max-width : 50%;
    }
}

.m-box-fullhalf {
    margin : 35px -15px 0;
}
@media screen and (min-width: 768px), print {
    .m-box-fullhalf {
        margin : 75px -40px 0;
        display : -webkit-box;
        display : -ms-flexbox;
        display : flex;
        -ms-flex-wrap : wrap;
        flex-wrap : wrap;
        -webkit-box-align : center;
        -ms-flex-align : center;
        align-items : center;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-fullhalf {
        margin-right : calc(-50vw + 590px);
        margin-left : calc(-50vw + 590px);
    }
}
@media screen and (min-width: 768px), print {
    .m-box-fullhalf .fullhalf-img {
        width : 50%;
    }
}
.m-box-fullhalf .fullhalf-img img {
    width : 100%;
}
.m-box-fullhalf .fullhalf-txt {
    margin-top : 35px;
}
@media screen and (min-width: 768px), print {
    .m-box-fullhalf .fullhalf-txt {
        width : 50%;
        margin-top : 0;
    }
}
.m-box-fullhalf .fullhalf-txt h3 {
    font-size : 60px;
    font-size : 60px;
    font-size : 6rem;
    font-weight : bold;
    color : #0075c2;
    text-align : center;
    line-height : 1;
}
@media screen and (min-width: 768px), print {
    .m-box-fullhalf .fullhalf-txt h3 {
        font-size : 65px;
        font-size : 6.5rem;
        text-align : left;
        margin-left : 20px;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-fullhalf .fullhalf-txt h3 {
        font-size : 116px;
        font-size : 11.6rem;
    }
}
.m-box-fullhalf .fullhalf-txt h3.pk {
    color : #a05e6a;
}

.m-box-history {
    margin-top : 30px;
}
@media screen and (min-width: 768px), print {
    .m-box-history {
        margin : 0 -40px;
        display : -webkit-box;
        display : -ms-flexbox;
        display : flex;
        -ms-flex-wrap : wrap;
        flex-wrap : wrap;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-history {
        margin-right : calc(-50vw + 590px);
        margin-left : calc(-50vw + 590px);
    }
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-chronology {
        width : 50%;
        padding : 75px 40px 0;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-history .history-chronology {
        padding-left : 0;
        *zoom : 1;
    }
    .m-box-history .history-chronology:after {
        content : ' ';
        display : table;
        clear : both;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-history .history-chronology .chronology-area {
        width : 550px;
        float : right;
    }
}
.m-box-history .history-chronology dl {
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
    -webkit-box-pack : justify;
    -ms-flex-pack : justify;
    justify-content : space-between;
}
.m-box-history .history-chronology dl dt {
    width : 35px;
    color : #0075c2;
    font-weight : bold;
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-chronology dl dt {
        width : 60px;
    }
}
.m-box-history .history-chronology dl dd {
    width : calc(100% - 38px);
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-chronology dl dd {
        width : calc(100% - 65px);
    }
}
.m-box-history .history-chronology dl dd ul li {
    position : relative;
    padding-left : 14px;
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-chronology dl dd ul li {
        padding-left : 18px;
    }
}
.m-box-history .history-chronology dl dd ul li:before {
    content : '';
    display : inline-block;
    width : 10px;
    height : 10px;
    background : #0075c2;
    border-radius : 50%;
    position : absolute;
    left : 0;
    top : 0.5em;
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-chronology dl dd ul li:before {
        width : 12px;
        height : 12px;
    }
}
.m-box-history .history-chronology dl dd ul li.gr:before {
    background : #7f7f7f !important;
}
.m-box-history .history-chronology dl dd ul li.ast:before {
    background : none !important;
    content : '\00203b';
    border-radius : 0;
    width : auto;
    height : auto;
    top : 0;
}
.m-box-history .history-chronology dl dd ul li.ast-en:before {
    background : #000 !important;
    border-radius : 0;
    width : 7px;
    height : 1px;
    top : 0.9em;
}
.m-box-history .history-chronology .m-list-asterisk {
    margin-top : 25px;
}
.m-box-history .history-img {
    margin : 35px -15px 0;
    padding : 15px 15px 35px;
    background : #0075c2;
    color : #fff;
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-img {
        margin : 0;
        width : 50%;
        padding : 35px 40px 75px 20px;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-history .history-img {
        padding-right : 0;
    }
}
.m-box-history .history-img ul {
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
    -webkit-box-pack : justify;
    -ms-flex-pack : justify;
    justify-content : space-between;
}
@media screen and (min-width: 1261px), print {
    .m-box-history .history-img ul {
        width : 570px;
    }
}
.m-box-history .history-img ul li {
    width : calc(50% - 10px);
    margin-top : 20px;
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-img ul li {
        margin-top : 35px;
    }
}
@media screen and (min-width: 1261px), print {
    .m-box-history .history-img ul li {
        width : 275px;
    }
}
.m-box-history .history-img ul li dl dt img {
    width : 100%;
}
.m-box-history .history-img ul li dl dd {
    margin-top : 5px;
    line-height : 1.5;
}
@media screen and (min-width: 768px), print {
    .m-box-history .history-img ul li dl dd {
        margin-top : 10px;
        font-size : 14px;
        font-size : 1.4rem;
    }
}
.m-box-history.pk .history-chronology dl dt {
    color : #a05e6a;
}
.m-box-history.pk .history-chronology dl dd ul li:before {
    background : #a05e6a;
}
.m-box-history.pk .history-img {
    background : #a05e6a;
}
@media screen and (min-width: 768px), print {
    .m-box-history + .m-box-history .history-chronology {
        padding-top : 10px;
    }
}
@media screen and (min-width: 768px), print {
    .m-box-history + .m-box-history .history-img {
        padding-top : 0;
        margin-top : -25px;
    }
}

.m-list-def {
    margin-top : 10px;
}
@media screen and (min-width: 768px), print {
    .m-list-def {
        margin-top : 20px;
    }
}
.m-list-def > li {
    position : relative;
    padding-left : 12px;
}
@media screen and (min-width: 768px), print {
    .m-list-def > li {
        padding-left : 15px;
    }
}
.m-list-def > li:before {
    content : '';
    display : inline-block;
    width : 3px;
    height : 3px;
    background : #000;
    border-radius : 50%;
    position : absolute;
    left : 0;
    top : 0.8em;
}
@media screen and (min-width: 768px), print {
    .m-list-def > li + li {
        margin-top : 3px;
    }
}
.m-list-def.fzl {
    font-weight : bold;
}

.m-list-line {
    margin-top : 10px;
}
@media screen and (min-width: 768px), print {
    .m-list-line {
        margin-top : 20px;
    }
}
.m-list-line > li {
    position : relative;
    padding-left : 12px;
}
@media screen and (min-width: 768px), print {
    .m-list-line > li {
        padding-left : 15px;
    }
}
.m-list-line > li:before {
    content : '';
    display : inline-block;
    width : 8px;
    height : 1px;
    background : #000;
    position : absolute;
    left : 0;
    top : 0.9em;
}
@media screen and (min-width: 768px), print {
    .m-list-line > li + li {
        margin-top : 3px;
    }
}

ul.m-list-asterisk {
    margin-top : 10px;
    overflow : hidden;
}
ul.m-list-asterisk > li {
    position : relative;
    padding-left : 15px;
}
ul.m-list-asterisk > li:before {
    background : none;
    content : '\00203b';
    position : absolute;
    top : 0;
    width : auto;
    height : auto;
    left : 0;
    background : transparent;
}

.m-list-num {
    margin-top : 10px;
    counter-reset : list-num;
}
@media screen and (min-width: 768px), print {
    .m-list-num {
        margin-top : 20px;
    }
}
.m-list-num > li {
    position : relative;
    padding-left : 20px;
}
@media screen and (min-width: 768px), print {
    .m-list-num > li {
        padding-left : 23px;
    }
}
.m-list-num > li:before {
    counter-increment : list-num;
    content : counter(list-num) '.';
    font-weight : bold;
    position : absolute;
    top : 0;
    left : 0;
}
@media screen and (min-width: 768px), print {
    .m-list-num > li + li {
        margin-top : 3px;
    }
}
.m-list-num .m-list-def {
    margin-top : 0;
}
.m-list-num.fzl {
    font-weight : bold;
}

.m-list-movie {
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
    margin-top : 40px;
    -webkit-box-pack : center;
    -ms-flex-pack : center;
    justify-content : center;
}
@media screen and (min-width: 768px), print {
    .m-list-movie {
        max-width : 775px;
        margin : 80px auto 0;
    }
}
.m-list-movie li {
    width : calc(50% - 5px);
}
@media screen and (min-width: 768px), print {
    .m-list-movie li {
        width : calc(50% - 18px);
    }
}
.m-list-movie li:nth-child(odd) {
    margin-right : 10px;
}
@media screen and (min-width: 768px), print {
    .m-list-movie li:nth-child(odd) {
        margin-right : 36px;
    }
}
@media screen and (min-width: 768px), print {
    .m-list-movie li:last-child {
        margin-right : 0;
    }
}
.m-list-movie li a {
    display : block;
    position : relative;
    color : #fff;
    overflow : hidden;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
.m-list-movie li a img {
    width : 100%;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
.m-list-movie li a .movie-ttl {
    display : inline-block;
    position : absolute;
    bottom : 0;
    left : 0;
    right : 0;
    background : rgba(0, 0, 0, 0.75);
    text-align : center;
    font-weight : bold;
    padding : 3px 0;
    font-size : 11px;
    font-size : 11px;
    font-size : 1.1rem;
}
@media screen and (min-width: 768px), print {
    .m-list-movie li a .movie-ttl {
        padding : 4px 15px;
        font-size : 16px;
        font-size : 1.6rem;
    }
}
@media screen and (min-width: 1024px), print {
    .m-list-movie li a:hover {
        opacity : 0.5;
        -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
    }
    .m-list-movie li a:hover img {
        -webkit-transform : scale(1.1);
        -ms-transform : scale(1.1);
        transform : scale(1.1);
    }
}

.m-list-pager {
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
    margin : 20px -5px 0;
}
@media screen and (min-width: 768px), print {
    .m-list-pager {
        margin : 60px -10px 0;
        font-size : 14px;
        font-size : 1.4rem;
    }
}
.m-list-pager li {
    width : 100%;
    margin-top : 10px;
    padding : 0 5px;
}
@media screen and (min-width: 768px), print {
    .m-list-pager li {
        width : 50%;
        margin-top : 20px;
        padding : 0 10px;
    }
}
.m-list-pager li a {
    display : block;
    color : #fff;
    font-weight : bold;
    position : relative;
    background : #0075c2;
}
@media screen and (min-width: 1024px), print {
    .m-list-pager li a {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
@media screen and (min-width: 1024px), print {
    .m-list-pager li a:before {
        content : '';
        display : inline-block;
        position : absolute;
        top : 0;
        left : 0;
        bottom : 0;
        width : 0;
        background : #edeff1;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
.m-list-pager li a span {
    display : block;
    position : relative;
    padding : 3px 30px 3px 15px;
}
@media screen and (min-width: 768px), print {
    .m-list-pager li a span {
        padding : 6px 40px 6px 20px;
    }
}
.m-list-pager li a span:before {
    content : '';
    display : inline-block;
    width : 1px;
    height : 1px;
    border-left : 8px solid #fff;
    border-top : 4px solid transparent;
    border-bottom : 4px solid transparent;
    position : absolute;
    right : 10px;
    top : 50%;
    margin-top : -4px;
}
@media screen and (min-width: 768px), print {
    .m-list-pager li a span:before {
        border-left : 10px solid #fff;
        border-top : 5px solid transparent;
        border-bottom : 5px solid transparent;
        margin-top : -5px;
    }
}
@media screen and (min-width: 1024px), print {
    .m-list-pager li a span:before {
        right : 15px;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
.m-list-pager li a.is-active {
    color : #0075c2;
    background : #edeff1;
}
@media screen and (min-width: 1024px), print {
    .m-list-pager li a.is-active:before {
        background : #edeff1;
    }
}
.m-list-pager li a.is-active span:before {
    display : none;
}
@media screen and (min-width: 1024px), print {
    .m-list-pager li a:hover {
        color : #0075c2;
    }
    .m-list-pager li a:hover:before {
        width : 100%;
    }
    .m-list-pager li a:hover span:before {
        border-left : 10px solid #0075c2;
        right : 10px;
    }
}
@media screen and (min-width: 768px), print {
    .m-list-pager.btn-l {
        -webkit-box-pack : center;
        -ms-flex-pack : center;
        justify-content : center;
    }
}
.m-list-pager.btn-l li {
    width : 50%;
}
@media screen and (min-width: 768px), print {
    .m-list-pager.btn-l li {
        width : 30%;
    }
}
@media screen and (min-width: 1024px), print {
    .m-list-pager.btn-l li {
        width : 25%;
    }
}
@media screen and (min-width: 1261px), print {
    .m-list-pager.btn-l li {
        width : 20%;
    }
}
.m-list-pager.btn-l li a {
    text-align : center;
}
.m-list-pager.btn-l li a span {
    padding : 3px 15px;
}
@media screen and (min-width: 768px), print {
    .m-list-pager.btn-l li a span {
        padding : 6px 20px;
    }
}
.m-list-pager.pk a {
    background : #a05e6a;
}
.m-list-pager.pk a.is-active {
    color : #a05e6a;
}
@media screen and (min-width: 1024px), print {
    .m-list-pager.pk a:hover {
        color : #a05e6a;
    }
    .m-list-pager.pk a:hover span:before {
        border-left : 10px solid #a05e6a;
    }
}

.m-tbl-def {
    width : 100%;
    margin-top : 20px;
    border : 1px solid #d2d2d2;
}
@media screen and (min-width: 768px), print {
    .m-tbl-def {
        margin-top : 30px;
        font-size : 14px;
        font-size : 1.4rem;
    }
}
.m-tbl-def thead th {
    background : #0075c2;
    color : #fff;
    text-align : center;
    padding : 7px;
    vertical-align : middle;
}
@media screen and (min-width: 768px), print {
    .m-tbl-def thead th {
        padding : 15px;
    }
}
.m-tbl-def thead th + th {
    border-left : 1px solid #d2d2d2;
}
.m-tbl-def tbody tr th {
    padding : 7px;
    background : #edeff1;
    vertical-align : top;
    text-align : center;
}
@media screen and (min-width: 768px), print {
    .m-tbl-def tbody tr th {
        padding : 15px;
    }
}
.m-tbl-def tbody tr td {
    padding : 7px;
    border-left : 1px solid #d2d2d2;
    vertical-align : top;
    text-align : left;
}
@media screen and (min-width: 768px), print {
    .m-tbl-def tbody tr td {
        padding : 15px;
    }
}
.m-tbl-def tbody tr td.cell-bl {
    background : #f2f8fc;
}
.m-tbl-def tbody tr td > *:first-child {
    margin-top : 0;
}
.m-tbl-def tbody tr + tr th {
    border-top : 1px solid #d2d2d2;
}
.m-tbl-def tbody tr + tr td {
    border-top : 1px solid #d2d2d2;
}
.m-tbl-def .cell-hasicon {
    text-align : center;
}
.m-tbl-def .cell-hasicon dd + dt {
    margin-top : 5px;
}
.m-tbl-def .cell-vertical {
    line-height : 1.3;
}

.m-tbl-scroll {
    overflow-x : scroll;
    position : relative;
    margin-top : 20px;
    padding-top : 25px;
}
@media screen and (min-width: 768px), print {
    .m-tbl-scroll {
        overflow-x : visible;
        margin-top : 0;
        padding-top : 0;
    }
}
.m-tbl-scroll .m-tbl-def {
    width : 720px;
    margin-top : 0;
}
@media screen and (min-width: 768px), print {
    .m-tbl-scroll .m-tbl-def {
        width : 100%;
        margin-top : 30px;
    }
}
.m-tbl-scroll .scroll-mark {
    position : absolute;
    top : 5px;
    right : 12px;
    display : block;
    z-index : +1;
}
@media screen and (min-width: 768px), print {
    .m-tbl-scroll .scroll-mark {
        display : none;
    }
}
.m-tbl-scroll .scroll-mark span {
    position : relative;
    display : block;
    width : 66px;
    height : 10px;
    vertical-align : middle;
    text-align : center;
    background-color : #0075c2;
}
.m-tbl-scroll .scroll-mark span:before {
    content : '';
    position : absolute;
    top : 50%;
    left : -12px;
    margin-top : -8px;
    width : 0;
    height : 0;
    border-style : solid;
    border-width : 8px 12px 8px 0;
    border-color : transparent #0075c2 transparent transparent;
}
.m-tbl-scroll .scroll-mark span:after {
    content : '';
    position : absolute;
    top : 50%;
    right : -12px;
    margin-top : -8px;
    width : 0;
    height : 0;
    border-style : solid;
    border-width : 8px 0 8px 12px;
    border-color : transparent transparent transparent #0075c2;
}

.m-txt-p {
    margin-top : 10px;
}
@media screen and (min-width: 768px), print {
    .m-txt-p {
        margin-top : 20px;
    }
}
.m-txt-p.lh-half {
    line-height : 1.5;
}

.m-txt-subt {
    margin-top : 25px;
    font-size : 16px;
    font-size : 16px;
    font-size : 1.6rem;
    font-weight : bold;
}
@media screen and (min-width: 768px), print {
    .m-txt-subt {
        margin-top : 70px;
        font-size : 24px;
        font-size : 2.4rem;
    }
}

.m-txt-subts {
    margin-top : 25px;
    font-size : 14px;
    font-size : 14px;
    font-size : 1.4rem;
    font-weight : bold;
    color : #0075c2;
}
@media screen and (min-width: 768px), print {
    .m-txt-subts {
        margin-top : 55px;
        font-size : 18px;
        font-size : 1.8rem;
    }
}
.m-txt-subts.mt-s {
    margin-top : 10px;
}
@media screen and (min-width: 768px), print {
    .m-txt-subts.mt-s {
        margin-top : 15px;
    }
}

.m-txt-catch {
    margin-top : 35px;
    font-size : 18px;
    font-size : 18px;
    font-size : 1.8rem;
    font-weight : bold;
    color : #0075c2;
    line-height : 1.5;
}
@media screen and (min-width: 768px), print {
    .m-txt-catch {
        text-align : center;
        margin-top : 75px;
        font-size : 32px;
        font-size : 3.2rem;
    }
}
.m-txt-catch.pk {
    color : #a05e6a;
}

.m-txt-lead {
    margin-top : 2px;
}
@media screen and (min-width: 768px), print {
    .m-txt-lead {
        text-align : center;
        margin-top : 20px;
    }
}
.m-txt-lead + .m-txt-lead {
    margin-top : 20px;
}
@media screen and (min-width: 768px), print {
    .m-txt-lead + .m-txt-lead {
        margin-top : 45px;
    }
}

.img-name {
    width : 70px;
}
@media screen and (min-width: 768px), print {
    .img-name {
        width : 140px;
    }
}
.img-name.lang-en {
    width : 106px;
}
@media screen and (min-width: 768px), print {
    .img-name.lang-en {
        width : 212px;
    }
}

.m-txt-boxttl {
    text-align : center;
    margin-top : -60px !important;
    position : relative;
    background : #0075c2;
}
@media screen and (min-width: 768px), print {
    .m-txt-boxttl {
        font-size : 16px;
        font-size : 1.6rem;
        width : 520px;
        margin-top : -115px !important;
        margin-right : auto;
        margin-left : auto;
    }
}
.m-txt-boxttl span {
    display : block;
    color : #fff;
    font-weight : bold;
    margin : 0 25px;
    padding : 13px 0;
    position : relative;
}
@media screen and (min-width: 768px), print {
    .m-txt-boxttl span {
        display : inline-block;
        padding : 24px 0;
        margin : 0 40px;
    }
}
.m-txt-boxttl.pk {
    background : #a05e6a;
}

.m-txt-ttlhasnum {
    text-align : center;
    margin-top : -60px !important;
    margin-bottom : 35px;
    position : relative;
    background : #000;
    color : #fff;
    font-weight : bold;
    display : table;
    width : 100%;
}
@media screen and (min-width: 768px), print {
    .m-txt-ttlhasnum {
        width : 520px;
        margin-top : -122px !important;
        margin-bottom : 75px;
        margin-right : auto;
        margin-left : auto;
    }
}
@media screen and (min-width: 1024px), print {
    .m-txt-ttlhasnum {
        width : 745px;
    }
}
.m-txt-ttlhasnum .ttlhasnum-num {
    position : absolute;
    left : 0;
    top : 0;
    height : 100%;
    width : 40px;
}
@media screen and (min-width: 768px), print {
    .m-txt-ttlhasnum .ttlhasnum-num {
        width : 60px;
        font-size : 24px;
        font-size : 2.4rem;
    }
}
.m-txt-ttlhasnum .ttlhasnum-num:before {
    content : '';
    display : inline-block;
    position : absolute;
    top : 0;
    left : 0;
    bottom : 0;
    width : 100%;
    background : #0075c2;
}
.m-txt-ttlhasnum .ttlhasnum-num span {
    display : inline-block;
    position : absolute;
    top : 50%;
    left : 50%;
    -webkit-transform : translate(-50%, -50%);
    -ms-transform : translate(-50%, -50%);
    transform : translate(-50%, -50%);
}
.m-txt-ttlhasnum .ttlhasnum-ttl {
    position : relative;
    padding : 13px 50px;
    display : table-cell;
    vertical-align : middle;
    text-align : left;
}
@media screen and (min-width: 768px), print {
    .m-txt-ttlhasnum .ttlhasnum-ttl {
        padding : 24px 35px 24px 100px;
        font-size : 24px;
        font-size : 2.4rem;
    }
}

.m-btn-history {
    margin-top : 20px;
}
@media screen and (min-width: 768px), print {
    .m-btn-history {
        width : 520px;
        margin : 40px auto 0;
    }
}
.m-btn-history .history-btn {
    display : block;
    position : relative;
    padding : 0 20px 0 75px;
    color : #fff;
    font-weight : bold;
    background : #0075c2;
}
@media screen and (min-width: 768px), print {
    .m-btn-history .history-btn {
        padding : 0 40px 0 120px;
        font-size : 16px;
        font-size : 1.6rem;
    }
}
@media screen and (min-width: 1024px), print {
    .m-btn-history .history-btn {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
@media screen and (min-width: 1024px), print {
    .m-btn-history .history-btn:before {
        content : '';
        display : inline-block;
        position : absolute;
        top : 0;
        left : 0;
        bottom : 0;
        width : 120px;
        background : #edeff1;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
.m-btn-history .history-btn .btn-img {
    display : inline-block;
    width : 75px;
    position : absolute;
    left : 0;
    top : 0;
    bottom : 0;
    overflow : hidden;
    background : #000;
}
@media screen and (min-width: 768px), print {
    .m-btn-history .history-btn .btn-img {
        width : 120px;
    }
}
.m-btn-history .history-btn .btn-img img {
    position : absolute;
    top : 50%;
    left : 0;
    width : 100%;
    -webkit-transform : translateY(-50%);
    -ms-transform : translateY(-50%);
    transform : translateY(-50%);
}
.m-btn-history .history-btn .btn-label {
    display : block;
    position : relative;
    text-align : center;
    padding : 13px 35px 13px 20px;
}
@media screen and (min-width: 768px), print {
    .m-btn-history .history-btn .btn-label {
        padding : 24px 60px 24px 35px;
    }
}
.m-btn-history .history-btn .btn-label:before {
    content : '';
    display : inline-block;
    width : 1px;
    height : 1px;
    border-left : 7px solid #fff;
    border-top : 4px solid transparent;
    border-bottom : 4px solid transparent;
    position : absolute;
    right : 0;
    top : 50%;
    margin-top : -4px;
}
@media screen and (min-width: 768px), print {
    .m-btn-history .history-btn .btn-label:before {
        border-left : 10px solid #fff;
        border-top : 5px solid transparent;
        border-bottom : 5px solid transparent;
        margin-top : -5px;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
.m-btn-history .history-btn .btn-label:after {
    content : '';
    display : inline-block;
    width : 14px;
    height : 2px;
    background : #fff;
    position : absolute;
    right : 6px;
    top : 50%;
    margin-top : -1px;
}
@media screen and (min-width: 768px), print {
    .m-btn-history .history-btn .btn-label:after {
        width : 20px;
        right : 10px;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
@media screen and (min-width: 1024px), print {
    .m-btn-history .history-btn:hover {
        color : #0075c2;
    }
    .m-btn-history .history-btn:hover:before {
        width : 520px;
    }
    .m-btn-history .history-btn:hover .btn-label:before {
        border-left : 10px solid #0075c2;
        right : -5px;
    }
    .m-btn-history .history-btn:hover .btn-label:after {
        background : #0075c2;
        width : 0;
        right : 5px;
    }
}
.m-btn-history.pk .history-btn {
    background : #a05e6a;
}
@media screen and (min-width: 1024px), print {
    .m-btn-history.pk .history-btn:hover {
        color : #a05e6a;
    }
    .m-btn-history.pk .history-btn:hover .btn-label:before {
        border-left : 10px solid #a05e6a;
    }
    .m-btn-history.pk .history-btn:hover .btn-label:after {
        background : #a05e6a;
    }
}

/* header style */
#l-header {
    position : fixed;
    top : 0;
    left : 0;
    right : 0;
    z-index : +1;
}
@media screen and (min-width: 768px), print {
    #l-header {
        position : relative;
    }
}
#l-header .header-inner {
    /* background: rgba(0, 0, 0, 0.5); */
    *
    zoom : 1;
}
@media screen and (min-width: 768px),print {
    #l-header .header-inner {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 9999;
    }
}
#l-header .header-inner:after {
    content : ' ';
    display : table;
    clear : both;
}
#l-header .header-inner .header-logo {
    float : left;
    *zoom : 1;
}
#l-header .header-inner .header-logo:after {
    content : ' ';
    display : table;
    clear : both;
}
#l-header .header-inner .header-logo .logo-sitename {
    float : left;
}
#l-header .header-inner .header-logo .logo-sitename a {
    display : block;
    padding: 12px 20px;
    /* background : #fff; */
    line-height : 0.1;
}

@media screen and (max-width: 600px) {
    #l-header .header-inner.sp .header-logo .logo-sitename a {
        padding: 10px 14px;
    }

}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-logo .logo-sitename a {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
#l-header .header-inner .header-logo .logo-sitename a img {
    width : 100px;
}
#l-header .header-inner.sp .header-logo .logo-sitename a img {
    width : 200px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-sitename a img {
        width: 220px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-logo .logo-sitename a:hover {
        background : #edeff1;
    }
}
#l-header .header-inner .header-logo .logo-sitename.en a {
    padding : 18px 10px 15px;
    min-height : 50px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-sitename.en a {
        padding : 20px 20px;
        min-height : 60px;
    }
}
#l-header .header-inner .header-logo .logo-sitename.en a img {
    width : 150px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-sitename.en a img {
        width : 200px;
    }
}
#l-header .header-inner .header-logo .logo-sitename.cn a {
    padding : 12px 14px;
    min-height : 50px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-sitename.cn a {
        padding : 10px 20px;
        min-height : 60px;
    }
}
#l-header .header-inner .header-logo .logo-sitename.cn a img {
    width : 130px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-sitename.cn a img {
        width : 192px;
    }
}
#l-header .header-inner .header-logo .logo-anv {
    display : block;
    float : left;
    position : relative;
    background : #fff;
    line-height : 0.1;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-anv {
        padding-left : 300px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-logo .logo-anv {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
#l-header .header-inner .header-logo .logo-anv .anv-catch {
    display : none;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-anv .anv-catch {
        display : block;
        position : absolute;
        left : 0;
        top : 0;
        bottom : 0;
        width : 300px;
        background : #0075c2;
        color : #fff;
        font-weight : bold;
        line-height : 1.75;
        padding : 10px 10px;
        text-align : center;
        font-size : 16px;
        font-size : 1.6rem;
    }
    #l-header .header-inner .header-logo .logo-anv .anv-catch .catch-l {
        font-size : 24px;
        font-size : 2.4rem;
        vertical-align : middle;
        position : relative;
        top : -2px;
        margin-right : 3px;
    }
    #l-header .header-inner .header-logo .logo-anv .anv-catch.no-num {
        padding : 7px 10px;
        font-size : 14px;
        font-size : 1.4rem;
    }
}
#l-header .header-inner .header-logo .logo-anv .anv-logo {
    display : inline-block;
    padding : 10px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-logo .logo-anv .anv-logo {
        padding : 15px;
    }
}
#l-header .header-inner .header-logo .logo-anv .anv-logo img {
    width : 30px;
    height : 30px;
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-logo .logo-anv:hover {
        background : #edeff1;
    }
}
#l-header .header-inner .header-menu {
    /* float: left; */
    /* position: revert; */
    z-index : 9999;
}

#l-header .header-inner .header-menu .open-menu{
    display:flex;
    /* width: 100%; */
    /* max-width: 1000px; */
    margin: 1.5rem auto;
    justify-content: center;
    width: 100px;
    position: absolute;
    left: 50vw;
}
#l-header .header-inner .header-menu .open-menu li{
    margin: 0 3rem 0 0;
}
#l-header .header-inner .header-menu .open-menu a{
    color: #fff;
}

#l-header .header-inner .header-menu .menu-btns {
    zoom : 1;
    position: absolute;
    right: 2rem;
    margin: 1.5rem auto;
    justify-content: center;
    /* width: 100px; */
    border: 1px solid #fff;
}
#l-header .header-inner .header-menu .menu-btns:after {
    content : ' ';
    display : table;
    clear : both;
}

@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li {
        width: 100%;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang {
    display : inline-block;
    width : 50px;
    height : 50px;
    background : #fff;
    position : relative;
    text-indent : -9999px;
    overflow : hidden;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-lang {
        width : 60px;
        height : 60px;
        cursor : pointer;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang .add-svg {
    width : 20px;
    height : 20px;
    position : absolute;
    top : 50%;
    left : 50%;
    -webkit-transform : translate(-50%, -50%);
    -ms-transform : translate(-50%, -50%);
    transform : translate(-50%, -50%);
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang .add-svg .svg-icon {
    fill : #0075c2;
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang .nav-line1 {
    display : inline-block;
    width : 20px;
    height : 2px;
    background : #0075c2;
    position : absolute;
    left : 15px;
    top : 50%;
    -webkit-transform : rotate(45deg);
    -ms-transform : rotate(45deg);
    transform : rotate(45deg);
    opacity : 0;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-lang .nav-line1 {
        left : 20px;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang .nav-line2 {
    display : inline-block;
    width : 20px;
    height : 2px;
    background : #0075c2;
    position : absolute;
    left : 15px;
    top : 50%;
    -webkit-transform : rotate(-45deg);
    -ms-transform : rotate(-45deg);
    transform : rotate(-45deg);
    opacity : 0;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-lang .nav-line2 {
        left : 20px;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang.is-open .add-svg {
    opacity : 0;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang.is-open .nav-line1 {
    opacity : 1;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}
#l-header .header-inner .header-menu .menu-btns > li .menu-lang.is-open .nav-line2 {
    opacity : 1;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-lang:hover {
        background : #edeff1;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-nav {
    display : inline-block;
    width : 50px;
    height : 50px;
    background : #0075c2;
    position : relative;
    text-indent : -9999px;
    overflow : hidden;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav {
        cursor : pointer;
        width : 60px;
        height : 60px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-nav .nav-line1 {
    display : inline-block;
    width : 20px;
    height : 2px;
    background : #fff;
    position : absolute;
    top : 15px;
    left : 15px;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav .nav-line1 {
        top : 20px;
        left : 20px;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-nav .nav-line2 {
    display : inline-block;
    width : 20px;
    height : 2px;
    background : #fff;
    position : absolute;
    top : 24px;
    left : 15px;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav .nav-line2 {
        top : 29px;
        left : 20px;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-nav .nav-line3 {
    display : inline-block;
    width : 20px;
    height : 2px;
    background : #fff;
    position : absolute;
    top : 33px;
    left : 15px;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav .nav-line3 {
        top : 38px;
        left : 20px;
    }
}
#l-header .header-inner .header-menu .menu-btns > li .menu-nav.is-open .nav-line1 {
    top : 50%;
    -webkit-transform : rotate(45deg);
    -ms-transform : rotate(45deg);
    transform : rotate(45deg);
}
#l-header .header-inner .header-menu .menu-btns > li .menu-nav.is-open .nav-line2 {
    top : 50%;
    -webkit-transform : rotate(-45deg);
    -ms-transform : rotate(-45deg);
    transform : rotate(-45deg);
}
#l-header .header-inner .header-menu .menu-btns > li .menu-nav.is-open .nav-line3 {
    opacity : 0;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav:hover {
        background : #edeff1;
    }
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav:hover .nav-line1 {
        background : #0075c2;
    }
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav:hover .nav-line2 {
        background : #0075c2;
    }
    #l-header .header-inner .header-menu .menu-btns > li .menu-nav:hover .nav-line3 {
        background : #0075c2;
    }
}
#l-header .header-inner .header-drop-bg {
    display : none;
    position : fixed;
    top : 50px;
    left : 0;
    right : 0;
    bottom : 0;
    background : rgba(0, 0, 0, 0.5);
    z-index : 8000;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop-bg {
        top : 0;
    }
}
#l-header .header-inner .header-drop {
    display : none;
    position : absolute;
    top : 50px;
    left : 0;
    right : 0;
    background : #000;
    z-index : 9000;
    padding : 15px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop {
        display : block;
        position : fixed;
        top : 0;
        right : calc(-75vw);
        left : auto;
        bottom : 0;
        width : 75%;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop {
        right : -700px;
        width : 700px;
    }
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop.lang {
        right : calc(-50vw);
        width : 50%;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop.lang {
        right : -430px;
        width : 430px;
    }
}
#l-header .header-inner .header-drop .drop-area {
    max-height : calc(100vh - 80px);
    overflow : auto;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .drop-area {
        position : absolute;
        left : 60px;
        right : 100px;
        top : 50%;
        -webkit-transform : translateY(-50%);
        -ms-transform : translateY(-50%);
        transform : translateY(-50%);
        max-height : calc(100vh - 150px);
    }
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .drop-area ul li {
        opacity : 0;
        -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
        -webkit-transition-delay : 0.05s;
        transition-delay : 0.05s;
    }
    #l-header .header-inner .header-drop .drop-area ul li:nth-child(2) {
        -webkit-transition-delay : 0.08s;
        transition-delay : 0.08s;
    }
    #l-header .header-inner .header-drop .drop-area ul li:nth-child(3) {
        -webkit-transition-delay : 0.11s;
        transition-delay : 0.11s;
    }
    #l-header .header-inner .header-drop .drop-area ul li:nth-child(4) {
        -webkit-transition-delay : 0.14s;
        transition-delay : 0.14s;
    }
    #l-header .header-inner .header-drop .drop-area ul li:nth-child(5) {
        -webkit-transition-delay : 0.17s;
        transition-delay : 0.17s;
    }
    #l-header .header-inner .header-drop .drop-area ul li:nth-child(6) {
        -webkit-transition-delay : 0.2s;
        transition-delay : 0.2s;
    }
    #l-header .header-inner .header-drop .drop-area ul li:nth-child(7) {
        -webkit-transition-delay : 0.23s;
        transition-delay : 0.23s;
    }
    #l-header .header-inner .header-drop .drop-area ul li:nth-child(8) {
        -webkit-transition-delay : 0.26s;
        transition-delay : 0.26s;
    }
}
#l-header .header-inner .header-drop .drop-area ul li + li {
    margin-top : 10px;
}
#l-header .header-inner .header-drop .drop-area ul li a {
    display : block;
    color : #fff;
    font-weight : bold;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
#l-header .header-inner .header-drop .drop-area ul li a dl {
    *zoom : 1;
}
#l-header .header-inner .header-drop .drop-area ul li a dl:after {
    content : ' ';
    display : table;
    clear : both;
}
#l-header .header-inner .header-drop .drop-area ul li a dl dt {
    float : left;
    width : 40px;
    text-align : center;
    line-height : 1;
    padding : 7px 0;
    margin-right : 20px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dt {
        padding : 13px 0;
        width : 60px;
    }
}
#l-header .header-inner .header-drop .drop-area ul li a dl dd {
    overflow : hidden;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dd {
        padding-top : 8px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dd {
        *zoom : 1;
        padding-top : 0;
    }
    #l-header .header-inner .header-drop .drop-area ul li a dl dd:after {
        content : ' ';
        display : table;
        clear : both;
    }
}
#l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-ttl {
    display : inline-block;
    padding-right : 23px;
    position : relative;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-ttl {
        font-size : 14px;
        font-size : 1.4rem;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-ttl {
        float : left;
        width : 170px;
        margin-right : 20px;
        padding-top : 8px;
    }
}
#l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-ttl:after {
    content : '';
    display : inline-block;
    width : 3px;
    height : 1px;
    background : #fff;
    position : absolute;
    right : 0;
    top : 50%;
    margin-top : -2px;
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-ttl:after {
        width : 4px;
        top : 1.3em;
        margin-top : 0;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
#l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-ttl.nodesc {
    padding-right : 0;
}
#l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-ttl.nodesc:after {
    display : none;
}
#l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-desc {
    display : block;
    font-size : 15px;
    font-size : 15px;
    font-size : 1.5rem;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-desc {
        font-size : 16px;
        font-size : 1.6rem;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl dd .nav-desc {
        overflow : hidden;
        padding-top : 5px;
    }
}
#l-header .header-inner .header-drop .drop-area ul li a dl.nonum {
    padding-left : 60px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .drop-area ul li a dl.nonum {
        padding-left : 80px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop .drop-area ul li a:hover {
        color : #0075c2;
    }
    #l-header .header-inner .header-drop .drop-area ul li a:hover dl dd .nav-ttl:after {
        background : #0075c2;
    }
}
#l-header .header-inner .header-drop .drop-area ul li a.is-active dl dt {
    background : #0075c2;
    color : #fff;
}
#l-header .header-inner .header-drop .drop-area ul li a.is-active dl dd {
    color : #0075c2;
}
#l-header .header-inner .header-drop .drop-area ul li a.is-active dl dd .nav-ttl:after {
    background : #0075c2;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .lang-area {
        position : absolute;
        left : 60px;
        right : 100px;
        top : 50%;
        -webkit-transform : translateY(-50%);
        -ms-transform : translateY(-50%);
        transform : translateY(-50%);
    }
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .lang-area ul li {
        opacity : 0;
        -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
        -webkit-transition-delay : 0.05s;
        transition-delay : 0.05s;
    }
    #l-header .header-inner .header-drop .lang-area ul li:nth-child(2) {
        -webkit-transition-delay : 0.08s;
        transition-delay : 0.08s;
    }
    #l-header .header-inner .header-drop .lang-area ul li:nth-child(3) {
        -webkit-transition-delay : 0.11s;
        transition-delay : 0.11s;
    }
    #l-header .header-inner .header-drop .lang-area ul li:nth-child(4) {
        -webkit-transition-delay : 0.14s;
        transition-delay : 0.14s;
    }
    #l-header .header-inner .header-drop .lang-area ul li:nth-child(5) {
        -webkit-transition-delay : 0.17s;
        transition-delay : 0.17s;
    }
    #l-header .header-inner .header-drop .lang-area ul li:nth-child(6) {
        -webkit-transition-delay : 0.2s;
        transition-delay : 0.2s;
    }
    #l-header .header-inner .header-drop .lang-area ul li:nth-child(7) {
        -webkit-transition-delay : 0.23s;
        transition-delay : 0.23s;
    }
    #l-header .header-inner .header-drop .lang-area ul li:nth-child(8) {
        -webkit-transition-delay : 0.26s;
        transition-delay : 0.26s;
    }
}
#l-header .header-inner .header-drop .lang-area ul li + li {
    margin-top : 10px;
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop .lang-area ul li + li {
        margin-top : 30px;
    }
}
#l-header .header-inner .header-drop .lang-area ul li a {
    display : block;
    color : #fff;
    font-weight : bold;
    position : relative;
    padding-left : 23px;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
#l-header .header-inner .header-drop .lang-area ul li a:after {
    content : '';
    display : inline-block;
    width : 3px;
    height : 1px;
    background : #fff;
    position : absolute;
    left : 0;
    top : 50%;
    margin-top : -2px;
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop .lang-area ul li a:after {
        width : 4px;
        margin-top : 2px;
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
#l-header .header-inner .header-drop .lang-area ul li a.is-active {
    color : #0075c2;
}
#l-header .header-inner .header-drop .lang-area ul li a.is-active:after {
    background : #0075c2;
}
@media screen and (min-width: 1024px), print {
    #l-header .header-inner .header-drop .lang-area ul li a:hover {
        color : #0075c2;
    }
    #l-header .header-inner .header-drop .lang-area ul li a:hover:after {
        background : #0075c2;
    }
}
@media screen and (min-width: 768px), print {
    #l-header .header-inner .header-drop.is-open {
        right : 0;
    }
}
#l-header .header-inner .header-drop.is-open .drop-area ul li {
    opacity : 1;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}
#l-header .header-inner .header-drop.is-open .lang-area ul li {
    opacity : 1;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}

/* content style */
#l-content {
    margin-top : 50px;
}
@media screen and (min-width: 768px), print {
    #l-content {
        margin-top : 0;
    }
}
#l-content .content-ttl {
    position : relative;
    overflow : hidden;
    height : calc(100vh - 200px);
}
@media only screen and (orientation: landscape) {
    #l-content .content-ttl {
        height : calc(100vh - 130px);
    }
}
@media screen and (min-width: 768px), print {
    #l-content .content-ttl {
        height : calc(44.35vw);
    }
}
#l-content .content-ttl .ttl-bg {
    position : absolute;
    top : 0;
    left : 0;
    right : 0;
    bottom : 0;
    background-position : center;
    background-repeat : no-repeat;
    background-size : cover;
    -webkit-transition : all 4s ease;
    transition : all 4s ease;
    -webkit-transform : scale(1.3);
    -ms-transform : scale(1.3);
    transform : scale(1.3);
}
#l-content .content-ttl .ttl-bg.introduction {
    background-image : url(../images/bg_introduction.jpg);
}
#l-content .content-ttl .ttl-bg.topmessage {
    background-image : url(../images/bg_topmessage_sp_page.jpg);
}
@media screen and (min-width: 768px), print {
    #l-content .content-ttl .ttl-bg.topmessage {
        background-image : url(../images/bg_topmessage.jpg);
    }
}
#l-content .content-ttl .ttl-bg.ngkphilosophy {
    background-image : url(../images/bg_ngkphilosophy.jpg);
}
#l-content .content-ttl .ttl-bg.growth {
    background-image : url(../images/bg_growth.jpg);
}
#l-content .content-ttl .ttl-bg.history01 {
    background-image : url(../images/bg_history_01_sp.jpg);
}
@media screen and (min-width: 768px), print {
    #l-content .content-ttl .ttl-bg.history01 {
        background-image : url(../images/bg_history_01.jpg);
    }
}
#l-content .content-ttl .ttl-bg.history02 {
    background-image : url(../images/bg_history_02.jpg);
}
#l-content .content-ttl .ttl-bg.story {
    background-image : url(../images/bg_story.jpg);
}
#l-content .content-ttl .ttl-bg.story02 {
    background-image : url(../images/bg_story02.jpg);
}
#l-content .content-ttl .ttl-bg.story03 {
    background-image : url(../images/bg_story03.jpg);
}
#l-content .content-ttl .ttl-bg.story04 {
    background-image : url(../images/bg_story04.jpg);
}
#l-content .content-ttl .ttl-bg.story05 {
    background-image : url(../images/bg_story05.jpg);
}
#l-content .content-ttl .ttl-bg.story06 {
    background-image : url(../images/bg_story06.jpg);
}
#l-content .content-ttl .ttl-bg.story07 {
    background-image : url(../images/bg_story07.jpg);
}
#l-content .content-ttl .ttl-bg.story08 {
    background-image : url(../images/bg_story08.jpg);
}
#l-content .content-ttl .ttl-bg.story09 {
    background-image : url(../images/bg_story09.jpg);
}
#l-content .content-ttl .ttl-bg.movie {
    background-image : url(../images/bg_movie.jpg);
}
#l-content .content-ttl .ttl-bg.is-loaded {
    -webkit-transform : scale(1);
    -ms-transform : scale(1);
    transform : scale(1);
}
#l-content .content-ttl .ttl-box {
    position : absolute;
    left : 15px;
    width : calc(100vw - 30px);
    top : 50%;
    -webkit-transform : translateY(-50%);
    -ms-transform : translateY(-50%);
    transform : translateY(-50%);
    background : #000;
    color : #fff;
}
@media screen and (min-width: 768px), print {
    #l-content .content-ttl .ttl-box {
        width : 600px;
        left : 50%;
        margin-left : -300px;
    }
}
#l-content .content-ttl .ttl-box .ttl-num {
    font-size : 40px;
    font-size : 40px;
    font-size : 4rem;
    font-weight : bold;
    color : #0075c2;
    line-height : 1;
    position : absolute;
    left : 50%;
    -webkit-transform : translate(-50%, -52%);
    -ms-transform : translate(-50%, -52%);
    transform : translate(-50%, -52%);
}
@media screen and (min-width: 768px), print {
    #l-content .content-ttl .ttl-box .ttl-num {
        font-size : 64px;
        font-size : 6.4rem;
    }
}
#l-content .content-ttl .ttl-box h1 {
    font-size : 18px;
    font-size : 18px;
    font-size : 1.8rem;
    font-weight : bold;
    text-align : center;
    padding : 20px;
}
@media screen and (min-width: 768px), print {
    #l-content .content-ttl .ttl-box h1 {
        font-size : 32px;
        font-size : 3.2rem;
        padding : 32px 20px;
    }
}
#l-content .content-area {
    padding : 35px 15px 70px;
    line-height : 2;
}
#l-content .content-area > *:first-child {
    margin-top : 0;
}
@media screen and (min-width: 768px), print {
    #l-content .content-area {
        padding : 75px 0 80px;
        margin : 0 40px 0;
    }
}
@media screen and (min-width: 1261px), print {
    #l-content .content-area {
        width : 1180px;
        margin : 0 auto;
    }
}

/* footer style */
#l-footer {
    background : #edeff1;
}
#l-footer .footer-nav {
    letter-spacing : normal;
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-nav {
        letter-spacing : 0.1em;
    }
}
#l-footer .footer-nav ul {
    padding : 27px 15px 0;
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -ms-flex-wrap : wrap;
    flex-wrap : wrap;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav ul {
        padding : 40px 0 0;
        margin : 0 40px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-nav ul {
        width : 880px;
        margin : 0 auto;
    }
}
#l-footer .footer-nav ul li {
    width : calc(50% - 5px);
    margin-right : 10px;
    margin-top : 20px;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav ul li {
        width : calc(33.3% - 14px);
        margin-right : 20px;
        margin-top : 40px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-nav ul li {
        width : 280px;
    }
}
#l-footer .footer-nav ul li:nth-child(even) {
    margin-right : 0;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav ul li:nth-child(even) {
        margin-right : 20px;
    }
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav ul li:nth-child(3n) {
        margin-right : 0;
    }
}
#l-footer .footer-nav ul li .nav-link {
    display : block;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
#l-footer .footer-nav ul li .nav-link .link-ttl {
    display : block;
    position : relative;
    background : #000;
    color : #fff;
}
#l-footer .footer-nav ul li .nav-link .link-ttl .ttl-num {
    font-size : 20px;
    font-size : 20px;
    font-size : 2rem;
    font-weight : bold;
    color : #0075c2;
    line-height : 1;
    position : absolute;
    left : 50%;
    -webkit-transform : translate(-50%, -50%);
    -ms-transform : translate(-50%, -50%);
    transform : translate(-50%, -50%);
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav ul li .nav-link .link-ttl .ttl-num {
        font-size : 32px;
        font-size : 3.2rem;
    }
}
#l-footer .footer-nav ul li .nav-link .link-ttl .ttl-label {
    font-size : 12px;
    font-size : 12px;
    font-size : 1.2rem;
    display : block;
    font-weight : bold;
    text-align : center;
    padding : 18px 0 8px;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav ul li .nav-link .link-ttl .ttl-label {
        font-size : 16px;
        font-size : 1.6rem;
        padding : 20px 0 10px;
    }
}
#l-footer .footer-nav ul li .nav-link .link-img {
    display : block;
    overflow : hidden;
}
#l-footer .footer-nav ul li .nav-link .link-img img {
    width : 100%;
    -webkit-transition : all 0.3s ease;
    transition : all 0.3s ease;
}
#l-footer .footer-nav ul li .nav-link.is-active {
    opacity : 0.5;
    -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-nav ul li .nav-link:hover {
        opacity : 0.5;
        -ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
    }
    #l-footer .footer-nav ul li .nav-link:hover .link-img img {
        -webkit-transform : scale(1.1);
        -ms-transform : scale(1.1);
        transform : scale(1.1);
    }
}
#l-footer .footer-nav .nav-year {
    margin : 20px 15px 0;
    text-align : center;
    font-weight : bold;
    font-size : 16px;
    font-size : 16px;
    font-size : 1.6rem;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav .nav-year {
        margin : 40px 40px 0;
        font-size : 24px;
        font-size : 2.4rem;
    }
}
@media screen and (min-width: 1261px), print {
    #l-footer .footer-nav .nav-year {
        width : 1180px;
        margin : 40px auto 0;
    }
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-nav .nav-year br {
        display : none;
    }
}
#l-footer .footer-info {
    background : #000;
    margin-top : 45px;
    text-align : center;
    color : #fff;
    font-size : 10px;
    font-size : 10px;
    font-size : 1rem;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-info {
        font-size : 12px;
        font-size : 1.2rem;
        margin-top : 80px;
    }
}
#l-footer .footer-info a {
    color : #fff;
}
#l-footer .footer-info .info-data {
    padding : 23px 15px;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-info .info-data {
        padding : 50px 40px;
    }
}
@media screen and (min-width: 1261px), print {
    #l-footer .footer-info .info-data {
        padding : 50px 0;
    }
}
#l-footer .footer-info .info-data ul {
    letter-spacing : -0.40em;
}
#l-footer .footer-info .info-data ul > li {
    display : inline-block;
    letter-spacing : 0.1em;
    vertical-align : top;
}
@media screen and (min-width: 1261px), print {
    #l-footer .footer-info .info-data ul {
        width : 1180px;
        margin : 0 auto;
    }
}
#l-footer .footer-info .info-data ul li {
    padding-right : 10px;
    margin-right : 10px;
    position : relative;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-info .info-data ul li {
        padding-right : 15px;
        margin-right : 15px;
    }
}
#l-footer .footer-info .info-data ul li:after {
    content : '';
    display : inline-block;
    position : absolute;
    top : 3px;
    right : 0;
    bottom : 3px;
    width : 1px;
    background : #fff;
}
#l-footer .footer-info .info-data ul li:last-child {
    padding-right : 0;
    margin-right : 0;
}
#l-footer .footer-info .info-data ul li:last-child:after {
    display : none;
}
#l-footer .footer-info .info-data ul li a[target='_blank'] {
    position : relative;
    padding-right : 1.4em;
}
#l-footer .footer-info .info-data ul li a[target='_blank']:after {
    content : '';
    display : inline-block;
    width : 1.0em;
    height : 1.0em;
    margin : auto 0 auto 3px;
    background : url('/100th/jp/assets/svg/i_blank_white.svg') no-repeat right top;
    background-size : 100% 100%;
    position : absolute;
    top : -0.2em;
    bottom : 0;
}
#l-footer .footer-info .info-copy {
    background : #293337;
    padding : 12px 15px;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-info .info-copy {
        padding : 19px 40px 20px;
    }
}
@media screen and (min-width: 1261px), print {
    #l-footer .footer-info .info-copy {
        padding : 19px 0 20px;
    }
}
@media screen and (min-width: 1261px), print {
    #l-footer .footer-info .info-copy p {
        width : 1180px;
        margin : 0 auto;
    }
}
#l-footer .footer-ptop {
    position : fixed;
    bottom : 0;
    right : 0;
    line-height : 0.1;
    display : none;
}
#l-footer .footer-ptop a {
    display : inline-block;
    width : 40px;
    height : 40px;
    background : #0075c2;
    text-indent : -9999px;
    overflow : hidden;
    position : relative;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-ptop a {
        width : 60px;
        height : 60px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-ptop a {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
#l-footer .footer-ptop a:before {
    content : '';
    display : inline-block;
    width : 1px;
    height : 1px;
    border-bottom : 7px solid #fff;
    border-left : 4px solid transparent;
    border-right : 4px solid transparent;
    position : absolute;
    top : 10px;
    left : 50%;
    margin-left : -4px;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-ptop a:before {
        border-bottom : 10px solid #fff;
        border-left : 5px solid transparent;
        border-right : 5px solid transparent;
        top : 15px;
        margin-left : -5px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-ptop a:before {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
#l-footer .footer-ptop a:after {
    content : '';
    display : inline-block;
    width : 2px;
    height : 14px;
    background : #fff;
    position : absolute;
    top : 16px;
    left : 50%;
    margin-left : -1px;
}
@media screen and (min-width: 768px), print {
    #l-footer .footer-ptop a:after {
        height : 20px;
        top : 25px;
    }
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-ptop a:after {
        -webkit-transition : all 0.3s ease;
        transition : all 0.3s ease;
    }
}
@media screen and (min-width: 1024px), print {
    #l-footer .footer-ptop a:hover {
        background : #edeff1;
    }
    #l-footer .footer-ptop a:hover:before {
        border-bottom : 10px solid #0075c2;
        top : 10px;
    }
    #l-footer .footer-ptop a:hover:after {
        background : #0075c2;
        height : 0;
        top : 15px;
    }
}

#l-cookie {
    position : fixed;
    bottom : 0;
    left : 0;
    right : 0;
    padding : 20px 15px;
    background : #293337;
    color : #fff;
}
@media screen and (min-width: 768px), print {
    #l-cookie {
        padding : 40px;
    }
}
@media screen and (min-width: 1261px), print {
    #l-cookie {
        padding : 60px 0;
    }
}
@media screen and (min-width: 768px), print {
    #l-cookie .cookie-container {
        display : -webkit-box;
        display : -ms-flexbox;
        display : flex;
        -webkit-box-align : center;
        -ms-flex-align : center;
        align-items : center;
        -webkit-box-pack : justify;
        -ms-flex-pack : justify;
        justify-content : space-between;
    }
}
@media screen and (min-width: 1261px), print {
    #l-cookie .cookie-container {
        width : 1180px;
        margin : 0 auto;
    }
}
@media screen and (min-width: 768px), print {
    #l-cookie .cookie-container .container-txt {
        width : 70%;
    }
}
@media screen and (min-width: 1261px), print {
    #l-cookie .cookie-container .container-txt {
        width : 78%;
    }
}
#l-cookie .cookie-container .container-txt a {
    color : #fff;
    text-decoration : underline;
}
#l-cookie .cookie-container .container-btn {
    text-align : center;
    margin-top : 15px;
    cursor : pointer;
}
@media screen and (min-width: 768px), print {
    #l-cookie .cookie-container .container-btn {
        width : 25%;
        margin-top : 0;
    }
}
@media screen and (min-width: 1261px), print {
    #l-cookie .cookie-container .container-btn {
        width : 18%;
    }
}
#l-cookie .cookie-container .container-btn .btn-agree {
    display : inline-block;
    border : 1px solid #fff;
    padding : 10px 30px;
}
@media screen and (min-width: 768px), print {
    #l-cookie .cookie-container .container-btn .btn-agree {
        display : block;
        padding : 10px;
    }
}

/* print style */
@media print {
    html {
        background : none;
        min-width : 1400px;
    }
    body {
        padding : 0;
        background : none;
    }
    /* for IE7 */
    *:first-child + html body {
        zoom : 67%;
    }
}