/*html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    font-feature-settings: "palt";
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

body a {
    color: #333;
}

body a:hover, body a:active, body a:focus {
    color: #333;
    text-decoration: none;
    opacity: .5;
}

a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input, select {
    vertical-align: middle;
}

.small, small {
    font-size: 80% !important;
}

/* common */
body {
    font-family: 'Roboto', 'Noto Sans JP', "游ゴシック体", "游ゴシック", 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
    font-feature-settings: "palt";
    line-height: 1;
    overflow-x: hidden;
}

.gothic {
    font-family: 'Roboto', 'Noto Sans JP', "游ゴシック体", "游ゴシック", 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.mincho {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

::selection {
    color: #fff;
    background: #275589;
    /* Safari */
}

::-moz-selection {
    color: #fff;
    background: #275589;
    /* Firefox */
}

.br:before {
    content: "\A";
    white-space: pre;
}

.container {
    position: relative;
}

@media (min-width: 1500px) {
    .container {
        width: 1310px;
    }

    article .container {
        width: 1170px;
    }
}

.container-fluid.inner {
    max-width: 1310px;
}

.container-fluid.inner.fix {
    max-width: 1280px;
}

a, a:before, a:after {
    transition: .5s ease all;
}

a:focus, a:hover, a:active, a:focus:before, a:hover:before, a:active:before, a:focus:after, a:hover:after, a:active:after {
    text-decoration: none;
    transition: .5s ease all;
    outline: none;
    outline-offset: 0;
}

.bold {
    font-weight: bold;
}

.red {
    color: red;
}

input[type="submit"], button {
    transition: .5s ease all;
}

input[type="submit"]:hover, input[type="submit"]:active, input[type="submit"]:focus, button:hover, button:active, button:focus {
    transition: .5s ease all;
}

input[type=checkbox], input[type=radio] {
    vertical-align: middle;
    margin: -4px 0.2rem 0 1rem;
}

input[type=radio] {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #e5e5e5;
    background: #f9f9f9;
    border-radius: 20px;
    cursor: pointer;
}

input[type="radio"]:checked {
    background: #275589;
    border-color: #821326;
}

/* header */
header {
    background: #f0f0f0;
    width: 100%;
    z-index: 10;
    transition: .5s ease all;
}

.navbar-fixed-top {
    position: fixed;
}

.header-top-object {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    -ms-align-items: center;
    align-items: center;
    height: 76px;
    padding-top: 10px;
    padding-bottom: 10px;
    transition: .5s ease all;
}

.navbar-fixed-top .header-top-object {
    height: 0;
    padding: 0;
    transition: .5s ease all;
}

.header-top-object h1 {
    font-size: 1.5em;
    color: #555;
    margin: 0 1em;
}

.header-top-object .contact-area {
    margin-left: auto;
}

.navbar-header a {
    display: inline-block;
    margin: 1em 0;
}

.navbar-header h1 {
    margin-bottom: 0;
}

.navbar-header h1 a, .navbar-header h1 a:hover, .navbar-header h1 a:active, .navbar-header h1 a:focus {
    margin: 0;
}

header .contact-area {
    margin-left: auto;
}

header .contact-area .tel {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 210px;
}

@media (min-width: 992px) and (max-width:1200px) {
    header .contact-area .tel {
        min-width: 150px;
        padding: 0;
    }
}

header .contact-area li i {
    font-size: 1em;
}

@media (max-width: 991px) {
    header .contact-area {
        padding-top: 10px;
        border-top: 1px solid #dedede;
    }

    header .contact-area .tel {
        min-width: inherit;
        margin-bottom: .5em;
    }
}

/* gnav */
.navbar-brand {
    height: auto;
    padding: 16px 15px;
}

.navbar {
    padding: 0;
    margin-bottom: 0;
}

.navbar-default {
    min-height: inherit;
    background: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border: none;
    border-radius: 0;
}

.navbar-default .navbar-collapse {
    width: 100%;
    position: relative;
}

.navbar-default .navbar-nav>li>a {
    font-size: 1em;
    color: #000;
    display: block;
    padding: 0;
    position: relative;
}

.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus, .navbar-default .navbar-nav>li>a:active {
    opacity: 1;
}

.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover {
    color: #000;
    background: none;
}

.navbar-default .navbar-nav>li>a:before, .navbar-default .navbar-nav>li>a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
}

.navbar-default .navbar-nav>li>a:before {
    left: 0;
}

.navbar-default .navbar-nav>li>a .link-menu:before {}

.navbar-default .navbar-nav>li>a:hover .link-menu:before {}

.navbar-default .navbar-nav>li>a .ttl-eng {
    font-size: .8em;
    text-transform: capitalize;
    margin: 0;
}

.navbar-collapse {
    padding: 0;
}

.navbar-nav {}

.navbar-nav>li {
    text-align: center;
}

.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover {}

.navbar-default .navbar-nav>.active>a .link-menu:before {}

.nav>li>a.dropdown-toggle {
    display: block;
}

.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .navbar-default .navbar-nav>.open>a:hover {
    background: none;
}

.dropdown-menu {
    background: none;
    display: block;
    width: auto;
    min-width: 100%;
    padding: 0;
    border: none;
    box-shadow: none;
    border-radius: 0;
    transition: .5s ease all;
    opacity: 0;
    left: 0;
    pointer-events: none;
}

.dropdown-menu>li>a {
    font-size: 1em;
    color: #fff;
    font-weight: bold;
    background: #275589;
    padding: 0;
    border-bottom: 1px solid #d47300;
    position: relative;
    left: 0;
}

.dropdown-menu>li>a:hover, .dropdown-menu>li>a:active, .dropdown-menu>li>a:focus {
    color: #fff;
    background: #d47300;
    opacity: 1;
}

.dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .dropdown-menu>.active>a:hover {
    color: #fff;
    background: #d47300;
    border-bottom: 1px solid #275589;
}

.navbar-nav .dropdown-menu {
    transition: .5s ease all;
}

.navbar-nav .open .dropdown-menu {
    transition: .5s ease all;
}

@media (min-width: 768px) {
    .dropdown:hover>.dropdown-menu {
        top: 100%;
        opacity: 1;
        pointer-events: all;
    }
}

.dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .dropdown-menu>.active>a:hover {
    color: #fff;
}

.link-menu {
    display: block;
}

header .link-menu {
    position: relative;
}

@media (min-width:992px) and (max-width:1200px) {
    header .link-menu {}
}

header .ttl-eng {
    position: relative;
}

.dropdown-menu>li>a .link-menu {}

.dropdown-menu>li>a .ttl-eng {
    display: none;
}

/* jumbotron */
.jumbotron {
    background: #fff;
    padding: 0;
    margin: 0;
    border-radius: 0;
    position: relative;
    z-index: 2;
}

.jumbotron .h1, .jumbotron h1 {
    margin: 0;
}

.jumbotron-common {
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    position: relative;
    overflow: hidden;
}

.jumbotron-common::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
}

