﻿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: inherit;
    font-size: 100%;
    vertical-align: baseline
}
html {
    line-height: 1
}
ol,
ul {
    list-style: none
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle
}
q,
blockquote {
    quotes: none
}
q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none
}
a img {
    border: none
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block
}
header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100;
    width: 100vw;
    background-color: #fff
}
@media(min-width: 750px) {
    header {
        padding-right: 3.64583vw;
        padding-left: 2.60417vw;
        height: 5.20833vw
    }
}
@media(max-width: 749px) {
    header {
        padding: 0 7.33333vw;
        height: 13.33333vw
    }
}
header > nav {
    display: block;
    height: 100%
}
header > nav > dl {
    height: 100%
}
header > nav > dl.flc {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
header > nav > dl dt > a {
    display: block
}
@media(min-width: 750px) {
    header > nav > dl dt > a {
        width: 10.67708vw
    }
}
@media(max-width: 749px) {
    header > nav > dl dt > a {
        width: 27.33333vw
    }
}
header > nav > dl > dd > .sp .drawer_menu > .menuBox > #hbg.flc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 6.66667vw;
    height: 6.66667vw
}
header > nav > dl > dd > .sp .drawer_menu > .menuBox > #hbg.flc > .fli {
    width: 6.66667vw;
    height: 1.06667vw
}
header>nav>dl>dd>.sp .drawer_menu>.menuBox>#hbg.flc>.fli:last-of-type {
    display: none
}
header > nav > dl > dd > .sp .drawer_nav_wrapper {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 500;
    width: 63.2vw;
    opacity: 1;
    -webkit-transition: right 0.3s ease, opacity 0.6s ease-in;
    -o-transition: right 0.3s ease, opacity 0.6s ease-in;
    transition: right 0.3s ease, opacity 0.6s ease-in
}
header > nav > dl > dd > .sp .drawer_nav_wrapper.hide {
    right: -63.2vw;
    opacity: 0.1
}
header > nav > dl > dd > .sp .drawer_nav_wrapper > #hbg_close {
    padding-right: 7.33333vw;
    width: 100%;
    height: 13.33333vw;
    color: #fff;
    font-size: 50px
}
header > nav > dl > dd > .sp .drawer_nav_wrapper > #hbg_close.flc {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}
header > nav > dl > dd > .sp .drawer_nav_wrapper ul {
    margin: 0 4vw
}
header > nav > dl > dd > .sp .drawer_nav_wrapper ul li {
    border-top: 2px #fff solid
}
header > nav > dl > dd > .sp .drawer_nav_wrapper ul li > a {
    color: #fff;
    padding-left: 0.5em;
    font-size: 3.73333vw;
    height: 16.66667vw;
    line-height: 16.66667vw
}
header > nav > dl > dd > .pc > .flc > .fli > a {
    display: inline-block;
    padding: 0 1em;
    border-right: 1px solid #000;
    color: #000;
    font-size: 0.9375vw
}
header>nav>dl>dd>.pc>.flc>.fli:last-of-type a {
    border-right: none
}
header.chuko > nav > dl > dd > .sp .drawer_menu > .menuBox > #hbg.flc > .fli {
    background-color: #003280
}
header.chuko > nav > dl > dd > .sp .drawer_nav_wrapper {
    background-color: #264680
}
header.shinchiku > nav > dl > dd > .sp .drawer_menu > .menuBox > #hbg.flc > .fli {
    background-color: #003280
}
header.shinchiku > nav > dl > dd > .sp .drawer_nav_wrapper {
    background-color: #1b2333
}
@media(max-width: 749px) {
    footer > .flc {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}
footer > .flc > .fli a {
    color: #fff
}
@media(max-width: 749px) {
    footer > .flc > .fli a {
        text-align: center
    }
}
@media(max-width: 749px) {
    footer>.flc:first-of-type {
        margin-bottom: 9.33333vw
    }
}
@media(min-width: 750px) {
    footer>.flc:first-of-type > .fli {
        width: 50%
    }
}
footer>.flc:first-of-type > .fli > .flc {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: underline;
    font-weight: bold
}
@media(min-width: 750px) {
    footer>.flc:first-of-type > .fli > .flc {
        width: 100%;
        height: 7em;
        font-size: 1.5625vw
    }
}
@media(max-width: 749px) {
    footer>.flc:first-of-type > .fli > .flc {
        height: 5em
    }
}
@media(min-width: 750px) {
    footer>.flc:last-of-type {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 2.60417vw;
        margin-bottom: 2.08333vw
    }
}
@media(max-width: 749px) {
    footer>.flc:last-of-type {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        margin-bottom: 4vw
    }
}
@media(min-width: 750px) {
    footer>.flc:last-of-type > .fli > a {
        display: inline-block;
        padding: 0 1em;
        border-right: 1px solid #fff;
        color: #fff;
        font-size: 0.9375vw
    }
}
@media(max-width: 749px) {
    footer>.flc:last-of-type > .fli > a {
        display: block;
        margin-bottom: 2em;
        font-weight: bold
    }
}
@media(min-width: 750px) {
    footer>.flc:last-of-type>.fli:last-of-type > a {
        border-right: none
    }
}
footer > .box-logo {
    margin-right: auto;
    margin-left: auto
}
@media(min-width: 750px) {
    footer > .box-logo {
        margin-bottom: 1.5625vw;
        width: 11.5625vw
    }
}
@media(max-width: 749px) {
    footer > .box-logo {
        margin-bottom: 5.33333vw;
        width: 49.33333vw
    }
}
footer > .box-tel {
    text-align: center
}
@media(max-width: 749px) {
    footer > .box-tel {
        margin-bottom: 5.33333vw
    }
}
footer > .box-tel > a {
    color: #fff
}
@media(min-width: 750px) {
    footer > .box-tel > a {
        font-size: 0.88542vw;
        pointer-events: none;
        display: inline-block
    }
}
@media(max-width: 749px) {
    footer > .box-tel > a {
        display: inline-block;
        text-align: center
    }
}
footer > .box-tel > a > span {
    display: block;
    font-weight: 500
}
@media(min-width: 750px) {
    footer > .box-tel > a > span {
        text-align: center
    }
}
@media(min-width: 750px) {
    footer>.box-tel>a>span:first-of-type {
        margin-bottom: 5px;
        font-size: 2em;
        letter-spacing: 0.15625vw
    }
}
@media(max-width: 749px) {
    footer>.box-tel>a>span:first-of-type {
        margin-bottom: 0.2em;
        font-size: 6.4vw;
        letter-spacing: 0.4vw
    }
}
footer>.box-tel>a>span:last-of-type {
    text-align: center
}
@media(min-width: 750px) {
    footer>.box-tel>a>span:last-of-type {
        margin-bottom: 1.82292vw;
        padding-left: 0.5em
    }
}
@media(max-width: 749px) {
    footer>.box-tel>a>span:last-of-type {
        font-size: 3.46667vw
    }
}
footer > .box-link {
    text-align: center
}
@media(min-width: 750px) {
    footer > .box-link {
        margin-bottom: 1.5625vw;
        font-size: 0.72917vw
    }
}
@media(max-width: 749px) {
    footer > .box-link {
        margin-bottom: 4vw
    }
}
footer > .box-link > a {
    color: #fff;
    text-decoration: underline
}
footer > .copyright {
    text-align: center
}
@media(min-width: 750px) {
    footer > .copyright {
        padding-top: 20px;
        padding-bottom: 70px;
        font-size: 12px
    }
}
@media(max-width: 749px) {
    footer > .copyright {
        padding: 6vw 0;
        font-size: 2.66667vw
    }
}
footer.chuko {
    background-color: #264680
}
footer.chuko>.flc:first-of-type>.fli:first-of-type {
    background-color: #003280
}
footer.chuko>.flc:first-of-type>.fli:last-of-type {
    background-color: #3f91d3
}
footer.chuko > .copyright {
    background-color: #fff;
    color: #333
}
footer.shinchiku {
    background-color: #1b2333
}
footer.shinchiku>.flc:first-of-type>.fli:first-of-type {
    background-color: #2d3443
}
footer.shinchiku>.flc:first-of-type>.fli:last-of-type {
    background-color: #464c59
}
footer.shinchiku > .copyright {
    background-color: #333;
    color: #fff
}
.menu-bottom {
    position: fixed;
    right: 0;
    bottom: -200px;
    left: 0;
    width: 100vw;
    -webkit-transition: 1s;
    -o-transition: 1s;
    transition: 1s
}
@media(min-width: 750px) {
    .menu-bottom {
        padding: 0.78125vw 0
    }
}
@media(max-width: 749px) {
    .menu-bottom {
        background-color: #dadada
    }
}
.menu-bottom > .sp > .flc {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 16vw
}
.menu-bottom > .sp > .flc > .fli {
    padding: 2.66667vw 0;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.menu-bottom>.sp>.flc>.fli:nth-of-type(2) {
    border-right: 1px solid #4d4d4d;
    border-left: 1px solid #4d4d4d
}
.menu-bottom > .sp > .flc > .fli > a {
    color: #4d4d4d;
    font-size: 3.2vw;
    position:relative;
}
.menu-bottom > .sp > .flc > .fli > a.flc {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.menu-bottom > .sp > .flc > .fli > a > span {
    font-size: 2em
}
.menu-bottom > .sp > .flc > .fli > a.contact-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.menu-bottom > .sp > .flc > .fli > a.tel-click {
    position: absolute;
    z-index: 10;
    width:50%;
    height:100%;
    display: block;
}

.menu-bottom > .pc > .flc {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.menu-bottom > .pc > .flc > .fli > a {
    height: 3.64583vw
}
.menu-bottom>.pc>.flc>.fli:first-of-type > a{
    padding-left: 1em;
    color: #fff;
    font-weight: 500;
    font-size: 0.83333vw;
    pointer-events: none;
    letter-spacing: 0.15625vw
}
.menu-bottom>.sp>.flc>.fli:first-of-type > a{
    padding-left: 1em;
    color: #fff;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.15625vw
}
.menu-bottom>.pc>.flc>.fli:first-of-type > a.flc, .menu-bottom>.sp>.flc>.fli:first-of-type > a.flc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.menu-bottom>.pc>.flc>.fli:first-of-type > a strong {
    display: block;
    margin-bottom: 0.1em;
    padding-left: 0;
    font-size: 1.66667vw
}
.menu-bottom>.sp>.flc>.fli:first-of-type > a strong {
    display: block;
    margin-bottom: 0.2em;
    padding-left: 0;
    font-size: 18px;
    margin-left: -8px;
}
.menu-bottom>.pc>.flc>.fli:nth-of-type(2) > a {
    margin: 0 2.08333vw;
    font-weight: 500
}
.menu-bottom>.pc>.flc>.fli:nth-of-type(2) > a.flc {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background-color: #fff
}
.menu-bottom>.pc>.flc>.fli:nth-of-type(2) > a > .fli.flc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.menu-bottom>.pc>.flc>.fli:nth-of-type(2)>a>.fli:first-of-type {
    position: relative;
    margin-right: 2.60417vw;
    padding: 0 1.04167vw;
    color: #fff;
    font-size: 1.35417vw
}
.menu-bottom>.pc>.flc>.fli:nth-of-type(2)>a>.fli:first-of-type > span {
    margin-bottom: 0.2em;
    font-size: 1.04167vw
}
.menu-bottom>.pc>.flc>.fli:nth-of-type(2)>a>.fli:first-of-type::after {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: 50%;
    border-style: solid;
    border-top: 1.82292vw solid transparent;
    border-bottom: 1.82292vw solid transparent;
    content: ""
}
.menu-bottom>.pc>.flc>.fli:nth-of-type(2)>a>.fli:last-of-type {
    padding-right: 1.04167vw;
    font-size: 0.9375vw
}
.menu-bottom>.pc>.flc>.fli:last-of-type {
    border: 1px solid #fff
}
.menu-bottom>.pc>.flc>.fli:last-of-type > a {
    padding: 0 4em;
    height: 3.64583vw;
    color: #fff;
    font-size: 0.9375vw
}
.menu-bottom>.pc>.flc>.fli:last-of-type > a.flc {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center
}
@media(min-width: 750px) {
    .menu-bottom.chuko {
        background-color: #003280
    }
}
.menu-bottom.chuko>.pc>.flc>.fli:nth-of-type(2)>a>.fli:first-of-type {
    background-color: #007c68
}
.menu-bottom.chuko>.pc>.flc>.fli:nth-of-type(2)>a>.fli:first-of-type::after {
    border-left: 1.82292vw solid #007c68
}
.menu-bottom.chuko>.pc>.flc>.fli:nth-of-type(2)>a>.fli:last-of-type {
    color: #007c68
}
@media(min-width: 750px) {
    .menu-bottom.shinchiku {
        background-color: #6e6823
    }
}
.menu-bottom.shinchiku>.pc>.flc>.fli:nth-of-type(2)>a>.fli:first-of-type {
    background-color: #1b2333
}
.menu-bottom.shinchiku>.pc>.flc>.fli:nth-of-type(2)>a>.fli:first-of-type::after {
    border-left: 1.82292vw solid #1b2333
}
.menu-bottom.shinchiku>.pc>.flc>.fli:nth-of-type(2)>a>.fli:last-of-type {
    color: #1b2333
}
@media(min-width: 750px) {
    .sp {
        display: none
    }
}
@media(max-width: 749px) {
    .pc {
        display: none
    }
}
*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
html {
    overflow-x: hidden;
    font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif
}
html .serif {
    font-family: "Times New Roman", "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif
}
body {
    background-color: #fff;
    color: #333
}
@media(min-width: 750px) {
    .wrapper {
        margin-right: auto;
        margin-left: auto;
        max-width: 2560px;
        width: 100%;
        padding-bottom: 2.08333vw
    }
}
@media(max-width: 749px) {
    .wrapper {
        margin: 0;
        width: 100%;
        padding-bottom: 16vw
    }
}
.full-width {
    position: relative;
    right: 50%;
    left: 50%;
    margin-right: -50vw;
    margin-left: -50vw;
    width: 100vw
}
.flc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.posBox {
    position: relative
}
img {
    width: 100%;
    height: auto;
    vertical-align: bottom
}
a {
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}
a:hover {
    opacity: 0.6
}
sup {
    font-size: 0.5em;
    vertical-align: super
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 50px;
}


.menu-bottom > .sp > .flc > .fli > a.contact-flex > span {
    font-size: 1.5em;
    margin-top: 5px;
}

.add-box {
    background:#f9f4e2;
    padding:20px 20px 0px 20px;
}
.add-box .spacebox{
    text-align: center;
}
.add-box a.cta-button{
    background:#274680;
    color:#fff !important;
    padding:15px;
}