/*
 * StyleName: common.css
 * Version: 3.0.8
 */

/*!
 * normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css
 */

button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}

/*=============================================
 * reset by FC Dev
 *=============================================*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    outline: none;
    border: 0;
}
img {
    border: 0;
    transform: translateZ(0);
    -moz-transform: translateZ(0);
    -webkit-transform: translateZ(0);
}
img, input {
    vertical-align: middle;
}
/*
html:not(.wp) h1,
html:not(.wp) h2,
html:not(.wp) h3,
html:not(.wp) h4,
html:not(.wp) h5,
html:not(.wp) h6,
html:not(.wp) address {
    margin: 0;
    padding: 0;
    font-style: normal;
    font-weight: normal;
    border: 0;
}
*/
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content: none;
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
table, caption, th, td {
    font-style: normal;
    font-weight: normal;
}
hr {
    margin: 0;
    padding: 0;
}
iframe {
    margin: 0;
    padding: 0;
    border: 0;
}
form, fieldset, input, button, select, optgroup, option, textarea, label, legend {
    margin: 0;
    padding: 0;
    outline: none;
}
span, em, strong, dfn, code, samp, kbd, var, cite, abbr, acronym, q, br, ins, del, a, img, object {
    margin: 0;
    padding: 0;
    font-style: normal;
    font-weight: inherit;
    border: 0;
}

/*=============================================
 * reset - custom
 *=============================================*/