.jumbotron-common .ttl-cont {
    text-align: center;
    position: relative;
}

.jumbotron-common .ttl-cont p {
    font-size: 1rem;
    text-align: center;
}

.jumbotron-common .ttl-main {
    font-size: 2em;
    line-height: 1;
    text-align: center;
    text-transform: capitalize;
    margin-bottom: 10px;
}

.jumbotron-common .ttl-main h2 {
    margin-bottom: 0;
}

.jumbotron-common .ttl-main span {
    display: block;
    margin: 0;
}

.jumbotron-common .ttl-eng {
    font-size: 1.25em;
    color: #e80;
    position: relative;
    text-transform: capitalize;
}

.jumbotron-common .ttl-jpn {
    font-size: .5em;
    color: #343434;
    font-weight: normal;
    position: relative;
    line-height: 1;
}

.ttl-eng {
    text-transform: capitalize;
}

/* slider */
/* breadcrumbs */
.breadcrumb-area {
    position: relative;
}

.breadcrumb-cont {
    background: #fbf8f4;
}

.breadcrumb {
    background: none;
    padding: 1em 0;
    margin-bottom: 0;
    border-radius: 0;
}

.breadcrumb>.active {
    color: #333;
}

.breadcrumb li {
    font-size: 14px;
    display: inline;
}

.breadcrumb>li+li:before {
    font-family: ionicons;
    content: '\f3d3';
}

.breadcrumb li a {
    position: relative;
}

/* main */
.block_1 {
    padding: 60px 0;
}

.block_2 {
    padding: 45px 0;
}

.block_3 {
    padding: 30px 0;
}

.block_4 {
    padding: 20px 0;
}

.block_5 {
    padding: 15px 0;
}

.block_6 {
    padding: 0 0 60px;
}

.block_7 {
    padding: 0 0 45px;
}

.block_8 {
    padding: 0 0 30px;
}

.block_9 {
    padding: 0 0 20px;
}

.block_10 {
    padding: 0 0 15px;
}

