@charset "utf-8";

/*   ハンバーガーメニュー
---------------------------------*/

header h1 a img {
    width: 230px;
}

header p.cinfo {
    margin-bottom: 8px;
}

#navToggle {
    display: none;
    /*通常時は非表示にしておきます*/
    position: absolute;
    /*bodyに対しての絶対位置指定です*/
    right: 13px;
    top: 13px;
    width: 30px;
    height: 25px;
    cursor: pointer
}

#navToggle div {
    position: relative
}


/*spanの絶対位置指定の親にします*/

#navToggle span {
    display: block;
    position: absolute;
    /*#navToggle div に対して*/
    width: 100%;
    border-bottom: solid 3px #9abd9d;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out
}

#navToggle span:nth-child(1) {
    top: 0
}

#navToggle span:nth-child(2) {
    top: 11px
}

#navToggle span:nth-child(3) {
    top: 22px
}

header {
    width: 100%;
    z-index: 2;
    background: rgba(255, 255, 255, .7)
}


/*header menu*/

header {
    display: table;
    padding: 5px 0px;
    font-size: 0;
    /*ul,liが親のfont-sizeを継承して隙間が空くのをリセット*/
    line-height: 0
}

header h1,
nav {
    display: table-cell
}

nav {
    text-align: right;
    vertical-align: bottom
}

header ul {
    font-size: 13px;
    line-height: 1;
    margin: 0 0px 10px 0
}

header ul li {
    margin-left: 14px;
    display: inline-block
}


/*header ul li::after {content:' |'}
header ul li:last-child::after {content:''}*/

nav ul li a {
    display: block;
    color: #000;
    padding: 5px 0px 2px;
    letter-spacing: 1px;
    line-height: 1;
    text-align: center;
}

nav ul li a span {
    font-size: 40%;
    color: #333;
    letter-spacing: 0px;
}

header ul li a:hover {
    opacity: 1;
}

@media screen and (min-width: 970px) {
    .header {
        display: none;
    }
    header ul li {
        vertical-align: middle;
    }
}

@media screen and (max-width: 969px) {
    header {
        display: block;
    }
    #headerTop,
    #gMenu,
    .pcheader {
        display: none !important;
    }
    header h1 a img {
        width: auto;
    }
    header nav {
        z-index: 1;
        position: absolute;
        /*bodyに対しての絶対位置*/
        right: 0;
        top: -390px;
        /*通常時はビュー外*/
        background: rgba(255, 255, 255, .9);
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
        -webkit-transition: .5s ease-in-out;
        /*transitionで動きを*/
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
        text-align: center
    }
    header h1 a img {
        height: 40px !important;
    }
    header ul {
        margin: 0
    }
    header ul li {
        display: block;
        margin: 0;
        border-bottom: dotted 1px #fff;
        line-height: 2
    }
    header ul li a {
        display: block;
        padding: 12px 0px;
    }
    header ul li a:hover {
        color: #9abd9d;
    }
    header ul li a br {
        display: none;
    }
    header ul li::after {
        content: ''
    }
    header ul li:last-child {
        border-bottom: none
    }
    /* Toggle(Button) */
    /*display:noneだったボタンを display:blockにして表示します*/
    #navToggle {
        display: block
    }
    .openNav #navToggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }
    .openNav #navToggle span:nth-child(2),
    .openNav #navToggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg)
    }
    .openNav nav {
        -moz-transform: translateY(440px);
        -webkit-transform: translateY(440px);
        transform: translateY(440px)
    }
}

a {
    text-decoration: none !important;
}

a:hover,
a:hover img,
img,
a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all .5s !important;
    transition: all .5s !important;
    text-decoration: none;
}

a:hover img {
    opacity: 0.6;
}


/*  フォントのアンチエイリアス・クロスブラウザ対応   */