:before,
:after {
    pointer-events: none;
}
* { /* fix font boosting on mobile Chrome */
    max-height: 1000000px;
}
*:first-child + html img,
* html img {
    vertical-align: top;
}
html,
body {
    line-height: 1;
    word-spacing: normal;
    min-height: 100%;
    text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    overflow-scrolling: touch;
    -moz-overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    /* -webkit-font-smoothing: antialiased; */
}
html.break-jump,
.break-jump body { /* fixed for screen jumping bug on iOS */
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto;
}
input,
button,
select,
optgroup,
option,
textarea,
label {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
select,
button,
input:button,
input:submit,
input:reset {
    cursor: pointer;
}
/*
option:disabled {
    display: none;
}
*/
strong {
    font-weight: 600;
}
em {
    font-style: italic;
}
small {
    font-size: smaller;
}
del {
    text-decoration: line-through;
}
a {
    color: inherit;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
a:focus,
a:active {
    outline: none;
    -moz-outline-style: none;
    ie-dummy: expression(this.hideFocus=true);
}
/*
a[href=""],
a[href=""] > * {
    cursor: not-allowed !important;
}
a[href=""]:focus,
a[href=""]:active {
    pointer-events: none;
}
*/
a[x-apple-data-detectors] {
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

/*=============================================
 * lazyload
 *=============================================*/

img:not([src]) {
    visibility: hidden;
}

img[data-src],
img[data-srcset] {
    display: block;
    min-height: 1px;
}

.i-wrapper {
    width: 100%;
    height: 0;
    padding-bottom: 66.67%;
    /* You define this doing height / width * 100% */
    position: relative;
}

.i-wrapper img {
    width: 100%;
    /*height: auto;*/
    position: absolute;
}


/*=============================================
 * .clearfix
 *=============================================*/

.nav-fl,
.nav-fr,
.clearfix {
    zoom: 1 !important;
}

.nav-fl:after,
.nav-fr:after,
.clearfix:after {
    content: "." !important;
    clear: both !important;
    display: block !important;
    height: 0 !important;
    visibility: hidden !important;
}


/*=============================================
 * nav - float/inline
 *=============================================*/

.nav-fl>* {
    float: left;
}

.nav-fr>* {
    float: right;
}

.nav-inline>* {
    display: inline-block;
}

/*=============================================
 * rollover button
 *=============================================*/

.btn-over img,
.over-img img,
img.over,
img:not(.btn):not(.non-over),
button img {
    opacity: 1;
    transform: translateX(0) translateZ(0);
    -moz-transform: translateX(0) translateZ(0);
    -webkit-transform: translateX(0) translateZ(0);
    transition: opacity .3s ease;
    -moz-transition: opacity .3s ease;
    -webkit-transition: opacity .3s ease;
}

.over-img img:hover,
img.over:hover,

/* a:not([href=""]):hover img:not(.btn):not(.non-over), */

a:hover img:not(.btn):not(.non-over),
button:hover img {
    cursor: pointer;
    opacity: .8;
    transform: translateX(0) translateZ(0);
    -moz-transform: translateX(0) translateZ(0);
    -webkit-transform: translateX(0) translateZ(0);
}

.non-over a:hover img:not(.over),
.non-over img:not(.over):not(.btn):hover {
    opacity: 1 !important;
}

.btn-over {
    display: inline-block;
    position: relative;
}

.btn-over img+img {
    pointer-events: none;
    opacity: 0 !important;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.btn-over:hover img+img,
.btn-over.active img+img {
    opacity: 1 !important;
}

.btn-over:hover img,
.btn-over.active img {
    opacity: 0 !important;
}


/*=============================================
 * .tabs-switch
 *=============================================*/

.tabs-switch {}

.tabs-switch .tab-link {}

.tabs-switch .tab-link>* {
    cursor: pointer;
    display: inline-block;
}

.tabs-switch .tab-link>* a {
    pointer-events: none;
}

.tabs-switch .tab-link.link-over>* {
    position: relative;
}

.tabs-switch .tab-link.link-over>*>img {}

.tabs-switch .tab-link.link-over>*>img+img {
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.tabs-switch .tab-link.link-over>*>img+img,
.tabs-switch .tab-link.link-over>*:hover>img,
.tabs-switch .tab-link.link-over>*.active>img {
    opacity: 0;
}

.tabs-switch .tab-link.link-over>*:hover>img+img,
.tabs-switch .tab-link.link-over>*.active>img+img {
    opacity: 1;
}

.tabs-switch .tab-content {}

.tabs-switch[data=fade] .tab-content {
    min-height: 100px;
    position: relative;
}

.tabs-switch .tab-content>* {
    display: none;
}

.tabs-switch[data=fade] .tab-content>* {
    margin: auto;
    width: 100%;
    height: 100%;
    /*
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    */
}


/*=============================================
 * .toggle
 *=============================================*/

.toggle {}

.toggle .toggle-link {
    cursor: pointer;
    position: relative;
}

.toggle .toggle-main {
    display: none;
}

.toggle.active .toggle-main {
    display: block;
}


/*=============================================
 * .noanimated
 *=============================================*/

.noanimated {}

.noanimated .wow {
    visibility: visible !important;
    animation-duration: none !important;
    -moz-animation-duration: none !important;
    -webkit-animation-duration: none !important;
    animation-fill-mode: none !important;
    -moz-animation-fill-mode: none !important;
    -webkit-animation-fill-mode: none !important;
}

/*=============================================
 * #pagetop
 *=============================================*/


/*=============================================
 * <header>
 *=============================================*/

header {
}

/*=============================================
 * <section>
 *=============================================*/

section {
}

main {
    clear: both;
    width: 100%;
    position: relative;
    overflow: hidden;
}

/*=============================================
 * <footer>
 *=============================================*/

footer {
}


/*=============================================
 * hamburger
 *=============================================*/

.hamburger {
    z-index: 9999;
    position: fixed;
    top: 6px;
    right: 8px;
    color: #FF3333;
    background: #fff;
    border-right: none;
    width: 50px;
    height: 50px;
}

.hamburger span {
    width: 30px;
    height: 3px;
    position: absolute;
    top: 24px;
    right: 0;
    left: 0;
    background-color: #00A8B5;
    margin: auto;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.075s;
    transition-duration: 0.075s;
    -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger span:before, .hamburger span:after {
    content: "";
    background: #00A8B5;
    height: 3px;
    position: absolute;
    right: 0;
    left: 0;
    -webkit-transition: 0.15s ease;
    transition: 0.15s ease;
}

.hamburger span:before {
    top: -10px;
    -webkit-transition: top 0.075s 0.12s ease, opacity 0.075s ease;
    transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.hamburger span:after {
    top: 10px;
    -webkit-transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger.is-active span {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition-delay: 0.12s;
    transition-delay: 0.12s;
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger.is-active span:before {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.hamburger.is-active span:after {
    top: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*=============================================
 * horizontal & vertical align
 *=============================================*/

.x-full {
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.x-center {
    text-align: center;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.y-center {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.z-center {
    margin-right: -50%;
    text-align: center;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}



/*=============================================
 * .full-height - 100vh
 *
 * this bug not displaying 100vh correctly
 * fixed on iOS/Chrome
 *=============================================*/

.full-height {
    height: 100vh;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    .full-height {
        height: 768px;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .full-height {
        height: 1024px;
    }
}

@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2) {
    .full-height {
        height: 320px;
    }
}

@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2) {
    .full-height {
        height: 568px;
    }
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
    .full-height {
        height: 320px;
    }
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
    .full-height {
        height: 480px;
    }
}


/*=============================================
 * customs common - FCV
 *=============================================*/

.fl { float: left; }

.fr { float: right; }

.fn { float: none; }

.tac{ text-align: center; }

.tal{ text-align: left; }

.tar{ text-align: right; }

.sp { display: none !important; }

.fnt-mincho {
  font-family: YuMincho, "Yu Mincho", "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.fnt-meiryo {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.fnt-gothic {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.fnt-notosan {
  font-family: "Noto Sans JP", sans-serif;
}

.fnt-notosr {
  font-family: "Noto Serif JP", serif;
}

.block::after {
    clear: both;
    content: "";
    display: block;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    color: #000;
    font-family: kozuka-gothic-pr6n, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-Serif;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    font-weight: 500;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

.wrap{
    width: 1230px;
    margin: auto;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
}

img{
    max-width: 100%;
    height: auto;
}

@media only screen and (max-width: 767px) {
    html a:hover {
        text-decoration: none;
    }

    html.responsive #socialbuttons .social-line {
        width: 92px;
        overflow: hidden;
    }
    body{
        font-size: 14px;
    }
    .pc { display: none !important; }
    .sp { display: block !important; }
}

@media only screen and (max-width: 320px) {
    html.responsive {
        min-width: 320px !important;
    }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .btn-over img, .over-img img, img.over, img:not(.btn):not(.non-over), button img, .btn {
        transform: none;
        -moz-transform: none;
        -webkit-transform: none;
    }
    .over-img img:hover, img.over:hover,
    a:hover img:not(.btn):not(.non-over), button:hover img {
        transform: none;
        -moz-transform: none;
        -webkit-transform: none;
    }
}

@supports (-ms-accelerator: true) {
    .btn-over img, .over-img img, img.over, img:not(.btn):not(.non-over), button img, .btn {
        transform: none;
        -moz-transform: none;
        -webkit-transform: none;
    }
    .over-img img:hover, img.over:hover,
    a:hover img:not(.btn):not(.non-over), button:hover img {
        transform: none;
        -moz-transform: none;
        -webkit-transform: none;
    }
}