.extra_wrap {
    overflow: hidden;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, h1 a:active, h2 a:active, h3 a:active, h4 a:active, h5 a:active, h6 a:active, h1 a:focus, h2 a:focus, h3 a:focus, h4 a:focus, h5 a:focus, h6 a:focus {
    color: #333;
    line-height: 1.25em;
    margin-bottom: .5em;
    position: relative;
}

figure a {
    display: block;
    transition: .5s ease all;
}

figure a:before {
    content: '';
    background: none;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

figure a:hover:before, figure a:active:before, figure a:focus:before {
    background: rgba(56, 149, 113, .8);
    transition: .5s ease all;
}

p {
    color: #333;
    line-height: 1.5em;
    margin-bottom: .5em;
}

main h1 {
    font-size: 2.5rem;
}

main h2 {
    font-size: 2.25rem;
}

main h3 {
    font-size: 2rem;
}

main h4 {
    font-size: 1.75rem;
}

main h5 {
    font-size: 1.5rem;
}

main h6 {
    font-size: 1.25rem;
}

.title-area p:last-child {
    margin-bottom: 0;
}

input[type="submit"],
.button {
    border: none;
}

.button {
    color: #fff;
    display: inline-block;
    cursor: pointer;
    border: none;
    text-align: center;
    text-decoration: none;
    position: relative;
}

.button:hover, .button:focus, .button:active, .button.active {
    color: #fff;
    opacity: 1;
}

.button-paint {
    line-height: 1em;
    background: #275589;
    min-width: 180px;
    padding: 16px;
    transition: .5s ease all;
}

.button-paint:hover, .button-paint:focus, .button-paint:active {
    color: #fff;
    transition: .5s ease all;
    opacity: .5;
}

.button-paint i {
    margin-left: 5px;
    position: relative;
    left: 0;
    transition: .5s ease all;
}

.button-paint:hover i {
    left: 5px;
    transition: .5s ease all;
}

.button-paint-border {
    color: #275589;
    background: #fff;
    box-shadow: inset 1px 1px 0px #275589, inset -1px -1px 0px #275589;
}

.button-paint-border:hover, .button-paint-border:active, .button-paint-border:focus {
    color: #fff;
    background: #275589;
    opacity: 1;
}

.button-gray {
    background: #777;
}

.button-gray:hover, .button-gray:active, .button-gray:focus {
    color: #777;
    background: #fff;
    border: 1px solid #dedede;
}

.button-more {
    font-size: .9rem;
    line-height: 30px;
    background: #275589;
    height: 30px;
    min-width: 120px;
    padding: 0 10px;
    margin: 0;
    border-radius: 30px;
    transition: ease all 0.5s;
}

.button-more:hover, .button-more:focus, .button-more.active {
    color: #fff;
    padding: 0 15px;
    -webkit-transform: none;
    transform: none;
    transition: ease all 0.5s;
}

@media (max-width: 991px) {
    .button-more {
        height: auto;
        line-height: 1;
    }
}

.button.button-long {
    width: 260px;
}

.invert, .invert h1, .invert h2, .invert h3, .invert h4, .invert h5, .invert h6, .invert p {
    color: #fff;
}

.invert a, .invert a:hover, .invert a:focus, .invert a:active {
    color: #fff;
}

.invert .button {
    color: #275589;
    background: #fff;
}

.invert .button:hover, .invert .button:active, .invert .button:focus {
    color: #275589;
}

.invert .button-paint:hover, .invert .button-paint:active, .invert .button-paint:focus {
    color: #275589;
    background: #fff;
}

.button-left {
    text-align: left;
}

.button-center {
    text-align: center;
}

.button-right {
    text-align: right;
}

@media (max-width:767px) {

    .button-left,
    .button-center,
    .button-right {
        text-align: center;
    }
}

.table-dl dl {
    display: table;
    max-width: 100%;
}

.table-dl dl dt {
    display: table-cell;
    vertical-align: middle;
    width: 120px;
    border-top: 1px solid #dedede;
}

.table-dl dl dd {
    display: table-cell;
    vertical-align: middle;
}

.table-base.row {
    margin-top: -5px;
    margin-bottom: -5px;
}

.table-base.row .item {
    padding-top: 5px;
    padding-bottom: 5px;
}

.table-base dl {
    text-align: left;
    display: table;
    width: 100%;
}

.table-base dl dt {
    color: #275589;
    font-weight: normal;
    width: 25%;
    min-width: 160px;
    padding: 1.5em;
    border-top: 1px solid #fff;
    border-left: 1px solid #dedede;
    position: relative;
    background: #efefef;
}

.table-base dl dd {
    background: #fff;
    padding: 1.5em;
    position: relative;
    border-bottom: 1px solid #dedede;
    border-right: 1px solid #dedede;
}

.table-base dl dd .button {
    margin-top: 1em;
}

.table-base dl dd dl {
    margin: 0;
}

.table-base dl dd dl dt {
    color: #fff;
    display: block;
    background: none;
    width: 100%;
    padding: 0;
    border: none;
}

.table-base dl dd dl dd {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
}

.table-base dl dd dl dd:before {
    display: none;
}

.table-base dl:last-child dd dl dt, .table-base dl:last-child dd dl dd {
    border: none;
}

.table-base dl dd dl:last-child dt, .table-base dl dd dl:last-child dd {
    border: none;
}

@media (max-width:767px) {
    .table-base dl dd:before {
        display: none;
    }
}

.table-block dl {}

.table-block dl:first-child {
    margin-top: 0;
}

.table-block dl:last-child {
    margin-bottom: 0;
}

.table-block dl dt,
.table-block dl dd {
    display: block;
    width: 100%;
    padding: 1em;
    border: none;
}

.table-block dl dt {
    border-top: 1px solid #dedede;
}

.table-block dl dd {
    background: #fff;
}

.table-block dl dd:before {
    display: none;
}

.table-block dl:last-child dt {
    border-bottom: 1px solid #fff;
}

.table-base dl dd .table-block>dl {
    margin: 20px 0;
}

.table-base dl dd .table-block>dl:first-child {
    margin-top: 0;
}

.table-base dl dd .table-block>dl:last-child {
    margin-bottom: 0;
}

.table-base dl dd .table-block>dl>dt, .table-base dl dd .table-block>dl>dd {
    padding: 1em;
    border: 1px solid #dedede;
}

.table-base dl dd .table-block>dl>dt {
    background: #efefef;
}

.table-base dl dd .table-block>dl>dd {
    background: #fff;
    border-top: none;
}

.table-reverse dl dt {
    background: none;
    width: 100%;
    border-top: 1px solid #dedede;
    border-right: 1px solid #dedede;
}

.table-reverse dl dd {
    text-align: right;
    min-width: 120px;
}

.table-mini dl dt, .table-mini dl dd {
    padding: 1em;
}

.list-area {
    background: #f9f9f9;
    padding: 15px;
}

.list-area ul {
    margin: -3px;
}

.list-area li {
    line-height: 1.25em;
    display: block;
    padding: 3px;
    padding-left: 12px;
    position: relative;
}

.list-area ul li::before {
    font-family: ionicons;
    content: '\f3d3';
    position: absolute;
    left: 0;
}

.list-area ol li {
    font-size: 1.25rem;
    text-indent: -1.25rem;
    display: list-item;
    padding-left: 1.25rem;
    list-style-position: inside;
}

.bg-common {
    text-align: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    position: relative;
    z-index: 2;
}

.bg-common::before, .bg-common::after {
    content: '';
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.bg-common.fix {
    background-attachment: fixed;
}

.bg-common.bg-tile {
    background-position: center top;
    background-repeat: repeat;
    background-size: auto;
}

.bg-gray {
    background-color: #fafafa;
}

.bg-white {
    background-color: #fff;
}

.bg-ci-color {
    background-color: #275589;
}

.bg-contact {
    background-image: url(assets/img/bg/bg-contact-area.jpg);
}

.bg-img {
    width: calc(100% - 0px);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: 0;
}

.row.center {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.row-fix {
    margin-right: 0;
    margin-left: 0;
}

.row-fix:before {
    display: table;
    content: ' ';
}

.row-fix:after {
    display: table;
    content: ' ';
    clear: both;
}

.row-fix [class^="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.cont-item .item.item-text {
    z-index: 1;
}

.cont-item .item.item-image {
    z-index: 0;
}

.bg-common.link-area {
    border-bottom: 1px solid #dedede;
}

.link-area .cont-item {
    border-bottom: 1px solid #dedede;
}

.link-area .cont-item:nth-child(odd) {
    background-color: #fffef8;
}

.link-area .cont-item:nth-child(even) {
    background-color: #fff;
}

@media (min-width:992px) {
    .link-area .cont-item:nth-child(odd) .item.item-text .cont-box {
        padding-right: 0;
        padding-left: 30px;
    }

    .link-area .cont-item:nth-child(even) .item.item-text .cont-box {
        padding-right: 30px;
        padding-left: 0;
    }

    .detail-area .cont .bg-img {
        height: 500px;
    }

    .detail-area .cont .cont-box {
        padding: 30px;
    }
}

.cont {
    text-align: left;
    position: relative;
}

.cont-main>[class^="block_"]:first-child {
    padding-top: 0;
}

.cont-main>[class^="block_"]:last-child {
    padding-bottom: 0;
}

.cont figure {
    position: relative;
    overflow: hidden;
}

.cont figure a img {
    transform: scale(1);
    transition: 1s ease all;
}

.cont figure a:hover img, .cont figure a:focus img, .cont figure a:active img {
    transform: scale(1.2);
    transition: 1s ease all;
}

.cont figure.border {
    border: 1px solid #dedede;
}

.cont .cont-box {
    position: relative;
}

.cont .icon-box {
    margin-bottom: 2em;
}

.cont .ttl-box {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    margin-bottom: 2em;
    position: relative;
}

@media (max-width: 767px) {
    .cont .ttl-box {
        margin-bottom: 1em;
    }
}

.cont .ttl-box h1, .cont .ttl-box h2, .cont .ttl-box h3, .cont .ttl-box h4, .cont .ttl-box h5, .cont .ttl-box h6 {
    margin-bottom: 0;
}

.cont .metabox {
    text-align: left;
    position: relative;
}

.cont .metabox .button {
    margin-top: 1em;
}

.cont.center {
    text-align: center;
}

.cont.center figure img {
    margin: 0 auto;
}

.cont.center .metabox {
    text-align: left;
}

.cont.center .metabox.text-center {
    text-align: center;
}

@media (max-width: 767px) {
    .cont.center .metabox.text-center {
        text-align: left;
    }
}

.metabox p:last-child {
    margin-bottom: 0;
}

.v-middle .cont-box {
    width: 100%;
}

.round {
    border-radius: 50%;
}

.box-shadow {
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.text-shadow {
    text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 1px 1px 3px #000;
}

.maker {
    display: inline-block;
    position: relative;
}

.maker:before {
    content: '';
    width: 100%;
    height: .5em;
    background: rgba(66, 192, 219, .5);
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.ttl-eng {
    font-size: .9em;
    color: #999;
    display: block;
    margin-bottom: .5em;
}

.ttl {
    color: #333;
    display: block;
    padding-bottom: 1em;
    position: relative;
}

.ttl::before, .ttl::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
}

.ttl::before {
    color: #333;
    line-height: 1;
    text-align: center;
    content: attr(title);
    bottom: 0;
    font-size: .5em;
    font-weight: normal;
    z-index: 1;
    text-transform: capitalize;
}

.ttl a {
    color: #555;
}

.invert .ttl {
    color: #fff;
}

.invert .ttl::before, .invert .ttl::after {
    color: #fff;
}

.invert .ttl a {
    color: #fff;
}

.txt-gray {
    color: #555;
}

.txt-ci-color {
    color: #275589;
}

.cont .cont-step-area {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    position: absolute;
    left: -10px;
    top: 0;
}

.cont .cont-step-num {
    color: #fff;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #3e2c16;
    width: 50px;
    height: 50px;
    position: relative;
    z-index: 1;
}

.cont .cont-step-num .cont-step {
    font-size: .8em;
    display: block;
    text-transform: uppercase;
    position: relative;
}

.cont .cont-step-num .cont-num {
    font-size: 1.5em;
    display: block;
    position: relative;
}

@media (max-width: 991px) {
    .cont-area {
        overflow: hidden;
    }
}

.step-area {
    padding: 0;
    margin: 0;
    list-style: none;
    counter-reset: section;
}

.step-area .cont-num:before {
    counter-increment: section;
    content: counter(section, decimal-leading-zero);
}

.step-area .cont-step:before {
    content: 'step';
}

.badge {
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    padding: 0;
    border-radius: 50%;
    position: absolute;
    top: -15px;
    right: 0;
    z-index: 1;
}

hr {
    margin-top: 15px;
    margin-bottom: 15px;
}

.alignleft {
    margin-right: auto;
    margin-left: 0;
}

.aligncenter {
    margin-right: auto;
    margin-left: auto;
}

.alignright {
    margin-right: 0;
    margin-left: auto;
}

.bg-common .list-item .item:nth-child(odd) {
    margin-top: -30px;
}

.bg-common .list-item .item:nth-child(even) {
    margin-bottom: -30px;
}

@media (max-width: 991px) {
    .bg-common .list-item .item:nth-child(odd), .bg-common .list-item .item:nth-child(even) {
        margin-top: 0;
        margin-bottom: 0;
    }

    .bg-common .list-item .item .cont .cont-step-area {
        top: inherit;
        left: 20px;
    }
}

.cont-main.list-area .cont-box figure img {
    margin-bottom: 15px;
}

@media (min-width: 992px) {
    .cont-main.list-area .separate .cont-box {
        padding: 45px;
    }
}

@media (max-width: 991px) {
    .cont-main.list-area .separate .cont-box {
        padding: 30px;
    }
}

.list-simple .cont-box {
    padding: 30px;
    border: 1px solid #dedede;
    border-top: 5px solid #275589;
}

@media (max-width:991px) {
    .list-simple .cont-box {
        padding: 15px;
    }
}

a.block-area {
    display: block;
}

a.block-area.visible figure {
    overflow: visible;
}

/* post */
@media (min-width:992px) {
    .post .cont .cont-box {
        padding: 45px;
    }
}

@media (max-width:991px) {
    .post .cont .cont-box {
        padding: 30px;
    }
}

.blog .cont figure, .blog .cont figure a {
    display: inline-block;
}

.blog .cont .date-cont {
    margin-bottom: 10px;
}

.blog .cont .date-cont .date {}

.blog .cont .metabox h6 {
    margin-bottom: .25em;
}

.blog-info ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: left;
    align-items: center;
    flex-wrap: wrap;
}

.blog-info li {
    display: block;
    padding: .25em .5em;
}

.blog-info li a {
    display: inline-block;
}

.blog-info li.tag {
    margin: 0 -.25em;
}

.blog-info li.tag a {
    font-size: .8em;
    color: #fff;
    background: #275589;
    padding: 5px 6px 4px;
    margin: 0 .25em;
    border-radius: 10px;
}

.article .blog-info {
    margin-bottom: 1em;
}

.blog-info li {
    font-size: .9em;
    color: #555;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    padding: .25em;
}

.blog-info li.cal {
    color: #fff;
    background: #275589;
    border-radius: 2px;
}

.excerpt {
    position: relative;
}

.excerpt:after {
    content: '...';
}

.nav-below {
    margin: 0 -1em;
}

.nav-below .nav-next, .nav-below .nav-previous {
    display: block;
    width: 50%;
    padding: 0 1em;
}

.nav-below .nav-next {
    float: left;
}

.nav-below .nav-previous {
    float: right;
}

.nav-below .nav-next a, .nav-below .nav-previous a {
    display: block;
    background: #fff;
    padding: 2em 4em;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-below a:hover, .nav-below a:active, .nav-below a:focus {
    opacity: .5;
}

.nav-below .nav-next a {
    text-align: left;
}

.nav-below .nav-previous a {
    text-align: right;
}

.nav-below .nav-next a:before, .nav-below .nav-previous a:before {
    font-family: ionicons;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.nav-below .nav-next a:before {
    content: '\f3d2';
    left: 1em;
}

.nav-below .nav-previous a:before {
    content: '\f3d3';
    right: 1em;
}

/* side widget */
#side .row {
    margin-right: -8px;
    margin-left: -8px;
}

#side .row [class^="col-"] {
    padding-right: 8px;
    padding-left: 8px;
}

#side .blog-info ul {
    display: block;
    margin-bottom: .25em;
}

#side .blog-info li {
    font-size: .8em;
    display: inline-block;
    margin: .1em 0;
}

#side .blog-info li.cat, #side .blog-info li.tag {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
}

.widget-area .widget-title span {
    padding: 0;
}

.widget-area .widget-title span:after {
    top: inherit;
    bottom: 0;
}

.widget-area>ul>li a {
    display: block;
    border-top: 1px dotted #dedede;
}

.widget-area>ul>li:last-child a {
    border-bottom: 1px dotted #dedede;
}

.widget {
    padding: 1em 0;
}

.widget>ul {
    margin: -1em 0;
}

.widget>ul>li {
    display: block;
    padding: 1em 0;
    border-top: 1px dotted #dedede;
}

.widget>ul>li:last-child {
    border-bottom: 1px dotted #dedede;
}

.widget-area {
    margin: -15px 0;
}

.widget-area .widget-post-topics>ul>li a {
    border-bottom: none;
}

.widget-term>ul>li {
    padding: 0;
}

.widget-term>ul>li a {
    display: block;
    padding: 1em 0;
}

/* question */
.table-faq dl dt {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    padding-left: 60px;
}

.table-faq i {
    font-size: 2em;
    position: absolute;
    left: 20px;
}

/* news */
.news .cont .cont-box {
    text-align: center;
}

.cont-news .date {
    display: inline-block;
    margin-bottom: .5em;
}

.cont-news li {
    display: block;
}

.cont-news li .cont {
    padding: 0 8px;
    position: relative;
}

.cont-news li .cont:before, .cont-news li .cont:after {
    content: '';
    position: absolute;
}

.cont-news li .cont:before {
    right: 8px;
    bottom: -8px;
    left: 8px;
    border-bottom: 1px solid #dedede;
}

.cont-news li .cont:after {
    top: 0;
    right: -16px;
    bottom: 16px;
    border-right: 1px solid #dedede;
}

.cont-news li:nth-last-child(2) .cont:before, .cont-news li:last-child .cont:before {
    display: none;
}

.cont-news li:nth-child(2) .cont:after, .cont-news li:last-child .cont:after {
    display: none;
}

.news-area {
    background: #fff;
    padding-right: 60px;
    padding-left: 60px;
}

.table-news dl {
    width: 100%;
    position: relative;
}

.table-news dl dt,
.table-news dl dd {
    width: auto;
    min-width: auto;
    border-color: #dedede;
}

.table-news dl dt {
    color: #275589;
    font-weight: normal;
    padding: 1em;
    min-width: 120px;
    text-align: center;
}

.table-news dl dd {
    width: 100%;
    padding: 0;
}

.table-news dl:last-child dt, .table-news dl:last-child dd {
    border-bottom: 1px solid #dedede;
}

.table-news dl dd a {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    padding: 1em;
    position: relative;
}

.single-news .news {
    text-align: left;
}

.news .blog_info {
    margin: 1em 0;
}

.news .blog_info li {
    display: block;
}

/* pagination */
.pagination {
    clear: both;
    padding: 0;
    position: relative;
    font-size: 14px;
    line-height: 14px;
    width: 100%;
    text-align: center;
}

.pagination-box {
    display: inline-block;
}

.pagination span, .pagination a {
    display: block;
    float: left;
    margin: 2px 2px 2px 0;
    padding: 10px 15px 10px 15px;
    text-decoration: none;
    width: auto;
    color: #777;
    background: #dedede;
    box-shadow: inset 1px 1px #dedede, inset -1px -1px #dedede;
}

.pagination a:hover, .pagination a:active, .pagination a:focus {
    color: #fff;
    background: #275589;
    box-shadow: inset 1px 1px #275589, inset -1px -1px #275589;
}

.pagination .current {
    padding: 10px 15px 10px 15px;
    background: #275589;
    color: #fff;
    box-shadow: inset 1px 1px #275589, inset -1px -1px #275589;
}

@media only screen and (max-width: 413px) {
    .pagination {
        font-size: 12px;
        line-height: 12px;
    }

    .pagination span, .pagination a {
        padding: 8px 10px 8px 10px;
    }

    .pagination .current {
        padding: 8px 10px 8px 10px;
    }
}

/* contact */
.contact-area ul {
    display: block;
    margin: 0 -8px;
}

.contact-area li {
    display: block;
    padding: 0 8px;
}

.contact-area .tel {}

.contact-area .tel a {
    font-size: 1.75em;
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.contact-area .tel a i {
    margin-right: 5px;
}

.contact-area .tel span {
    display: block;
}

.contact-area .tel .business-hours {
    font-size: .8em;
    margin-bottom: 10px;
}

.contact-area .mail .button {}

.contact-area .mail a {
    font-size: 1em;
}

@media (min-width: 992px) and (max-width: 1200px) {}

@media (max-width: 991px) {
    .contact-area ul {
        text-align: center;
        display: block;
        flex-wrap: wrap;
        margin: 0;
    }
}

.closing .contact-area {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    z-index: 1;
}

.closing .contact-area h5 {
    margin-bottom: 30px;
}

.bg-common.contact .contact-area {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}

.bg-common.contact .contact-area .tel, .bg-common.contact .contact-area .mail {
    padding: 0 1em;
}

.bg-common.contact.invert .contact-area .tel a {
    color: #fff;
}

.contact dl dt label {
    display: block;
    position: relative;
}

.contact dl dt label::after {
    font-size: 12px;
    font-weight: bold;
    margin-right: 5px;
    margin-left: 5px;
    padding: 2px 4px;
    border-radius: 2px;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -11px;
}

/* IE11だけに適用 */
@media all and (-ms-high-contrast:none) {
    .contact dl dt label::after {
        padding-top: 6px;
        margin-top: -14px;
    }
}

.contact dl.req dt label::after {
    color: #fff;
    content: "必須";
    background: #327ecc;
}

.contact dl.any dt label::after {
    color: #327ecc;
    content: "任意";
    background: #dedede;
}

.contact dl dt {
    min-width: 240px;
}

.contact .btn-area input {
    margin: 0 10px;
}

div.wpcf7-mail-sent-ok {
    background: #275589;
}

.input-lg {
    border-radius: 2px;
}

.wpcf7-form-control-wrap {
    display: inline-block;
}

.help-block {
    margin: 5px 0 0;
}

span.wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0 !important;
}

span.wpcf7-not-valid-tip {
    font-size: .8em !important;
    color: #fff !important;
    background: #275589;
    padding: .25em;
    border-radius: 2px;
    position: absolute;
    top: -29px;
    left: 0;
}

span.wpcf7-not-valid-tip br {
    display: none;
}

span.wpcf7-not-valid-tip:after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 25%;
    margin-left: -5px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 5px 5px 0 5px;
    border-color: #275589 transparent transparent transparent;
}