.hoge {
    /* フォントレンダリング設定: 1x解像度ではsubpixel、2x以上の解像度ではgrayscale */
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
    .hoge {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

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

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

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

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

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

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

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

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

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

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

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb90 {
    margin-bottom: 90px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

.mb120 {
    margin-bottom: 120px !important;
}

.mb140 {
    margin-bottom: 140px !important;
}

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

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

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

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

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

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

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

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

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

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

.mt60 {
    margin-top: 60px !important;
}

.mt70 {
    margin-top: 70px !important;
}

.mt80 {
    margin-top: 80px !important;
}

.mt90 {
    margin-top: 90px !important;
}

.mt100 {
    margin-top: 100px !important;
}

.mt120 {
    margin-top: 120px !important;
}

.mt140 {
    margin-top: 140px !important;
}

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

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

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

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

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

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

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

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

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

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

.pb60 {
    padding-bottom: 60px !important;
}

.pb70 {
    padding-bottom: 70px !important;
}

.pb80 {
    padding-bottom: 80px !important;
}

.pb90 {
    padding-bottom: 90px !important;
}

.pb100 {
    padding-bottom: 100px !important;
}

.pb120 {
    padding-bottom: 120px !important;
}

.pb140 {
    padding-bottom: 140px !important;
}

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

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

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

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

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

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

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

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

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

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

.pt60 {
    padding-top: 60px !important;
}

.pt70 {
    padding-top: 70px !important;
}

.pt80 {
    padding-top: 80px !important;
}

.pt90 {
    padding-top: 90px !important;
}

.pt100 {
    padding-top: 100px !important;
}

.pt120 {
    padding-top: 120px !important;
}

.pt140 {
    padding-top: 140px !important;
}

.fs300 {
    font-size: 300% !important;
}

.fs290 {
    font-size: 290% !important;
}

.fs280 {
    font-size: 280% !important;
}

.fs270 {
    font-size: 270% !important;
}

.fs260 {
    font-size: 260% !important;
}

.fs250 {
    font-size: 250% !important;
}

.fs240 {
    font-size: 240% !important;
}

.fs230 {
    font-size: 230% !important;
}

.fs220 {
    font-size: 220% !important;
}

.fs210 {
    font-size: 210% !important;
}

.fs200 {
    font-size: 200% !important;
}

.fs190 {
    font-size: 190% !important;
}

.fs180 {
    font-size: 180% !important;
}

.fs170 {
    font-size: 170% !important;
}

.fs160 {
    font-size: 160% !important;
}

.fs150 {
    font-size: 150% !important;
}

.fs140 {
    font-size: 140% !important;
}

.fs130 {
    font-size: 130% !important;
}

.fs120 {
    font-size: 120% !important;
}

.fs110 {
    font-size: 110% !important;
}

.fs100 {
    font-size: 100% !important;
}

.fs90 {
    font-size: 90% !important;
}

.fs80 {
    font-size: 80% !important;
}

.fs70 {
    font-size: 70% !important;
}

.fs60 {
    font-size: 60% !important;
}

.fs50 {
    font-size: 50% !important;
}

.red {
    color: #ff0000;
}

.white {
    color: #fff !important;
}

.black {
    color: #000 !important;
}

.relative {
    position: relative !important;
}

.absolute {
    position: absolute !important;
}

.fw {
    font-weight: 900;
}

.wrap {
    overflow: hidden;
}

.block {
    display: block;
}

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

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

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


/* bizvector設定 */

#comments {
    display: none;
}

#siteBottom #siteBottomInner.innerBox #powerd {
    display: none;
}

.content table {
    font-size: 100% !important;
}

.content table.mobile-block th {
    box-shadow: none!important;
    vertical-align: middle;
}

@media (min-width: 660px) {
    .content table.mobile-block th {
        width: 30%;
    }
}

.content form table td,
.content form table th {
    padding: 5px 15px;
    box-sizing: border-box;
}

form input[type=tel],
form input[type=date],
form input[type=email],
form input[type=password],
form input[type=text],
form select,
form textarea {
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    padding: 5px;
    outline: 0;
    margin: 5px 5px 5px 0;
    -webkit-appearance: none;
    font-size: 100%;
    box-sizing: border-box;
    width: 100%;
}

.required {
    background: #ff0000;
    padding: 4px;
    border-radius: 4px;
    color: #fff;
    font-size: 85%;
}

.any {
    background: #aaa;
    padding: 4px;
    border-radius: 4px;
    color: #fff;
    font-size: 85%;
}


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

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,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}


/* HTML5 display-role reset for older browsers */

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

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

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