div.wpcf7-validation-errors {
    color: #fff;
    text-align: center;
    background: #275589;
    padding: 15px;
    margin: 0 0 30px !important;
    border: 1px solid #275589;
}

div.wpcf7-mail-sent-ok {
    color: #fff;
    text-align: center;
    background: #275589;
    padding: 15px;
    margin-bottom: 30px;
    border: none;
}

div.wpcf7-response-output {
    padding: 15px !important;
    border: 2px solid #275589 !important;
}

.w-length-120 {
    width: 120px;
}

.w-length-150 {
    width: 150px;
}

.w-length-180 {
    width: 180px;
}

.w-length-210 {
    width: 210px;
}

.w-length-240 {
    width: 240px;
}

.w-length-270 {
    width: 270px;
}

.w-length-300 {
    width: 300px;
}

.w-length-330 {
    width: 330px;
}

.w-length-360 {
    width: 360px;
}

.w-length-390 {
    width: 390px;
}

.w-length-420 {
    width: 420px;
}

.w-length-450 {
    width: 450px;
}

.w-length-480 {
    width: 480px;
}

.w-length-100per {
    width: 100%;
}

/* page-top */
#pageTop {
    margin: 0;
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 100;
}

#pageTop a {
    font-weight: bold;
    line-height: 50px;
    text-decoration: none;
    text-align: center;
    display: block;
    background-color: #275589;
    width: 50px;
    height: 50px;
    padding: 0;
    z-index: 999;
}

#pageTop a:hover {
    text-decoration: none;
    opacity: 0.7;
}

#pageTop .icon {
    font-size: 1.5rem;
    margin: 0;
}

#pageTop .icon:before {
    color: #fff;
    line-height: 50px;
}

/* footer */
footer {
    position: relative;
    z-index: 2;
}

footer .footer-main {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
}

footer .footer-menu {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
}

footer .navbar-nav>li>a {
    padding: 0;
}

footer .navbar-nav>li>a:hover, footer .navbar-nav>li>a:active, footer .navbar-nav>li>a:focus {
    background: none;
}

footer .navbar-nav>li>a .link-menu {
    padding: 10px;
}

footer .dropdown-menu {
    top: inherit;
    bottom: 100%;
}

footer .footer-company h1 {
    margin-top: 15px;
}

@media (min-width: 992px) {
    footer .cont.end {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    footer .footer-bottom {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: auto;
    }
}

footer .footer-copy, footer .footer-by {
    color: #fff;
    line-height: 50px;
}

footer .footer-by {
    margin-left: 1em;
}

footer .footer-copy a, footer .footer-by a {
    color: #fff;
}

@media (max-width: 1199px) {
    footer .footer-main {
        text-align: center;
        display: block;
    }

    footer .logo {
        margin: 0;
    }

    footer .navbar-collapse.collapse {
        margin: 0;
    }
}

@media (max-width: 1200px) {
    .jumbotron-common {
        background-attachment: scroll;
    }

    .bg-common.fix {
        background-attachment: scroll;
    }

    .bg-img.fix {
        background-attachment: scroll;
    }

    .footer-company a img {
        width: auto;
        margin: 0 auto;
    }
}

/* mini */
@media (min-width: 992px) and (max-width: 1200px) {
    .block_1 {
        padding: 60px 0;
    }

    .block_2 {
        padding: 45px 0;
    }

    .block_3 {
        padding: 30px 0;
    }

    .block_4 {
        padding: 20px 0;
    }

    .block_5 {
        padding: 15px 0;
    }

    .block_6 {
        padding: 0 0 60px;
    }

    .block_7 {
        padding: 0 0 45px;
    }

    .block_8 {
        padding: 0 0 30px;
    }

    .block_9 {
        padding: 0 0 20px;
    }

    .block_10 {
        padding: 0 0 15px;
    }

    main h1 {
        font-size: 2.25rem;
    }

    main h2 {
        font-size: 2rem;
    }

    main h3 {
        font-size: 1.75rem;
    }

    main h4 {
        font-size: 1.5rem;
    }

    main h5 {
        font-size: 1.25rem;
    }

    main h6 {
        font-size: 1rem;
    }
}

/* tablet sp common */
@media (max-width: 991px) {
    .header-top-object .custom-logo-link {
        display: block;
        padding: 0;
    }

    .header-top-object .custom-logo-link img {
        width: auto;
        height: 20px;
    }

    header .link-menu {
        padding: 1em 0;
        display: inline-block;
    }

    header .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }

    .header-top-object {
        height: 60px;
    }

    .navbar-fixed-top {
        border-width: 5px;
    }

    .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
        max-height: inherit;
    }

    .header-top-object .custom-logo-link {
        display: inline-block;
    }

    .header-top-object .custom-logo-link img {
        width: auto;
        height: 30px;
    }

    .header-top-object .contact-area {
        display: none;
    }

    .menu {
        border: none;
    }

    .navbar-header {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        float: none;
        width: 100%;
        padding: 0 8px;
    }

    .navbar-toggle {
        display: block;
        margin-right: 0;
        margin-left: auto;
        border: none;
    }

    .navbar-default {
        display: block;
    }

    .navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover {
        background: none;
    }

    .navbar-collapse {
        width: 100%;
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }

    .navbar-collapse.collapse {
        display: none !important;
    }

    .navbar-nav {
        flex-wrap: wrap;
        float: none !important;
        margin: 0;
    }

    .navbar-nav>li {
        width: 100%;
    }

    .navbar-default .navbar-nav>li>a {
        border-top: 1px solid #dedede;
        background: none;
    }

    .navbar-default .navbar-nav>li>a:focus, .navbar-default .navbar-nav>li>a:hover {
        background: none;
        opacity: 1;
    }

    .navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover {
        background: none;
    }

    .navbar-default .navbar-nav>li>a:before, .navbar-default .navbar-nav>li:last-child>a:after {
        border: none;
    }

    .navbar-text {
        float: none;
        margin: 15px 0;
    }

    .navbar-default .navbar-collapse, .navbar-default .navbar-form {
        width: 100%;
        border: none;
    }

    .navbar-collapse.collapse.in {
        display: block !important;
        margin: 0;
        border: none;
    }

    .collapsing {
        overflow: hidden !important;
    }

    .navbar-default .navbar-toggle .icon-bar {
        background-color: #275589;
        position: relative;
        transition: .2s ease all;
    }

    .navbar-default .navbar-toggle .icon-bar:nth-child(2) {
        transform: rotate(45deg);
        top: 8px;
    }

    .navbar-default .navbar-toggle .icon-bar:nth-child(3) {
        opacity: 0;
    }

    .navbar-default .navbar-toggle .icon-bar:nth-child(4) {
        transform: rotate(-45deg);
        top: -8px;
    }

    .navbar-toggle .icon-bar+.icon-bar {
        margin-top: 6px;
    }

    .navbar-default .navbar-toggle.collapsed .icon-bar {
        transform: rotate(0deg);
        top: 0;
        opacity: 1;
    }

    .dropdown-menu {
        display: none;
        position: static;
        opacity: 1;
        pointer-events: all;
    }

    .navbar-nav .open .dropdown-menu>li>a {
        line-height: 20px;
        background: #222;
        padding: 1em 0;
        text-align: center;
    }

    .navbar-default .navbar-nav .open .dropdown-menu>li>a, .navbar-default .navbar-nav .open .dropdown-menu>.active>a, .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus, .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover {
        color: #333;
        line-height: 20px;
        background: #fffef8;
        padding: 0;
        text-align: center;
        border-top: 1px dotted #ddd;
        border-bottom: none;
    }

    .dropdown-menu>li:first-child:before {
        display: none;
    }

    .navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus, .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover {
        color: #333;
        background: #fff;
    }

    .nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
        border-color: #dedede;
    }

    .dropdown-menu>li>a:hover, .dropdown-menu>li>a:active, .dropdown-menu>li>a:focus {
        left: 0;
    }

    .jumbotron-common {
        background-size: cover;
        background-attachment: scroll;
    }

    .breadcrumb-area {
        overflow-x: scroll;
    }

    .breadcrumb-area ol {
        list-style: none;
        display: table;
        padding-right: 15px !important;
    }

    .breadcrumb-area ol li {
        display: table-cell;
        white-space: nowrap;
    }

    .block_1 {
        padding: 50px 0;
    }

    .block_2 {
        padding: 40px 0;
    }

    .block_3 {
        padding: 30px 0;
    }

    .block_4 {
        padding: 20px 0;
    }

    .block_5 {
        padding: 10px 0;
    }

    .block_6 {
        padding: 0 0 50px;
    }

    .block_7 {
        padding: 0 0 40px;
    }

    .block_8 {
        padding: 0 0 30px;
    }

    .block_9 {
        padding: 0 0 20px;
    }

    .block_10 {
        padding: 0 0 10px;
    }

    .navbar-collapse .container-fluid {
        padding: 0;
    }

    .row {
        margin-right: -8px;
        margin-left: -8px;
    }

    .row [class^="col-"] {
        padding-right: 8px;
        padding-left: 8px;
    }

    .row-fix {
        margin-right: 0;
        margin-left: 0;
    }

    .row-fix [class^="col-"] {
        padding-right: 0;
        padding-left: 0;
    }

    main h1 {
        font-size: 1.5rem;
    }

    main h2 {
        font-size: 1.25rem;
    }

    main h3 {
        font-size: 1.25rem;
    }

    main h4 {
        font-size: 1.1rem;
    }

    main h5 {
        font-size: 1.1rem;
    }

    main h6 {
        font-size: 1.1rem;
    }

    .nav-below .nav-next a, .nav-below .nav-previous a {
        padding: 1.5em 2em 1.5em;
    }

    .footer-company a {
        display: inline-block;
        margin: 1em 0;
    }

    footer .navbar-collapse {
        margin-bottom: 15px;
    }
}

/* tablet */
@media (min-width: 768px) and (max-width: 991px) {
    .w-length-420, .w-length-450, .w-length-480, .w-length-100per {
        width: 100%;
    }
}

/* sp */
@media (max-width: 767px) {
    .block_1 {
        padding: 30px 0;
    }

    .block_2 {
        padding: 25px 0;
    }

    .block_3 {
        padding: 20px 0;
    }

    .block_4 {
        padding: 15px 0;
    }

    .block_5 {
        padding: 10px 0;
    }

    .block_6 {
        padding: 0 0 30px;
    }

    .block_7 {
        padding: 0 0 25px;
    }

    .block_8 {
        padding: 0 0 20px;
    }

    .block_9 {
        padding: 0 0 15px;
    }

    .block_10 {
        padding: 0 0 10px;
    }

    .header-top-object h1 {
        display: none;
    }

    .header-top-object .contact-area {
        display: none;
    }

    .contact-area .tel {
        text-align: center;
    }

    .contact-area .tel a {
        font-size: 1.5em;
        display: inline-block;
    }

    .jumbotron-common .ttl-cont {}

    .jumbotron-common .ttl-cont:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .jumbotron-common .ttl-main {
        background: none;
        width: 100%;
        padding: 0 .5em;
    }

    .jumbotron-common .ttl-main h2 {
        text-shadow: none;
        width: 100%;
    }

    .br {
        height: 0;
    }

    .bg-common p {
        text-align: left !important;
    }

    .bg-common.center p {
        text-align: center !important;
    }

    .table-dl dl {
        width: 100%;
    }

    .table-dl dl dt {
        display: block;
        width: 100%;
        padding: 1em;
        border-left: 1px solid #dedede;
    }

    .table-dl dl dd {
        display: block;
        padding: 1em;
        border-top: none;
        border-left: 1px solid #dedede;
    }

    .table-base dl dt {
        border-right: 1px solid #dedede;
        border-bottom: 1px solid #dedede;
    }

    .table-base dl dd dl dt {
        display: block;
        width: 100%;
    }

    .table-base dl dd dl dd {
        display: block;
        border-bottom: none;
    }

    .table-base dl dd dl:last-child dd {
        border-top: none;
    }

    .table-reverse dl dt {
        border-right: none;
        border-bottom: none;
    }

    .table-reverse dl dd {
        min-width: 90px;
        border-top: 1px solid #dedede;
    }

    .table-reverse dl dt, .table-reverse dl dd {
        display: table-cell;
    }

    .table-news dl dt {
        padding: .5em;
    }

    .table-news dl dd {
        padding: 0;
    }

    .table-news dl dt, .table-news dl dd {
        font-size: .9rem;
        text-align: left;
    }

    .table-news dl dd a {
        padding: .5em;
    }

    .w-length-120, .w-length-150, .w-length-180, .w-length-210, .w-length-240, .w-length-270, .w-length-300, .w-length-330, .w-length-360, .w-length-390, .w-length-420, .w-length-450, .w-length-480, .w-length-100per {
        width: 100%;
    }

    .closing .contact-area {
        padding-right: 15px;
        padding-left: 15px;
    }

    .closing .contact-area h5 {
        margin-bottom: 15px;
    }

    .closing .contact-area .tel {
        margin: .5em 0;
    }

    footer .footer-company {
        margin-bottom: 0;
    }

    .wpcf7-form-control-wrap {
        display: block;
    }

    footer .footer-copy, footer .footer-by {
        line-height: 1;
        text-align: center;
        width: 100%;
    }

    footer .footer-by {
        margin-top: 0;
    }

    footer .navbar-nav {
        width: 100%;
        display: block;
    }

    footer .navbar-nav>li>a {}

    footer .navbar-nav>li>a .ttl-eng {
        display: none;
    }
}

@media print {}
